diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..8441d27 --- /dev/null +++ b/.babelrc @@ -0,0 +1,11 @@ +{ + "presets": [ + ["env", { + "targets": { + "node": "current", + "uglify": true // <<< this line + } + }], + "react" + ], + } \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..7d03cee --- /dev/null +++ b/.eslintrc @@ -0,0 +1,3 @@ +{ + "extends": "standard" +} \ No newline at end of file diff --git a/.grunt/grunt-contrib-jasmine/assests/js/custom.js b/.grunt/grunt-contrib-jasmine/assests/js/custom.js new file mode 100644 index 0000000..aee1517 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/assests/js/custom.js @@ -0,0 +1,9 @@ + +var __cov_p5pZsAMiMpUczRxpMo2qBw = (Function('return this'))(); +if (!__cov_p5pZsAMiMpUczRxpMo2qBw.__coverage__) { __cov_p5pZsAMiMpUczRxpMo2qBw.__coverage__ = {}; } +__cov_p5pZsAMiMpUczRxpMo2qBw = __cov_p5pZsAMiMpUczRxpMo2qBw.__coverage__; +if (!(__cov_p5pZsAMiMpUczRxpMo2qBw['assests/js/custom.js'])) { + __cov_p5pZsAMiMpUczRxpMo2qBw['assests/js/custom.js'] = {"path":"assests/js/custom.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]},"f":{"1":0},"fnMap":{"1":{"name":"(anonymous_1)","line":23,"loc":{"start":{"line":23,"column":2},"end":{"line":23,"column":14}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":94}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":94}},"3":{"start":{"line":3,"column":0},"end":{"line":3,"column":90}},"4":{"start":{"line":5,"column":0},"end":{"line":13,"column":1}},"5":{"start":{"line":6,"column":2},"end":{"line":8,"column":5}},"6":{"start":{"line":7,"column":4},"end":{"line":7,"column":47}},"7":{"start":{"line":10,"column":2},"end":{"line":12,"column":4}},"8":{"start":{"line":11,"column":4},"end":{"line":11,"column":36}},"9":{"start":{"line":15,"column":0},"end":{"line":21,"column":3}},"10":{"start":{"line":23,"column":0},"end":{"line":38,"column":3}},"11":{"start":{"line":24,"column":2},"end":{"line":37,"column":5}}},"branchMap":{"1":{"line":1,"type":"cond-expr","locations":[{"start":{"line":1,"column":51},"end":{"line":1,"column":60}},{"start":{"line":1,"column":63},"end":{"line":1,"column":93}}]},"2":{"line":2,"type":"cond-expr","locations":[{"start":{"line":2,"column":51},"end":{"line":2,"column":60}},{"start":{"line":2,"column":63},"end":{"line":2,"column":93}}]},"3":{"line":3,"type":"cond-expr","locations":[{"start":{"line":3,"column":65},"end":{"line":3,"column":81}},{"start":{"line":3,"column":84},"end":{"line":3,"column":89}}]},"4":{"line":5,"type":"if","locations":[{"start":{"line":5,"column":0},"end":{"line":5,"column":0}},{"start":{"line":5,"column":0},"end":{"line":5,"column":0}}]}}}; +} +__cov_p5pZsAMiMpUczRxpMo2qBw = __cov_p5pZsAMiMpUczRxpMo2qBw['assests/js/custom.js']; +__cov_p5pZsAMiMpUczRxpMo2qBw.s['1']++;var r_uploadURL=typeof uploadURL!=='undefined'?(__cov_p5pZsAMiMpUczRxpMo2qBw.b['1'][0]++,uploadURL):(__cov_p5pZsAMiMpUczRxpMo2qBw.b['1'][1]++,'http://localhost:3000/upload');__cov_p5pZsAMiMpUczRxpMo2qBw.s['2']++;var r_deleteURL=typeof deleteURL!=='undefined'?(__cov_p5pZsAMiMpUczRxpMo2qBw.b['2'][0]++,deleteURL):(__cov_p5pZsAMiMpUczRxpMo2qBw.b['2'][1]++,'http://localhost:3000/delete');__cov_p5pZsAMiMpUczRxpMo2qBw.s['3']++;var r_admin_permission=typeof admin_permission!=='undefined'?(__cov_p5pZsAMiMpUczRxpMo2qBw.b['3'][0]++,admin_permission):(__cov_p5pZsAMiMpUczRxpMo2qBw.b['3'][1]++,false);__cov_p5pZsAMiMpUczRxpMo2qBw.s['4']++;if(!r_admin_permission){__cov_p5pZsAMiMpUczRxpMo2qBw.b['4'][0]++;__cov_p5pZsAMiMpUczRxpMo2qBw.s['5']++;document.querySelectorAll('figcaption').forEach(element=>{__cov_p5pZsAMiMpUczRxpMo2qBw.s['6']++;element.removeAttribute('contenteditable');});__cov_p5pZsAMiMpUczRxpMo2qBw.s['7']++;document.querySelectorAll('editable').forEach(element=>{__cov_p5pZsAMiMpUczRxpMo2qBw.s['8']++;element.removeClass('editable');});}else{__cov_p5pZsAMiMpUczRxpMo2qBw.b['4'][1]++;}__cov_p5pZsAMiMpUczRxpMo2qBw.s['9']++;var editor=new MediumEditor('.editable',{buttonLabels:'fontawesome',paste:{cleanPastedHTML:true,forcePlainText:false}});__cov_p5pZsAMiMpUczRxpMo2qBw.s['10']++;$(function(){__cov_p5pZsAMiMpUczRxpMo2qBw.f['1']++;__cov_p5pZsAMiMpUczRxpMo2qBw.s['11']++;$('.editable').mediumInsert({editor:editor,enabled:r_admin_permission,addons:{images:{fileDeleteOptions:{url:r_deleteURL},fileUploadOptions:{url:r_uploadURL}}}});}); diff --git a/.grunt/grunt-contrib-jasmine/assests/js/lib/embed/core.js b/.grunt/grunt-contrib-jasmine/assests/js/lib/embed/core.js new file mode 100644 index 0000000..861274b --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/assests/js/lib/embed/core.js @@ -0,0 +1,9 @@ + +var __cov_uF0DD$PZc87AtS9p7kqGHg = (Function('return this'))(); +if (!__cov_uF0DD$PZc87AtS9p7kqGHg.__coverage__) { __cov_uF0DD$PZc87AtS9p7kqGHg.__coverage__ = {}; } +__cov_uF0DD$PZc87AtS9p7kqGHg = __cov_uF0DD$PZc87AtS9p7kqGHg.__coverage__; +if (!(__cov_uF0DD$PZc87AtS9p7kqGHg['assests/js/lib/embed/core.js'])) { + __cov_uF0DD$PZc87AtS9p7kqGHg['assests/js/lib/embed/core.js'] = {"path":"assests/js/lib/embed/core.js","s":{"1":0,"2":0,"3":1,"4":0,"5":1,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":0,"336":0,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":0,"356":0,"357":0,"358":0,"359":0,"360":0,"361":0,"362":0,"363":0,"364":0,"365":0,"366":0,"367":0,"368":0,"369":0,"370":0,"371":0,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0,0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":2},"end":{"line":1,"column":44}}},"2":{"name":"ucfirst","line":23,"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":26}}},"3":{"name":"Core","line":38,"loc":{"start":{"line":38,"column":4},"end":{"line":38,"column":31}}},"4":{"name":"(anonymous_4)","line":93,"loc":{"start":{"line":93,"column":26},"end":{"line":93,"column":38}}},"5":{"name":"(anonymous_5)","line":111,"loc":{"start":{"line":111,"column":28},"end":{"line":111,"column":40}}},"6":{"name":"(anonymous_6)","line":115,"loc":{"start":{"line":115,"column":33},"end":{"line":115,"column":46}}},"7":{"name":"(anonymous_7)","line":123,"loc":{"start":{"line":123,"column":63},"end":{"line":123,"column":76}}},"8":{"name":"(anonymous_8)","line":136,"loc":{"start":{"line":136,"column":31},"end":{"line":136,"column":43}}},"9":{"name":"(anonymous_9)","line":146,"loc":{"start":{"line":146,"column":37},"end":{"line":146,"column":49}}},"10":{"name":"(anonymous_10)","line":149,"loc":{"start":{"line":149,"column":21},"end":{"line":149,"column":36}}},"11":{"name":"(anonymous_11)","line":156,"loc":{"start":{"line":156,"column":49},"end":{"line":156,"column":61}}},"12":{"name":"(anonymous_12)","line":174,"loc":{"start":{"line":174,"column":35},"end":{"line":174,"column":47}}},"13":{"name":"(anonymous_13)","line":175,"loc":{"start":{"line":175,"column":30},"end":{"line":175,"column":49}}},"14":{"name":"(anonymous_14)","line":190,"loc":{"start":{"line":190,"column":33},"end":{"line":190,"column":45}}},"15":{"name":"(anonymous_15)","line":193,"loc":{"start":{"line":193,"column":30},"end":{"line":193,"column":49}}},"16":{"name":"(anonymous_16)","line":206,"loc":{"start":{"line":206,"column":45},"end":{"line":206,"column":69}}},"17":{"name":"(anonymous_17)","line":224,"loc":{"start":{"line":224,"column":34},"end":{"line":224,"column":46}}},"18":{"name":"(anonymous_18)","line":236,"loc":{"start":{"line":236,"column":30},"end":{"line":236,"column":42}}},"19":{"name":"(anonymous_19)","line":246,"loc":{"start":{"line":246,"column":29},"end":{"line":246,"column":41}}},"20":{"name":"(anonymous_20)","line":258,"loc":{"start":{"line":258,"column":28},"end":{"line":258,"column":40}}},"21":{"name":"(anonymous_21)","line":270,"loc":{"start":{"line":270,"column":38},"end":{"line":270,"column":51}}},"22":{"name":"(anonymous_22)","line":284,"loc":{"start":{"line":284,"column":32},"end":{"line":284,"column":44}}},"23":{"name":"(anonymous_23)","line":291,"loc":{"start":{"line":291,"column":36},"end":{"line":291,"column":62}}},"24":{"name":"(anonymous_24)","line":314,"loc":{"start":{"line":314,"column":27},"end":{"line":314,"column":39}}},"25":{"name":"(anonymous_25)","line":330,"loc":{"start":{"line":330,"column":20},"end":{"line":330,"column":32}}},"26":{"name":"(anonymous_26)","line":334,"loc":{"start":{"line":334,"column":19},"end":{"line":334,"column":31}}},"27":{"name":"(anonymous_27)","line":357,"loc":{"start":{"line":357,"column":32},"end":{"line":357,"column":44}}},"28":{"name":"(anonymous_28)","line":373,"loc":{"start":{"line":373,"column":32},"end":{"line":373,"column":44}}},"29":{"name":"(anonymous_29)","line":385,"loc":{"start":{"line":385,"column":35},"end":{"line":385,"column":48}}},"30":{"name":"(anonymous_30)","line":418,"loc":{"start":{"line":418,"column":40},"end":{"line":418,"column":57}}},"31":{"name":"(anonymous_31)","line":440,"loc":{"start":{"line":440,"column":27},"end":{"line":440,"column":39}}},"32":{"name":"(anonymous_32)","line":457,"loc":{"start":{"line":457,"column":33},"end":{"line":457,"column":56}}},"33":{"name":"(anonymous_33)","line":476,"loc":{"start":{"line":476,"column":33},"end":{"line":476,"column":48}}},"34":{"name":"(anonymous_34)","line":491,"loc":{"start":{"line":491,"column":37},"end":{"line":491,"column":60}}},"35":{"name":"(anonymous_35)","line":529,"loc":{"start":{"line":529,"column":34},"end":{"line":529,"column":46}}},"36":{"name":"(anonymous_36)","line":547,"loc":{"start":{"line":547,"column":32},"end":{"line":547,"column":44}}},"37":{"name":"(anonymous_37)","line":559,"loc":{"start":{"line":559,"column":33},"end":{"line":559,"column":46}}},"38":{"name":"(anonymous_38)","line":574,"loc":{"start":{"line":574,"column":36},"end":{"line":574,"column":49}}},"39":{"name":"(anonymous_39)","line":598,"loc":{"start":{"line":598,"column":37},"end":{"line":598,"column":54}}},"40":{"name":"(anonymous_40)","line":608,"loc":{"start":{"line":608,"column":31},"end":{"line":608,"column":56}}},"41":{"name":"(anonymous_41)","line":635,"loc":{"start":{"line":635,"column":32},"end":{"line":635,"column":60}}},"42":{"name":"(anonymous_42)","line":652,"loc":{"start":{"line":652,"column":36},"end":{"line":652,"column":55}}},"43":{"name":"(anonymous_43)","line":659,"loc":{"start":{"line":659,"column":23},"end":{"line":659,"column":35}}},"44":{"name":"(anonymous_44)","line":674,"loc":{"start":{"line":674,"column":46},"end":{"line":674,"column":61}}},"45":{"name":"(anonymous_45)","line":691,"loc":{"start":{"line":691,"column":39},"end":{"line":691,"column":60}}},"46":{"name":"(anonymous_46)","line":709,"loc":{"start":{"line":709,"column":41},"end":{"line":709,"column":68}}},"47":{"name":"(anonymous_47)","line":731,"loc":{"start":{"line":731,"column":32},"end":{"line":731,"column":61}}},"48":{"name":"(anonymous_48)","line":753,"loc":{"start":{"line":753,"column":35},"end":{"line":753,"column":60}}},"49":{"name":"(anonymous_49)","line":754,"loc":{"start":{"line":754,"column":27},"end":{"line":754,"column":45}}},"50":{"name":"(anonymous_50)","line":757,"loc":{"start":{"line":757,"column":38},"end":{"line":757,"column":49}}},"51":{"name":"(anonymous_51)","line":761,"loc":{"start":{"line":761,"column":23},"end":{"line":761,"column":34}}},"52":{"name":"(anonymous_52)","line":765,"loc":{"start":{"line":765,"column":29},"end":{"line":765,"column":40}}},"53":{"name":"(anonymous_53)","line":784,"loc":{"start":{"line":784,"column":35},"end":{"line":784,"column":60}}},"54":{"name":"(anonymous_54)","line":786,"loc":{"start":{"line":786,"column":35},"end":{"line":786,"column":46}}},"55":{"name":"(anonymous_55)","line":804,"loc":{"start":{"line":804,"column":40},"end":{"line":804,"column":73}}},"56":{"name":"(anonymous_56)","line":827,"loc":{"start":{"line":827,"column":43},"end":{"line":827,"column":55}}},"57":{"name":"(anonymous_57)","line":867,"loc":{"start":{"line":867,"column":39},"end":{"line":867,"column":58}}},"58":{"name":"(anonymous_58)","line":894,"loc":{"start":{"line":894,"column":37},"end":{"line":894,"column":51}}},"59":{"name":"(anonymous_59)","line":901,"loc":{"start":{"line":901,"column":35},"end":{"line":901,"column":58}}},"60":{"name":"(anonymous_60)","line":917,"loc":{"start":{"line":917,"column":39},"end":{"line":917,"column":52}}},"61":{"name":"(anonymous_61)","line":926,"loc":{"start":{"line":926,"column":44},"end":{"line":926,"column":56}}},"62":{"name":"(anonymous_62)","line":931,"loc":{"start":{"line":931,"column":40},"end":{"line":931,"column":52}}},"63":{"name":"(anonymous_63)","line":954,"loc":{"start":{"line":954,"column":36},"end":{"line":954,"column":48}}},"64":{"name":"(anonymous_64)","line":968,"loc":{"start":{"line":968,"column":23},"end":{"line":968,"column":42}}},"65":{"name":"(anonymous_65)","line":969,"loc":{"start":{"line":969,"column":25},"end":{"line":969,"column":37}}}},"statementMap":{"1":{"start":{"line":1,"column":1},"end":{"line":989,"column":29}},"2":{"start":{"line":6,"column":4},"end":{"line":14,"column":10}},"3":{"start":{"line":23,"column":4},"end":{"line":25,"column":5}},"4":{"start":{"line":24,"column":8},"end":{"line":24,"column":58}},"5":{"start":{"line":38,"column":4},"end":{"line":85,"column":5}},"6":{"start":{"line":39,"column":8},"end":{"line":39,"column":19}},"7":{"start":{"line":41,"column":8},"end":{"line":41,"column":21}},"8":{"start":{"line":42,"column":8},"end":{"line":42,"column":25}},"9":{"start":{"line":43,"column":8},"end":{"line":43,"column":55}},"10":{"start":{"line":44,"column":8},"end":{"line":44,"column":35}},"11":{"start":{"line":45,"column":8},"end":{"line":46,"column":27}},"12":{"start":{"line":48,"column":8},"end":{"line":54,"column":9}},"13":{"start":{"line":52,"column":12},"end":{"line":52,"column":36}},"14":{"start":{"line":53,"column":12},"end":{"line":53,"column":34}},"15":{"start":{"line":55,"column":8},"end":{"line":55,"column":61}},"16":{"start":{"line":56,"column":8},"end":{"line":56,"column":37}},"17":{"start":{"line":57,"column":8},"end":{"line":59,"column":9}},"18":{"start":{"line":58,"column":12},"end":{"line":58,"column":36}},"19":{"start":{"line":61,"column":8},"end":{"line":61,"column":34}},"20":{"start":{"line":62,"column":8},"end":{"line":62,"column":32}},"21":{"start":{"line":65,"column":8},"end":{"line":84,"column":9}},"22":{"start":{"line":66,"column":12},"end":{"line":68,"column":13}},"23":{"start":{"line":67,"column":16},"end":{"line":67,"column":79}},"24":{"start":{"line":69,"column":12},"end":{"line":71,"column":13}},"25":{"start":{"line":70,"column":16},"end":{"line":70,"column":75}},"26":{"start":{"line":72,"column":12},"end":{"line":74,"column":13}},"27":{"start":{"line":73,"column":16},"end":{"line":73,"column":71}},"28":{"start":{"line":75,"column":12},"end":{"line":75,"column":70}},"29":{"start":{"line":77,"column":12},"end":{"line":77,"column":65}},"30":{"start":{"line":78,"column":12},"end":{"line":78,"column":61}},"31":{"start":{"line":79,"column":12},"end":{"line":79,"column":57}},"32":{"start":{"line":81,"column":12},"end":{"line":83,"column":13}},"33":{"start":{"line":82,"column":16},"end":{"line":82,"column":119}},"34":{"start":{"line":93,"column":4},"end":{"line":103,"column":6}},"35":{"start":{"line":94,"column":8},"end":{"line":94,"column":57}},"36":{"start":{"line":96,"column":8},"end":{"line":98,"column":9}},"37":{"start":{"line":97,"column":12},"end":{"line":97,"column":27}},"38":{"start":{"line":100,"column":8},"end":{"line":100,"column":26}},"39":{"start":{"line":101,"column":8},"end":{"line":101,"column":21}},"40":{"start":{"line":102,"column":8},"end":{"line":102,"column":22}},"41":{"start":{"line":111,"column":4},"end":{"line":128,"column":6}},"42":{"start":{"line":112,"column":8},"end":{"line":112,"column":24}},"43":{"start":{"line":114,"column":8},"end":{"line":125,"column":15}},"44":{"start":{"line":116,"column":16},"end":{"line":116,"column":35}},"45":{"start":{"line":117,"column":16},"end":{"line":117,"column":51}},"46":{"start":{"line":124,"column":16},"end":{"line":124,"column":71}},"47":{"start":{"line":127,"column":8},"end":{"line":127,"column":71}},"48":{"start":{"line":136,"column":4},"end":{"line":138,"column":6}},"49":{"start":{"line":137,"column":8},"end":{"line":137,"column":35}},"50":{"start":{"line":146,"column":4},"end":{"line":166,"column":6}},"51":{"start":{"line":147,"column":8},"end":{"line":147,"column":37}},"52":{"start":{"line":149,"column":8},"end":{"line":163,"column":11}},"53":{"start":{"line":150,"column":12},"end":{"line":150,"column":59}},"54":{"start":{"line":152,"column":12},"end":{"line":152,"column":58}},"55":{"start":{"line":153,"column":12},"end":{"line":153,"column":84}},"56":{"start":{"line":156,"column":12},"end":{"line":160,"column":15}},"57":{"start":{"line":157,"column":16},"end":{"line":158,"column":83}},"58":{"start":{"line":159,"column":16},"end":{"line":159,"column":33}},"59":{"start":{"line":162,"column":12},"end":{"line":162,"column":43}},"60":{"start":{"line":165,"column":8},"end":{"line":165,"column":20}},"61":{"start":{"line":174,"column":4},"end":{"line":182,"column":6}},"62":{"start":{"line":175,"column":8},"end":{"line":179,"column":11}},"63":{"start":{"line":176,"column":12},"end":{"line":178,"column":13}},"64":{"start":{"line":177,"column":16},"end":{"line":177,"column":61}},"65":{"start":{"line":181,"column":8},"end":{"line":181,"column":24}},"66":{"start":{"line":190,"column":4},"end":{"line":198,"column":6}},"67":{"start":{"line":191,"column":8},"end":{"line":191,"column":22}},"68":{"start":{"line":193,"column":8},"end":{"line":197,"column":11}},"69":{"start":{"line":194,"column":12},"end":{"line":196,"column":13}},"70":{"start":{"line":195,"column":16},"end":{"line":195,"column":60}},"71":{"start":{"line":206,"column":4},"end":{"line":216,"column":6}},"72":{"start":{"line":207,"column":8},"end":{"line":208,"column":54}},"73":{"start":{"line":210,"column":8},"end":{"line":215,"column":9}},"74":{"start":{"line":211,"column":12},"end":{"line":211,"column":37}},"75":{"start":{"line":212,"column":12},"end":{"line":212,"column":48}},"76":{"start":{"line":214,"column":12},"end":{"line":214,"column":37}},"77":{"start":{"line":224,"column":4},"end":{"line":228,"column":6}},"78":{"start":{"line":225,"column":8},"end":{"line":227,"column":9}},"79":{"start":{"line":226,"column":12},"end":{"line":226,"column":69}},"80":{"start":{"line":236,"column":4},"end":{"line":238,"column":6}},"81":{"start":{"line":237,"column":8},"end":{"line":237,"column":50}},"82":{"start":{"line":246,"column":4},"end":{"line":250,"column":6}},"83":{"start":{"line":247,"column":8},"end":{"line":247,"column":37}},"84":{"start":{"line":249,"column":8},"end":{"line":249,"column":65}},"85":{"start":{"line":258,"column":4},"end":{"line":262,"column":6}},"86":{"start":{"line":259,"column":8},"end":{"line":259,"column":36}},"87":{"start":{"line":261,"column":8},"end":{"line":261,"column":68}},"88":{"start":{"line":270,"column":4},"end":{"line":276,"column":6}},"89":{"start":{"line":271,"column":8},"end":{"line":271,"column":30}},"90":{"start":{"line":273,"column":8},"end":{"line":275,"column":9}},"91":{"start":{"line":274,"column":12},"end":{"line":274,"column":31}},"92":{"start":{"line":284,"column":4},"end":{"line":306,"column":6}},"93":{"start":{"line":285,"column":8},"end":{"line":285,"column":24}},"94":{"start":{"line":287,"column":8},"end":{"line":289,"column":9}},"95":{"start":{"line":288,"column":12},"end":{"line":288,"column":19}},"96":{"start":{"line":291,"column":8},"end":{"line":301,"column":11}},"97":{"start":{"line":292,"column":12},"end":{"line":292,"column":56}},"98":{"start":{"line":294,"column":12},"end":{"line":297,"column":13}},"99":{"start":{"line":295,"column":16},"end":{"line":295,"column":50}},"100":{"start":{"line":296,"column":16},"end":{"line":296,"column":23}},"101":{"start":{"line":299,"column":12},"end":{"line":299,"column":41}},"102":{"start":{"line":300,"column":12},"end":{"line":300,"column":86}},"103":{"start":{"line":303,"column":8},"end":{"line":303,"column":84}},"104":{"start":{"line":304,"column":8},"end":{"line":304,"column":43}},"105":{"start":{"line":305,"column":8},"end":{"line":305,"column":79}},"106":{"start":{"line":314,"column":4},"end":{"line":349,"column":6}},"107":{"start":{"line":315,"column":8},"end":{"line":316,"column":37}},"108":{"start":{"line":318,"column":8},"end":{"line":320,"column":9}},"109":{"start":{"line":319,"column":12},"end":{"line":319,"column":19}},"110":{"start":{"line":322,"column":8},"end":{"line":324,"column":9}},"111":{"start":{"line":323,"column":12},"end":{"line":323,"column":91}},"112":{"start":{"line":328,"column":8},"end":{"line":332,"column":15}},"113":{"start":{"line":331,"column":16},"end":{"line":331,"column":124}},"114":{"start":{"line":334,"column":8},"end":{"line":340,"column":11}},"115":{"start":{"line":335,"column":12},"end":{"line":335,"column":34}},"116":{"start":{"line":339,"column":12},"end":{"line":339,"column":68}},"117":{"start":{"line":342,"column":8},"end":{"line":342,"column":26}},"118":{"start":{"line":344,"column":8},"end":{"line":344,"column":59}},"119":{"start":{"line":345,"column":8},"end":{"line":345,"column":34}},"120":{"start":{"line":346,"column":8},"end":{"line":348,"column":9}},"121":{"start":{"line":347,"column":12},"end":{"line":347,"column":93}},"122":{"start":{"line":357,"column":4},"end":{"line":365,"column":6}},"123":{"start":{"line":358,"column":8},"end":{"line":360,"column":9}},"124":{"start":{"line":359,"column":12},"end":{"line":359,"column":19}},"125":{"start":{"line":362,"column":8},"end":{"line":364,"column":18}},"126":{"start":{"line":373,"column":4},"end":{"line":377,"column":6}},"127":{"start":{"line":374,"column":8},"end":{"line":376,"column":9}},"128":{"start":{"line":375,"column":12},"end":{"line":375,"column":47}},"129":{"start":{"line":385,"column":4},"end":{"line":448,"column":6}},"130":{"start":{"line":386,"column":8},"end":{"line":386,"column":30}},"131":{"start":{"line":388,"column":8},"end":{"line":391,"column":41}},"132":{"start":{"line":394,"column":8},"end":{"line":396,"column":9}},"133":{"start":{"line":395,"column":12},"end":{"line":395,"column":19}},"134":{"start":{"line":398,"column":8},"end":{"line":403,"column":9}},"135":{"start":{"line":399,"column":12},"end":{"line":399,"column":27}},"136":{"start":{"line":401,"column":12},"end":{"line":401,"column":44}},"137":{"start":{"line":402,"column":12},"end":{"line":402,"column":56}},"138":{"start":{"line":406,"column":8},"end":{"line":408,"column":9}},"139":{"start":{"line":407,"column":12},"end":{"line":407,"column":48}},"140":{"start":{"line":410,"column":8},"end":{"line":410,"column":65}},"141":{"start":{"line":412,"column":8},"end":{"line":412,"column":21}},"142":{"start":{"line":414,"column":8},"end":{"line":447,"column":9}},"143":{"start":{"line":416,"column":12},"end":{"line":416,"column":87}},"144":{"start":{"line":418,"column":12},"end":{"line":428,"column":15}},"145":{"start":{"line":419,"column":16},"end":{"line":421,"column":17}},"146":{"start":{"line":420,"column":20},"end":{"line":420,"column":35}},"147":{"start":{"line":423,"column":16},"end":{"line":427,"column":17}},"148":{"start":{"line":424,"column":20},"end":{"line":424,"column":69}},"149":{"start":{"line":425,"column":20},"end":{"line":425,"column":40}},"150":{"start":{"line":426,"column":20},"end":{"line":426,"column":27}},"151":{"start":{"line":430,"column":12},"end":{"line":446,"column":13}},"152":{"start":{"line":431,"column":16},"end":{"line":431,"column":52}},"153":{"start":{"line":433,"column":16},"end":{"line":437,"column":17}},"154":{"start":{"line":434,"column":20},"end":{"line":434,"column":99}},"155":{"start":{"line":436,"column":20},"end":{"line":436,"column":92}},"156":{"start":{"line":440,"column":16},"end":{"line":443,"column":42}},"157":{"start":{"line":441,"column":20},"end":{"line":441,"column":54}},"158":{"start":{"line":442,"column":20},"end":{"line":442,"column":50}},"159":{"start":{"line":445,"column":16},"end":{"line":445,"column":35}},"160":{"start":{"line":457,"column":4},"end":{"line":467,"column":6}},"161":{"start":{"line":458,"column":8},"end":{"line":458,"column":63}},"162":{"start":{"line":460,"column":8},"end":{"line":460,"column":24}},"163":{"start":{"line":461,"column":8},"end":{"line":461,"column":35}},"164":{"start":{"line":463,"column":8},"end":{"line":466,"column":9}},"165":{"start":{"line":464,"column":12},"end":{"line":464,"column":39}},"166":{"start":{"line":465,"column":12},"end":{"line":465,"column":86}},"167":{"start":{"line":476,"column":4},"end":{"line":482,"column":6}},"168":{"start":{"line":477,"column":8},"end":{"line":477,"column":30}},"169":{"start":{"line":479,"column":8},"end":{"line":479,"column":50}},"170":{"start":{"line":480,"column":8},"end":{"line":480,"column":57}},"171":{"start":{"line":481,"column":8},"end":{"line":481,"column":92}},"172":{"start":{"line":491,"column":4},"end":{"line":521,"column":6}},"173":{"start":{"line":492,"column":8},"end":{"line":497,"column":26}},"174":{"start":{"line":499,"column":8},"end":{"line":520,"column":9}},"175":{"start":{"line":500,"column":12},"end":{"line":500,"column":47}},"176":{"start":{"line":501,"column":12},"end":{"line":501,"column":45}},"177":{"start":{"line":503,"column":12},"end":{"line":509,"column":13}},"178":{"start":{"line":504,"column":16},"end":{"line":504,"column":104}},"179":{"start":{"line":505,"column":16},"end":{"line":505,"column":150}},"180":{"start":{"line":507,"column":16},"end":{"line":507,"column":202}},"181":{"start":{"line":508,"column":16},"end":{"line":508,"column":67}},"182":{"start":{"line":511,"column":12},"end":{"line":513,"column":13}},"183":{"start":{"line":512,"column":16},"end":{"line":512,"column":60}},"184":{"start":{"line":515,"column":12},"end":{"line":517,"column":13}},"185":{"start":{"line":516,"column":16},"end":{"line":516,"column":51}},"186":{"start":{"line":519,"column":12},"end":{"line":519,"column":35}},"187":{"start":{"line":529,"column":4},"end":{"line":539,"column":6}},"188":{"start":{"line":530,"column":8},"end":{"line":533,"column":9}},"189":{"start":{"line":531,"column":12},"end":{"line":531,"column":96}},"190":{"start":{"line":532,"column":12},"end":{"line":532,"column":19}},"191":{"start":{"line":536,"column":8},"end":{"line":536,"column":68}},"192":{"start":{"line":538,"column":8},"end":{"line":538,"column":97}},"193":{"start":{"line":547,"column":4},"end":{"line":550,"column":6}},"194":{"start":{"line":548,"column":8},"end":{"line":548,"column":62}},"195":{"start":{"line":549,"column":8},"end":{"line":549,"column":97}},"196":{"start":{"line":559,"column":4},"end":{"line":564,"column":6}},"197":{"start":{"line":560,"column":8},"end":{"line":562,"column":39}},"198":{"start":{"line":563,"column":8},"end":{"line":563,"column":73}},"199":{"start":{"line":574,"column":4},"end":{"line":586,"column":6}},"200":{"start":{"line":576,"column":8},"end":{"line":576,"column":37}},"201":{"start":{"line":577,"column":8},"end":{"line":585,"column":9}},"202":{"start":{"line":578,"column":12},"end":{"line":578,"column":87}},"203":{"start":{"line":579,"column":12},"end":{"line":579,"column":101}},"204":{"start":{"line":580,"column":12},"end":{"line":580,"column":29}},"205":{"start":{"line":582,"column":12},"end":{"line":582,"column":60}},"206":{"start":{"line":583,"column":12},"end":{"line":583,"column":59}},"207":{"start":{"line":584,"column":12},"end":{"line":584,"column":45}},"208":{"start":{"line":598,"column":4},"end":{"line":606,"column":6}},"209":{"start":{"line":599,"column":8},"end":{"line":599,"column":31}},"210":{"start":{"line":600,"column":8},"end":{"line":605,"column":9}},"211":{"start":{"line":601,"column":12},"end":{"line":604,"column":13}},"212":{"start":{"line":602,"column":12},"end":{"line":602,"column":86}},"213":{"start":{"line":603,"column":12},"end":{"line":603,"column":95}},"214":{"start":{"line":608,"column":4},"end":{"line":625,"column":6}},"215":{"start":{"line":609,"column":8},"end":{"line":609,"column":35}},"216":{"start":{"line":611,"column":8},"end":{"line":611,"column":33}},"217":{"start":{"line":612,"column":8},"end":{"line":612,"column":39}},"218":{"start":{"line":613,"column":8},"end":{"line":613,"column":36}},"219":{"start":{"line":614,"column":8},"end":{"line":614,"column":24}},"220":{"start":{"line":616,"column":8},"end":{"line":619,"column":9}},"221":{"start":{"line":617,"column":12},"end":{"line":617,"column":50}},"222":{"start":{"line":618,"column":12},"end":{"line":618,"column":35}},"223":{"start":{"line":621,"column":8},"end":{"line":621,"column":51}},"224":{"start":{"line":622,"column":8},"end":{"line":622,"column":29}},"225":{"start":{"line":623,"column":8},"end":{"line":623,"column":30}},"226":{"start":{"line":624,"column":8},"end":{"line":624,"column":28}},"227":{"start":{"line":635,"column":4},"end":{"line":643,"column":6}},"228":{"start":{"line":636,"column":8},"end":{"line":636,"column":46}},"229":{"start":{"line":638,"column":8},"end":{"line":642,"column":9}},"230":{"start":{"line":639,"column":12},"end":{"line":641,"column":16}},"231":{"start":{"line":652,"column":4},"end":{"line":664,"column":6}},"232":{"start":{"line":653,"column":8},"end":{"line":653,"column":52}},"233":{"start":{"line":655,"column":8},"end":{"line":657,"column":9}},"234":{"start":{"line":656,"column":12},"end":{"line":656,"column":47}},"235":{"start":{"line":659,"column":8},"end":{"line":663,"column":11}},"236":{"start":{"line":660,"column":12},"end":{"line":662,"column":13}},"237":{"start":{"line":661,"column":16},"end":{"line":661,"column":33}},"238":{"start":{"line":674,"column":4},"end":{"line":682,"column":6}},"239":{"start":{"line":675,"column":8},"end":{"line":675,"column":75}},"240":{"start":{"line":677,"column":8},"end":{"line":681,"column":9}},"241":{"start":{"line":678,"column":12},"end":{"line":680,"column":48}},"242":{"start":{"line":691,"column":4},"end":{"line":700,"column":6}},"243":{"start":{"line":692,"column":8},"end":{"line":692,"column":75}},"244":{"start":{"line":694,"column":8},"end":{"line":699,"column":9}},"245":{"start":{"line":695,"column":12},"end":{"line":695,"column":41}},"246":{"start":{"line":696,"column":12},"end":{"line":698,"column":48}},"247":{"start":{"line":709,"column":4},"end":{"line":719,"column":6}},"248":{"start":{"line":711,"column":8},"end":{"line":711,"column":47}},"249":{"start":{"line":712,"column":8},"end":{"line":712,"column":56}},"250":{"start":{"line":713,"column":8},"end":{"line":713,"column":42}},"251":{"start":{"line":716,"column":8},"end":{"line":716,"column":66}},"252":{"start":{"line":717,"column":8},"end":{"line":717,"column":66}},"253":{"start":{"line":718,"column":8},"end":{"line":718,"column":47}},"254":{"start":{"line":731,"column":4},"end":{"line":742,"column":6}},"255":{"start":{"line":732,"column":8},"end":{"line":736,"column":9}},"256":{"start":{"line":733,"column":12},"end":{"line":733,"column":67}},"257":{"start":{"line":735,"column":12},"end":{"line":735,"column":94}},"258":{"start":{"line":738,"column":8},"end":{"line":741,"column":9}},"259":{"start":{"line":739,"column":12},"end":{"line":739,"column":74}},"260":{"start":{"line":740,"column":12},"end":{"line":740,"column":106}},"261":{"start":{"line":753,"column":4},"end":{"line":773,"column":6}},"262":{"start":{"line":754,"column":8},"end":{"line":772,"column":11}},"263":{"start":{"line":755,"column":10},"end":{"line":755,"column":41}},"264":{"start":{"line":756,"column":10},"end":{"line":756,"column":39}},"265":{"start":{"line":757,"column":10},"end":{"line":760,"column":12}},"266":{"start":{"line":758,"column":14},"end":{"line":758,"column":34}},"267":{"start":{"line":759,"column":14},"end":{"line":759,"column":31}},"268":{"start":{"line":761,"column":10},"end":{"line":764,"column":12}},"269":{"start":{"line":762,"column":15},"end":{"line":762,"column":35}},"270":{"start":{"line":763,"column":15},"end":{"line":763,"column":34}},"271":{"start":{"line":765,"column":10},"end":{"line":770,"column":22}},"272":{"start":{"line":768,"column":14},"end":{"line":768,"column":45}},"273":{"start":{"line":769,"column":14},"end":{"line":769,"column":33}},"274":{"start":{"line":771,"column":10},"end":{"line":771,"column":24}},"275":{"start":{"line":784,"column":4},"end":{"line":793,"column":6}},"276":{"start":{"line":785,"column":8},"end":{"line":785,"column":41}},"277":{"start":{"line":786,"column":8},"end":{"line":790,"column":10}},"278":{"start":{"line":787,"column":12},"end":{"line":789,"column":12}},"279":{"start":{"line":788,"column":16},"end":{"line":788,"column":36}},"280":{"start":{"line":791,"column":8},"end":{"line":791,"column":108}},"281":{"start":{"line":792,"column":8},"end":{"line":792,"column":21}},"282":{"start":{"line":804,"column":4},"end":{"line":817,"column":6}},"283":{"start":{"line":805,"column":8},"end":{"line":816,"column":17}},"284":{"start":{"line":807,"column":16},"end":{"line":807,"column":52}},"285":{"start":{"line":808,"column":16},"end":{"line":808,"column":52}},"286":{"start":{"line":809,"column":16},"end":{"line":809,"column":45}},"287":{"start":{"line":813,"column":16},"end":{"line":813,"column":45}},"288":{"start":{"line":814,"column":16},"end":{"line":814,"column":52}},"289":{"start":{"line":815,"column":16},"end":{"line":815,"column":45}},"290":{"start":{"line":827,"column":4},"end":{"line":865,"column":6}},"291":{"start":{"line":828,"column":8},"end":{"line":828,"column":45}},"292":{"start":{"line":831,"column":8},"end":{"line":831,"column":50}},"293":{"start":{"line":832,"column":8},"end":{"line":832,"column":38}},"294":{"start":{"line":834,"column":7},"end":{"line":864,"column":13}},"295":{"start":{"line":836,"column":12},"end":{"line":836,"column":63}},"296":{"start":{"line":837,"column":12},"end":{"line":837,"column":37}},"297":{"start":{"line":838,"column":12},"end":{"line":838,"column":38}},"298":{"start":{"line":841,"column":12},"end":{"line":841,"column":78}},"299":{"start":{"line":842,"column":12},"end":{"line":859,"column":13}},"300":{"start":{"line":843,"column":16},"end":{"line":843,"column":45}},"301":{"start":{"line":844,"column":16},"end":{"line":844,"column":64}},"302":{"start":{"line":845,"column":16},"end":{"line":845,"column":53}},"303":{"start":{"line":846,"column":16},"end":{"line":846,"column":50}},"304":{"start":{"line":848,"column":16},"end":{"line":854,"column":18}},"305":{"start":{"line":857,"column":16},"end":{"line":857,"column":60}},"306":{"start":{"line":858,"column":16},"end":{"line":858,"column":29}},"307":{"start":{"line":863,"column":12},"end":{"line":863,"column":25}},"308":{"start":{"line":867,"column":4},"end":{"line":892,"column":6}},"309":{"start":{"line":868,"column":8},"end":{"line":868,"column":65}},"310":{"start":{"line":869,"column":8},"end":{"line":869,"column":28}},"311":{"start":{"line":870,"column":8},"end":{"line":870,"column":31}},"312":{"start":{"line":871,"column":8},"end":{"line":871,"column":60}},"313":{"start":{"line":872,"column":8},"end":{"line":872,"column":54}},"314":{"start":{"line":873,"column":8},"end":{"line":873,"column":16}},"315":{"start":{"line":874,"column":8},"end":{"line":889,"column":9}},"316":{"start":{"line":875,"column":12},"end":{"line":875,"column":37}},"317":{"start":{"line":876,"column":12},"end":{"line":882,"column":13}},"318":{"start":{"line":877,"column":16},"end":{"line":877,"column":61}},"319":{"start":{"line":878,"column":16},"end":{"line":878,"column":51}},"320":{"start":{"line":879,"column":16},"end":{"line":879,"column":58}},"321":{"start":{"line":880,"column":16},"end":{"line":880,"column":74}},"322":{"start":{"line":881,"column":16},"end":{"line":881,"column":62}},"323":{"start":{"line":883,"column":15},"end":{"line":889,"column":9}},"324":{"start":{"line":884,"column":12},"end":{"line":884,"column":46}},"325":{"start":{"line":885,"column":12},"end":{"line":885,"column":63}},"326":{"start":{"line":886,"column":12},"end":{"line":886,"column":57}},"327":{"start":{"line":887,"column":12},"end":{"line":887,"column":65}},"328":{"start":{"line":888,"column":12},"end":{"line":888,"column":56}},"329":{"start":{"line":891,"column":8},"end":{"line":891,"column":68}},"330":{"start":{"line":894,"column":4},"end":{"line":899,"column":6}},"331":{"start":{"line":895,"column":8},"end":{"line":895,"column":55}},"332":{"start":{"line":896,"column":8},"end":{"line":896,"column":88}},"333":{"start":{"line":897,"column":8},"end":{"line":897,"column":43}},"334":{"start":{"line":897,"column":33},"end":{"line":897,"column":43}},"335":{"start":{"line":898,"column":8},"end":{"line":898,"column":17}},"336":{"start":{"line":901,"column":4},"end":{"line":915,"column":6}},"337":{"start":{"line":902,"column":8},"end":{"line":902,"column":55}},"338":{"start":{"line":903,"column":8},"end":{"line":903,"column":51}},"339":{"start":{"line":904,"column":8},"end":{"line":912,"column":9}},"340":{"start":{"line":905,"column":12},"end":{"line":911,"column":13}},"341":{"start":{"line":907,"column":16},"end":{"line":907,"column":54}},"342":{"start":{"line":909,"column":16},"end":{"line":909,"column":32}},"343":{"start":{"line":910,"column":16},"end":{"line":910,"column":22}},"344":{"start":{"line":914,"column":8},"end":{"line":914,"column":50}},"345":{"start":{"line":917,"column":4},"end":{"line":924,"column":6}},"346":{"start":{"line":918,"column":8},"end":{"line":919,"column":39}},"347":{"start":{"line":920,"column":8},"end":{"line":920,"column":43}},"348":{"start":{"line":921,"column":8},"end":{"line":921,"column":29}},"349":{"start":{"line":922,"column":8},"end":{"line":922,"column":30}},"350":{"start":{"line":923,"column":8},"end":{"line":923,"column":28}},"351":{"start":{"line":926,"column":4},"end":{"line":929,"column":6}},"352":{"start":{"line":927,"column":8},"end":{"line":927,"column":46}},"353":{"start":{"line":928,"column":8},"end":{"line":928,"column":66}},"354":{"start":{"line":931,"column":4},"end":{"line":952,"column":6}},"355":{"start":{"line":932,"column":8},"end":{"line":932,"column":50}},"356":{"start":{"line":933,"column":8},"end":{"line":933,"column":44}},"357":{"start":{"line":935,"column":8},"end":{"line":935,"column":38}},"358":{"start":{"line":937,"column":8},"end":{"line":937,"column":60}},"359":{"start":{"line":938,"column":8},"end":{"line":951,"column":9}},"360":{"start":{"line":939,"column":12},"end":{"line":939,"column":51}},"361":{"start":{"line":940,"column":12},"end":{"line":940,"column":49}},"362":{"start":{"line":943,"column":12},"end":{"line":946,"column":13}},"363":{"start":{"line":944,"column":16},"end":{"line":945,"column":74}},"364":{"start":{"line":954,"column":4},"end":{"line":964,"column":6}},"365":{"start":{"line":955,"column":8},"end":{"line":958,"column":9}},"366":{"start":{"line":956,"column":12},"end":{"line":956,"column":45}},"367":{"start":{"line":957,"column":12},"end":{"line":957,"column":31}},"368":{"start":{"line":960,"column":8},"end":{"line":962,"column":16}},"369":{"start":{"line":961,"column":12},"end":{"line":961,"column":38}},"370":{"start":{"line":968,"column":4},"end":{"line":987,"column":6}},"371":{"start":{"line":969,"column":8},"end":{"line":986,"column":11}},"372":{"start":{"line":970,"column":12},"end":{"line":971,"column":27}},"373":{"start":{"line":973,"column":12},"end":{"line":976,"column":13}},"374":{"start":{"line":974,"column":16},"end":{"line":974,"column":71}},"375":{"start":{"line":975,"column":16},"end":{"line":975,"column":99}},"376":{"start":{"line":978,"column":12},"end":{"line":985,"column":13}},"377":{"start":{"line":980,"column":16},"end":{"line":980,"column":78}},"378":{"start":{"line":981,"column":16},"end":{"line":981,"column":60}},"379":{"start":{"line":982,"column":19},"end":{"line":985,"column":13}},"380":{"start":{"line":984,"column":16},"end":{"line":984,"column":64}}},"branchMap":{"1":{"line":48,"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":48,"column":8}},{"start":{"line":48,"column":8},"end":{"line":48,"column":8}}]},"2":{"line":57,"type":"if","locations":[{"start":{"line":57,"column":8},"end":{"line":57,"column":8}},{"start":{"line":57,"column":8},"end":{"line":57,"column":8}}]},"3":{"line":65,"type":"if","locations":[{"start":{"line":65,"column":8},"end":{"line":65,"column":8}},{"start":{"line":65,"column":8},"end":{"line":65,"column":8}}]},"4":{"line":65,"type":"binary-expr","locations":[{"start":{"line":65,"column":12},"end":{"line":65,"column":24}},{"start":{"line":65,"column":28},"end":{"line":65,"column":47}}]},"5":{"line":66,"type":"if","locations":[{"start":{"line":66,"column":12},"end":{"line":66,"column":12}},{"start":{"line":66,"column":12},"end":{"line":66,"column":12}}]},"6":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":12},"end":{"line":69,"column":12}},{"start":{"line":69,"column":12},"end":{"line":69,"column":12}}]},"7":{"line":72,"type":"if","locations":[{"start":{"line":72,"column":12},"end":{"line":72,"column":12}},{"start":{"line":72,"column":12},"end":{"line":72,"column":12}}]},"8":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":12},"end":{"line":81,"column":12}},{"start":{"line":81,"column":12},"end":{"line":81,"column":12}}]},"9":{"line":96,"type":"if","locations":[{"start":{"line":96,"column":8},"end":{"line":96,"column":8}},{"start":{"line":96,"column":8},"end":{"line":96,"column":8}}]},"10":{"line":96,"type":"binary-expr","locations":[{"start":{"line":96,"column":12},"end":{"line":96,"column":51}},{"start":{"line":96,"column":55},"end":{"line":96,"column":100}}]},"11":{"line":176,"type":"if","locations":[{"start":{"line":176,"column":12},"end":{"line":176,"column":12}},{"start":{"line":176,"column":12},"end":{"line":176,"column":12}}]},"12":{"line":194,"type":"if","locations":[{"start":{"line":194,"column":12},"end":{"line":194,"column":12}},{"start":{"line":194,"column":12},"end":{"line":194,"column":12}}]},"13":{"line":210,"type":"if","locations":[{"start":{"line":210,"column":8},"end":{"line":210,"column":8}},{"start":{"line":210,"column":8},"end":{"line":210,"column":8}}]},"14":{"line":210,"type":"binary-expr","locations":[{"start":{"line":210,"column":12},"end":{"line":210,"column":21}},{"start":{"line":210,"column":25},"end":{"line":210,"column":46}},{"start":{"line":210,"column":50},"end":{"line":210,"column":93}}]},"15":{"line":225,"type":"if","locations":[{"start":{"line":225,"column":8},"end":{"line":225,"column":8}},{"start":{"line":225,"column":8},"end":{"line":225,"column":8}}]},"16":{"line":273,"type":"if","locations":[{"start":{"line":273,"column":8},"end":{"line":273,"column":8}},{"start":{"line":273,"column":8},"end":{"line":273,"column":8}}]},"17":{"line":273,"type":"binary-expr","locations":[{"start":{"line":273,"column":12},"end":{"line":273,"column":35}},{"start":{"line":273,"column":39},"end":{"line":273,"column":81}}]},"18":{"line":287,"type":"if","locations":[{"start":{"line":287,"column":8},"end":{"line":287,"column":8}},{"start":{"line":287,"column":8},"end":{"line":287,"column":8}}]},"19":{"line":287,"type":"binary-expr","locations":[{"start":{"line":287,"column":12},"end":{"line":287,"column":32}},{"start":{"line":287,"column":36},"end":{"line":287,"column":68}}]},"20":{"line":294,"type":"if","locations":[{"start":{"line":294,"column":12},"end":{"line":294,"column":12}},{"start":{"line":294,"column":12},"end":{"line":294,"column":12}}]},"21":{"line":318,"type":"if","locations":[{"start":{"line":318,"column":8},"end":{"line":318,"column":8}},{"start":{"line":318,"column":8},"end":{"line":318,"column":8}}]},"22":{"line":322,"type":"if","locations":[{"start":{"line":322,"column":8},"end":{"line":322,"column":8}},{"start":{"line":322,"column":8},"end":{"line":322,"column":8}}]},"23":{"line":331,"type":"binary-expr","locations":[{"start":{"line":331,"column":24},"end":{"line":331,"column":49}},{"start":{"line":331,"column":53},"end":{"line":331,"column":82}},{"start":{"line":331,"column":87},"end":{"line":331,"column":123}}]},"24":{"line":346,"type":"if","locations":[{"start":{"line":346,"column":8},"end":{"line":346,"column":8}},{"start":{"line":346,"column":8},"end":{"line":346,"column":8}}]},"25":{"line":346,"type":"binary-expr","locations":[{"start":{"line":346,"column":12},"end":{"line":346,"column":33}},{"start":{"line":346,"column":37},"end":{"line":346,"column":94}}]},"26":{"line":358,"type":"if","locations":[{"start":{"line":358,"column":8},"end":{"line":358,"column":8}},{"start":{"line":358,"column":8},"end":{"line":358,"column":8}}]},"27":{"line":374,"type":"if","locations":[{"start":{"line":374,"column":8},"end":{"line":374,"column":8}},{"start":{"line":374,"column":8},"end":{"line":374,"column":8}}]},"28":{"line":394,"type":"if","locations":[{"start":{"line":394,"column":8},"end":{"line":394,"column":8}},{"start":{"line":394,"column":8},"end":{"line":394,"column":8}}]},"29":{"line":398,"type":"if","locations":[{"start":{"line":398,"column":8},"end":{"line":398,"column":8}},{"start":{"line":398,"column":8},"end":{"line":398,"column":8}}]},"30":{"line":398,"type":"binary-expr","locations":[{"start":{"line":398,"column":12},"end":{"line":398,"column":22}},{"start":{"line":398,"column":26},"end":{"line":398,"column":52}}]},"31":{"line":406,"type":"if","locations":[{"start":{"line":406,"column":8},"end":{"line":406,"column":8}},{"start":{"line":406,"column":8},"end":{"line":406,"column":8}}]},"32":{"line":410,"type":"cond-expr","locations":[{"start":{"line":410,"column":32},"end":{"line":410,"column":40}},{"start":{"line":410,"column":43},"end":{"line":410,"column":64}}]},"33":{"line":414,"type":"if","locations":[{"start":{"line":414,"column":8},"end":{"line":414,"column":8}},{"start":{"line":414,"column":8},"end":{"line":414,"column":8}}]},"34":{"line":414,"type":"binary-expr","locations":[{"start":{"line":414,"column":12},"end":{"line":414,"column":63}},{"start":{"line":414,"column":67},"end":{"line":414,"column":117}},{"start":{"line":414,"column":121},"end":{"line":414,"column":176}}]},"35":{"line":419,"type":"if","locations":[{"start":{"line":419,"column":16},"end":{"line":419,"column":16}},{"start":{"line":419,"column":16},"end":{"line":419,"column":16}}]},"36":{"line":423,"type":"if","locations":[{"start":{"line":423,"column":16},"end":{"line":423,"column":16}},{"start":{"line":423,"column":16},"end":{"line":423,"column":16}}]},"37":{"line":430,"type":"if","locations":[{"start":{"line":430,"column":12},"end":{"line":430,"column":12}},{"start":{"line":430,"column":12},"end":{"line":430,"column":12}}]},"38":{"line":430,"type":"binary-expr","locations":[{"start":{"line":430,"column":16},"end":{"line":430,"column":25}},{"start":{"line":430,"column":31},"end":{"line":430,"column":54}},{"start":{"line":430,"column":58},"end":{"line":430,"column":70}},{"start":{"line":430,"column":75},"end":{"line":430,"column":99}}]},"39":{"line":433,"type":"if","locations":[{"start":{"line":433,"column":16},"end":{"line":433,"column":16}},{"start":{"line":433,"column":16},"end":{"line":433,"column":16}}]},"40":{"line":443,"type":"cond-expr","locations":[{"start":{"line":443,"column":33},"end":{"line":443,"column":36}},{"start":{"line":443,"column":39},"end":{"line":443,"column":40}}]},"41":{"line":463,"type":"if","locations":[{"start":{"line":463,"column":8},"end":{"line":463,"column":8}},{"start":{"line":463,"column":8},"end":{"line":463,"column":8}}]},"42":{"line":477,"type":"binary-expr","locations":[{"start":{"line":477,"column":14},"end":{"line":477,"column":17}},{"start":{"line":477,"column":21},"end":{"line":477,"column":29}}]},"43":{"line":494,"type":"cond-expr","locations":[{"start":{"line":494,"column":70},"end":{"line":494,"column":72}},{"start":{"line":494,"column":75},"end":{"line":494,"column":108}}]},"44":{"line":495,"type":"cond-expr","locations":[{"start":{"line":495,"column":51},"end":{"line":495,"column":93}},{"start":{"line":495,"column":96},"end":{"line":495,"column":112}}]},"45":{"line":499,"type":"if","locations":[{"start":{"line":499,"column":8},"end":{"line":499,"column":8}},{"start":{"line":499,"column":8},"end":{"line":499,"column":8}}]},"46":{"line":503,"type":"if","locations":[{"start":{"line":503,"column":12},"end":{"line":503,"column":12}},{"start":{"line":503,"column":12},"end":{"line":503,"column":12}}]},"47":{"line":505,"type":"cond-expr","locations":[{"start":{"line":505,"column":74},"end":{"line":505,"column":143}},{"start":{"line":505,"column":146},"end":{"line":505,"column":148}}]},"48":{"line":511,"type":"if","locations":[{"start":{"line":511,"column":12},"end":{"line":511,"column":12}},{"start":{"line":511,"column":12},"end":{"line":511,"column":12}}]},"49":{"line":515,"type":"if","locations":[{"start":{"line":515,"column":12},"end":{"line":515,"column":12}},{"start":{"line":515,"column":12},"end":{"line":515,"column":12}}]},"50":{"line":515,"type":"binary-expr","locations":[{"start":{"line":515,"column":16},"end":{"line":515,"column":72}},{"start":{"line":515,"column":76},"end":{"line":515,"column":93}}]},"51":{"line":530,"type":"if","locations":[{"start":{"line":530,"column":8},"end":{"line":530,"column":8}},{"start":{"line":530,"column":8},"end":{"line":530,"column":8}}]},"52":{"line":577,"type":"if","locations":[{"start":{"line":577,"column":8},"end":{"line":577,"column":8}},{"start":{"line":577,"column":8},"end":{"line":577,"column":8}}]},"53":{"line":601,"type":"if","locations":[{"start":{"line":601,"column":12},"end":{"line":601,"column":12}},{"start":{"line":601,"column":12},"end":{"line":601,"column":12}}]},"54":{"line":611,"type":"binary-expr","locations":[{"start":{"line":611,"column":19},"end":{"line":611,"column":27}},{"start":{"line":611,"column":31},"end":{"line":611,"column":32}}]},"55":{"line":616,"type":"if","locations":[{"start":{"line":616,"column":8},"end":{"line":616,"column":8}},{"start":{"line":616,"column":8},"end":{"line":616,"column":8}}]},"56":{"line":638,"type":"if","locations":[{"start":{"line":638,"column":8},"end":{"line":638,"column":8}},{"start":{"line":638,"column":8},"end":{"line":638,"column":8}}]},"57":{"line":655,"type":"if","locations":[{"start":{"line":655,"column":8},"end":{"line":655,"column":8}},{"start":{"line":655,"column":8},"end":{"line":655,"column":8}}]},"58":{"line":660,"type":"if","locations":[{"start":{"line":660,"column":12},"end":{"line":660,"column":12}},{"start":{"line":660,"column":12},"end":{"line":660,"column":12}}]},"59":{"line":660,"type":"binary-expr","locations":[{"start":{"line":660,"column":16},"end":{"line":660,"column":69}},{"start":{"line":660,"column":73},"end":{"line":660,"column":101}}]},"60":{"line":675,"type":"cond-expr","locations":[{"start":{"line":675,"column":46},"end":{"line":675,"column":49}},{"start":{"line":675,"column":52},"end":{"line":675,"column":74}}]},"61":{"line":677,"type":"if","locations":[{"start":{"line":677,"column":8},"end":{"line":677,"column":8}},{"start":{"line":677,"column":8},"end":{"line":677,"column":8}}]},"62":{"line":692,"type":"cond-expr","locations":[{"start":{"line":692,"column":46},"end":{"line":692,"column":49}},{"start":{"line":692,"column":52},"end":{"line":692,"column":74}}]},"63":{"line":694,"type":"if","locations":[{"start":{"line":694,"column":8},"end":{"line":694,"column":8}},{"start":{"line":694,"column":8},"end":{"line":694,"column":8}}]},"64":{"line":732,"type":"if","locations":[{"start":{"line":732,"column":8},"end":{"line":732,"column":8}},{"start":{"line":732,"column":8},"end":{"line":732,"column":8}}]},"65":{"line":732,"type":"binary-expr","locations":[{"start":{"line":732,"column":11},"end":{"line":732,"column":31}},{"start":{"line":732,"column":35},"end":{"line":732,"column":54}}]},"66":{"line":738,"type":"if","locations":[{"start":{"line":738,"column":8},"end":{"line":738,"column":8}},{"start":{"line":738,"column":8},"end":{"line":738,"column":8}}]},"67":{"line":738,"type":"binary-expr","locations":[{"start":{"line":738,"column":11},"end":{"line":738,"column":31}},{"start":{"line":738,"column":35},"end":{"line":738,"column":54}}]},"68":{"line":755,"type":"binary-expr","locations":[{"start":{"line":755,"column":24},"end":{"line":755,"column":32}},{"start":{"line":755,"column":36},"end":{"line":755,"column":40}}]},"69":{"line":787,"type":"if","locations":[{"start":{"line":787,"column":12},"end":{"line":787,"column":12}},{"start":{"line":787,"column":12},"end":{"line":787,"column":12}}]},"70":{"line":787,"type":"binary-expr","locations":[{"start":{"line":787,"column":16},"end":{"line":787,"column":37}},{"start":{"line":787,"column":41},"end":{"line":787,"column":60}}]},"71":{"line":805,"type":"cond-expr","locations":[{"start":{"line":806,"column":12},"end":{"line":810,"column":16}},{"start":{"line":812,"column":12},"end":{"line":816,"column":16}}]},"72":{"line":809,"type":"cond-expr","locations":[{"start":{"line":809,"column":33},"end":{"line":809,"column":37}},{"start":{"line":809,"column":39},"end":{"line":809,"column":44}}]},"73":{"line":815,"type":"cond-expr","locations":[{"start":{"line":815,"column":33},"end":{"line":815,"column":37}},{"start":{"line":815,"column":39},"end":{"line":815,"column":44}}]},"74":{"line":834,"type":"cond-expr","locations":[{"start":{"line":835,"column":8},"end":{"line":860,"column":12}},{"start":{"line":862,"column":8},"end":{"line":864,"column":12}}]},"75":{"line":834,"type":"binary-expr","locations":[{"start":{"line":834,"column":15},"end":{"line":834,"column":22}},{"start":{"line":834,"column":26},"end":{"line":834,"column":36}}]},"76":{"line":836,"type":"cond-expr","locations":[{"start":{"line":836,"column":49},"end":{"line":836,"column":54}},{"start":{"line":836,"column":57},"end":{"line":836,"column":62}}]},"77":{"line":842,"type":"if","locations":[{"start":{"line":842,"column":12},"end":{"line":842,"column":12}},{"start":{"line":842,"column":12},"end":{"line":842,"column":12}}]},"78":{"line":868,"type":"binary-expr","locations":[{"start":{"line":868,"column":18},"end":{"line":868,"column":25}},{"start":{"line":868,"column":29},"end":{"line":868,"column":64}}]},"79":{"line":871,"type":"binary-expr","locations":[{"start":{"line":871,"column":18},"end":{"line":871,"column":39}},{"start":{"line":871,"column":43},"end":{"line":871,"column":59}}]},"80":{"line":872,"type":"binary-expr","locations":[{"start":{"line":872,"column":18},"end":{"line":872,"column":33}},{"start":{"line":872,"column":37},"end":{"line":872,"column":53}}]},"81":{"line":874,"type":"if","locations":[{"start":{"line":874,"column":8},"end":{"line":874,"column":8}},{"start":{"line":874,"column":8},"end":{"line":874,"column":8}}]},"82":{"line":876,"type":"if","locations":[{"start":{"line":876,"column":12},"end":{"line":876,"column":12}},{"start":{"line":876,"column":12},"end":{"line":876,"column":12}}]},"83":{"line":883,"type":"if","locations":[{"start":{"line":883,"column":15},"end":{"line":883,"column":15}},{"start":{"line":883,"column":15},"end":{"line":883,"column":15}}]},"84":{"line":883,"type":"binary-expr","locations":[{"start":{"line":883,"column":21},"end":{"line":883,"column":40}},{"start":{"line":883,"column":45},"end":{"line":883,"column":66}}]},"85":{"line":895,"type":"binary-expr","locations":[{"start":{"line":895,"column":13},"end":{"line":895,"column":15}},{"start":{"line":895,"column":19},"end":{"line":895,"column":54}}]},"86":{"line":902,"type":"binary-expr","locations":[{"start":{"line":902,"column":13},"end":{"line":902,"column":15}},{"start":{"line":902,"column":19},"end":{"line":902,"column":54}}]},"87":{"line":905,"type":"if","locations":[{"start":{"line":905,"column":12},"end":{"line":905,"column":12}},{"start":{"line":905,"column":12},"end":{"line":905,"column":12}}]},"88":{"line":905,"type":"binary-expr","locations":[{"start":{"line":905,"column":16},"end":{"line":905,"column":52}},{"start":{"line":905,"column":56},"end":{"line":905,"column":66}}]},"89":{"line":938,"type":"if","locations":[{"start":{"line":938,"column":8},"end":{"line":938,"column":8}},{"start":{"line":938,"column":8},"end":{"line":938,"column":8}}]},"90":{"line":943,"type":"if","locations":[{"start":{"line":943,"column":12},"end":{"line":943,"column":12}},{"start":{"line":943,"column":12},"end":{"line":943,"column":12}}]},"91":{"line":955,"type":"if","locations":[{"start":{"line":955,"column":8},"end":{"line":955,"column":8}},{"start":{"line":955,"column":8},"end":{"line":955,"column":8}}]},"92":{"line":973,"type":"if","locations":[{"start":{"line":973,"column":12},"end":{"line":973,"column":12}},{"start":{"line":973,"column":12},"end":{"line":973,"column":12}}]},"93":{"line":978,"type":"if","locations":[{"start":{"line":978,"column":12},"end":{"line":978,"column":12}},{"start":{"line":978,"column":12},"end":{"line":978,"column":12}}]},"94":{"line":982,"type":"if","locations":[{"start":{"line":982,"column":19},"end":{"line":982,"column":19}},{"start":{"line":982,"column":19},"end":{"line":982,"column":19}}]},"95":{"line":982,"type":"binary-expr","locations":[{"start":{"line":982,"column":23},"end":{"line":982,"column":50}},{"start":{"line":982,"column":54},"end":{"line":982,"column":99}}]}}}; +} +__cov_uF0DD$PZc87AtS9p7kqGHg = __cov_uF0DD$PZc87AtS9p7kqGHg['assests/js/lib/embed/core.js']; +;__cov_uF0DD$PZc87AtS9p7kqGHg.s['1']++;(function($,window,document,undefined){'use strict';__cov_uF0DD$PZc87AtS9p7kqGHg.f['1']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['2']++;var pluginName='mediumInsert',defaults={editor:null,enabled:true,addons:{images:true,embeds:true}};function ucfirst(str){__cov_uF0DD$PZc87AtS9p7kqGHg.f['2']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['4']++;return str.charAt(0).toUpperCase()+str.slice(1);}function Core(el,options){__cov_uF0DD$PZc87AtS9p7kqGHg.f['3']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['6']++;var editor;__cov_uF0DD$PZc87AtS9p7kqGHg.s['7']++;this.el=el;__cov_uF0DD$PZc87AtS9p7kqGHg.s['8']++;this.$el=$(el);__cov_uF0DD$PZc87AtS9p7kqGHg.s['9']++;this.templates=window.MediumInsert.Templates;__cov_uF0DD$PZc87AtS9p7kqGHg.s['10']++;this.extend=new Extend();__cov_uF0DD$PZc87AtS9p7kqGHg.s['11']++;this.targetEl='',this.ctTime=null;__cov_uF0DD$PZc87AtS9p7kqGHg.s['12']++;if(options){__cov_uF0DD$PZc87AtS9p7kqGHg.b['1'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['13']++;editor=options.editor;__cov_uF0DD$PZc87AtS9p7kqGHg.s['14']++;options.editor=null;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['1'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['15']++;this.options=$.extend(true,{},defaults,options);__cov_uF0DD$PZc87AtS9p7kqGHg.s['16']++;this.options.editor=editor;__cov_uF0DD$PZc87AtS9p7kqGHg.s['17']++;if(options){__cov_uF0DD$PZc87AtS9p7kqGHg.b['2'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['18']++;options.editor=editor;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['2'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['19']++;this._defaults=defaults;__cov_uF0DD$PZc87AtS9p7kqGHg.s['20']++;this._name=pluginName;__cov_uF0DD$PZc87AtS9p7kqGHg.s['21']++;if((__cov_uF0DD$PZc87AtS9p7kqGHg.b['4'][0]++,this.options)&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['4'][1]++,this.options.editor)){__cov_uF0DD$PZc87AtS9p7kqGHg.b['3'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['22']++;if(this.options.editor._serialize===undefined){__cov_uF0DD$PZc87AtS9p7kqGHg.b['5'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['23']++;this.options.editor._serialize=this.options.editor.serialize;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['5'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['24']++;if(this.options.editor._destroy===undefined){__cov_uF0DD$PZc87AtS9p7kqGHg.b['6'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['25']++;this.options.editor._destroy=this.options.editor.destroy;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['6'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['26']++;if(this.options.editor._setup===undefined){__cov_uF0DD$PZc87AtS9p7kqGHg.b['7'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['27']++;this.options.editor._setup=this.options.editor.setup;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['7'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['28']++;this.options.editor._hideInsertButtons=this.hideButtons;__cov_uF0DD$PZc87AtS9p7kqGHg.s['29']++;this.options.editor.serialize=this.editorSerialize;__cov_uF0DD$PZc87AtS9p7kqGHg.s['30']++;this.options.editor.destroy=this.editorDestroy;__cov_uF0DD$PZc87AtS9p7kqGHg.s['31']++;this.options.editor.setup=this.editorSetup;__cov_uF0DD$PZc87AtS9p7kqGHg.s['32']++;if(this.options.editor.getExtensionByName('placeholder')!==undefined){__cov_uF0DD$PZc87AtS9p7kqGHg.b['8'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['33']++;this.options.editor.getExtensionByName('placeholder').updatePlaceholder=this.editorUpdatePlaceholder;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['8'][1]++;}}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['3'][1]++;}}__cov_uF0DD$PZc87AtS9p7kqGHg.s['34']++;Core.prototype.init=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['4']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['35']++;this.$el.addClass('medium-editor-insert-plugin');__cov_uF0DD$PZc87AtS9p7kqGHg.s['36']++;if((__cov_uF0DD$PZc87AtS9p7kqGHg.b['10'][0]++,typeof this.options.addons!=='object')||(__cov_uF0DD$PZc87AtS9p7kqGHg.b['10'][1]++,Object.keys(this.options.addons).length===0)){__cov_uF0DD$PZc87AtS9p7kqGHg.b['9'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['37']++;this.disable();}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['9'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['38']++;this.initAddons();__cov_uF0DD$PZc87AtS9p7kqGHg.s['39']++;this.clean();__cov_uF0DD$PZc87AtS9p7kqGHg.s['40']++;this.events();};__cov_uF0DD$PZc87AtS9p7kqGHg.s['41']++;Core.prototype.events=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['5']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['42']++;var that=this;__cov_uF0DD$PZc87AtS9p7kqGHg.s['43']++;this.$el.on('dragover drop',function(e){__cov_uF0DD$PZc87AtS9p7kqGHg.f['6']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['44']++;e.preventDefault();__cov_uF0DD$PZc87AtS9p7kqGHg.s['45']++;$.proxy(that,'dragDropAction')(e);}).on('keyup click',$.proxy(this,'toggleButtons')).on('selectstart mousedown','.medium-insert, .medium-insert-buttons',$.proxy(this,'disableSelection')).on('click','.medium-insert-buttons-show',$.proxy(this,'toggleAddons')).on('click','.medium-insert-action',$.proxy(this,'addonAction')).on('paste','.medium-insert-caption-placeholder',function(e){__cov_uF0DD$PZc87AtS9p7kqGHg.f['7']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['46']++;$.proxy(that,'removeCaptionPlaceholder')($(e.target));});__cov_uF0DD$PZc87AtS9p7kqGHg.s['47']++;$(window).on('resize',$.proxy(this,'positionButtons',null));};__cov_uF0DD$PZc87AtS9p7kqGHg.s['48']++;Core.prototype.getEditor=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['8']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['49']++;return this.options.editor;};__cov_uF0DD$PZc87AtS9p7kqGHg.s['50']++;Core.prototype.editorSerialize=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['9']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['51']++;var data=this._serialize();__cov_uF0DD$PZc87AtS9p7kqGHg.s['52']++;$.each(data,function(key){__cov_uF0DD$PZc87AtS9p7kqGHg.f['10']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['53']++;var $data=$('
').html(data[key].value);__cov_uF0DD$PZc87AtS9p7kqGHg.s['54']++;$data.find('.medium-insert-buttons').remove();__cov_uF0DD$PZc87AtS9p7kqGHg.s['55']++;$data.find('.medium-insert-active').removeClass('medium-insert-active');__cov_uF0DD$PZc87AtS9p7kqGHg.s['56']++;$data.find('[data-embed-code]').each(function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['11']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['57']++;var $this=$(this),html=$('
').html($this.attr('data-embed-code')).text();__cov_uF0DD$PZc87AtS9p7kqGHg.s['58']++;$this.html(html);});__cov_uF0DD$PZc87AtS9p7kqGHg.s['59']++;data[key].value=$data.html();});__cov_uF0DD$PZc87AtS9p7kqGHg.s['60']++;return data;};__cov_uF0DD$PZc87AtS9p7kqGHg.s['61']++;Core.prototype.editorDestroy=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['12']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['62']++;$.each(this.elements,function(key,el){__cov_uF0DD$PZc87AtS9p7kqGHg.f['13']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['63']++;if($(el).data('plugin_'+pluginName)instanceof Core){__cov_uF0DD$PZc87AtS9p7kqGHg.b['11'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['64']++;$(el).data('plugin_'+pluginName).disable();}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['11'][1]++;}});__cov_uF0DD$PZc87AtS9p7kqGHg.s['65']++;this._destroy();};__cov_uF0DD$PZc87AtS9p7kqGHg.s['66']++;Core.prototype.editorSetup=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['14']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['67']++;this._setup();__cov_uF0DD$PZc87AtS9p7kqGHg.s['68']++;$.each(this.elements,function(key,el){__cov_uF0DD$PZc87AtS9p7kqGHg.f['15']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['69']++;if($(el).data('plugin_'+pluginName)instanceof Core){__cov_uF0DD$PZc87AtS9p7kqGHg.b['12'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['70']++;$(el).data('plugin_'+pluginName).enable();}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['12'][1]++;}});};__cov_uF0DD$PZc87AtS9p7kqGHg.s['71']++;Core.prototype.editorUpdatePlaceholder=function(el,dontShow){__cov_uF0DD$PZc87AtS9p7kqGHg.f['16']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['72']++;var contents=$(el).children().not('.medium-insert-buttons').contents();__cov_uF0DD$PZc87AtS9p7kqGHg.s['73']++;if((__cov_uF0DD$PZc87AtS9p7kqGHg.b['14'][0]++,!dontShow)&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['14'][1]++,contents.length===1)&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['14'][2]++,contents[0].nodeName.toLowerCase()==='br')){__cov_uF0DD$PZc87AtS9p7kqGHg.b['13'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['74']++;this.showPlaceholder(el);__cov_uF0DD$PZc87AtS9p7kqGHg.s['75']++;this.base._hideInsertButtons($(el));}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['13'][1]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['76']++;this.hidePlaceholder(el);}};__cov_uF0DD$PZc87AtS9p7kqGHg.s['77']++;Core.prototype.triggerInput=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['17']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['78']++;if(this.getEditor()){__cov_uF0DD$PZc87AtS9p7kqGHg.b['15'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['79']++;this.getEditor().trigger('editableInput',null,this.el);}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['15'][1]++;}};__cov_uF0DD$PZc87AtS9p7kqGHg.s['80']++;Core.prototype.deselect=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['18']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['81']++;document.getSelection().removeAllRanges();};__cov_uF0DD$PZc87AtS9p7kqGHg.s['82']++;Core.prototype.disable=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['19']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['83']++;this.options.enabled=false;__cov_uF0DD$PZc87AtS9p7kqGHg.s['84']++;this.$el.find('.medium-insert-buttons').addClass('hide');};__cov_uF0DD$PZc87AtS9p7kqGHg.s['85']++;Core.prototype.enable=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['20']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['86']++;this.options.enabled=true;__cov_uF0DD$PZc87AtS9p7kqGHg.s['87']++;this.$el.find('.medium-insert-buttons').removeClass('hide');};__cov_uF0DD$PZc87AtS9p7kqGHg.s['88']++;Core.prototype.disableSelection=function(e){__cov_uF0DD$PZc87AtS9p7kqGHg.f['21']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['89']++;var $el=$(e.target);__cov_uF0DD$PZc87AtS9p7kqGHg.s['90']++;if((__cov_uF0DD$PZc87AtS9p7kqGHg.b['17'][0]++,$el.is('img')===false)||(__cov_uF0DD$PZc87AtS9p7kqGHg.b['17'][1]++,$el.hasClass('medium-insert-buttons-show'))){__cov_uF0DD$PZc87AtS9p7kqGHg.b['16'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['91']++;e.preventDefault();}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['16'][1]++;}};__cov_uF0DD$PZc87AtS9p7kqGHg.s['92']++;Core.prototype.initAddons=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['22']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['93']++;var that=this;__cov_uF0DD$PZc87AtS9p7kqGHg.s['94']++;if((__cov_uF0DD$PZc87AtS9p7kqGHg.b['19'][0]++,!this.options.addons)||(__cov_uF0DD$PZc87AtS9p7kqGHg.b['19'][1]++,this.options.addons.length===0)){__cov_uF0DD$PZc87AtS9p7kqGHg.b['18'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['95']++;return;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['18'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['96']++;$.each(this.options.addons,function(addon,options){__cov_uF0DD$PZc87AtS9p7kqGHg.f['23']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['97']++;var addonName=pluginName+ucfirst(addon);__cov_uF0DD$PZc87AtS9p7kqGHg.s['98']++;if(options===false){__cov_uF0DD$PZc87AtS9p7kqGHg.b['20'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['99']++;delete that.options.addons[addon];__cov_uF0DD$PZc87AtS9p7kqGHg.s['100']++;return;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['20'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['101']++;that.$el[addonName](options);__cov_uF0DD$PZc87AtS9p7kqGHg.s['102']++;that.options.addons[addon]=that.$el.data('plugin_'+addonName).options;});__cov_uF0DD$PZc87AtS9p7kqGHg.s['103']++;this.$el.append(this.templates['src/js/templates/images-fileupload.hbs']());__cov_uF0DD$PZc87AtS9p7kqGHg.s['104']++;this.$el.find('input:file').hide();__cov_uF0DD$PZc87AtS9p7kqGHg.s['105']++;this.$el.data('plugin_'+pluginName+ucfirst('images'))['add'](true);};__cov_uF0DD$PZc87AtS9p7kqGHg.s['106']++;Core.prototype.clean=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['24']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['107']++;var that=this,$buttons,$lastEl,$text;__cov_uF0DD$PZc87AtS9p7kqGHg.s['108']++;if(this.options.enabled===false){__cov_uF0DD$PZc87AtS9p7kqGHg.b['21'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['109']++;return;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['21'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['110']++;if(this.$el.html().length===0){__cov_uF0DD$PZc87AtS9p7kqGHg.b['22'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['111']++;this.$el.html(this.templates['src/js/templates/core-empty-line.hbs']().trim());}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['22'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['112']++;$text=this.$el.contents().filter(function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['25']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['113']++;return(__cov_uF0DD$PZc87AtS9p7kqGHg.b['23'][0]++,this.nodeName==='#text')&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['23'][1]++,$.trim($(this).text())!=='')||(__cov_uF0DD$PZc87AtS9p7kqGHg.b['23'][2]++,this.nodeName.toLowerCase()==='br');});__cov_uF0DD$PZc87AtS9p7kqGHg.s['114']++;$text.each(function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['26']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['115']++;$(this).wrap('

');__cov_uF0DD$PZc87AtS9p7kqGHg.s['116']++;that.moveCaret($(this).parent(),$(this).text().length);});__cov_uF0DD$PZc87AtS9p7kqGHg.s['117']++;this.addButtons();__cov_uF0DD$PZc87AtS9p7kqGHg.s['118']++;$buttons=this.$el.find('.medium-insert-buttons');__cov_uF0DD$PZc87AtS9p7kqGHg.s['119']++;$lastEl=$buttons.prev();__cov_uF0DD$PZc87AtS9p7kqGHg.s['120']++;if((__cov_uF0DD$PZc87AtS9p7kqGHg.b['25'][0]++,$lastEl.attr('class'))&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['25'][1]++,$lastEl.attr('class').match(/medium\-insert(?!\-active)/))){__cov_uF0DD$PZc87AtS9p7kqGHg.b['24'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['121']++;$buttons.before(this.templates['src/js/templates/core-empty-line.hbs']().trim());}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['24'][1]++;}};__cov_uF0DD$PZc87AtS9p7kqGHg.s['122']++;Core.prototype.getButtons=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['27']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['123']++;if(this.options.enabled===false){__cov_uF0DD$PZc87AtS9p7kqGHg.b['26'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['124']++;return;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['26'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['125']++;return this.templates['src/js/templates/core-buttons.hbs']({addons:this.options.addons}).trim();};__cov_uF0DD$PZc87AtS9p7kqGHg.s['126']++;Core.prototype.addButtons=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['28']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['127']++;if(this.$el.find('.medium-insert-buttons').length===0){__cov_uF0DD$PZc87AtS9p7kqGHg.b['27'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['128']++;this.$el.append(this.getButtons());}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['27'][1]++;}};__cov_uF0DD$PZc87AtS9p7kqGHg.s['129']++;Core.prototype.toggleButtons=function(e){__cov_uF0DD$PZc87AtS9p7kqGHg.f['29']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['130']++;this.capturePattern();__cov_uF0DD$PZc87AtS9p7kqGHg.s['131']++;var $el=$(e.target),selection=window.getSelection(),that=this,range,$current,$p,activeAddon;__cov_uF0DD$PZc87AtS9p7kqGHg.s['132']++;if(this.options.enabled===false){__cov_uF0DD$PZc87AtS9p7kqGHg.b['28'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['133']++;return;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['28'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['134']++;if((__cov_uF0DD$PZc87AtS9p7kqGHg.b['30'][0]++,!selection)||(__cov_uF0DD$PZc87AtS9p7kqGHg.b['30'][1]++,selection.rangeCount===0)){__cov_uF0DD$PZc87AtS9p7kqGHg.b['29'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['135']++;$current=$el;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['29'][1]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['136']++;range=selection.getRangeAt(0);__cov_uF0DD$PZc87AtS9p7kqGHg.s['137']++;$current=$(range.commonAncestorContainer);}__cov_uF0DD$PZc87AtS9p7kqGHg.s['138']++;if($current.hasClass('medium-editor-insert-plugin')){__cov_uF0DD$PZc87AtS9p7kqGHg.b['31'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['139']++;$current=$current.find('p:first');}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['31'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['140']++;$p=$current.is('p')?(__cov_uF0DD$PZc87AtS9p7kqGHg.b['32'][0]++,$current):(__cov_uF0DD$PZc87AtS9p7kqGHg.b['32'][1]++,$current.closest('p'));__cov_uF0DD$PZc87AtS9p7kqGHg.s['141']++;this.clean();__cov_uF0DD$PZc87AtS9p7kqGHg.s['142']++;if((__cov_uF0DD$PZc87AtS9p7kqGHg.b['34'][0]++,$el.hasClass('medium-editor-placeholder')===false)&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['34'][1]++,$el.closest('.medium-insert-buttons').length===0)&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['34'][2]++,$current.closest('.medium-insert-buttons').length===0)){__cov_uF0DD$PZc87AtS9p7kqGHg.b['33'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['143']++;this.$el.find('.medium-insert-active').removeClass('medium-insert-active');__cov_uF0DD$PZc87AtS9p7kqGHg.s['144']++;$.each(this.options.addons,function(addon){__cov_uF0DD$PZc87AtS9p7kqGHg.f['30']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['145']++;if($el.closest('.medium-insert-'+addon).length){__cov_uF0DD$PZc87AtS9p7kqGHg.b['35'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['146']++;$current=$el;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['35'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['147']++;if($current.closest('.medium-insert-'+addon).length){__cov_uF0DD$PZc87AtS9p7kqGHg.b['36'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['148']++;$p=$current.closest('.medium-insert-'+addon);__cov_uF0DD$PZc87AtS9p7kqGHg.s['149']++;activeAddon=addon;__cov_uF0DD$PZc87AtS9p7kqGHg.s['150']++;return;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['36'][1]++;}});__cov_uF0DD$PZc87AtS9p7kqGHg.s['151']++;if((__cov_uF0DD$PZc87AtS9p7kqGHg.b['38'][0]++,$p.length)&&((__cov_uF0DD$PZc87AtS9p7kqGHg.b['38'][1]++,$p.text().trim()==='')&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['38'][2]++,!activeAddon)||(__cov_uF0DD$PZc87AtS9p7kqGHg.b['38'][3]++,activeAddon==='images'))){__cov_uF0DD$PZc87AtS9p7kqGHg.b['37'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['152']++;$p.addClass('medium-insert-active');__cov_uF0DD$PZc87AtS9p7kqGHg.s['153']++;if(activeAddon==='images'){__cov_uF0DD$PZc87AtS9p7kqGHg.b['39'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['154']++;this.$el.find('.medium-insert-buttons').attr('data-active-addon',activeAddon);}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['39'][1]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['155']++;this.$el.find('.medium-insert-buttons').removeAttr('data-active-addon');}__cov_uF0DD$PZc87AtS9p7kqGHg.s['156']++;setTimeout(function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['31']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['157']++;that.positionButtons(activeAddon);__cov_uF0DD$PZc87AtS9p7kqGHg.s['158']++;that.showButtons(activeAddon);},activeAddon?(__cov_uF0DD$PZc87AtS9p7kqGHg.b['40'][0]++,100):(__cov_uF0DD$PZc87AtS9p7kqGHg.b['40'][1]++,0));}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['37'][1]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['159']++;this.hideButtons();}}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['33'][1]++;}};__cov_uF0DD$PZc87AtS9p7kqGHg.s['160']++;Core.prototype.showButtons=function(activeAddon){__cov_uF0DD$PZc87AtS9p7kqGHg.f['32']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['161']++;var $buttons=this.$el.find('.medium-insert-buttons');__cov_uF0DD$PZc87AtS9p7kqGHg.s['162']++;$buttons.show();__cov_uF0DD$PZc87AtS9p7kqGHg.s['163']++;$buttons.find('li').show();__cov_uF0DD$PZc87AtS9p7kqGHg.s['164']++;if(activeAddon){__cov_uF0DD$PZc87AtS9p7kqGHg.b['41'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['165']++;$buttons.find('li').hide();__cov_uF0DD$PZc87AtS9p7kqGHg.s['166']++;$buttons.find('button[data-addon="'+activeAddon+'"]').parent().show();}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['41'][1]++;}};__cov_uF0DD$PZc87AtS9p7kqGHg.s['167']++;Core.prototype.hideButtons=function($el){__cov_uF0DD$PZc87AtS9p7kqGHg.f['33']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['168']++;$el=(__cov_uF0DD$PZc87AtS9p7kqGHg.b['42'][0]++,$el)||(__cov_uF0DD$PZc87AtS9p7kqGHg.b['42'][1]++,this.$el);__cov_uF0DD$PZc87AtS9p7kqGHg.s['169']++;$el.find('.medium-insert-buttons').hide();__cov_uF0DD$PZc87AtS9p7kqGHg.s['170']++;$el.find('.medium-insert-buttons-addons').hide();__cov_uF0DD$PZc87AtS9p7kqGHg.s['171']++;$el.find('.medium-insert-buttons-show').removeClass('medium-insert-buttons-rotate');};__cov_uF0DD$PZc87AtS9p7kqGHg.s['172']++;Core.prototype.positionButtons=function(activeAddon){__cov_uF0DD$PZc87AtS9p7kqGHg.f['34']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['173']++;var $buttons=this.$el.find('.medium-insert-buttons'),$p=this.$el.find('.medium-insert-active'),$lastCaption=$p.hasClass('medium-insert-images-grid')?(__cov_uF0DD$PZc87AtS9p7kqGHg.b['43'][0]++,[]):(__cov_uF0DD$PZc87AtS9p7kqGHg.b['43'][1]++,$p.find('figure:last figcaption')),elementsContainer=this.getEditor()?(__cov_uF0DD$PZc87AtS9p7kqGHg.b['44'][0]++,this.getEditor().options.elementsContainer):(__cov_uF0DD$PZc87AtS9p7kqGHg.b['44'][1]++,$('body').get(0)),elementsContainerAbsolute=['absolute','fixed'].indexOf(window.getComputedStyle(elementsContainer).getPropertyValue('position'))>-1,position={};__cov_uF0DD$PZc87AtS9p7kqGHg.s['174']++;if($p.length){__cov_uF0DD$PZc87AtS9p7kqGHg.b['45'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['175']++;position.left=$p.position().left;__cov_uF0DD$PZc87AtS9p7kqGHg.s['176']++;position.top=$p.position().top;__cov_uF0DD$PZc87AtS9p7kqGHg.s['177']++;if(activeAddon){__cov_uF0DD$PZc87AtS9p7kqGHg.b['46'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['178']++;position.left+=$p.width()-$buttons.find('.medium-insert-buttons-show').width()-10;__cov_uF0DD$PZc87AtS9p7kqGHg.s['179']++;position.top+=$p.height()-20+($lastCaption.length?(__cov_uF0DD$PZc87AtS9p7kqGHg.b['47'][0]++,-$lastCaption.height()-parseInt($lastCaption.css('margin-top'),10)):(__cov_uF0DD$PZc87AtS9p7kqGHg.b['47'][1]++,10));}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['46'][1]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['180']++;position.left+=-parseInt($buttons.find('.medium-insert-buttons-addons').css('left'),10)-parseInt($buttons.find('.medium-insert-buttons-addons button:first').css('margin-left'),10);__cov_uF0DD$PZc87AtS9p7kqGHg.s['181']++;position.top+=parseInt($p.css('margin-top'),10);}__cov_uF0DD$PZc87AtS9p7kqGHg.s['182']++;if(elementsContainerAbsolute){__cov_uF0DD$PZc87AtS9p7kqGHg.b['48'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['183']++;position.top+=elementsContainer.scrollTop;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['48'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['184']++;if((__cov_uF0DD$PZc87AtS9p7kqGHg.b['50'][0]++,this.$el.hasClass('medium-editor-placeholder')===false)&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['50'][1]++,position.left<0)){__cov_uF0DD$PZc87AtS9p7kqGHg.b['49'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['185']++;position.left=$p.position().left;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['49'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['186']++;$buttons.css(position);}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['45'][1]++;}};__cov_uF0DD$PZc87AtS9p7kqGHg.s['187']++;Core.prototype.toggleAddons=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['35']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['188']++;if(this.$el.find('.medium-insert-buttons').attr('data-active-addon')==='images'){__cov_uF0DD$PZc87AtS9p7kqGHg.b['51'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['189']++;this.$el.find('.medium-insert-buttons').find('button[data-addon="images"]').click();__cov_uF0DD$PZc87AtS9p7kqGHg.s['190']++;return;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['51'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['191']++;this.$el.find('.medium-insert-buttons-addons').fadeToggle();__cov_uF0DD$PZc87AtS9p7kqGHg.s['192']++;this.$el.find('.medium-insert-buttons-show').toggleClass('medium-insert-buttons-rotate');};__cov_uF0DD$PZc87AtS9p7kqGHg.s['193']++;Core.prototype.hideAddons=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['36']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['194']++;this.$el.find('.medium-insert-buttons-addons').hide();__cov_uF0DD$PZc87AtS9p7kqGHg.s['195']++;this.$el.find('.medium-insert-buttons-show').removeClass('medium-insert-buttons-rotate');};__cov_uF0DD$PZc87AtS9p7kqGHg.s['196']++;Core.prototype.addonAction=function(e){__cov_uF0DD$PZc87AtS9p7kqGHg.f['37']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['197']++;var $a=$(e.currentTarget),addon=$a.data('addon'),action=$a.data('action');__cov_uF0DD$PZc87AtS9p7kqGHg.s['198']++;this.$el.data('plugin_'+pluginName+ucfirst(addon))[action]();};__cov_uF0DD$PZc87AtS9p7kqGHg.s['199']++;Core.prototype.dragDropAction=function(e){__cov_uF0DD$PZc87AtS9p7kqGHg.f['38']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['200']++;var targetElement=e.target;__cov_uF0DD$PZc87AtS9p7kqGHg.s['201']++;if(e.type==='drop'){__cov_uF0DD$PZc87AtS9p7kqGHg.b['52'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['202']++;this.$el.find('.medium-insert-active').removeClass('medium-insert-active');__cov_uF0DD$PZc87AtS9p7kqGHg.s['203']++;this.$el.find('.medium-insert-embeds-active').removeClass('medium-insert-embeds-active');__cov_uF0DD$PZc87AtS9p7kqGHg.s['204']++;e.target.click();__cov_uF0DD$PZc87AtS9p7kqGHg.s['205']++;var newMediaDiv=document.createElement('div');__cov_uF0DD$PZc87AtS9p7kqGHg.s['206']++;newMediaDiv.className='medium-insert-active';__cov_uF0DD$PZc87AtS9p7kqGHg.s['207']++;targetElement.after(newMediaDiv);}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['52'][1]++;}};__cov_uF0DD$PZc87AtS9p7kqGHg.s['208']++;Core.prototype.appendAttribute=function(state){__cov_uF0DD$PZc87AtS9p7kqGHg.f['39']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['209']++;var {tokens}=state;__cov_uF0DD$PZc87AtS9p7kqGHg.s['210']++;for(let i=0;i{__cov_uF0DD$PZc87AtS9p7kqGHg.s['284']++;var regex=/(.+\.(jpg|png|jpeg))/g;__cov_uF0DD$PZc87AtS9p7kqGHg.s['285']++;var matches=regex.exec(mediaPath);__cov_uF0DD$PZc87AtS9p7kqGHg.s['286']++;return matches?(__cov_uF0DD$PZc87AtS9p7kqGHg.b['72'][0]++,true):(__cov_uF0DD$PZc87AtS9p7kqGHg.b['72'][1]++,false);})()):(__cov_uF0DD$PZc87AtS9p7kqGHg.b['71'][1]++,(()=>{__cov_uF0DD$PZc87AtS9p7kqGHg.s['287']++;var regex=/(www\..+\..+)/g;__cov_uF0DD$PZc87AtS9p7kqGHg.s['288']++;var matches=regex.exec(mediaPath);__cov_uF0DD$PZc87AtS9p7kqGHg.s['289']++;return matches?(__cov_uF0DD$PZc87AtS9p7kqGHg.b['73'][0]++,true):(__cov_uF0DD$PZc87AtS9p7kqGHg.b['73'][1]++,false);})());};__cov_uF0DD$PZc87AtS9p7kqGHg.s['290']++;Core.prototype.checkTemplateValidate=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['56']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['291']++;var str=this.targetEl[0].innerText;__cov_uF0DD$PZc87AtS9p7kqGHg.s['292']++;var regex=/\[(!|@)\[(.*?)\]\((.+)\)\]/g;__cov_uF0DD$PZc87AtS9p7kqGHg.s['293']++;var matches=regex.exec(str);__cov_uF0DD$PZc87AtS9p7kqGHg.s['294']++;return(__cov_uF0DD$PZc87AtS9p7kqGHg.b['75'][0]++,matches)&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['75'][1]++,matches[2])?(__cov_uF0DD$PZc87AtS9p7kqGHg.b['74'][0]++,(()=>{__cov_uF0DD$PZc87AtS9p7kqGHg.s['295']++;var mediaType=matches[1]==='!'?(__cov_uF0DD$PZc87AtS9p7kqGHg.b['76'][0]++,'img'):(__cov_uF0DD$PZc87AtS9p7kqGHg.b['76'][1]++,'mov');__cov_uF0DD$PZc87AtS9p7kqGHg.s['296']++;var altText=matches[2];__cov_uF0DD$PZc87AtS9p7kqGHg.s['297']++;var filePath=matches[3];__cov_uF0DD$PZc87AtS9p7kqGHg.s['298']++;var fileURLValidate=this.checkMediaUrlParse(mediaType,filePath);__cov_uF0DD$PZc87AtS9p7kqGHg.s['299']++;if(fileURLValidate){__cov_uF0DD$PZc87AtS9p7kqGHg.b['77'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['300']++;var startPos=matches.index;__cov_uF0DD$PZc87AtS9p7kqGHg.s['301']++;var lastPos=matches.index+matches[0].length;__cov_uF0DD$PZc87AtS9p7kqGHg.s['302']++;var preText=str.slice(0,startPos);__cov_uF0DD$PZc87AtS9p7kqGHg.s['303']++;var lastText=str.slice(lastPos);__cov_uF0DD$PZc87AtS9p7kqGHg.s['304']++;return{url:filePath,alt:altText,type:mediaType,preText:preText,lastText:lastText};}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['77'][1]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['305']++;console.log('File is not valid media file');__cov_uF0DD$PZc87AtS9p7kqGHg.s['306']++;return false;}})()):(__cov_uF0DD$PZc87AtS9p7kqGHg.b['74'][1]++,(()=>{__cov_uF0DD$PZc87AtS9p7kqGHg.s['307']++;return false;})());};__cov_uF0DD$PZc87AtS9p7kqGHg.s['308']++;Core.prototype.getCursorPosition=function(element){__cov_uF0DD$PZc87AtS9p7kqGHg.f['57']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['309']++;element=(__cov_uF0DD$PZc87AtS9p7kqGHg.b['78'][0]++,element)||(__cov_uF0DD$PZc87AtS9p7kqGHg.b['78'][1]++,document.querySelector('.editable'));__cov_uF0DD$PZc87AtS9p7kqGHg.s['310']++;var caretOffset=0;__cov_uF0DD$PZc87AtS9p7kqGHg.s['311']++;var preCaretRange='';__cov_uF0DD$PZc87AtS9p7kqGHg.s['312']++;var doc=(__cov_uF0DD$PZc87AtS9p7kqGHg.b['79'][0]++,element.ownerDocument)||(__cov_uF0DD$PZc87AtS9p7kqGHg.b['79'][1]++,element.document);__cov_uF0DD$PZc87AtS9p7kqGHg.s['313']++;var win=(__cov_uF0DD$PZc87AtS9p7kqGHg.b['80'][0]++,doc.defaultView)||(__cov_uF0DD$PZc87AtS9p7kqGHg.b['80'][1]++,doc.parentWindow);__cov_uF0DD$PZc87AtS9p7kqGHg.s['314']++;var sel;__cov_uF0DD$PZc87AtS9p7kqGHg.s['315']++;if(typeof win.getSelection!=='undefined'){__cov_uF0DD$PZc87AtS9p7kqGHg.b['81'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['316']++;sel=win.getSelection();__cov_uF0DD$PZc87AtS9p7kqGHg.s['317']++;if(sel.rangeCount>0){__cov_uF0DD$PZc87AtS9p7kqGHg.b['82'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['318']++;var range=win.getSelection().getRangeAt(0);__cov_uF0DD$PZc87AtS9p7kqGHg.s['319']++;preCaretRange=range.cloneRange();__cov_uF0DD$PZc87AtS9p7kqGHg.s['320']++;preCaretRange.selectNodeContents(element);__cov_uF0DD$PZc87AtS9p7kqGHg.s['321']++;preCaretRange.setEnd(range.endContainer,range.endOffset);__cov_uF0DD$PZc87AtS9p7kqGHg.s['322']++;caretOffset=preCaretRange.toString().length;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['82'][1]++;}}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['81'][1]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['323']++;if((__cov_uF0DD$PZc87AtS9p7kqGHg.b['84'][0]++,sel=doc.selection)&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['84'][1]++,sel.type!=='Control')){__cov_uF0DD$PZc87AtS9p7kqGHg.b['83'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['324']++;var textRange=sel.createRange();__cov_uF0DD$PZc87AtS9p7kqGHg.s['325']++;var preCaretTextRange=doc.body.createTextRange();__cov_uF0DD$PZc87AtS9p7kqGHg.s['326']++;preCaretTextRange.moveToElementText(element);__cov_uF0DD$PZc87AtS9p7kqGHg.s['327']++;preCaretTextRange.setEndPoint('EndToEnd',textRange);__cov_uF0DD$PZc87AtS9p7kqGHg.s['328']++;caretOffset=preCaretTextRange.text.length;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['83'][1]++;}}__cov_uF0DD$PZc87AtS9p7kqGHg.s['329']++;return{point:caretOffset,text:preCaretRange.toString()};};__cov_uF0DD$PZc87AtS9p7kqGHg.s['330']++;Core.prototype.getAllTextnodes=function(el){__cov_uF0DD$PZc87AtS9p7kqGHg.f['58']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['331']++;el=(__cov_uF0DD$PZc87AtS9p7kqGHg.b['85'][0]++,el)||(__cov_uF0DD$PZc87AtS9p7kqGHg.b['85'][1]++,document.querySelector('.editable'));__cov_uF0DD$PZc87AtS9p7kqGHg.s['332']++;var n,a=[],walk=document.createTreeWalker(el,NodeFilter.SHOW_TEXT,null,false);__cov_uF0DD$PZc87AtS9p7kqGHg.s['333']++;while(n=walk.nextNode()){__cov_uF0DD$PZc87AtS9p7kqGHg.s['334']++;a.push(n);}__cov_uF0DD$PZc87AtS9p7kqGHg.s['335']++;return a;};__cov_uF0DD$PZc87AtS9p7kqGHg.s['336']++;Core.prototype.getCursorData=function(el,position){__cov_uF0DD$PZc87AtS9p7kqGHg.f['59']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['337']++;el=(__cov_uF0DD$PZc87AtS9p7kqGHg.b['86'][0]++,el)||(__cov_uF0DD$PZc87AtS9p7kqGHg.b['86'][1]++,document.querySelector('.editable'));__cov_uF0DD$PZc87AtS9p7kqGHg.s['338']++;var node,nodes=this.getAllTextnodes(el);__cov_uF0DD$PZc87AtS9p7kqGHg.s['339']++;for(var n=0;nnodes[n].nodeValue.length)&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['88'][1]++,nodes[n+1])){__cov_uF0DD$PZc87AtS9p7kqGHg.b['87'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['341']++;position-=nodes[n].nodeValue.length;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['87'][1]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['342']++;node=nodes[n];__cov_uF0DD$PZc87AtS9p7kqGHg.s['343']++;break;}}__cov_uF0DD$PZc87AtS9p7kqGHg.s['344']++;return{node:node,position:position};};__cov_uF0DD$PZc87AtS9p7kqGHg.s['345']++;Core.prototype.setCursorPosition=function(d){__cov_uF0DD$PZc87AtS9p7kqGHg.f['60']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['346']++;var sel=window.getSelection(),range=document.createRange();__cov_uF0DD$PZc87AtS9p7kqGHg.s['347']++;range.setStart(d.node,d.position);__cov_uF0DD$PZc87AtS9p7kqGHg.s['348']++;range.collapse(true);__cov_uF0DD$PZc87AtS9p7kqGHg.s['349']++;sel.removeAllRanges();__cov_uF0DD$PZc87AtS9p7kqGHg.s['350']++;sel.addRange(range);};__cov_uF0DD$PZc87AtS9p7kqGHg.s['351']++;Core.prototype.checkInputMediaToolbar=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['61']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['352']++;var cPoint=this.getCursorPosition();__cov_uF0DD$PZc87AtS9p7kqGHg.s['353']++;var cPointDetail=this.getCursorData(null,cPoint.point);};__cov_uF0DD$PZc87AtS9p7kqGHg.s['354']++;Core.prototype.checkCustomPattern=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['62']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['355']++;var an=window.getSelection().anchorNode;__cov_uF0DD$PZc87AtS9p7kqGHg.s['356']++;this.targetEl=$(an.parentElement);__cov_uF0DD$PZc87AtS9p7kqGHg.s['357']++;this.checkInputMediaToolbar();__cov_uF0DD$PZc87AtS9p7kqGHg.s['358']++;var templateValidate=this.checkTemplateValidate();__cov_uF0DD$PZc87AtS9p7kqGHg.s['359']++;if(templateValidate){__cov_uF0DD$PZc87AtS9p7kqGHg.b['89'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['360']++;var mediaTyepe=templateValidate.type;__cov_uF0DD$PZc87AtS9p7kqGHg.s['361']++;var mediaPath=templateValidate.url;__cov_uF0DD$PZc87AtS9p7kqGHg.s['362']++;if(mediaTyepe==='img'){__cov_uF0DD$PZc87AtS9p7kqGHg.b['90'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['363']++;this.imageValidate(mediaPath).then(this.embedMedia.bind(null,templateValidate,this));}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['90'][1]++;}}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['89'][1]++;}};__cov_uF0DD$PZc87AtS9p7kqGHg.s['364']++;Core.prototype.capturePattern=function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['63']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['365']++;if(this.ctTime){__cov_uF0DD$PZc87AtS9p7kqGHg.b['91'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['366']++;window.clearTimeout(this.ctTime);__cov_uF0DD$PZc87AtS9p7kqGHg.s['367']++;this.ctTime=null;}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['91'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['368']++;this.ctTime=window.setTimeout(()=>{__cov_uF0DD$PZc87AtS9p7kqGHg.s['369']++;this.checkCustomPattern();},500);};__cov_uF0DD$PZc87AtS9p7kqGHg.s['370']++;$.fn[pluginName]=function(options){__cov_uF0DD$PZc87AtS9p7kqGHg.f['64']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['371']++;return this.each(function(){__cov_uF0DD$PZc87AtS9p7kqGHg.f['65']++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['372']++;var that=this,textareaId;__cov_uF0DD$PZc87AtS9p7kqGHg.s['373']++;if($(that).is('textarea')){__cov_uF0DD$PZc87AtS9p7kqGHg.b['92'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['374']++;textareaId=$(that).attr('medium-editor-textarea-id');__cov_uF0DD$PZc87AtS9p7kqGHg.s['375']++;that=$(that).siblings('[medium-editor-textarea-id="'+textareaId+'"]').get(0);}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['92'][1]++;}__cov_uF0DD$PZc87AtS9p7kqGHg.s['376']++;if(!$.data(that,'plugin_'+pluginName)){__cov_uF0DD$PZc87AtS9p7kqGHg.b['93'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['377']++;$.data(that,'plugin_'+pluginName,new Core(that,options));__cov_uF0DD$PZc87AtS9p7kqGHg.s['378']++;$.data(that,'plugin_'+pluginName).init();}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['93'][1]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['379']++;if((__cov_uF0DD$PZc87AtS9p7kqGHg.b['95'][0]++,typeof options==='string')&&(__cov_uF0DD$PZc87AtS9p7kqGHg.b['95'][1]++,$.data(that,'plugin_'+pluginName)[options])){__cov_uF0DD$PZc87AtS9p7kqGHg.b['94'][0]++;__cov_uF0DD$PZc87AtS9p7kqGHg.s['380']++;$.data(that,'plugin_'+pluginName)[options]();}else{__cov_uF0DD$PZc87AtS9p7kqGHg.b['94'][1]++;}}});};}(jQuery,window,document)); diff --git a/.grunt/grunt-contrib-jasmine/assests/js/lib/embed/embeds.js b/.grunt/grunt-contrib-jasmine/assests/js/lib/embed/embeds.js new file mode 100644 index 0000000..dde36be --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/assests/js/lib/embed/embeds.js @@ -0,0 +1,9 @@ + +var __cov_3obrKv0N6td8s3pjApRlWA = (Function('return this'))(); +if (!__cov_3obrKv0N6td8s3pjApRlWA.__coverage__) { __cov_3obrKv0N6td8s3pjApRlWA.__coverage__ = {}; } +__cov_3obrKv0N6td8s3pjApRlWA = __cov_3obrKv0N6td8s3pjApRlWA.__coverage__; +if (!(__cov_3obrKv0N6td8s3pjApRlWA['assests/js/lib/embed/embeds.js'])) { + __cov_3obrKv0N6td8s3pjApRlWA['assests/js/lib/embed/embeds.js'] = {"path":"assests/js/lib/embed/embeds.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":1,"7":0,"8":1,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0,0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":3},"end":{"line":1,"column":45}}},"2":{"name":"(anonymous_2)","line":34,"loc":{"start":{"line":34,"column":25},"end":{"line":34,"column":37}}},"3":{"name":"ucfirst","line":46,"loc":{"start":{"line":46,"column":4},"end":{"line":46,"column":26}}},"4":{"name":"Embeds","line":62,"loc":{"start":{"line":62,"column":4},"end":{"line":62,"column":33}}},"5":{"name":"(anonymous_5)","line":89,"loc":{"start":{"line":89,"column":28},"end":{"line":89,"column":40}}},"6":{"name":"(anonymous_6)","line":93,"loc":{"start":{"line":93,"column":21},"end":{"line":93,"column":33}}},"7":{"name":"(anonymous_7)","line":109,"loc":{"start":{"line":109,"column":30},"end":{"line":109,"column":42}}},"8":{"name":"(anonymous_8)","line":137,"loc":{"start":{"line":137,"column":46},"end":{"line":137,"column":58}}},"9":{"name":"(anonymous_9)","line":144,"loc":{"start":{"line":144,"column":52},"end":{"line":144,"column":64}}},"10":{"name":"(anonymous_10)","line":160,"loc":{"start":{"line":160,"column":39},"end":{"line":160,"column":51}}},"11":{"name":"(anonymous_11)","line":163,"loc":{"start":{"line":163,"column":21},"end":{"line":163,"column":36}}},"12":{"name":"(anonymous_12)","line":183,"loc":{"start":{"line":183,"column":27},"end":{"line":183,"column":39}}},"13":{"name":"(anonymous_13)","line":213,"loc":{"start":{"line":213,"column":41},"end":{"line":213,"column":54}}},"14":{"name":"(anonymous_14)","line":257,"loc":{"start":{"line":257,"column":50},"end":{"line":257,"column":63}}},"15":{"name":"(anonymous_15)","line":268,"loc":{"start":{"line":268,"column":35},"end":{"line":268,"column":48}}},"16":{"name":"(anonymous_16)","line":303,"loc":{"start":{"line":303,"column":37},"end":{"line":303,"column":50}}},"17":{"name":"(anonymous_17)","line":327,"loc":{"start":{"line":327,"column":30},"end":{"line":327,"column":62}}},"18":{"name":"(anonymous_18)","line":340,"loc":{"start":{"line":340,"column":21},"end":{"line":340,"column":37}}},"19":{"name":"(anonymous_19)","line":365,"loc":{"start":{"line":365,"column":19},"end":{"line":365,"column":61}}},"20":{"name":"(anonymous_20)","line":366,"loc":{"start":{"line":366,"column":36},"end":{"line":366,"column":48}}},"21":{"name":"(anonymous_21)","line":391,"loc":{"start":{"line":391,"column":32},"end":{"line":391,"column":55}}},"22":{"name":"(anonymous_22)","line":430,"loc":{"start":{"line":430,"column":29},"end":{"line":430,"column":65}}},"23":{"name":"(anonymous_23)","line":455,"loc":{"start":{"line":455,"column":24},"end":{"line":455,"column":36}}},"24":{"name":"(anonymous_24)","line":488,"loc":{"start":{"line":488,"column":31},"end":{"line":488,"column":43}}},"25":{"name":"(anonymous_25)","line":504,"loc":{"start":{"line":504,"column":39},"end":{"line":504,"column":58}}},"26":{"name":"(anonymous_26)","line":533,"loc":{"start":{"line":533,"column":35},"end":{"line":533,"column":48}}},"27":{"name":"(anonymous_27)","line":541,"loc":{"start":{"line":541,"column":23},"end":{"line":541,"column":35}}},"28":{"name":"(anonymous_28)","line":558,"loc":{"start":{"line":558,"column":37},"end":{"line":558,"column":50}}},"29":{"name":"(anonymous_29)","line":591,"loc":{"start":{"line":591,"column":35},"end":{"line":591,"column":48}}},"30":{"name":"(anonymous_30)","line":621,"loc":{"start":{"line":621,"column":34},"end":{"line":621,"column":46}}},"31":{"name":"(anonymous_31)","line":641,"loc":{"start":{"line":641,"column":37},"end":{"line":641,"column":49}}},"32":{"name":"(anonymous_32)","line":657,"loc":{"start":{"line":657,"column":46},"end":{"line":657,"column":58}}},"33":{"name":"(anonymous_33)","line":658,"loc":{"start":{"line":658,"column":19},"end":{"line":658,"column":31}}},"34":{"name":"(anonymous_34)","line":664,"loc":{"start":{"line":664,"column":42},"end":{"line":664,"column":54}}},"35":{"name":"(anonymous_35)","line":715,"loc":{"start":{"line":715,"column":37},"end":{"line":715,"column":50}}},"36":{"name":"(anonymous_36)","line":726,"loc":{"start":{"line":726,"column":33},"end":{"line":726,"column":45}}},"37":{"name":"(anonymous_37)","line":754,"loc":{"start":{"line":754,"column":38},"end":{"line":754,"column":51}}},"38":{"name":"(anonymous_38)","line":767,"loc":{"start":{"line":767,"column":42},"end":{"line":767,"column":54}}},"39":{"name":"(anonymous_39)","line":780,"loc":{"start":{"line":780,"column":39},"end":{"line":780,"column":86}}},"40":{"name":"(anonymous_40)","line":782,"loc":{"start":{"line":782,"column":51},"end":{"line":782,"column":62}}},"41":{"name":"(anonymous_41)","line":787,"loc":{"start":{"line":787,"column":38},"end":{"line":787,"column":50}}},"42":{"name":"(anonymous_42)","line":800,"loc":{"start":{"line":800,"column":35},"end":{"line":800,"column":54}}},"43":{"name":"(anonymous_43)","line":801,"loc":{"start":{"line":801,"column":25},"end":{"line":801,"column":37}}}},"statementMap":{"1":{"start":{"line":1,"column":2},"end":{"line":808,"column":29}},"2":{"start":{"line":5,"column":4},"end":{"line":43,"column":6}},"3":{"start":{"line":35,"column":20},"end":{"line":35,"column":52}},"4":{"start":{"line":37,"column":20},"end":{"line":37,"column":37}},"5":{"start":{"line":38,"column":20},"end":{"line":38,"column":48}},"6":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"7":{"start":{"line":47,"column":8},"end":{"line":47,"column":58}},"8":{"start":{"line":62,"column":4},"end":{"line":81,"column":5}},"9":{"start":{"line":64,"column":8},"end":{"line":64,"column":21}},"10":{"start":{"line":65,"column":8},"end":{"line":65,"column":25}},"11":{"start":{"line":66,"column":8},"end":{"line":66,"column":55}},"12":{"start":{"line":67,"column":8},"end":{"line":67,"column":58}},"13":{"start":{"line":69,"column":8},"end":{"line":69,"column":61}},"14":{"start":{"line":71,"column":8},"end":{"line":71,"column":34}},"15":{"start":{"line":72,"column":8},"end":{"line":72,"column":32}},"16":{"start":{"line":75,"column":8},"end":{"line":78,"column":9}},"17":{"start":{"line":76,"column":12},"end":{"line":76,"column":88}},"18":{"start":{"line":77,"column":12},"end":{"line":77,"column":67}},"19":{"start":{"line":80,"column":8},"end":{"line":80,"column":20}},"20":{"start":{"line":89,"column":4},"end":{"line":101,"column":6}},"21":{"start":{"line":90,"column":8},"end":{"line":90,"column":61}},"22":{"start":{"line":92,"column":8},"end":{"line":92,"column":47}},"23":{"start":{"line":93,"column":8},"end":{"line":97,"column":11}},"24":{"start":{"line":94,"column":12},"end":{"line":96,"column":13}},"25":{"start":{"line":95,"column":16},"end":{"line":95,"column":86}},"26":{"start":{"line":99,"column":8},"end":{"line":99,"column":22}},"27":{"start":{"line":100,"column":8},"end":{"line":100,"column":38}},"28":{"start":{"line":109,"column":4},"end":{"line":129,"column":6}},"29":{"start":{"line":110,"column":8},"end":{"line":114,"column":114}},"30":{"start":{"line":116,"column":8},"end":{"line":120,"column":113}},"31":{"start":{"line":122,"column":8},"end":{"line":125,"column":9}},"32":{"start":{"line":123,"column":12},"end":{"line":124,"column":61}},"33":{"start":{"line":127,"column":8},"end":{"line":128,"column":67}},"34":{"start":{"line":137,"column":4},"end":{"line":152,"column":6}},"35":{"start":{"line":138,"column":8},"end":{"line":138,"column":24}},"36":{"start":{"line":140,"column":8},"end":{"line":142,"column":46}},"37":{"start":{"line":144,"column":8},"end":{"line":151,"column":11}},"38":{"start":{"line":145,"column":12},"end":{"line":150,"column":13}},"39":{"start":{"line":146,"column":16},"end":{"line":148,"column":20}},"40":{"start":{"line":149,"column":16},"end":{"line":149,"column":33}},"41":{"start":{"line":160,"column":4},"end":{"line":175,"column":6}},"42":{"start":{"line":161,"column":8},"end":{"line":161,"column":46}},"43":{"start":{"line":163,"column":8},"end":{"line":172,"column":11}},"44":{"start":{"line":164,"column":12},"end":{"line":165,"column":62}},"45":{"start":{"line":167,"column":12},"end":{"line":167,"column":50}},"46":{"start":{"line":168,"column":12},"end":{"line":168,"column":69}},"47":{"start":{"line":169,"column":12},"end":{"line":169,"column":65}},"48":{"start":{"line":171,"column":12},"end":{"line":171,"column":43}},"49":{"start":{"line":174,"column":8},"end":{"line":174,"column":20}},"50":{"start":{"line":183,"column":4},"end":{"line":204,"column":6}},"51":{"start":{"line":184,"column":8},"end":{"line":184,"column":60}},"52":{"start":{"line":188,"column":8},"end":{"line":188,"column":85}},"53":{"start":{"line":192,"column":8},"end":{"line":196,"column":9}},"54":{"start":{"line":193,"column":12},"end":{"line":193,"column":96}},"55":{"start":{"line":194,"column":12},"end":{"line":194,"column":60}},"56":{"start":{"line":195,"column":12},"end":{"line":195,"column":40}},"57":{"start":{"line":198,"column":8},"end":{"line":198,"column":103}},"58":{"start":{"line":200,"column":8},"end":{"line":200,"column":58}},"59":{"start":{"line":202,"column":8},"end":{"line":202,"column":23}},"60":{"start":{"line":203,"column":8},"end":{"line":203,"column":32}},"61":{"start":{"line":213,"column":4},"end":{"line":248,"column":6}},"62":{"start":{"line":214,"column":8},"end":{"line":216,"column":34}},"63":{"start":{"line":218,"column":8},"end":{"line":220,"column":9}},"64":{"start":{"line":219,"column":12},"end":{"line":219,"column":19}},"65":{"start":{"line":222,"column":8},"end":{"line":222,"column":40}},"66":{"start":{"line":223,"column":8},"end":{"line":223,"column":52}},"67":{"start":{"line":225,"column":8},"end":{"line":229,"column":9}},"68":{"start":{"line":226,"column":12},"end":{"line":226,"column":30}},"69":{"start":{"line":227,"column":15},"end":{"line":229,"column":9}},"70":{"start":{"line":228,"column":12},"end":{"line":228,"column":70}},"71":{"start":{"line":231,"column":8},"end":{"line":247,"column":9}},"72":{"start":{"line":233,"column":12},"end":{"line":233,"column":40}},"73":{"start":{"line":235,"column":12},"end":{"line":243,"column":13}},"74":{"start":{"line":236,"column":16},"end":{"line":238,"column":72}},"75":{"start":{"line":239,"column":19},"end":{"line":243,"column":13}},"76":{"start":{"line":240,"column":16},"end":{"line":242,"column":52}},"77":{"start":{"line":246,"column":12},"end":{"line":246,"column":67}},"78":{"start":{"line":257,"column":4},"end":{"line":259,"column":6}},"79":{"start":{"line":258,"column":8},"end":{"line":258,"column":41}},"80":{"start":{"line":268,"column":4},"end":{"line":294,"column":6}},"81":{"start":{"line":269,"column":8},"end":{"line":270,"column":16}},"82":{"start":{"line":272,"column":8},"end":{"line":274,"column":9}},"83":{"start":{"line":273,"column":12},"end":{"line":273,"column":19}},"84":{"start":{"line":276,"column":8},"end":{"line":276,"column":35}},"85":{"start":{"line":279,"column":8},"end":{"line":282,"column":9}},"86":{"start":{"line":280,"column":12},"end":{"line":280,"column":28}},"87":{"start":{"line":281,"column":12},"end":{"line":281,"column":19}},"88":{"start":{"line":284,"column":8},"end":{"line":293,"column":9}},"89":{"start":{"line":285,"column":12},"end":{"line":285,"column":31}},"90":{"start":{"line":286,"column":12},"end":{"line":286,"column":32}},"91":{"start":{"line":288,"column":12},"end":{"line":292,"column":13}},"92":{"start":{"line":289,"column":16},"end":{"line":289,"column":33}},"93":{"start":{"line":291,"column":16},"end":{"line":291,"column":35}},"94":{"start":{"line":303,"column":4},"end":{"line":318,"column":6}},"95":{"start":{"line":304,"column":8},"end":{"line":304,"column":33}},"96":{"start":{"line":305,"column":8},"end":{"line":307,"column":9}},"97":{"start":{"line":306,"column":12},"end":{"line":306,"column":19}},"98":{"start":{"line":309,"column":8},"end":{"line":309,"column":66}},"99":{"start":{"line":310,"column":8},"end":{"line":310,"column":56}},"100":{"start":{"line":311,"column":8},"end":{"line":317,"column":9}},"101":{"start":{"line":312,"column":12},"end":{"line":316,"column":13}},"102":{"start":{"line":313,"column":16},"end":{"line":313,"column":45}},"103":{"start":{"line":315,"column":16},"end":{"line":315,"column":47}},"104":{"start":{"line":327,"column":4},"end":{"line":381,"column":6}},"105":{"start":{"line":329,"column":8},"end":{"line":329,"column":24}},"106":{"start":{"line":330,"column":8},"end":{"line":330,"column":30}},"107":{"start":{"line":332,"column":8},"end":{"line":380,"column":11}},"108":{"start":{"line":341,"column":16},"end":{"line":341,"column":45}},"109":{"start":{"line":343,"column":16},"end":{"line":345,"column":17}},"110":{"start":{"line":344,"column":20},"end":{"line":344,"column":138}},"111":{"start":{"line":347,"column":16},"end":{"line":351,"column":17}},"112":{"start":{"line":348,"column":20},"end":{"line":348,"column":132}},"113":{"start":{"line":349,"column":20},"end":{"line":349,"column":65}},"114":{"start":{"line":350,"column":20},"end":{"line":350,"column":27}},"115":{"start":{"line":353,"column":16},"end":{"line":357,"column":17}},"116":{"start":{"line":355,"column":20},"end":{"line":355,"column":60}},"117":{"start":{"line":356,"column":20},"end":{"line":356,"column":27}},"118":{"start":{"line":359,"column":16},"end":{"line":363,"column":17}},"119":{"start":{"line":360,"column":20},"end":{"line":360,"column":56}},"120":{"start":{"line":362,"column":20},"end":{"line":362,"column":66}},"121":{"start":{"line":366,"column":16},"end":{"line":370,"column":21}},"122":{"start":{"line":367,"column":20},"end":{"line":369,"column":35}},"123":{"start":{"line":368,"column":24},"end":{"line":368,"column":62}},"124":{"start":{"line":372,"column":16},"end":{"line":376,"column":17}},"125":{"start":{"line":373,"column":20},"end":{"line":373,"column":116}},"126":{"start":{"line":375,"column":20},"end":{"line":375,"column":168}},"127":{"start":{"line":378,"column":16},"end":{"line":378,"column":56}},"128":{"start":{"line":391,"column":4},"end":{"line":420,"column":6}},"129":{"start":{"line":392,"column":8},"end":{"line":392,"column":17}},"130":{"start":{"line":394,"column":8},"end":{"line":397,"column":9}},"131":{"start":{"line":395,"column":12},"end":{"line":395,"column":52}},"132":{"start":{"line":396,"column":12},"end":{"line":396,"column":25}},"133":{"start":{"line":399,"column":8},"end":{"line":404,"column":231}},"134":{"start":{"line":406,"column":8},"end":{"line":408,"column":9}},"135":{"start":{"line":407,"column":12},"end":{"line":407,"column":128}},"136":{"start":{"line":410,"column":8},"end":{"line":413,"column":9}},"137":{"start":{"line":411,"column":12},"end":{"line":411,"column":52}},"138":{"start":{"line":412,"column":12},"end":{"line":412,"column":25}},"139":{"start":{"line":415,"column":8},"end":{"line":419,"column":9}},"140":{"start":{"line":416,"column":12},"end":{"line":416,"column":34}},"141":{"start":{"line":418,"column":12},"end":{"line":418,"column":29}},"142":{"start":{"line":430,"column":4},"end":{"line":494,"column":6}},"143":{"start":{"line":431,"column":12},"end":{"line":432,"column":23}},"144":{"start":{"line":433,"column":12},"end":{"line":433,"column":24}},"145":{"start":{"line":435,"column":8},"end":{"line":435,"column":60}},"146":{"start":{"line":437,"column":8},"end":{"line":493,"column":9}},"147":{"start":{"line":438,"column":12},"end":{"line":438,"column":52}},"148":{"start":{"line":439,"column":12},"end":{"line":439,"column":25}},"149":{"start":{"line":441,"column":12},"end":{"line":448,"column":13}},"150":{"start":{"line":444,"column":16},"end":{"line":446,"column":32}},"151":{"start":{"line":447,"column":16},"end":{"line":447,"column":54}},"152":{"start":{"line":450,"column":12},"end":{"line":481,"column":13}},"153":{"start":{"line":453,"column":16},"end":{"line":457,"column":36}},"154":{"start":{"line":456,"column":28},"end":{"line":456,"column":99}},"155":{"start":{"line":459,"column":16},"end":{"line":461,"column":20}},"156":{"start":{"line":462,"column":16},"end":{"line":462,"column":66}},"157":{"start":{"line":464,"column":16},"end":{"line":480,"column":17}},"158":{"start":{"line":465,"column":20},"end":{"line":467,"column":24}},"159":{"start":{"line":469,"column":20},"end":{"line":472,"column":21}},"160":{"start":{"line":470,"column":24},"end":{"line":470,"column":101}},"161":{"start":{"line":471,"column":24},"end":{"line":471,"column":69}},"162":{"start":{"line":474,"column":20},"end":{"line":474,"column":77}},"163":{"start":{"line":476,"column":20},"end":{"line":478,"column":24}},"164":{"start":{"line":479,"column":20},"end":{"line":479,"column":36}},"165":{"start":{"line":484,"column":12},"end":{"line":484,"column":37}},"166":{"start":{"line":486,"column":12},"end":{"line":492,"column":13}},"167":{"start":{"line":487,"column":16},"end":{"line":491,"column":17}},"168":{"start":{"line":488,"column":20},"end":{"line":490,"column":29}},"169":{"start":{"line":489,"column":24},"end":{"line":489,"column":41}},"170":{"start":{"line":504,"column":4},"end":{"line":524,"column":6}},"171":{"start":{"line":506,"column":8},"end":{"line":507,"column":92}},"172":{"start":{"line":509,"column":8},"end":{"line":509,"column":63}},"173":{"start":{"line":512,"column":8},"end":{"line":512,"column":36}},"174":{"start":{"line":513,"column":8},"end":{"line":513,"column":32}},"175":{"start":{"line":514,"column":8},"end":{"line":514,"column":24}},"176":{"start":{"line":515,"column":8},"end":{"line":515,"column":31}},"177":{"start":{"line":518,"column":8},"end":{"line":518,"column":34}},"178":{"start":{"line":519,"column":8},"end":{"line":519,"column":31}},"179":{"start":{"line":521,"column":8},"end":{"line":521,"column":33}},"180":{"start":{"line":523,"column":8},"end":{"line":523,"column":36}},"181":{"start":{"line":533,"column":4},"end":{"line":549,"column":6}},"182":{"start":{"line":534,"column":8},"end":{"line":535,"column":19}},"183":{"start":{"line":536,"column":8},"end":{"line":548,"column":9}},"184":{"start":{"line":537,"column":12},"end":{"line":537,"column":127}},"185":{"start":{"line":539,"column":12},"end":{"line":539,"column":61}},"186":{"start":{"line":541,"column":12},"end":{"line":547,"column":19}},"187":{"start":{"line":542,"column":16},"end":{"line":542,"column":34}},"188":{"start":{"line":544,"column":16},"end":{"line":546,"column":17}},"189":{"start":{"line":545,"column":20},"end":{"line":545,"column":97}},"190":{"start":{"line":558,"column":4},"end":{"line":582,"column":6}},"191":{"start":{"line":559,"column":8},"end":{"line":560,"column":69}},"192":{"start":{"line":562,"column":8},"end":{"line":572,"column":9}},"193":{"start":{"line":563,"column":12},"end":{"line":563,"column":73}},"194":{"start":{"line":564,"column":12},"end":{"line":564,"column":88}},"195":{"start":{"line":565,"column":12},"end":{"line":565,"column":61}},"196":{"start":{"line":567,"column":12},"end":{"line":570,"column":13}},"197":{"start":{"line":568,"column":16},"end":{"line":568,"column":65}},"198":{"start":{"line":569,"column":16},"end":{"line":569,"column":71}},"199":{"start":{"line":571,"column":12},"end":{"line":571,"column":19}},"200":{"start":{"line":574,"column":8},"end":{"line":574,"column":60}},"201":{"start":{"line":575,"column":8},"end":{"line":575,"column":84}},"202":{"start":{"line":577,"column":8},"end":{"line":581,"column":9}},"203":{"start":{"line":578,"column":12},"end":{"line":578,"column":67}},"204":{"start":{"line":579,"column":15},"end":{"line":581,"column":9}},"205":{"start":{"line":580,"column":12},"end":{"line":580,"column":39}},"206":{"start":{"line":591,"column":4},"end":{"line":613,"column":6}},"207":{"start":{"line":592,"column":8},"end":{"line":592,"column":27}},"208":{"start":{"line":594,"column":8},"end":{"line":612,"column":9}},"209":{"start":{"line":595,"column":12},"end":{"line":595,"column":69}},"210":{"start":{"line":597,"column":12},"end":{"line":611,"column":13}},"211":{"start":{"line":598,"column":16},"end":{"line":598,"column":35}},"212":{"start":{"line":600,"column":16},"end":{"line":600,"column":92}},"213":{"start":{"line":602,"column":16},"end":{"line":602,"column":92}},"214":{"start":{"line":603,"column":16},"end":{"line":603,"column":38}},"215":{"start":{"line":604,"column":16},"end":{"line":604,"column":32}},"216":{"start":{"line":607,"column":16},"end":{"line":607,"column":39}},"217":{"start":{"line":609,"column":16},"end":{"line":609,"column":44}},"218":{"start":{"line":610,"column":16},"end":{"line":610,"column":41}},"219":{"start":{"line":621,"column":4},"end":{"line":655,"column":6}},"220":{"start":{"line":622,"column":8},"end":{"line":624,"column":64}},"221":{"start":{"line":626,"column":8},"end":{"line":628,"column":9}},"222":{"start":{"line":627,"column":12},"end":{"line":627,"column":19}},"223":{"start":{"line":630,"column":8},"end":{"line":630,"column":45}},"224":{"start":{"line":631,"column":8},"end":{"line":631,"column":76}},"225":{"start":{"line":633,"column":8},"end":{"line":636,"column":19}},"226":{"start":{"line":638,"column":8},"end":{"line":638,"column":54}},"227":{"start":{"line":639,"column":8},"end":{"line":639,"column":56}},"228":{"start":{"line":641,"column":8},"end":{"line":646,"column":11}},"229":{"start":{"line":642,"column":12},"end":{"line":645,"column":13}},"230":{"start":{"line":643,"column":16},"end":{"line":643,"column":64}},"231":{"start":{"line":644,"column":16},"end":{"line":644,"column":30}},"232":{"start":{"line":648,"column":8},"end":{"line":650,"column":9}},"233":{"start":{"line":649,"column":12},"end":{"line":649,"column":84}},"234":{"start":{"line":652,"column":8},"end":{"line":652,"column":34}},"235":{"start":{"line":653,"column":8},"end":{"line":653,"column":26}},"236":{"start":{"line":654,"column":8},"end":{"line":654,"column":27}},"237":{"start":{"line":657,"column":4},"end":{"line":662,"column":6}},"238":{"start":{"line":658,"column":8},"end":{"line":661,"column":25}},"239":{"start":{"line":659,"column":12},"end":{"line":659,"column":38}},"240":{"start":{"line":660,"column":12},"end":{"line":660,"column":38}},"241":{"start":{"line":664,"column":4},"end":{"line":706,"column":6}},"242":{"start":{"line":665,"column":8},"end":{"line":672,"column":26}},"243":{"start":{"line":674,"column":8},"end":{"line":689,"column":9}},"244":{"start":{"line":675,"column":12},"end":{"line":675,"column":51}},"245":{"start":{"line":676,"column":12},"end":{"line":676,"column":90}},"246":{"start":{"line":678,"column":12},"end":{"line":682,"column":13}},"247":{"start":{"line":679,"column":16},"end":{"line":679,"column":92}},"248":{"start":{"line":680,"column":16},"end":{"line":680,"column":64}},"249":{"start":{"line":681,"column":16},"end":{"line":681,"column":62}},"250":{"start":{"line":684,"column":12},"end":{"line":686,"column":13}},"251":{"start":{"line":685,"column":16},"end":{"line":685,"column":67}},"252":{"start":{"line":688,"column":12},"end":{"line":688,"column":36}},"253":{"start":{"line":691,"column":8},"end":{"line":705,"column":9}},"254":{"start":{"line":692,"column":12},"end":{"line":692,"column":93}},"255":{"start":{"line":693,"column":12},"end":{"line":693,"column":79}},"256":{"start":{"line":695,"column":12},"end":{"line":698,"column":13}},"257":{"start":{"line":696,"column":16},"end":{"line":696,"column":92}},"258":{"start":{"line":697,"column":16},"end":{"line":697,"column":64}},"259":{"start":{"line":700,"column":12},"end":{"line":702,"column":13}},"260":{"start":{"line":701,"column":16},"end":{"line":701,"column":33}},"261":{"start":{"line":704,"column":12},"end":{"line":704,"column":35}},"262":{"start":{"line":715,"column":4},"end":{"line":745,"column":6}},"263":{"start":{"line":716,"column":8},"end":{"line":721,"column":24}},"264":{"start":{"line":723,"column":8},"end":{"line":723,"column":56}},"265":{"start":{"line":724,"column":8},"end":{"line":724,"column":103}},"266":{"start":{"line":726,"column":8},"end":{"line":742,"column":11}},"267":{"start":{"line":727,"column":12},"end":{"line":727,"column":77}},"268":{"start":{"line":729,"column":12},"end":{"line":741,"column":13}},"269":{"start":{"line":730,"column":16},"end":{"line":730,"column":43}},"270":{"start":{"line":732,"column":16},"end":{"line":734,"column":17}},"271":{"start":{"line":733,"column":20},"end":{"line":733,"column":78}},"272":{"start":{"line":736,"column":16},"end":{"line":736,"column":46}},"273":{"start":{"line":738,"column":16},"end":{"line":740,"column":17}},"274":{"start":{"line":739,"column":20},"end":{"line":739,"column":80}},"275":{"start":{"line":744,"column":8},"end":{"line":744,"column":33}},"276":{"start":{"line":754,"column":4},"end":{"line":763,"column":6}},"277":{"start":{"line":755,"column":8},"end":{"line":756,"column":76}},"278":{"start":{"line":758,"column":8},"end":{"line":760,"column":9}},"279":{"start":{"line":759,"column":12},"end":{"line":759,"column":70}},"280":{"start":{"line":762,"column":8},"end":{"line":762,"column":33}},"281":{"start":{"line":767,"column":4},"end":{"line":778,"column":5}},"282":{"start":{"line":768,"column":8},"end":{"line":768,"column":50}},"283":{"start":{"line":769,"column":8},"end":{"line":769,"column":34}},"284":{"start":{"line":771,"column":8},"end":{"line":771,"column":31}},"285":{"start":{"line":772,"column":8},"end":{"line":772,"column":51}},"286":{"start":{"line":774,"column":8},"end":{"line":777,"column":9}},"287":{"start":{"line":775,"column":10},"end":{"line":775,"column":64}},"288":{"start":{"line":776,"column":10},"end":{"line":776,"column":50}},"289":{"start":{"line":780,"column":4},"end":{"line":785,"column":6}},"290":{"start":{"line":781,"column":8},"end":{"line":781,"column":199}},"291":{"start":{"line":782,"column":8},"end":{"line":782,"column":93}},"292":{"start":{"line":782,"column":64},"end":{"line":782,"column":87}},"293":{"start":{"line":783,"column":8},"end":{"line":783,"column":31}},"294":{"start":{"line":784,"column":8},"end":{"line":784,"column":28}},"295":{"start":{"line":787,"column":4},"end":{"line":796,"column":6}},"296":{"start":{"line":788,"column":8},"end":{"line":795,"column":9}},"297":{"start":{"line":789,"column":12},"end":{"line":789,"column":40}},"298":{"start":{"line":790,"column":12},"end":{"line":790,"column":26}},"299":{"start":{"line":792,"column":12},"end":{"line":794,"column":20}},"300":{"start":{"line":793,"column":12},"end":{"line":793,"column":38}},"301":{"start":{"line":800,"column":4},"end":{"line":806,"column":6}},"302":{"start":{"line":801,"column":8},"end":{"line":805,"column":11}},"303":{"start":{"line":802,"column":12},"end":{"line":804,"column":13}},"304":{"start":{"line":803,"column":16},"end":{"line":803,"column":92}}},"branchMap":{"1":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":8},"end":{"line":75,"column":8}},{"start":{"line":75,"column":8},"end":{"line":75,"column":8}}]},"2":{"line":94,"type":"if","locations":[{"start":{"line":94,"column":12},"end":{"line":94,"column":12}},{"start":{"line":94,"column":12},"end":{"line":94,"column":12}}]},"3":{"line":122,"type":"if","locations":[{"start":{"line":122,"column":8},"end":{"line":122,"column":8}},{"start":{"line":122,"column":8},"end":{"line":122,"column":8}}]},"4":{"line":145,"type":"if","locations":[{"start":{"line":145,"column":12},"end":{"line":145,"column":12}},{"start":{"line":145,"column":12},"end":{"line":145,"column":12}}]},"5":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":8},"end":{"line":192,"column":8}},{"start":{"line":192,"column":8},"end":{"line":192,"column":8}}]},"6":{"line":218,"type":"if","locations":[{"start":{"line":218,"column":8},"end":{"line":218,"column":8}},{"start":{"line":218,"column":8},"end":{"line":218,"column":8}}]},"7":{"line":218,"type":"binary-expr","locations":[{"start":{"line":218,"column":12},"end":{"line":218,"column":22}},{"start":{"line":218,"column":26},"end":{"line":218,"column":52}}]},"8":{"line":225,"type":"if","locations":[{"start":{"line":225,"column":8},"end":{"line":225,"column":8}},{"start":{"line":225,"column":8},"end":{"line":225,"column":8}}]},"9":{"line":227,"type":"if","locations":[{"start":{"line":227,"column":15},"end":{"line":227,"column":15}},{"start":{"line":227,"column":15},"end":{"line":227,"column":15}}]},"10":{"line":231,"type":"if","locations":[{"start":{"line":231,"column":8},"end":{"line":231,"column":8}},{"start":{"line":231,"column":8},"end":{"line":231,"column":8}}]},"11":{"line":235,"type":"if","locations":[{"start":{"line":235,"column":12},"end":{"line":235,"column":12}},{"start":{"line":235,"column":12},"end":{"line":235,"column":12}}]},"12":{"line":235,"type":"binary-expr","locations":[{"start":{"line":235,"column":16},"end":{"line":235,"column":27}},{"start":{"line":235,"column":31},"end":{"line":235,"column":92}}]},"13":{"line":239,"type":"if","locations":[{"start":{"line":239,"column":19},"end":{"line":239,"column":19}},{"start":{"line":239,"column":19},"end":{"line":239,"column":19}}]},"14":{"line":239,"type":"binary-expr","locations":[{"start":{"line":239,"column":23},"end":{"line":239,"column":34}},{"start":{"line":239,"column":38},"end":{"line":239,"column":89}}]},"15":{"line":272,"type":"if","locations":[{"start":{"line":272,"column":8},"end":{"line":272,"column":8}},{"start":{"line":272,"column":8},"end":{"line":272,"column":8}}]},"16":{"line":279,"type":"if","locations":[{"start":{"line":279,"column":8},"end":{"line":279,"column":8}},{"start":{"line":279,"column":8},"end":{"line":279,"column":8}}]},"17":{"line":279,"type":"binary-expr","locations":[{"start":{"line":279,"column":12},"end":{"line":279,"column":22}},{"start":{"line":279,"column":26},"end":{"line":279,"column":61}}]},"18":{"line":284,"type":"if","locations":[{"start":{"line":284,"column":8},"end":{"line":284,"column":8}},{"start":{"line":284,"column":8},"end":{"line":284,"column":8}}]},"19":{"line":288,"type":"if","locations":[{"start":{"line":288,"column":12},"end":{"line":288,"column":12}},{"start":{"line":288,"column":12},"end":{"line":288,"column":12}}]},"20":{"line":305,"type":"if","locations":[{"start":{"line":305,"column":8},"end":{"line":305,"column":8}},{"start":{"line":305,"column":8},"end":{"line":305,"column":8}}]},"21":{"line":311,"type":"if","locations":[{"start":{"line":311,"column":8},"end":{"line":311,"column":8}},{"start":{"line":311,"column":8},"end":{"line":311,"column":8}}]},"22":{"line":312,"type":"if","locations":[{"start":{"line":312,"column":12},"end":{"line":312,"column":12}},{"start":{"line":312,"column":12},"end":{"line":312,"column":12}}]},"23":{"line":341,"type":"binary-expr","locations":[{"start":{"line":341,"column":27},"end":{"line":341,"column":31}},{"start":{"line":341,"column":35},"end":{"line":341,"column":44}}]},"24":{"line":343,"type":"if","locations":[{"start":{"line":343,"column":16},"end":{"line":343,"column":16}},{"start":{"line":343,"column":16},"end":{"line":343,"column":16}}]},"25":{"line":347,"type":"if","locations":[{"start":{"line":347,"column":16},"end":{"line":347,"column":16}},{"start":{"line":347,"column":16},"end":{"line":347,"column":16}}]},"26":{"line":347,"type":"binary-expr","locations":[{"start":{"line":347,"column":20},"end":{"line":347,"column":24}},{"start":{"line":347,"column":28},"end":{"line":347,"column":59}},{"start":{"line":347,"column":63},"end":{"line":347,"column":71}}]},"27":{"line":353,"type":"if","locations":[{"start":{"line":353,"column":16},"end":{"line":353,"column":16}},{"start":{"line":353,"column":16},"end":{"line":353,"column":16}}]},"28":{"line":359,"type":"if","locations":[{"start":{"line":359,"column":16},"end":{"line":359,"column":16}},{"start":{"line":359,"column":16},"end":{"line":359,"column":16}}]},"29":{"line":372,"type":"if","locations":[{"start":{"line":372,"column":16},"end":{"line":372,"column":16}},{"start":{"line":372,"column":16},"end":{"line":372,"column":16}}]},"30":{"line":373,"type":"binary-expr","locations":[{"start":{"line":373,"column":40},"end":{"line":373,"column":52}},{"start":{"line":373,"column":56},"end":{"line":373,"column":74}},{"start":{"line":373,"column":79},"end":{"line":373,"column":91}},{"start":{"line":373,"column":95},"end":{"line":373,"column":114}}]},"31":{"line":394,"type":"if","locations":[{"start":{"line":394,"column":8},"end":{"line":394,"column":8}},{"start":{"line":394,"column":8},"end":{"line":394,"column":8}}]},"32":{"line":406,"type":"if","locations":[{"start":{"line":406,"column":8},"end":{"line":406,"column":8}},{"start":{"line":406,"column":8},"end":{"line":406,"column":8}}]},"33":{"line":410,"type":"if","locations":[{"start":{"line":410,"column":8},"end":{"line":410,"column":8}},{"start":{"line":410,"column":8},"end":{"line":410,"column":8}}]},"34":{"line":415,"type":"if","locations":[{"start":{"line":415,"column":8},"end":{"line":415,"column":8}},{"start":{"line":415,"column":8},"end":{"line":415,"column":8}}]},"35":{"line":431,"type":"cond-expr","locations":[{"start":{"line":431,"column":79},"end":{"line":431,"column":124}},{"start":{"line":431,"column":127},"end":{"line":431,"column":165}}]},"36":{"line":437,"type":"if","locations":[{"start":{"line":437,"column":8},"end":{"line":437,"column":8}},{"start":{"line":437,"column":8},"end":{"line":437,"column":8}}]},"37":{"line":441,"type":"if","locations":[{"start":{"line":441,"column":12},"end":{"line":441,"column":12}},{"start":{"line":441,"column":12},"end":{"line":441,"column":12}}]},"38":{"line":450,"type":"if","locations":[{"start":{"line":450,"column":12},"end":{"line":450,"column":12}},{"start":{"line":450,"column":12},"end":{"line":450,"column":12}}]},"39":{"line":456,"type":"binary-expr","locations":[{"start":{"line":456,"column":35},"end":{"line":456,"column":54}},{"start":{"line":456,"column":58},"end":{"line":456,"column":98}}]},"40":{"line":464,"type":"if","locations":[{"start":{"line":464,"column":16},"end":{"line":464,"column":16}},{"start":{"line":464,"column":16},"end":{"line":464,"column":16}}]},"41":{"line":469,"type":"if","locations":[{"start":{"line":469,"column":20},"end":{"line":469,"column":20}},{"start":{"line":469,"column":20},"end":{"line":469,"column":20}}]},"42":{"line":486,"type":"if","locations":[{"start":{"line":486,"column":12},"end":{"line":486,"column":12}},{"start":{"line":486,"column":12},"end":{"line":486,"column":12}}]},"43":{"line":487,"type":"if","locations":[{"start":{"line":487,"column":16},"end":{"line":487,"column":16}},{"start":{"line":487,"column":16},"end":{"line":487,"column":16}}]},"44":{"line":536,"type":"if","locations":[{"start":{"line":536,"column":8},"end":{"line":536,"column":8}},{"start":{"line":536,"column":8},"end":{"line":536,"column":8}}]},"45":{"line":537,"type":"cond-expr","locations":[{"start":{"line":537,"column":68},"end":{"line":537,"column":79}},{"start":{"line":537,"column":82},"end":{"line":537,"column":126}}]},"46":{"line":544,"type":"if","locations":[{"start":{"line":544,"column":16},"end":{"line":544,"column":16}},{"start":{"line":544,"column":16},"end":{"line":544,"column":16}}]},"47":{"line":559,"type":"cond-expr","locations":[{"start":{"line":559,"column":65},"end":{"line":559,"column":76}},{"start":{"line":559,"column":79},"end":{"line":559,"column":123}}]},"48":{"line":562,"type":"if","locations":[{"start":{"line":562,"column":8},"end":{"line":562,"column":8}},{"start":{"line":562,"column":8},"end":{"line":562,"column":8}}]},"49":{"line":567,"type":"if","locations":[{"start":{"line":567,"column":12},"end":{"line":567,"column":12}},{"start":{"line":567,"column":12},"end":{"line":567,"column":12}}]},"50":{"line":567,"type":"binary-expr","locations":[{"start":{"line":567,"column":16},"end":{"line":567,"column":68}},{"start":{"line":567,"column":72},"end":{"line":567,"column":100}}]},"51":{"line":577,"type":"if","locations":[{"start":{"line":577,"column":8},"end":{"line":577,"column":8}},{"start":{"line":577,"column":8},"end":{"line":577,"column":8}}]},"52":{"line":579,"type":"if","locations":[{"start":{"line":579,"column":15},"end":{"line":579,"column":15}},{"start":{"line":579,"column":15},"end":{"line":579,"column":15}}]},"53":{"line":594,"type":"if","locations":[{"start":{"line":594,"column":8},"end":{"line":594,"column":8}},{"start":{"line":594,"column":8},"end":{"line":594,"column":8}}]},"54":{"line":594,"type":"binary-expr","locations":[{"start":{"line":594,"column":12},"end":{"line":594,"column":25}},{"start":{"line":594,"column":29},"end":{"line":594,"column":43}}]},"55":{"line":597,"type":"if","locations":[{"start":{"line":597,"column":12},"end":{"line":597,"column":12}},{"start":{"line":597,"column":12},"end":{"line":597,"column":12}}]},"56":{"line":626,"type":"if","locations":[{"start":{"line":626,"column":8},"end":{"line":626,"column":8}},{"start":{"line":626,"column":8},"end":{"line":626,"column":8}}]},"57":{"line":631,"type":"binary-expr","locations":[{"start":{"line":631,"column":27},"end":{"line":631,"column":65}},{"start":{"line":631,"column":69},"end":{"line":631,"column":75}}]},"58":{"line":642,"type":"if","locations":[{"start":{"line":642,"column":12},"end":{"line":642,"column":12}},{"start":{"line":642,"column":12},"end":{"line":642,"column":12}}]},"59":{"line":648,"type":"if","locations":[{"start":{"line":648,"column":8},"end":{"line":648,"column":8}},{"start":{"line":648,"column":8},"end":{"line":648,"column":8}}]},"60":{"line":670,"type":"cond-expr","locations":[{"start":{"line":670,"column":68},"end":{"line":670,"column":109}},{"start":{"line":670,"column":112},"end":{"line":670,"column":116}}]},"61":{"line":674,"type":"if","locations":[{"start":{"line":674,"column":8},"end":{"line":674,"column":8}},{"start":{"line":674,"column":8},"end":{"line":674,"column":8}}]},"62":{"line":678,"type":"if","locations":[{"start":{"line":678,"column":12},"end":{"line":678,"column":12}},{"start":{"line":678,"column":12},"end":{"line":678,"column":12}}]},"63":{"line":684,"type":"if","locations":[{"start":{"line":684,"column":12},"end":{"line":684,"column":12}},{"start":{"line":684,"column":12},"end":{"line":684,"column":12}}]},"64":{"line":691,"type":"if","locations":[{"start":{"line":691,"column":8},"end":{"line":691,"column":8}},{"start":{"line":691,"column":8},"end":{"line":691,"column":8}}]},"65":{"line":695,"type":"if","locations":[{"start":{"line":695,"column":12},"end":{"line":695,"column":12}},{"start":{"line":695,"column":12},"end":{"line":695,"column":12}}]},"66":{"line":700,"type":"if","locations":[{"start":{"line":700,"column":12},"end":{"line":700,"column":12}},{"start":{"line":700,"column":12},"end":{"line":700,"column":12}}]},"67":{"line":716,"type":"cond-expr","locations":[{"start":{"line":716,"column":49},"end":{"line":716,"column":60}},{"start":{"line":716,"column":63},"end":{"line":716,"column":92}}]},"68":{"line":729,"type":"if","locations":[{"start":{"line":729,"column":12},"end":{"line":729,"column":12}},{"start":{"line":729,"column":12},"end":{"line":729,"column":12}}]},"69":{"line":732,"type":"if","locations":[{"start":{"line":732,"column":16},"end":{"line":732,"column":16}},{"start":{"line":732,"column":16},"end":{"line":732,"column":16}}]},"70":{"line":738,"type":"if","locations":[{"start":{"line":738,"column":16},"end":{"line":738,"column":16}},{"start":{"line":738,"column":16},"end":{"line":738,"column":16}}]},"71":{"line":755,"type":"cond-expr","locations":[{"start":{"line":755,"column":49},"end":{"line":755,"column":60}},{"start":{"line":755,"column":63},"end":{"line":755,"column":92}}]},"72":{"line":758,"type":"if","locations":[{"start":{"line":758,"column":8},"end":{"line":758,"column":8}},{"start":{"line":758,"column":8},"end":{"line":758,"column":8}}]},"73":{"line":774,"type":"if","locations":[{"start":{"line":774,"column":8},"end":{"line":774,"column":8}},{"start":{"line":774,"column":8},"end":{"line":774,"column":8}}]},"74":{"line":788,"type":"if","locations":[{"start":{"line":788,"column":8},"end":{"line":788,"column":8}},{"start":{"line":788,"column":8},"end":{"line":788,"column":8}}]},"75":{"line":802,"type":"if","locations":[{"start":{"line":802,"column":12},"end":{"line":802,"column":12}},{"start":{"line":802,"column":12},"end":{"line":802,"column":12}}]}}}; +} +__cov_3obrKv0N6td8s3pjApRlWA = __cov_3obrKv0N6td8s3pjApRlWA['assests/js/lib/embed/embeds.js']; +;__cov_3obrKv0N6td8s3pjApRlWA.s['1']++;(function($,window,document,undefined){'use strict';__cov_3obrKv0N6td8s3pjApRlWA.f['1']++;__cov_3obrKv0N6td8s3pjApRlWA.s['2']++;var pluginName='mediumInsert',addonName='Embeds',defaults={label:'',placeholder:'Paste a YouTube, Vimeo, Facebook, Twitter or Instagram link and press Enter',oembedProxy:'http://iframe.ly/api/oembed?iframe=1&v=2Lwd46qBrqU&key=11a71596c5f82d2a76aed5cf07cfef4c',captions:true,captionPlaceholder:'Type caption (optional)',storeMeta:false,styles:{wide:{label:''},left:{label:''},right:{label:''}},actions:{remove:{label:'',clicked:function(){__cov_3obrKv0N6td8s3pjApRlWA.f['2']++;__cov_3obrKv0N6td8s3pjApRlWA.s['3']++;var $event=$.Event('keydown');__cov_3obrKv0N6td8s3pjApRlWA.s['4']++;$event.which=8;__cov_3obrKv0N6td8s3pjApRlWA.s['5']++;$(document).trigger($event);}}},parseOnPaste:false};function ucfirst(str){__cov_3obrKv0N6td8s3pjApRlWA.f['3']++;__cov_3obrKv0N6td8s3pjApRlWA.s['7']++;return str.charAt(0).toUpperCase()+str.slice(1);}function Embeds(el,options){__cov_3obrKv0N6td8s3pjApRlWA.f['4']++;__cov_3obrKv0N6td8s3pjApRlWA.s['9']++;this.el=el;__cov_3obrKv0N6td8s3pjApRlWA.s['10']++;this.$el=$(el);__cov_3obrKv0N6td8s3pjApRlWA.s['11']++;this.templates=window.MediumInsert.Templates;__cov_3obrKv0N6td8s3pjApRlWA.s['12']++;this.core=this.$el.data('plugin_'+pluginName);__cov_3obrKv0N6td8s3pjApRlWA.s['13']++;this.options=$.extend(true,{},defaults,options);__cov_3obrKv0N6td8s3pjApRlWA.s['14']++;this._defaults=defaults;__cov_3obrKv0N6td8s3pjApRlWA.s['15']++;this._name=pluginName;__cov_3obrKv0N6td8s3pjApRlWA.s['16']++;if(this.core.getEditor()){__cov_3obrKv0N6td8s3pjApRlWA.b['1'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['17']++;this.core.getEditor()._serializePreEmbeds=this.core.getEditor().serialize;__cov_3obrKv0N6td8s3pjApRlWA.s['18']++;this.core.getEditor().serialize=this.editorSerialize;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['1'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['19']++;this.init();}__cov_3obrKv0N6td8s3pjApRlWA.s['20']++;Embeds.prototype.init=function(){__cov_3obrKv0N6td8s3pjApRlWA.f['5']++;__cov_3obrKv0N6td8s3pjApRlWA.s['21']++;var $embeds=this.$el.find('.medium-insert-embeds');__cov_3obrKv0N6td8s3pjApRlWA.s['22']++;$embeds.attr('contenteditable',false);__cov_3obrKv0N6td8s3pjApRlWA.s['23']++;$embeds.each(function(){__cov_3obrKv0N6td8s3pjApRlWA.f['6']++;__cov_3obrKv0N6td8s3pjApRlWA.s['24']++;if($(this).find('.medium-insert-embeds-overlay').length===0){__cov_3obrKv0N6td8s3pjApRlWA.b['2'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['25']++;$(this).append($('

').addClass('medium-insert-embeds-overlay'));}else{__cov_3obrKv0N6td8s3pjApRlWA.b['2'][1]++;}});__cov_3obrKv0N6td8s3pjApRlWA.s['26']++;this.events();__cov_3obrKv0N6td8s3pjApRlWA.s['27']++;this.backwardsCompatibility();};__cov_3obrKv0N6td8s3pjApRlWA.s['28']++;Embeds.prototype.events=function(){__cov_3obrKv0N6td8s3pjApRlWA.f['7']++;__cov_3obrKv0N6td8s3pjApRlWA.s['29']++;$(document).on('click',$.proxy(this,'unselectEmbed')).on('keydown',$.proxy(this,'removeEmbed')).on('click','.medium-insert-embeds-toolbar .medium-editor-action',$.proxy(this,'toolbarAction')).on('click','.medium-insert-embeds-toolbar2 .medium-editor-action',$.proxy(this,'toolbar2Action'));__cov_3obrKv0N6td8s3pjApRlWA.s['30']++;this.$el.on('keyup click paste',$.proxy(this,'togglePlaceholder')).on('keydown',$.proxy(this,'processLink')).on('click','.medium-insert-embeds-overlay',$.proxy(this,'selectEmbed')).on('contextmenu','.medium-insert-embeds-placeholder',$.proxy(this,'fixRightClickOnPlaceholder'));__cov_3obrKv0N6td8s3pjApRlWA.s['31']++;if(this.options.parseOnPaste){__cov_3obrKv0N6td8s3pjApRlWA.b['3'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['32']++;this.$el.on('paste',$.proxy(this,'processPasted'));}else{__cov_3obrKv0N6td8s3pjApRlWA.b['3'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['33']++;$(window).on('resize',$.proxy(this,'autoRepositionToolbars'));};__cov_3obrKv0N6td8s3pjApRlWA.s['34']++;Embeds.prototype.backwardsCompatibility=function(){__cov_3obrKv0N6td8s3pjApRlWA.f['8']++;__cov_3obrKv0N6td8s3pjApRlWA.s['35']++;var that=this;__cov_3obrKv0N6td8s3pjApRlWA.s['36']++;this.$el.find('.mediumInsert-embeds').removeClass('mediumInsert-embeds').addClass('medium-insert-embeds');__cov_3obrKv0N6td8s3pjApRlWA.s['37']++;this.$el.find('.medium-insert-embeds').each(function(){__cov_3obrKv0N6td8s3pjApRlWA.f['9']++;__cov_3obrKv0N6td8s3pjApRlWA.s['38']++;if($(this).find('.medium-insert-embed').length===0){__cov_3obrKv0N6td8s3pjApRlWA.b['4'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['39']++;$(this).after(that.templates['src/js/templates/embeds-wrapper.hbs']({html:$(this).html()}));__cov_3obrKv0N6td8s3pjApRlWA.s['40']++;$(this).remove();}else{__cov_3obrKv0N6td8s3pjApRlWA.b['4'][1]++;}});};__cov_3obrKv0N6td8s3pjApRlWA.s['41']++;Embeds.prototype.editorSerialize=function(){__cov_3obrKv0N6td8s3pjApRlWA.f['10']++;__cov_3obrKv0N6td8s3pjApRlWA.s['42']++;var data=this._serializePreEmbeds();__cov_3obrKv0N6td8s3pjApRlWA.s['43']++;$.each(data,function(key){__cov_3obrKv0N6td8s3pjApRlWA.f['11']++;__cov_3obrKv0N6td8s3pjApRlWA.s['44']++;var $data=$('
').html(data[key].value),$embeds=$data.find('.medium-insert-embeds');__cov_3obrKv0N6td8s3pjApRlWA.s['45']++;$embeds.removeAttr('contenteditable');__cov_3obrKv0N6td8s3pjApRlWA.s['46']++;$embeds.find('figcaption').removeAttr('contenteditable');__cov_3obrKv0N6td8s3pjApRlWA.s['47']++;$data.find('.medium-insert-embeds-overlay').remove();__cov_3obrKv0N6td8s3pjApRlWA.s['48']++;data[key].value=$data.html();});__cov_3obrKv0N6td8s3pjApRlWA.s['49']++;return data;};__cov_3obrKv0N6td8s3pjApRlWA.s['50']++;Embeds.prototype.add=function(){__cov_3obrKv0N6td8s3pjApRlWA.f['12']++;__cov_3obrKv0N6td8s3pjApRlWA.s['51']++;var $place=this.$el.find('.medium-insert-active');__cov_3obrKv0N6td8s3pjApRlWA.s['52']++;$place.html(this.templates['src/js/templates/core-empty-line.hbs']().trim());__cov_3obrKv0N6td8s3pjApRlWA.s['53']++;if($place.is('p')){__cov_3obrKv0N6td8s3pjApRlWA.b['5'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['54']++;$place.replaceWith('
'+$place.html()+'
');__cov_3obrKv0N6td8s3pjApRlWA.s['55']++;$place=this.$el.find('.medium-insert-active');__cov_3obrKv0N6td8s3pjApRlWA.s['56']++;this.core.moveCaret($place);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['5'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['57']++;$place.addClass('medium-insert-embeds medium-insert-embeds-input medium-insert-embeds-active');__cov_3obrKv0N6td8s3pjApRlWA.s['58']++;this.togglePlaceholder({target:$place.get(0)});__cov_3obrKv0N6td8s3pjApRlWA.s['59']++;$place.click();__cov_3obrKv0N6td8s3pjApRlWA.s['60']++;this.core.hideButtons();};__cov_3obrKv0N6td8s3pjApRlWA.s['61']++;Embeds.prototype.togglePlaceholder=function(e){__cov_3obrKv0N6td8s3pjApRlWA.f['13']++;__cov_3obrKv0N6td8s3pjApRlWA.s['62']++;var $place=$(e.target),selection=window.getSelection(),range,$current,text;__cov_3obrKv0N6td8s3pjApRlWA.s['63']++;if((__cov_3obrKv0N6td8s3pjApRlWA.b['7'][0]++,!selection)||(__cov_3obrKv0N6td8s3pjApRlWA.b['7'][1]++,selection.rangeCount===0)){__cov_3obrKv0N6td8s3pjApRlWA.b['6'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['64']++;return;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['6'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['65']++;range=selection.getRangeAt(0);__cov_3obrKv0N6td8s3pjApRlWA.s['66']++;$current=$(range.commonAncestorContainer);__cov_3obrKv0N6td8s3pjApRlWA.s['67']++;if($current.hasClass('medium-insert-embeds-active')){__cov_3obrKv0N6td8s3pjApRlWA.b['8'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['68']++;$place=$current;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['8'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['69']++;if($current.closest('.medium-insert-embeds-active').length){__cov_3obrKv0N6td8s3pjApRlWA.b['9'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['70']++;$place=$current.closest('.medium-insert-embeds-active');}else{__cov_3obrKv0N6td8s3pjApRlWA.b['9'][1]++;}}__cov_3obrKv0N6td8s3pjApRlWA.s['71']++;if($place.hasClass('medium-insert-embeds-active')){__cov_3obrKv0N6td8s3pjApRlWA.b['10'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['72']++;text=$place.text().trim();__cov_3obrKv0N6td8s3pjApRlWA.s['73']++;if((__cov_3obrKv0N6td8s3pjApRlWA.b['12'][0]++,text==='')&&(__cov_3obrKv0N6td8s3pjApRlWA.b['12'][1]++,$place.hasClass('medium-insert-embeds-placeholder')===false)){__cov_3obrKv0N6td8s3pjApRlWA.b['11'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['74']++;$place.addClass('medium-insert-embeds-placeholder').attr('data-placeholder',this.options.placeholder);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['11'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['75']++;if((__cov_3obrKv0N6td8s3pjApRlWA.b['14'][0]++,text!=='')&&(__cov_3obrKv0N6td8s3pjApRlWA.b['14'][1]++,$place.hasClass('medium-insert-embeds-placeholder'))){__cov_3obrKv0N6td8s3pjApRlWA.b['13'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['76']++;$place.removeClass('medium-insert-embeds-placeholder').removeAttr('data-placeholder');}else{__cov_3obrKv0N6td8s3pjApRlWA.b['13'][1]++;}}}else{__cov_3obrKv0N6td8s3pjApRlWA.b['10'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['77']++;this.$el.find('.medium-insert-embeds-active').remove();}};__cov_3obrKv0N6td8s3pjApRlWA.s['78']++;Embeds.prototype.fixRightClickOnPlaceholder=function(e){__cov_3obrKv0N6td8s3pjApRlWA.f['14']++;__cov_3obrKv0N6td8s3pjApRlWA.s['79']++;this.core.moveCaret($(e.target));};__cov_3obrKv0N6td8s3pjApRlWA.s['80']++;Embeds.prototype.processLink=function(e){__cov_3obrKv0N6td8s3pjApRlWA.f['15']++;__cov_3obrKv0N6td8s3pjApRlWA.s['81']++;var $place=this.$el.find('.medium-insert-embeds-active'),url;__cov_3obrKv0N6td8s3pjApRlWA.s['82']++;if(!$place.length){__cov_3obrKv0N6td8s3pjApRlWA.b['15'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['83']++;return;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['15'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['84']++;url=$place.text().trim();__cov_3obrKv0N6td8s3pjApRlWA.s['85']++;if((__cov_3obrKv0N6td8s3pjApRlWA.b['17'][0]++,url==='')&&(__cov_3obrKv0N6td8s3pjApRlWA.b['17'][1]++,[8,46,13].indexOf(e.which)!==-1)){__cov_3obrKv0N6td8s3pjApRlWA.b['16'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['86']++;$place.remove();__cov_3obrKv0N6td8s3pjApRlWA.s['87']++;return;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['16'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['88']++;if(e.which===13){__cov_3obrKv0N6td8s3pjApRlWA.b['18'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['89']++;e.preventDefault();__cov_3obrKv0N6td8s3pjApRlWA.s['90']++;e.stopPropagation();__cov_3obrKv0N6td8s3pjApRlWA.s['91']++;if(this.options.oembedProxy){__cov_3obrKv0N6td8s3pjApRlWA.b['19'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['92']++;this.oembed(url);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['19'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['93']++;this.parseUrl(url);}}else{__cov_3obrKv0N6td8s3pjApRlWA.b['18'][1]++;}};__cov_3obrKv0N6td8s3pjApRlWA.s['94']++;Embeds.prototype.processPasted=function(e){__cov_3obrKv0N6td8s3pjApRlWA.f['16']++;__cov_3obrKv0N6td8s3pjApRlWA.s['95']++;var pastedUrl,linkRegEx;__cov_3obrKv0N6td8s3pjApRlWA.s['96']++;if($('.medium-insert-embeds-active').length){__cov_3obrKv0N6td8s3pjApRlWA.b['20'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['97']++;return;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['20'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['98']++;pastedUrl=e.originalEvent.clipboardData.getData('text');__cov_3obrKv0N6td8s3pjApRlWA.s['99']++;linkRegEx=new RegExp('^(http(s?):)?//','i');__cov_3obrKv0N6td8s3pjApRlWA.s['100']++;if(linkRegEx.test(pastedUrl)){__cov_3obrKv0N6td8s3pjApRlWA.b['21'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['101']++;if(this.options.oembedProxy){__cov_3obrKv0N6td8s3pjApRlWA.b['22'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['102']++;this.oembed(pastedUrl,true);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['22'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['103']++;this.parseUrl(pastedUrl,true);}}else{__cov_3obrKv0N6td8s3pjApRlWA.b['21'][1]++;}};__cov_3obrKv0N6td8s3pjApRlWA.s['104']++;Embeds.prototype.oembed=function(url,pasted,altText){__cov_3obrKv0N6td8s3pjApRlWA.f['17']++;__cov_3obrKv0N6td8s3pjApRlWA.s['105']++;var that=this;__cov_3obrKv0N6td8s3pjApRlWA.s['106']++;$.support.cors=true;__cov_3obrKv0N6td8s3pjApRlWA.s['107']++;$.ajax({crossDomain:true,cache:false,url:this.options.oembedProxy,dataType:'json',data:{url:url},success:function(data){__cov_3obrKv0N6td8s3pjApRlWA.f['18']++;__cov_3obrKv0N6td8s3pjApRlWA.s['108']++;var html=(__cov_3obrKv0N6td8s3pjApRlWA.b['23'][0]++,data)&&(__cov_3obrKv0N6td8s3pjApRlWA.b['23'][1]++,data.html);__cov_3obrKv0N6td8s3pjApRlWA.s['109']++;if(that.options.storeMeta){__cov_3obrKv0N6td8s3pjApRlWA.b['24'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['110']++;html+='
';}else{__cov_3obrKv0N6td8s3pjApRlWA.b['24'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['111']++;if((__cov_3obrKv0N6td8s3pjApRlWA.b['26'][0]++,data)&&(__cov_3obrKv0N6td8s3pjApRlWA.b['26'][1]++,data.type.match(/(photo|rich)/))&&(__cov_3obrKv0N6td8s3pjApRlWA.b['26'][2]++,data.url)){__cov_3obrKv0N6td8s3pjApRlWA.b['25'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['112']++;that.$el.data('plugin_'+pluginName+ucfirst('images'))['showImageByURL']({type:'image',url:data.url},{});__cov_3obrKv0N6td8s3pjApRlWA.s['113']++;html='';__cov_3obrKv0N6td8s3pjApRlWA.s['114']++;return;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['25'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['115']++;if(!html){__cov_3obrKv0N6td8s3pjApRlWA.b['27'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['116']++;$.proxy(that,'convertBadEmbed',url)();__cov_3obrKv0N6td8s3pjApRlWA.s['117']++;return;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['27'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['118']++;if(pasted){__cov_3obrKv0N6td8s3pjApRlWA.b['28'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['119']++;$.proxy(that,'embed',html,url)();}else{__cov_3obrKv0N6td8s3pjApRlWA.b['28'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['120']++;$.proxy(that,'embed',html,null,altText)();}},error:function(jqXHR,textStatus,errorThrown){__cov_3obrKv0N6td8s3pjApRlWA.f['19']++;__cov_3obrKv0N6td8s3pjApRlWA.s['121']++;var responseJSON=function(){__cov_3obrKv0N6td8s3pjApRlWA.f['20']++;__cov_3obrKv0N6td8s3pjApRlWA.s['122']++;try{__cov_3obrKv0N6td8s3pjApRlWA.s['123']++;return JSON.parse(jqXHR.responseText);}catch(e){}}();__cov_3obrKv0N6td8s3pjApRlWA.s['124']++;if(typeof window.console!=='undefined'){__cov_3obrKv0N6td8s3pjApRlWA.b['29'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['125']++;window.console.log((__cov_3obrKv0N6td8s3pjApRlWA.b['30'][0]++,responseJSON)&&(__cov_3obrKv0N6td8s3pjApRlWA.b['30'][1]++,responseJSON.error)||(__cov_3obrKv0N6td8s3pjApRlWA.b['30'][2]++,jqXHR.status)||(__cov_3obrKv0N6td8s3pjApRlWA.b['30'][3]++,errorThrown.message));}else{__cov_3obrKv0N6td8s3pjApRlWA.b['29'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['126']++;window.alert('Error requesting media from '+that.options.oembedProxy+' to insert: '+errorThrown+' (response status: '+jqXHR.status+')');}__cov_3obrKv0N6td8s3pjApRlWA.s['127']++;$.proxy(that,'convertBadEmbed',url)();}});};__cov_3obrKv0N6td8s3pjApRlWA.s['128']++;Embeds.prototype.parseUrl=function(url,pasted){__cov_3obrKv0N6td8s3pjApRlWA.f['21']++;__cov_3obrKv0N6td8s3pjApRlWA.s['129']++;var html;__cov_3obrKv0N6td8s3pjApRlWA.s['130']++;if(!new RegExp(['youtube','youtu.be','vimeo','instagram','twitter','facebook'].join('|')).test(url)){__cov_3obrKv0N6td8s3pjApRlWA.b['31'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['131']++;$.proxy(this,'convertBadEmbed',url)();__cov_3obrKv0N6td8s3pjApRlWA.s['132']++;return false;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['31'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['133']++;html=url.replace(/\n?/g,'').replace(/^((http(s)?:\/\/)?(www\.)?(youtube\.com|youtu\.be)\/(watch\?v=|v\/)?)([a-zA-Z0-9\-_]+)(.*)?$/,'
').replace(/^https?:\/\/vimeo\.com(\/.+)?\/([0-9]+)$/,'
').replace(/^https:\/\/twitter\.com\/(\w+)\/status\/(\d+)\/?$/,'').replace(/^(https:\/\/www\.facebook\.com\/(.*))$/,'
').replace(/^https?:\/\/instagram\.com\/p\/(.+)\/?$/,'');__cov_3obrKv0N6td8s3pjApRlWA.s['134']++;if(this.options.storeMeta){__cov_3obrKv0N6td8s3pjApRlWA.b['32'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['135']++;html+='
';}else{__cov_3obrKv0N6td8s3pjApRlWA.b['32'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['136']++;if(/<("[^"]*"|'[^']*'|[^'">])*>/.test(html)===false){__cov_3obrKv0N6td8s3pjApRlWA.b['33'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['137']++;$.proxy(this,'convertBadEmbed',url)();__cov_3obrKv0N6td8s3pjApRlWA.s['138']++;return false;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['33'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['139']++;if(pasted){__cov_3obrKv0N6td8s3pjApRlWA.b['34'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['140']++;this.embed(html,url);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['34'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['141']++;this.embed(html);}};__cov_3obrKv0N6td8s3pjApRlWA.s['142']++;Embeds.prototype.embed=function(html,pastedUrl,altText){__cov_3obrKv0N6td8s3pjApRlWA.f['22']++;__cov_3obrKv0N6td8s3pjApRlWA.s['143']++;var $place=this.$el.find('.medium-insert-embeds-active').length?(__cov_3obrKv0N6td8s3pjApRlWA.b['35'][0]++,this.$el.find('.medium-insert-embeds-active')):(__cov_3obrKv0N6td8s3pjApRlWA.b['35'][1]++,this.$el.find('.medium-insert-active')),$div,that;__cov_3obrKv0N6td8s3pjApRlWA.s['144']++;that=this;__cov_3obrKv0N6td8s3pjApRlWA.s['145']++;$place.attr('class','medium-insert-embeds-active');__cov_3obrKv0N6td8s3pjApRlWA.s['146']++;if(!html){__cov_3obrKv0N6td8s3pjApRlWA.b['36'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['147']++;alert('Incorrect URL format specified');__cov_3obrKv0N6td8s3pjApRlWA.s['148']++;return false;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['36'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['149']++;if(html.indexOf('')>-1){__cov_3obrKv0N6td8s3pjApRlWA.b['37'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['150']++;$div=$('
').attr('data-embed-code',$('
').text(html).html()).html(html);__cov_3obrKv0N6td8s3pjApRlWA.s['151']++;html=$('
').append($div).html();}else{__cov_3obrKv0N6td8s3pjApRlWA.b['37'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['152']++;if(pastedUrl){__cov_3obrKv0N6td8s3pjApRlWA.b['38'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['153']++;$place=this.$el.find(':not(iframe, script, style)').contents().filter(function(){__cov_3obrKv0N6td8s3pjApRlWA.f['23']++;__cov_3obrKv0N6td8s3pjApRlWA.s['154']++;return(__cov_3obrKv0N6td8s3pjApRlWA.b['39'][0]++,this.nodeType===3)&&(__cov_3obrKv0N6td8s3pjApRlWA.b['39'][1]++,this.textContent.indexOf(pastedUrl)>-1);}).parent();__cov_3obrKv0N6td8s3pjApRlWA.s['155']++;$place.after(this.templates['src/js/templates/embeds-wrapper.hbs']({html:html}));__cov_3obrKv0N6td8s3pjApRlWA.s['156']++;$place.text($place.text().replace(pastedUrl,''));}else{__cov_3obrKv0N6td8s3pjApRlWA.b['38'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['157']++;if(altText){__cov_3obrKv0N6td8s3pjApRlWA.b['40'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['158']++;$place.append(this.templates['src/js/templates/embeds-wrapper.hbs']({html:html}));__cov_3obrKv0N6td8s3pjApRlWA.s['159']++;if(that.options.captions){__cov_3obrKv0N6td8s3pjApRlWA.b['41'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['160']++;that.core.addCaption($place.find('figure'),that.options.captionPlaceholder);__cov_3obrKv0N6td8s3pjApRlWA.s['161']++;that.core.addCaptionContent($place,altText);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['41'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['162']++;$place.replaceWith($place.find('.medium-insert-embeds'));}else{__cov_3obrKv0N6td8s3pjApRlWA.b['40'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['163']++;$place.after(this.templates['src/js/templates/embeds-wrapper.hbs']({html:html}));__cov_3obrKv0N6td8s3pjApRlWA.s['164']++;$place.remove();}}__cov_3obrKv0N6td8s3pjApRlWA.s['165']++;this.core.triggerInput();__cov_3obrKv0N6td8s3pjApRlWA.s['166']++;if(html.indexOf('facebook')!==-1){__cov_3obrKv0N6td8s3pjApRlWA.b['42'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['167']++;if(typeof FB!=='undefined'){__cov_3obrKv0N6td8s3pjApRlWA.b['43'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['168']++;setTimeout(function(){__cov_3obrKv0N6td8s3pjApRlWA.f['24']++;__cov_3obrKv0N6td8s3pjApRlWA.s['169']++;FB.XFBML.parse();},2000);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['43'][1]++;}}else{__cov_3obrKv0N6td8s3pjApRlWA.b['42'][1]++;}}};__cov_3obrKv0N6td8s3pjApRlWA.s['170']++;Embeds.prototype.convertBadEmbed=function(content){__cov_3obrKv0N6td8s3pjApRlWA.f['25']++;__cov_3obrKv0N6td8s3pjApRlWA.s['171']++;var $place,$empty,$content,emptyTemplate=this.templates['src/js/templates/core-empty-line.hbs']().trim();__cov_3obrKv0N6td8s3pjApRlWA.s['172']++;$place=this.$el.find('.medium-insert-embeds-active');__cov_3obrKv0N6td8s3pjApRlWA.s['173']++;$content=$(emptyTemplate);__cov_3obrKv0N6td8s3pjApRlWA.s['174']++;$place.before($content);__cov_3obrKv0N6td8s3pjApRlWA.s['175']++;$place.remove();__cov_3obrKv0N6td8s3pjApRlWA.s['176']++;$content.html(content);__cov_3obrKv0N6td8s3pjApRlWA.s['177']++;$empty=$(emptyTemplate);__cov_3obrKv0N6td8s3pjApRlWA.s['178']++;$content.after($empty);__cov_3obrKv0N6td8s3pjApRlWA.s['179']++;this.core.triggerInput();__cov_3obrKv0N6td8s3pjApRlWA.s['180']++;this.core.moveCaret($empty);};__cov_3obrKv0N6td8s3pjApRlWA.s['181']++;Embeds.prototype.selectEmbed=function(e){__cov_3obrKv0N6td8s3pjApRlWA.f['26']++;__cov_3obrKv0N6td8s3pjApRlWA.s['182']++;var that=this,$embed;__cov_3obrKv0N6td8s3pjApRlWA.s['183']++;if(this.core.options.enabled){__cov_3obrKv0N6td8s3pjApRlWA.b['44'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['184']++;$embed=$(e.target).hasClass('medium-insert-embeds')?(__cov_3obrKv0N6td8s3pjApRlWA.b['45'][0]++,$(e.target)):(__cov_3obrKv0N6td8s3pjApRlWA.b['45'][1]++,$(e.target).closest('.medium-insert-embeds'));__cov_3obrKv0N6td8s3pjApRlWA.s['185']++;$embed.addClass('medium-insert-embeds-selected');__cov_3obrKv0N6td8s3pjApRlWA.s['186']++;setTimeout(function(){__cov_3obrKv0N6td8s3pjApRlWA.f['27']++;__cov_3obrKv0N6td8s3pjApRlWA.s['187']++;that.addToolbar();__cov_3obrKv0N6td8s3pjApRlWA.s['188']++;if(that.options.captions){__cov_3obrKv0N6td8s3pjApRlWA.b['46'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['189']++;that.core.addCaption($embed.find('figure'),that.options.captionPlaceholder);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['46'][1]++;}},50);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['44'][1]++;}};__cov_3obrKv0N6td8s3pjApRlWA.s['190']++;Embeds.prototype.unselectEmbed=function(e){__cov_3obrKv0N6td8s3pjApRlWA.f['28']++;__cov_3obrKv0N6td8s3pjApRlWA.s['191']++;var $el=$(e.target).hasClass('medium-insert-embeds')?(__cov_3obrKv0N6td8s3pjApRlWA.b['47'][0]++,$(e.target)):(__cov_3obrKv0N6td8s3pjApRlWA.b['47'][1]++,$(e.target).closest('.medium-insert-embeds')),$embed=this.$el.find('.medium-insert-embeds-selected');__cov_3obrKv0N6td8s3pjApRlWA.s['192']++;if($el.hasClass('medium-insert-embeds-selected')){__cov_3obrKv0N6td8s3pjApRlWA.b['48'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['193']++;$embed.not($el).removeClass('medium-insert-embeds-selected');__cov_3obrKv0N6td8s3pjApRlWA.s['194']++;$('.medium-insert-embeds-toolbar, .medium-insert-embeds-toolbar2').remove();__cov_3obrKv0N6td8s3pjApRlWA.s['195']++;this.core.removeCaptions($el.find('figcaption'));__cov_3obrKv0N6td8s3pjApRlWA.s['196']++;if((__cov_3obrKv0N6td8s3pjApRlWA.b['50'][0]++,$(e.target).is('.medium-insert-caption-placeholder'))||(__cov_3obrKv0N6td8s3pjApRlWA.b['50'][1]++,$(e.target).is('figcaption'))){__cov_3obrKv0N6td8s3pjApRlWA.b['49'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['197']++;$el.removeClass('medium-insert-embeds-selected');__cov_3obrKv0N6td8s3pjApRlWA.s['198']++;this.core.removeCaptionPlaceholder($el.find('figure'));}else{__cov_3obrKv0N6td8s3pjApRlWA.b['49'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['199']++;return;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['48'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['200']++;$embed.removeClass('medium-insert-embeds-selected');__cov_3obrKv0N6td8s3pjApRlWA.s['201']++;$('.medium-insert-embeds-toolbar, .medium-insert-embeds-toolbar2').remove();__cov_3obrKv0N6td8s3pjApRlWA.s['202']++;if($(e.target).is('.medium-insert-caption-placeholder')){__cov_3obrKv0N6td8s3pjApRlWA.b['51'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['203']++;this.core.removeCaptionPlaceholder($el.find('figure'));}else{__cov_3obrKv0N6td8s3pjApRlWA.b['51'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['204']++;if($(e.target).is('figcaption')===false){__cov_3obrKv0N6td8s3pjApRlWA.b['52'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['205']++;this.core.removeCaptions();}else{__cov_3obrKv0N6td8s3pjApRlWA.b['52'][1]++;}}};__cov_3obrKv0N6td8s3pjApRlWA.s['206']++;Embeds.prototype.removeEmbed=function(e){__cov_3obrKv0N6td8s3pjApRlWA.f['29']++;__cov_3obrKv0N6td8s3pjApRlWA.s['207']++;var $embed,$empty;__cov_3obrKv0N6td8s3pjApRlWA.s['208']++;if((__cov_3obrKv0N6td8s3pjApRlWA.b['54'][0]++,e.which===8)||(__cov_3obrKv0N6td8s3pjApRlWA.b['54'][1]++,e.which===46)){__cov_3obrKv0N6td8s3pjApRlWA.b['53'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['209']++;$embed=this.$el.find('.medium-insert-embeds-selected');__cov_3obrKv0N6td8s3pjApRlWA.s['210']++;if($embed.length){__cov_3obrKv0N6td8s3pjApRlWA.b['55'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['211']++;e.preventDefault();__cov_3obrKv0N6td8s3pjApRlWA.s['212']++;$('.medium-insert-embeds-toolbar, .medium-insert-embeds-toolbar2').remove();__cov_3obrKv0N6td8s3pjApRlWA.s['213']++;$empty=$(this.templates['src/js/templates/core-empty-line.hbs']().trim());__cov_3obrKv0N6td8s3pjApRlWA.s['214']++;$embed.before($empty);__cov_3obrKv0N6td8s3pjApRlWA.s['215']++;$embed.remove();__cov_3obrKv0N6td8s3pjApRlWA.s['216']++;this.core.hideAddons();__cov_3obrKv0N6td8s3pjApRlWA.s['217']++;this.core.moveCaret($empty);__cov_3obrKv0N6td8s3pjApRlWA.s['218']++;this.core.triggerInput();}else{__cov_3obrKv0N6td8s3pjApRlWA.b['55'][1]++;}}else{__cov_3obrKv0N6td8s3pjApRlWA.b['53'][1]++;}};__cov_3obrKv0N6td8s3pjApRlWA.s['219']++;Embeds.prototype.addToolbar=function(){__cov_3obrKv0N6td8s3pjApRlWA.f['30']++;__cov_3obrKv0N6td8s3pjApRlWA.s['220']++;var $embed=this.$el.find('.medium-insert-embeds-selected'),active=false,$toolbar,$toolbar2,mediumEditor,toolbarContainer;__cov_3obrKv0N6td8s3pjApRlWA.s['221']++;if($embed.length===0){__cov_3obrKv0N6td8s3pjApRlWA.b['56'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['222']++;return;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['56'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['223']++;mediumEditor=this.core.getEditor();__cov_3obrKv0N6td8s3pjApRlWA.s['224']++;toolbarContainer=(__cov_3obrKv0N6td8s3pjApRlWA.b['57'][0]++,mediumEditor.options.elementsContainer)||(__cov_3obrKv0N6td8s3pjApRlWA.b['57'][1]++,'body');__cov_3obrKv0N6td8s3pjApRlWA.s['225']++;$(toolbarContainer).append(this.templates['src/js/templates/embeds-toolbar.hbs']({styles:this.options.styles,actions:this.options.actions}).trim());__cov_3obrKv0N6td8s3pjApRlWA.s['226']++;$toolbar=$('.medium-insert-embeds-toolbar');__cov_3obrKv0N6td8s3pjApRlWA.s['227']++;$toolbar2=$('.medium-insert-embeds-toolbar2');__cov_3obrKv0N6td8s3pjApRlWA.s['228']++;$toolbar.find('button').each(function(){__cov_3obrKv0N6td8s3pjApRlWA.f['31']++;__cov_3obrKv0N6td8s3pjApRlWA.s['229']++;if($embed.hasClass('medium-insert-embeds-'+$(this).data('action'))){__cov_3obrKv0N6td8s3pjApRlWA.b['58'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['230']++;$(this).addClass('medium-editor-button-active');__cov_3obrKv0N6td8s3pjApRlWA.s['231']++;active=true;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['58'][1]++;}});__cov_3obrKv0N6td8s3pjApRlWA.s['232']++;if(active===false){__cov_3obrKv0N6td8s3pjApRlWA.b['59'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['233']++;$toolbar.find('button').first().addClass('medium-editor-button-active');}else{__cov_3obrKv0N6td8s3pjApRlWA.b['59'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['234']++;this.repositionToolbars();__cov_3obrKv0N6td8s3pjApRlWA.s['235']++;$toolbar.fadeIn();__cov_3obrKv0N6td8s3pjApRlWA.s['236']++;$toolbar2.fadeIn();};__cov_3obrKv0N6td8s3pjApRlWA.s['237']++;Embeds.prototype.autoRepositionToolbars=function(){__cov_3obrKv0N6td8s3pjApRlWA.f['32']++;__cov_3obrKv0N6td8s3pjApRlWA.s['238']++;setTimeout(function(){__cov_3obrKv0N6td8s3pjApRlWA.f['33']++;__cov_3obrKv0N6td8s3pjApRlWA.s['239']++;this.repositionToolbars();__cov_3obrKv0N6td8s3pjApRlWA.s['240']++;this.repositionToolbars();}.bind(this),0);};__cov_3obrKv0N6td8s3pjApRlWA.s['241']++;Embeds.prototype.repositionToolbars=function(){__cov_3obrKv0N6td8s3pjApRlWA.f['34']++;__cov_3obrKv0N6td8s3pjApRlWA.s['242']++;var $toolbar=$('.medium-insert-embeds-toolbar'),$toolbar2=$('.medium-insert-embeds-toolbar2'),$embed=this.$el.find('.medium-insert-embeds-selected'),elementsContainer=this.core.getEditor().options.elementsContainer,elementsContainerAbsolute=['absolute','fixed'].indexOf(window.getComputedStyle(elementsContainer).getPropertyValue('position'))>-1,elementsContainerBoundary=elementsContainerAbsolute?(__cov_3obrKv0N6td8s3pjApRlWA.b['60'][0]++,elementsContainer.getBoundingClientRect()):(__cov_3obrKv0N6td8s3pjApRlWA.b['60'][1]++,null),containerWidth=$(window).width(),position={};__cov_3obrKv0N6td8s3pjApRlWA.s['243']++;if($toolbar2.length){__cov_3obrKv0N6td8s3pjApRlWA.b['61'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['244']++;position.top=$embed.offset().top+2;__cov_3obrKv0N6td8s3pjApRlWA.s['245']++;position.left=$embed.offset().left+$embed.width()-$toolbar2.width()-4;__cov_3obrKv0N6td8s3pjApRlWA.s['246']++;if(elementsContainerAbsolute){__cov_3obrKv0N6td8s3pjApRlWA.b['62'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['247']++;position.top+=elementsContainer.scrollTop-elementsContainerBoundary.top;__cov_3obrKv0N6td8s3pjApRlWA.s['248']++;position.left-=elementsContainerBoundary.left;__cov_3obrKv0N6td8s3pjApRlWA.s['249']++;containerWidth=$(elementsContainer).width();}else{__cov_3obrKv0N6td8s3pjApRlWA.b['62'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['250']++;if(position.left+$toolbar2.width()>containerWidth){__cov_3obrKv0N6td8s3pjApRlWA.b['63'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['251']++;position.left=containerWidth-$toolbar2.width();}else{__cov_3obrKv0N6td8s3pjApRlWA.b['63'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['252']++;$toolbar2.css(position);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['61'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['253']++;if($toolbar.length){__cov_3obrKv0N6td8s3pjApRlWA.b['64'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['254']++;position.left=$embed.offset().left+$embed.width()/2-$toolbar.width()/2;__cov_3obrKv0N6td8s3pjApRlWA.s['255']++;position.top=$embed.offset().top-$toolbar.height()-8-2-5;__cov_3obrKv0N6td8s3pjApRlWA.s['256']++;if(elementsContainerAbsolute){__cov_3obrKv0N6td8s3pjApRlWA.b['65'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['257']++;position.top+=elementsContainer.scrollTop-elementsContainerBoundary.top;__cov_3obrKv0N6td8s3pjApRlWA.s['258']++;position.left-=elementsContainerBoundary.left;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['65'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['259']++;if(position.top<0){__cov_3obrKv0N6td8s3pjApRlWA.b['66'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['260']++;position.top=0;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['66'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['261']++;$toolbar.css(position);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['64'][1]++;}};__cov_3obrKv0N6td8s3pjApRlWA.s['262']++;Embeds.prototype.toolbarAction=function(e){__cov_3obrKv0N6td8s3pjApRlWA.f['35']++;__cov_3obrKv0N6td8s3pjApRlWA.s['263']++;var $button=$(e.target).is('button')?(__cov_3obrKv0N6td8s3pjApRlWA.b['67'][0]++,$(e.target)):(__cov_3obrKv0N6td8s3pjApRlWA.b['67'][1]++,$(e.target).closest('button')),$li=$button.closest('li'),$ul=$li.closest('ul'),$lis=$ul.find('li'),$embed=this.$el.find('.medium-insert-embeds-selected'),that=this;__cov_3obrKv0N6td8s3pjApRlWA.s['264']++;$button.addClass('medium-editor-button-active');__cov_3obrKv0N6td8s3pjApRlWA.s['265']++;$li.siblings().find('.medium-editor-button-active').removeClass('medium-editor-button-active');__cov_3obrKv0N6td8s3pjApRlWA.s['266']++;$lis.find('button').each(function(){__cov_3obrKv0N6td8s3pjApRlWA.f['36']++;__cov_3obrKv0N6td8s3pjApRlWA.s['267']++;var className='medium-insert-embeds-'+$(this).data('action');__cov_3obrKv0N6td8s3pjApRlWA.s['268']++;if($(this).hasClass('medium-editor-button-active')){__cov_3obrKv0N6td8s3pjApRlWA.b['68'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['269']++;$embed.addClass(className);__cov_3obrKv0N6td8s3pjApRlWA.s['270']++;if(that.options.styles[$(this).data('action')].added){__cov_3obrKv0N6td8s3pjApRlWA.b['69'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['271']++;that.options.styles[$(this).data('action')].added($embed);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['69'][1]++;}}else{__cov_3obrKv0N6td8s3pjApRlWA.b['68'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['272']++;$embed.removeClass(className);__cov_3obrKv0N6td8s3pjApRlWA.s['273']++;if(that.options.styles[$(this).data('action')].removed){__cov_3obrKv0N6td8s3pjApRlWA.b['70'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['274']++;that.options.styles[$(this).data('action')].removed($embed);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['70'][1]++;}}});__cov_3obrKv0N6td8s3pjApRlWA.s['275']++;this.core.triggerInput();};__cov_3obrKv0N6td8s3pjApRlWA.s['276']++;Embeds.prototype.toolbar2Action=function(e){__cov_3obrKv0N6td8s3pjApRlWA.f['37']++;__cov_3obrKv0N6td8s3pjApRlWA.s['277']++;var $button=$(e.target).is('button')?(__cov_3obrKv0N6td8s3pjApRlWA.b['71'][0]++,$(e.target)):(__cov_3obrKv0N6td8s3pjApRlWA.b['71'][1]++,$(e.target).closest('button')),callback=this.options.actions[$button.data('action')].clicked;__cov_3obrKv0N6td8s3pjApRlWA.s['278']++;if(callback){__cov_3obrKv0N6td8s3pjApRlWA.b['72'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['279']++;callback(this.$el.find('.medium-insert-embeds-selected'));}else{__cov_3obrKv0N6td8s3pjApRlWA.b['72'][1]++;}__cov_3obrKv0N6td8s3pjApRlWA.s['280']++;this.core.triggerInput();};__cov_3obrKv0N6td8s3pjApRlWA.s['281']++;Embeds.prototype.checkCustomPattern=function(){__cov_3obrKv0N6td8s3pjApRlWA.f['38']++;__cov_3obrKv0N6td8s3pjApRlWA.s['282']++;var an=window.getSelection().anchorNode;__cov_3obrKv0N6td8s3pjApRlWA.s['283']++;var pe=an.parentElement;__cov_3obrKv0N6td8s3pjApRlWA.s['284']++;var peC=pe.innerHTML;__cov_3obrKv0N6td8s3pjApRlWA.s['285']++;const parseData=this.extend.getFind(peC);__cov_3obrKv0N6td8s3pjApRlWA.s['286']++;if(parseData){__cov_3obrKv0N6td8s3pjApRlWA.b['73'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['287']++;const elements=this.extend.createContent(parseData);__cov_3obrKv0N6td8s3pjApRlWA.s['288']++;this.extend.updateContent(pe,elements);}else{__cov_3obrKv0N6td8s3pjApRlWA.b['73'][1]++;}};__cov_3obrKv0N6td8s3pjApRlWA.s['289']++;Embeds.prototype.simulateKeydown=function(el,keycode,isCtrl,isAlt,isShift){__cov_3obrKv0N6td8s3pjApRlWA.f['39']++;__cov_3obrKv0N6td8s3pjApRlWA.s['290']++;var e=new KeyboardEvent('keydown',{bubbles:true,cancelable:true,char:String.fromCharCode(keycode),key:String.fromCharCode(keycode),shiftKey:isShift,ctrlKey:isCtrl,altKey:isAlt});__cov_3obrKv0N6td8s3pjApRlWA.s['291']++;Object.defineProperty(e,'keyCode',{get:function(){__cov_3obrKv0N6td8s3pjApRlWA.f['40']++;__cov_3obrKv0N6td8s3pjApRlWA.s['292']++;return this.keyCodeVal;}});__cov_3obrKv0N6td8s3pjApRlWA.s['293']++;e.keyCodeVal=keycode;__cov_3obrKv0N6td8s3pjApRlWA.s['294']++;el.dispatchEvent(e);};__cov_3obrKv0N6td8s3pjApRlWA.s['295']++;Embeds.prototype.capturePattern=function(){__cov_3obrKv0N6td8s3pjApRlWA.f['41']++;__cov_3obrKv0N6td8s3pjApRlWA.s['296']++;if(ctTime){__cov_3obrKv0N6td8s3pjApRlWA.b['74'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['297']++;window.clearTimeout(ctTime);__cov_3obrKv0N6td8s3pjApRlWA.s['298']++;ctTime=null;}else{__cov_3obrKv0N6td8s3pjApRlWA.b['74'][1]++;__cov_3obrKv0N6td8s3pjApRlWA.s['299']++;ctTime=window.setTimeout(()=>{__cov_3obrKv0N6td8s3pjApRlWA.s['300']++;this.checkCustomPattern();},100);}};__cov_3obrKv0N6td8s3pjApRlWA.s['301']++;$.fn[pluginName+addonName]=function(options){__cov_3obrKv0N6td8s3pjApRlWA.f['42']++;__cov_3obrKv0N6td8s3pjApRlWA.s['302']++;return this.each(function(){__cov_3obrKv0N6td8s3pjApRlWA.f['43']++;__cov_3obrKv0N6td8s3pjApRlWA.s['303']++;if(!$.data(this,'plugin_'+pluginName+addonName)){__cov_3obrKv0N6td8s3pjApRlWA.b['75'][0]++;__cov_3obrKv0N6td8s3pjApRlWA.s['304']++;$.data(this,'plugin_'+pluginName+addonName,new Embeds(this,options));}else{__cov_3obrKv0N6td8s3pjApRlWA.b['75'][1]++;}});};}(jQuery,window,document)); diff --git a/.grunt/grunt-contrib-jasmine/assests/js/lib/embed/images.js b/.grunt/grunt-contrib-jasmine/assests/js/lib/embed/images.js new file mode 100644 index 0000000..af4ffa4 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/assests/js/lib/embed/images.js @@ -0,0 +1,9 @@ + +var __cov_r4OX6HxgP_4TVnaxVsgN2A = (Function('return this'))(); +if (!__cov_r4OX6HxgP_4TVnaxVsgN2A.__coverage__) { __cov_r4OX6HxgP_4TVnaxVsgN2A.__coverage__ = {}; } +__cov_r4OX6HxgP_4TVnaxVsgN2A = __cov_r4OX6HxgP_4TVnaxVsgN2A.__coverage__; +if (!(__cov_r4OX6HxgP_4TVnaxVsgN2A['assests/js/lib/embed/images.js'])) { + __cov_r4OX6HxgP_4TVnaxVsgN2A['assests/js/lib/embed/images.js'] = {"path":"assests/js/lib/embed/images.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":1,"10":0,"11":1,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0},"fnMap":{"1":{"name":"(anonymous_1)","line":3,"loc":{"start":{"line":3,"column":3},"end":{"line":3,"column":51}}},"2":{"name":"(anonymous_2)","line":48,"loc":{"start":{"line":48,"column":29},"end":{"line":48,"column":41}}},"3":{"name":"(anonymous_3)","line":56,"loc":{"start":{"line":56,"column":21},"end":{"line":56,"column":33}}},"4":{"name":"(anonymous_4)","line":67,"loc":{"start":{"line":67,"column":31},"end":{"line":67,"column":43}}},"5":{"name":"ucfirst","line":80,"loc":{"start":{"line":80,"column":4},"end":{"line":80,"column":26}}},"6":{"name":"Images","line":95,"loc":{"start":{"line":95,"column":4},"end":{"line":95,"column":33}}},"7":{"name":"(anonymous_7)","line":127,"loc":{"start":{"line":127,"column":28},"end":{"line":127,"column":40}}},"8":{"name":"(anonymous_8)","line":144,"loc":{"start":{"line":144,"column":30},"end":{"line":144,"column":42}}},"9":{"name":"(anonymous_9)","line":164,"loc":{"start":{"line":164,"column":46},"end":{"line":164,"column":58}}},"10":{"name":"(anonymous_10)","line":180,"loc":{"start":{"line":180,"column":39},"end":{"line":180,"column":51}}},"11":{"name":"(anonymous_11)","line":183,"loc":{"start":{"line":183,"column":21},"end":{"line":183,"column":36}}},"12":{"name":"(anonymous_12)","line":201,"loc":{"start":{"line":201,"column":27},"end":{"line":201,"column":48}}},"13":{"name":"(anonymous_13)","line":208,"loc":{"start":{"line":208,"column":26},"end":{"line":208,"column":45}}},"14":{"name":"(anonymous_14)","line":211,"loc":{"start":{"line":211,"column":25},"end":{"line":211,"column":44}}},"15":{"name":"(anonymous_15)","line":214,"loc":{"start":{"line":214,"column":26},"end":{"line":214,"column":45}}},"16":{"name":"(anonymous_16)","line":224,"loc":{"start":{"line":224,"column":45},"end":{"line":224,"column":64}}},"17":{"name":"(anonymous_17)","line":228,"loc":{"start":{"line":228,"column":48},"end":{"line":228,"column":67}}},"18":{"name":"(anonymous_18)","line":249,"loc":{"start":{"line":249,"column":33},"end":{"line":249,"column":52}}},"19":{"name":"(anonymous_19)","line":303,"loc":{"start":{"line":303,"column":32},"end":{"line":303,"column":44}}},"20":{"name":"(anonymous_20)","line":308,"loc":{"start":{"line":308,"column":36},"end":{"line":308,"column":49}}},"21":{"name":"(anonymous_21)","line":331,"loc":{"start":{"line":331,"column":41},"end":{"line":331,"column":60}}},"22":{"name":"(anonymous_22)","line":357,"loc":{"start":{"line":357,"column":38},"end":{"line":357,"column":57}}},"23":{"name":"(anonymous_23)","line":382,"loc":{"start":{"line":382,"column":34},"end":{"line":382,"column":53}}},"24":{"name":"(anonymous_24)","line":402,"loc":{"start":{"line":402,"column":33},"end":{"line":402,"column":54}}},"25":{"name":"(anonymous_25)","line":418,"loc":{"start":{"line":418,"column":30},"end":{"line":418,"column":42}}},"26":{"name":"(anonymous_26)","line":438,"loc":{"start":{"line":438,"column":44},"end":{"line":438,"column":70}}},"27":{"name":"(anonymous_27)","line":474,"loc":{"start":{"line":474,"column":38},"end":{"line":474,"column":53}}},"28":{"name":"(anonymous_28)","line":501,"loc":{"start":{"line":501,"column":40},"end":{"line":501,"column":66}}},"29":{"name":"(anonymous_29)","line":520,"loc":{"start":{"line":520,"column":35},"end":{"line":520,"column":47}}},"30":{"name":"(anonymous_30)","line":531,"loc":{"start":{"line":531,"column":35},"end":{"line":531,"column":48}}},"31":{"name":"(anonymous_31)","line":547,"loc":{"start":{"line":547,"column":23},"end":{"line":547,"column":35}}},"32":{"name":"(anonymous_32)","line":564,"loc":{"start":{"line":564,"column":37},"end":{"line":564,"column":50}}},"33":{"name":"(anonymous_33)","line":594,"loc":{"start":{"line":594,"column":35},"end":{"line":594,"column":48}}},"34":{"name":"(anonymous_34)","line":628,"loc":{"start":{"line":628,"column":95},"end":{"line":628,"column":107}}},"35":{"name":"(anonymous_35)","line":672,"loc":{"start":{"line":672,"column":34},"end":{"line":672,"column":55}}},"36":{"name":"(anonymous_36)","line":695,"loc":{"start":{"line":695,"column":34},"end":{"line":695,"column":46}}},"37":{"name":"(anonymous_37)","line":711,"loc":{"start":{"line":711,"column":37},"end":{"line":711,"column":49}}},"38":{"name":"(anonymous_38)","line":728,"loc":{"start":{"line":728,"column":46},"end":{"line":728,"column":58}}},"39":{"name":"(anonymous_39)","line":729,"loc":{"start":{"line":729,"column":19},"end":{"line":729,"column":31}}},"40":{"name":"(anonymous_40)","line":735,"loc":{"start":{"line":735,"column":42},"end":{"line":735,"column":54}}},"41":{"name":"(anonymous_41)","line":790,"loc":{"start":{"line":790,"column":37},"end":{"line":790,"column":50}}},"42":{"name":"(anonymous_42)","line":807,"loc":{"start":{"line":807,"column":33},"end":{"line":807,"column":45}}},"43":{"name":"(anonymous_43)","line":837,"loc":{"start":{"line":837,"column":38},"end":{"line":837,"column":51}}},"44":{"name":"(anonymous_44)","line":862,"loc":{"start":{"line":862,"column":31},"end":{"line":862,"column":43}}},"45":{"name":"(anonymous_45)","line":868,"loc":{"start":{"line":868,"column":35},"end":{"line":868,"column":54}}},"46":{"name":"(anonymous_46)","line":869,"loc":{"start":{"line":869,"column":25},"end":{"line":869,"column":37}}}},"statementMap":{"1":{"start":{"line":3,"column":2},"end":{"line":876,"column":48}},"2":{"start":{"line":8,"column":4},"end":{"line":78,"column":10}},"3":{"start":{"line":49,"column":24},"end":{"line":49,"column":56}},"4":{"start":{"line":51,"column":24},"end":{"line":51,"column":41}},"5":{"start":{"line":52,"column":24},"end":{"line":52,"column":52}},"6":{"start":{"line":57,"column":16},"end":{"line":57,"column":32}},"7":{"start":{"line":59,"column":16},"end":{"line":70,"column":19}},"8":{"start":{"line":68,"column":24},"end":{"line":68,"column":49}},"9":{"start":{"line":80,"column":4},"end":{"line":82,"column":5}},"10":{"start":{"line":81,"column":8},"end":{"line":81,"column":58}},"11":{"start":{"line":95,"column":4},"end":{"line":119,"column":5}},"12":{"start":{"line":96,"column":8},"end":{"line":96,"column":21}},"13":{"start":{"line":97,"column":8},"end":{"line":97,"column":25}},"14":{"start":{"line":98,"column":8},"end":{"line":98,"column":34}},"15":{"start":{"line":99,"column":8},"end":{"line":99,"column":55}},"16":{"start":{"line":100,"column":8},"end":{"line":100,"column":58}},"17":{"start":{"line":102,"column":8},"end":{"line":102,"column":61}},"18":{"start":{"line":104,"column":8},"end":{"line":104,"column":34}},"19":{"start":{"line":105,"column":8},"end":{"line":105,"column":32}},"20":{"start":{"line":108,"column":8},"end":{"line":110,"column":9}},"21":{"start":{"line":109,"column":12},"end":{"line":109,"column":41}},"22":{"start":{"line":113,"column":8},"end":{"line":116,"column":9}},"23":{"start":{"line":114,"column":12},"end":{"line":114,"column":88}},"24":{"start":{"line":115,"column":12},"end":{"line":115,"column":67}},"25":{"start":{"line":118,"column":8},"end":{"line":118,"column":20}},"26":{"start":{"line":127,"column":4},"end":{"line":136,"column":6}},"27":{"start":{"line":128,"column":8},"end":{"line":128,"column":61}},"28":{"start":{"line":130,"column":8},"end":{"line":130,"column":65}},"29":{"start":{"line":131,"column":8},"end":{"line":131,"column":62}},"30":{"start":{"line":133,"column":8},"end":{"line":133,"column":22}},"31":{"start":{"line":134,"column":8},"end":{"line":134,"column":38}},"32":{"start":{"line":135,"column":8},"end":{"line":135,"column":23}},"33":{"start":{"line":144,"column":4},"end":{"line":156,"column":6}},"34":{"start":{"line":145,"column":8},"end":{"line":149,"column":114}},"35":{"start":{"line":151,"column":8},"end":{"line":152,"column":84}},"36":{"start":{"line":154,"column":8},"end":{"line":155,"column":67}},"37":{"start":{"line":164,"column":4},"end":{"line":172,"column":6}},"38":{"start":{"line":165,"column":8},"end":{"line":167,"column":46}},"39":{"start":{"line":169,"column":8},"end":{"line":171,"column":51}},"40":{"start":{"line":180,"column":4},"end":{"line":193,"column":6}},"41":{"start":{"line":181,"column":8},"end":{"line":181,"column":46}},"42":{"start":{"line":183,"column":8},"end":{"line":190,"column":11}},"43":{"start":{"line":184,"column":12},"end":{"line":184,"column":59}},"44":{"start":{"line":186,"column":12},"end":{"line":186,"column":105}},"45":{"start":{"line":187,"column":12},"end":{"line":187,"column":66}},"46":{"start":{"line":189,"column":12},"end":{"line":189,"column":43}},"47":{"start":{"line":192,"column":8},"end":{"line":192,"column":20}},"48":{"start":{"line":201,"column":4},"end":{"line":239,"column":6}},"49":{"start":{"line":202,"column":8},"end":{"line":238,"column":9}},"50":{"start":{"line":203,"column":12},"end":{"line":217,"column":18}},"51":{"start":{"line":212,"column":24},"end":{"line":212,"column":62}},"52":{"start":{"line":215,"column":24},"end":{"line":215,"column":63}},"53":{"start":{"line":223,"column":12},"end":{"line":231,"column":13}},"54":{"start":{"line":224,"column":16},"end":{"line":226,"column":18}},"55":{"start":{"line":225,"column":20},"end":{"line":225,"column":63}},"56":{"start":{"line":228,"column":16},"end":{"line":230,"column":18}},"57":{"start":{"line":229,"column":20},"end":{"line":229,"column":66}},"58":{"start":{"line":233,"column":12},"end":{"line":233,"column":100}},"59":{"start":{"line":236,"column":12},"end":{"line":236,"column":40}},"60":{"start":{"line":237,"column":12},"end":{"line":237,"column":26}},"61":{"start":{"line":249,"column":4},"end":{"line":320,"column":6}},"62":{"start":{"line":250,"column":8},"end":{"line":256,"column":19}},"63":{"start":{"line":258,"column":8},"end":{"line":262,"column":9}},"64":{"start":{"line":259,"column":12},"end":{"line":259,"column":86}},"65":{"start":{"line":260,"column":15},"end":{"line":262,"column":9}},"66":{"start":{"line":261,"column":12},"end":{"line":261,"column":82}},"67":{"start":{"line":264,"column":8},"end":{"line":272,"column":9}},"68":{"start":{"line":265,"column":12},"end":{"line":268,"column":13}},"69":{"start":{"line":266,"column":16},"end":{"line":266,"column":62}},"70":{"start":{"line":267,"column":16},"end":{"line":267,"column":23}},"71":{"start":{"line":270,"column":12},"end":{"line":270,"column":43}},"72":{"start":{"line":271,"column":12},"end":{"line":271,"column":19}},"73":{"start":{"line":274,"column":8},"end":{"line":274,"column":32}},"74":{"start":{"line":277,"column":8},"end":{"line":286,"column":9}},"75":{"start":{"line":278,"column":12},"end":{"line":278,"column":96}},"76":{"start":{"line":279,"column":12},"end":{"line":279,"column":60}},"77":{"start":{"line":280,"column":12},"end":{"line":285,"column":13}},"78":{"start":{"line":281,"column":16},"end":{"line":281,"column":51}},"79":{"start":{"line":283,"column":16},"end":{"line":283,"column":44}},"80":{"start":{"line":284,"column":16},"end":{"line":284,"column":51}},"81":{"start":{"line":288,"column":8},"end":{"line":290,"column":11}},"82":{"start":{"line":289,"column":12},"end":{"line":289,"column":67}},"83":{"start":{"line":291,"column":8},"end":{"line":293,"column":11}},"84":{"start":{"line":292,"column":12},"end":{"line":292,"column":74}},"85":{"start":{"line":295,"column":8},"end":{"line":295,"column":69}},"86":{"start":{"line":297,"column":8},"end":{"line":299,"column":9}},"87":{"start":{"line":298,"column":12},"end":{"line":298,"column":87}},"88":{"start":{"line":301,"column":8},"end":{"line":319,"column":9}},"89":{"start":{"line":303,"column":12},"end":{"line":318,"column":15}},"90":{"start":{"line":305,"column":16},"end":{"line":317,"column":17}},"91":{"start":{"line":306,"column":20},"end":{"line":306,"column":46}},"92":{"start":{"line":308,"column":20},"end":{"line":311,"column":22}},"93":{"start":{"line":310,"column":24},"end":{"line":310,"column":76}},"94":{"start":{"line":313,"column":20},"end":{"line":313,"column":56}},"95":{"start":{"line":316,"column":20},"end":{"line":316,"column":34}},"96":{"start":{"line":331,"column":4},"end":{"line":346,"column":6}},"97":{"start":{"line":332,"column":8},"end":{"line":332,"column":35}},"98":{"start":{"line":334,"column":8},"end":{"line":345,"column":9}},"99":{"start":{"line":335,"column":12},"end":{"line":335,"column":68}},"100":{"start":{"line":336,"column":12},"end":{"line":336,"column":83}},"101":{"start":{"line":338,"column":12},"end":{"line":340,"column":32}},"102":{"start":{"line":342,"column":12},"end":{"line":344,"column":13}},"103":{"start":{"line":343,"column":16},"end":{"line":343,"column":38}},"104":{"start":{"line":357,"column":4},"end":{"line":371,"column":6}},"105":{"start":{"line":359,"column":8},"end":{"line":359,"column":35}},"106":{"start":{"line":361,"column":8},"end":{"line":370,"column":9}},"107":{"start":{"line":362,"column":12},"end":{"line":362,"column":74}},"108":{"start":{"line":363,"column":12},"end":{"line":363,"column":79}},"109":{"start":{"line":365,"column":12},"end":{"line":365,"column":54}},"110":{"start":{"line":367,"column":12},"end":{"line":369,"column":13}},"111":{"start":{"line":368,"column":16},"end":{"line":368,"column":38}},"112":{"start":{"line":382,"column":4},"end":{"line":393,"column":6}},"113":{"start":{"line":383,"column":8},"end":{"line":390,"column":9}},"114":{"start":{"line":384,"column":12},"end":{"line":389,"column":13}},"115":{"start":{"line":385,"column":16},"end":{"line":385,"column":64}},"116":{"start":{"line":387,"column":16},"end":{"line":387,"column":101}},"117":{"start":{"line":391,"column":8},"end":{"line":391,"column":26}},"118":{"start":{"line":392,"column":8},"end":{"line":392,"column":23}},"119":{"start":{"line":402,"column":4},"end":{"line":466,"column":6}},"120":{"start":{"line":404,"column":8},"end":{"line":406,"column":17}},"121":{"start":{"line":409,"column":8},"end":{"line":409,"column":23}},"122":{"start":{"line":413,"column":8},"end":{"line":413,"column":20}},"123":{"start":{"line":414,"column":8},"end":{"line":461,"column":9}},"124":{"start":{"line":415,"column":12},"end":{"line":415,"column":42}},"125":{"start":{"line":416,"column":12},"end":{"line":416,"column":93}},"126":{"start":{"line":418,"column":12},"end":{"line":426,"column":25}},"127":{"start":{"line":419,"column":16},"end":{"line":419,"column":62}},"128":{"start":{"line":421,"column":16},"end":{"line":423,"column":17}},"129":{"start":{"line":422,"column":20},"end":{"line":422,"column":69}},"130":{"start":{"line":425,"column":16},"end":{"line":425,"column":41}},"131":{"start":{"line":427,"column":12},"end":{"line":427,"column":35}},"132":{"start":{"line":430,"column":12},"end":{"line":433,"column":33}},"133":{"start":{"line":435,"column":12},"end":{"line":435,"column":39}},"134":{"start":{"line":437,"column":12},"end":{"line":453,"column":13}},"135":{"start":{"line":438,"column":16},"end":{"line":446,"column":19}},"136":{"start":{"line":439,"column":20},"end":{"line":439,"column":68}},"137":{"start":{"line":441,"column":20},"end":{"line":441,"column":50}},"138":{"start":{"line":443,"column":20},"end":{"line":445,"column":21}},"139":{"start":{"line":444,"column":24},"end":{"line":444,"column":48}},"140":{"start":{"line":448,"column":16},"end":{"line":448,"column":61}},"141":{"start":{"line":450,"column":16},"end":{"line":452,"column":17}},"142":{"start":{"line":451,"column":20},"end":{"line":451,"column":59}},"143":{"start":{"line":456,"column":12},"end":{"line":460,"column":13}},"144":{"start":{"line":457,"column":16},"end":{"line":457,"column":30}},"145":{"start":{"line":458,"column":19},"end":{"line":460,"column":13}},"146":{"start":{"line":459,"column":16},"end":{"line":459,"column":65}},"147":{"start":{"line":463,"column":8},"end":{"line":463,"column":33}},"148":{"start":{"line":465,"column":8},"end":{"line":465,"column":28}},"149":{"start":{"line":474,"column":4},"end":{"line":518,"column":6}},"150":{"start":{"line":475,"column":8},"end":{"line":476,"column":24}},"151":{"start":{"line":478,"column":8},"end":{"line":478,"column":74}},"152":{"start":{"line":479,"column":8},"end":{"line":479,"column":23}},"153":{"start":{"line":481,"column":8},"end":{"line":484,"column":11}},"154":{"start":{"line":486,"column":8},"end":{"line":486,"column":35}},"155":{"start":{"line":488,"column":8},"end":{"line":498,"column":9}},"156":{"start":{"line":489,"column":12},"end":{"line":489,"column":46}},"157":{"start":{"line":491,"column":12},"end":{"line":497,"column":21}},"158":{"start":{"line":493,"column":20},"end":{"line":493,"column":100}},"159":{"start":{"line":494,"column":20},"end":{"line":494,"column":65}},"160":{"start":{"line":500,"column":8},"end":{"line":516,"column":9}},"161":{"start":{"line":501,"column":12},"end":{"line":509,"column":15}},"162":{"start":{"line":502,"column":16},"end":{"line":502,"column":64}},"163":{"start":{"line":504,"column":16},"end":{"line":504,"column":46}},"164":{"start":{"line":506,"column":16},"end":{"line":508,"column":17}},"165":{"start":{"line":507,"column":20},"end":{"line":507,"column":44}},"166":{"start":{"line":511,"column":12},"end":{"line":511,"column":57}},"167":{"start":{"line":513,"column":12},"end":{"line":515,"column":13}},"168":{"start":{"line":514,"column":16},"end":{"line":514,"column":55}},"169":{"start":{"line":517,"column":8},"end":{"line":517,"column":33}},"170":{"start":{"line":520,"column":4},"end":{"line":522,"column":6}},"171":{"start":{"line":521,"column":8},"end":{"line":521,"column":34}},"172":{"start":{"line":531,"column":4},"end":{"line":555,"column":6}},"173":{"start":{"line":533,"column":8},"end":{"line":534,"column":19}},"174":{"start":{"line":536,"column":8},"end":{"line":554,"column":9}},"175":{"start":{"line":537,"column":12},"end":{"line":537,"column":33}},"176":{"start":{"line":539,"column":12},"end":{"line":539,"column":40}},"177":{"start":{"line":542,"column":12},"end":{"line":542,"column":28}},"178":{"start":{"line":544,"column":12},"end":{"line":544,"column":58}},"179":{"start":{"line":545,"column":12},"end":{"line":545,"column":85}},"180":{"start":{"line":547,"column":12},"end":{"line":553,"column":19}},"181":{"start":{"line":548,"column":16},"end":{"line":548,"column":34}},"182":{"start":{"line":550,"column":16},"end":{"line":552,"column":17}},"183":{"start":{"line":551,"column":20},"end":{"line":551,"column":100}},"184":{"start":{"line":564,"column":4},"end":{"line":585,"column":6}},"185":{"start":{"line":566,"column":8},"end":{"line":567,"column":66}},"186":{"start":{"line":569,"column":8},"end":{"line":574,"column":9}},"187":{"start":{"line":570,"column":12},"end":{"line":570,"column":70}},"188":{"start":{"line":571,"column":12},"end":{"line":571,"column":88}},"189":{"start":{"line":572,"column":12},"end":{"line":572,"column":42}},"190":{"start":{"line":573,"column":12},"end":{"line":573,"column":19}},"191":{"start":{"line":576,"column":8},"end":{"line":576,"column":57}},"192":{"start":{"line":577,"column":8},"end":{"line":577,"column":84}},"193":{"start":{"line":579,"column":8},"end":{"line":583,"column":9}},"194":{"start":{"line":580,"column":12},"end":{"line":580,"column":73}},"195":{"start":{"line":581,"column":15},"end":{"line":583,"column":9}},"196":{"start":{"line":582,"column":12},"end":{"line":582,"column":39}},"197":{"start":{"line":584,"column":8},"end":{"line":584,"column":34}},"198":{"start":{"line":594,"column":4},"end":{"line":662,"column":6}},"199":{"start":{"line":596,"column":8},"end":{"line":598,"column":107}},"200":{"start":{"line":600,"column":8},"end":{"line":661,"column":9}},"201":{"start":{"line":601,"column":12},"end":{"line":603,"column":13}},"202":{"start":{"line":602,"column":16},"end":{"line":602,"column":44}},"203":{"start":{"line":606,"column":12},"end":{"line":606,"column":46}},"204":{"start":{"line":607,"column":12},"end":{"line":632,"column":13}},"205":{"start":{"line":608,"column":16},"end":{"line":608,"column":48}},"206":{"start":{"line":609,"column":16},"end":{"line":609,"column":56}},"207":{"start":{"line":610,"column":16},"end":{"line":610,"column":120}},"208":{"start":{"line":611,"column":16},"end":{"line":611,"column":85}},"209":{"start":{"line":614,"column":16},"end":{"line":619,"column":17}},"210":{"start":{"line":615,"column":20},"end":{"line":615,"column":47}},"211":{"start":{"line":617,"column":23},"end":{"line":619,"column":17}},"212":{"start":{"line":618,"column":20},"end":{"line":618,"column":47}},"213":{"start":{"line":621,"column":16},"end":{"line":623,"column":17}},"214":{"start":{"line":622,"column":20},"end":{"line":622,"column":54}},"215":{"start":{"line":626,"column":16},"end":{"line":626,"column":81}},"216":{"start":{"line":627,"column":16},"end":{"line":631,"column":17}},"217":{"start":{"line":628,"column":20},"end":{"line":630,"column":23}},"218":{"start":{"line":629,"column":24},"end":{"line":629,"column":45}},"219":{"start":{"line":634,"column":12},"end":{"line":660,"column":13}},"220":{"start":{"line":635,"column":16},"end":{"line":649,"column":17}},"221":{"start":{"line":636,"column":20},"end":{"line":636,"column":70}},"222":{"start":{"line":638,"column":20},"end":{"line":638,"column":73}},"223":{"start":{"line":639,"column":20},"end":{"line":639,"column":57}},"224":{"start":{"line":641,"column":20},"end":{"line":648,"column":21}},"225":{"start":{"line":642,"column":24},"end":{"line":642,"column":48}},"226":{"start":{"line":643,"column":24},"end":{"line":646,"column":25}},"227":{"start":{"line":644,"column":28},"end":{"line":644,"column":104}},"228":{"start":{"line":645,"column":28},"end":{"line":645,"column":51}},"229":{"start":{"line":647,"column":24},"end":{"line":647,"column":41}},"230":{"start":{"line":652,"column":16},"end":{"line":652,"column":39}},"231":{"start":{"line":653,"column":16},"end":{"line":656,"column":17}},"232":{"start":{"line":654,"column":20},"end":{"line":654,"column":39}},"233":{"start":{"line":655,"column":20},"end":{"line":655,"column":48}},"234":{"start":{"line":658,"column":16},"end":{"line":658,"column":92}},"235":{"start":{"line":659,"column":16},"end":{"line":659,"column":41}},"236":{"start":{"line":672,"column":4},"end":{"line":687,"column":6}},"237":{"start":{"line":674,"column":8},"end":{"line":686,"column":9}},"238":{"start":{"line":676,"column":12},"end":{"line":685,"column":13}},"239":{"start":{"line":677,"column":16},"end":{"line":677,"column":53}},"240":{"start":{"line":680,"column":16},"end":{"line":684,"column":52}},"241":{"start":{"line":695,"column":4},"end":{"line":726,"column":6}},"242":{"start":{"line":696,"column":8},"end":{"line":701,"column":32}},"243":{"start":{"line":703,"column":8},"end":{"line":706,"column":19}},"244":{"start":{"line":708,"column":8},"end":{"line":708,"column":54}},"245":{"start":{"line":709,"column":8},"end":{"line":709,"column":56}},"246":{"start":{"line":711,"column":8},"end":{"line":716,"column":11}},"247":{"start":{"line":712,"column":12},"end":{"line":715,"column":13}},"248":{"start":{"line":713,"column":16},"end":{"line":713,"column":64}},"249":{"start":{"line":714,"column":16},"end":{"line":714,"column":30}},"250":{"start":{"line":718,"column":8},"end":{"line":720,"column":9}},"251":{"start":{"line":719,"column":12},"end":{"line":719,"column":84}},"252":{"start":{"line":722,"column":8},"end":{"line":722,"column":34}},"253":{"start":{"line":724,"column":8},"end":{"line":724,"column":26}},"254":{"start":{"line":725,"column":8},"end":{"line":725,"column":27}},"255":{"start":{"line":728,"column":4},"end":{"line":733,"column":6}},"256":{"start":{"line":729,"column":8},"end":{"line":732,"column":25}},"257":{"start":{"line":730,"column":12},"end":{"line":730,"column":38}},"258":{"start":{"line":731,"column":12},"end":{"line":731,"column":38}},"259":{"start":{"line":735,"column":4},"end":{"line":781,"column":6}},"260":{"start":{"line":736,"column":8},"end":{"line":743,"column":26}},"261":{"start":{"line":745,"column":8},"end":{"line":760,"column":9}},"262":{"start":{"line":746,"column":12},"end":{"line":746,"column":51}},"263":{"start":{"line":747,"column":12},"end":{"line":747,"column":90}},"264":{"start":{"line":749,"column":12},"end":{"line":753,"column":13}},"265":{"start":{"line":750,"column":16},"end":{"line":750,"column":92}},"266":{"start":{"line":751,"column":16},"end":{"line":751,"column":64}},"267":{"start":{"line":752,"column":16},"end":{"line":752,"column":62}},"268":{"start":{"line":755,"column":12},"end":{"line":757,"column":13}},"269":{"start":{"line":756,"column":16},"end":{"line":756,"column":67}},"270":{"start":{"line":759,"column":12},"end":{"line":759,"column":36}},"271":{"start":{"line":762,"column":8},"end":{"line":780,"column":9}},"272":{"start":{"line":763,"column":12},"end":{"line":765,"column":13}},"273":{"start":{"line":764,"column":16},"end":{"line":764,"column":77}},"274":{"start":{"line":767,"column":12},"end":{"line":767,"column":79}},"275":{"start":{"line":768,"column":12},"end":{"line":768,"column":93}},"276":{"start":{"line":770,"column":12},"end":{"line":773,"column":13}},"277":{"start":{"line":771,"column":16},"end":{"line":771,"column":92}},"278":{"start":{"line":772,"column":16},"end":{"line":772,"column":64}},"279":{"start":{"line":775,"column":12},"end":{"line":777,"column":13}},"280":{"start":{"line":776,"column":16},"end":{"line":776,"column":33}},"281":{"start":{"line":779,"column":12},"end":{"line":779,"column":35}},"282":{"start":{"line":790,"column":4},"end":{"line":828,"column":6}},"283":{"start":{"line":791,"column":8},"end":{"line":792,"column":40}},"284":{"start":{"line":794,"column":8},"end":{"line":796,"column":9}},"285":{"start":{"line":795,"column":12},"end":{"line":795,"column":19}},"286":{"start":{"line":798,"column":8},"end":{"line":798,"column":89}},"287":{"start":{"line":799,"column":8},"end":{"line":799,"column":36}},"288":{"start":{"line":800,"column":8},"end":{"line":800,"column":32}},"289":{"start":{"line":801,"column":8},"end":{"line":801,"column":30}},"290":{"start":{"line":802,"column":8},"end":{"line":802,"column":52}},"291":{"start":{"line":804,"column":8},"end":{"line":804,"column":56}},"292":{"start":{"line":805,"column":8},"end":{"line":805,"column":103}},"293":{"start":{"line":807,"column":8},"end":{"line":823,"column":11}},"294":{"start":{"line":808,"column":12},"end":{"line":808,"column":77}},"295":{"start":{"line":810,"column":12},"end":{"line":822,"column":13}},"296":{"start":{"line":811,"column":16},"end":{"line":811,"column":39}},"297":{"start":{"line":813,"column":16},"end":{"line":815,"column":17}},"298":{"start":{"line":814,"column":20},"end":{"line":814,"column":74}},"299":{"start":{"line":817,"column":16},"end":{"line":817,"column":42}},"300":{"start":{"line":819,"column":16},"end":{"line":821,"column":17}},"301":{"start":{"line":820,"column":20},"end":{"line":820,"column":76}},"302":{"start":{"line":825,"column":8},"end":{"line":825,"column":32}},"303":{"start":{"line":827,"column":8},"end":{"line":827,"column":33}},"304":{"start":{"line":837,"column":4},"end":{"line":854,"column":6}},"305":{"start":{"line":838,"column":8},"end":{"line":838,"column":30}},"306":{"start":{"line":840,"column":8},"end":{"line":842,"column":9}},"307":{"start":{"line":841,"column":12},"end":{"line":841,"column":19}},"308":{"start":{"line":844,"column":8},"end":{"line":844,"column":89}},"309":{"start":{"line":845,"column":8},"end":{"line":845,"column":72}},"310":{"start":{"line":847,"column":8},"end":{"line":849,"column":9}},"311":{"start":{"line":848,"column":12},"end":{"line":848,"column":67}},"312":{"start":{"line":851,"column":8},"end":{"line":851,"column":32}},"313":{"start":{"line":853,"column":8},"end":{"line":853,"column":33}},"314":{"start":{"line":862,"column":4},"end":{"line":864,"column":6}},"315":{"start":{"line":863,"column":8},"end":{"line":863,"column":46}},"316":{"start":{"line":868,"column":4},"end":{"line":874,"column":6}},"317":{"start":{"line":869,"column":8},"end":{"line":873,"column":11}},"318":{"start":{"line":870,"column":12},"end":{"line":872,"column":13}},"319":{"start":{"line":871,"column":16},"end":{"line":871,"column":92}}},"branchMap":{"1":{"line":108,"type":"if","locations":[{"start":{"line":108,"column":8},"end":{"line":108,"column":8}},{"start":{"line":108,"column":8},"end":{"line":108,"column":8}}]},"2":{"line":108,"type":"binary-expr","locations":[{"start":{"line":108,"column":12},"end":{"line":108,"column":32}},{"start":{"line":108,"column":36},"end":{"line":108,"column":54}}]},"3":{"line":113,"type":"if","locations":[{"start":{"line":113,"column":8},"end":{"line":113,"column":8}},{"start":{"line":113,"column":8},"end":{"line":113,"column":8}}]},"4":{"line":202,"type":"if","locations":[{"start":{"line":202,"column":8},"end":{"line":202,"column":8}},{"start":{"line":202,"column":8},"end":{"line":202,"column":8}}]},"5":{"line":223,"type":"if","locations":[{"start":{"line":223,"column":12},"end":{"line":223,"column":12}},{"start":{"line":223,"column":12},"end":{"line":223,"column":12}}]},"6":{"line":253,"type":"cond-expr","locations":[{"start":{"line":253,"column":31},"end":{"line":253,"column":44}},{"start":{"line":253,"column":47},"end":{"line":253,"column":49}}]},"7":{"line":258,"type":"if","locations":[{"start":{"line":258,"column":8},"end":{"line":258,"column":8}},{"start":{"line":258,"column":8},"end":{"line":258,"column":8}}]},"8":{"line":258,"type":"binary-expr","locations":[{"start":{"line":258,"column":12},"end":{"line":258,"column":27}},{"start":{"line":258,"column":31},"end":{"line":258,"column":63}}]},"9":{"line":260,"type":"if","locations":[{"start":{"line":260,"column":15},"end":{"line":260,"column":15}},{"start":{"line":260,"column":15},"end":{"line":260,"column":15}}]},"10":{"line":260,"type":"binary-expr","locations":[{"start":{"line":260,"column":19},"end":{"line":260,"column":30}},{"start":{"line":260,"column":34},"end":{"line":260,"column":57}}]},"11":{"line":264,"type":"if","locations":[{"start":{"line":264,"column":8},"end":{"line":264,"column":8}},{"start":{"line":264,"column":8},"end":{"line":264,"column":8}}]},"12":{"line":265,"type":"if","locations":[{"start":{"line":265,"column":12},"end":{"line":265,"column":12}},{"start":{"line":265,"column":12},"end":{"line":265,"column":12}}]},"13":{"line":265,"type":"binary-expr","locations":[{"start":{"line":265,"column":16},"end":{"line":265,"column":41}},{"start":{"line":265,"column":45},"end":{"line":265,"column":92}}]},"14":{"line":277,"type":"if","locations":[{"start":{"line":277,"column":8},"end":{"line":277,"column":8}},{"start":{"line":277,"column":8},"end":{"line":277,"column":8}}]},"15":{"line":280,"type":"if","locations":[{"start":{"line":280,"column":12},"end":{"line":280,"column":12}},{"start":{"line":280,"column":12},"end":{"line":280,"column":12}}]},"16":{"line":289,"type":"binary-expr","locations":[{"start":{"line":289,"column":12},"end":{"line":289,"column":19}},{"start":{"line":289,"column":23},"end":{"line":289,"column":66}}]},"17":{"line":292,"type":"binary-expr","locations":[{"start":{"line":292,"column":12},"end":{"line":292,"column":19}},{"start":{"line":292,"column":23},"end":{"line":292,"column":73}}]},"18":{"line":297,"type":"if","locations":[{"start":{"line":297,"column":8},"end":{"line":297,"column":8}},{"start":{"line":297,"column":8},"end":{"line":297,"column":8}}]},"19":{"line":297,"type":"binary-expr","locations":[{"start":{"line":297,"column":12},"end":{"line":297,"column":42}},{"start":{"line":297,"column":46},"end":{"line":297,"column":82}},{"start":{"line":297,"column":87},"end":{"line":297,"column":114}}]},"20":{"line":301,"type":"if","locations":[{"start":{"line":301,"column":8},"end":{"line":301,"column":8}},{"start":{"line":301,"column":8},"end":{"line":301,"column":8}}]},"21":{"line":301,"type":"binary-expr","locations":[{"start":{"line":301,"column":12},"end":{"line":301,"column":27}},{"start":{"line":301,"column":32},"end":{"line":301,"column":57}},{"start":{"line":301,"column":61},"end":{"line":301,"column":107}}]},"22":{"line":305,"type":"if","locations":[{"start":{"line":305,"column":16},"end":{"line":305,"column":16}},{"start":{"line":305,"column":16},"end":{"line":305,"column":16}}]},"23":{"line":334,"type":"if","locations":[{"start":{"line":334,"column":8},"end":{"line":334,"column":8}},{"start":{"line":334,"column":8},"end":{"line":334,"column":8}}]},"24":{"line":342,"type":"if","locations":[{"start":{"line":342,"column":12},"end":{"line":342,"column":12}},{"start":{"line":342,"column":12},"end":{"line":342,"column":12}}]},"25":{"line":361,"type":"if","locations":[{"start":{"line":361,"column":8},"end":{"line":361,"column":8}},{"start":{"line":361,"column":8},"end":{"line":361,"column":8}}]},"26":{"line":367,"type":"if","locations":[{"start":{"line":367,"column":12},"end":{"line":367,"column":12}},{"start":{"line":367,"column":12},"end":{"line":367,"column":12}}]},"27":{"line":383,"type":"if","locations":[{"start":{"line":383,"column":8},"end":{"line":383,"column":8}},{"start":{"line":383,"column":8},"end":{"line":383,"column":8}}]},"28":{"line":384,"type":"if","locations":[{"start":{"line":384,"column":12},"end":{"line":384,"column":12}},{"start":{"line":384,"column":12},"end":{"line":384,"column":12}}]},"29":{"line":414,"type":"if","locations":[{"start":{"line":414,"column":8},"end":{"line":414,"column":8}},{"start":{"line":414,"column":8},"end":{"line":414,"column":8}}]},"30":{"line":414,"type":"binary-expr","locations":[{"start":{"line":414,"column":12},"end":{"line":414,"column":32}},{"start":{"line":414,"column":36},"end":{"line":414,"column":48}}]},"31":{"line":416,"type":"cond-expr","locations":[{"start":{"line":416,"column":64},"end":{"line":416,"column":71}},{"start":{"line":416,"column":73},"end":{"line":416,"column":92}}]},"32":{"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}}]},"33":{"line":431,"type":"cond-expr","locations":[{"start":{"line":431,"column":46},"end":{"line":431,"column":53}},{"start":{"line":431,"column":56},"end":{"line":431,"column":59}}]},"34":{"line":437,"type":"if","locations":[{"start":{"line":437,"column":12},"end":{"line":437,"column":12}},{"start":{"line":437,"column":12},"end":{"line":437,"column":12}}]},"35":{"line":437,"type":"binary-expr","locations":[{"start":{"line":437,"column":16},"end":{"line":437,"column":37}},{"start":{"line":437,"column":41},"end":{"line":437,"column":94}}]},"36":{"line":443,"type":"if","locations":[{"start":{"line":443,"column":20},"end":{"line":443,"column":20}},{"start":{"line":443,"column":20},"end":{"line":443,"column":20}}]},"37":{"line":450,"type":"if","locations":[{"start":{"line":450,"column":16},"end":{"line":450,"column":16}},{"start":{"line":450,"column":16},"end":{"line":450,"column":16}}]},"38":{"line":456,"type":"if","locations":[{"start":{"line":456,"column":12},"end":{"line":456,"column":12}},{"start":{"line":456,"column":12},"end":{"line":456,"column":12}}]},"39":{"line":458,"type":"if","locations":[{"start":{"line":458,"column":19},"end":{"line":458,"column":19}},{"start":{"line":458,"column":19},"end":{"line":458,"column":19}}]},"40":{"line":475,"type":"cond-expr","locations":[{"start":{"line":475,"column":68},"end":{"line":475,"column":106}},{"start":{"line":475,"column":109},"end":{"line":475,"column":154}}]},"41":{"line":482,"type":"cond-expr","locations":[{"start":{"line":482,"column":42},"end":{"line":482,"column":49}},{"start":{"line":482,"column":52},"end":{"line":482,"column":55}}]},"42":{"line":488,"type":"if","locations":[{"start":{"line":488,"column":8},"end":{"line":488,"column":8}},{"start":{"line":488,"column":8},"end":{"line":488,"column":8}}]},"43":{"line":488,"type":"binary-expr","locations":[{"start":{"line":488,"column":12},"end":{"line":488,"column":35}},{"start":{"line":488,"column":39},"end":{"line":488,"column":60}}]},"44":{"line":491,"type":"cond-expr","locations":[{"start":{"line":492,"column":16},"end":{"line":495,"column":20}},{"start":{"line":497,"column":16},"end":{"line":497,"column":20}}]},"45":{"line":500,"type":"if","locations":[{"start":{"line":500,"column":8},"end":{"line":500,"column":8}},{"start":{"line":500,"column":8},"end":{"line":500,"column":8}}]},"46":{"line":500,"type":"binary-expr","locations":[{"start":{"line":500,"column":12},"end":{"line":500,"column":33}},{"start":{"line":500,"column":37},"end":{"line":500,"column":90}}]},"47":{"line":506,"type":"if","locations":[{"start":{"line":506,"column":16},"end":{"line":506,"column":16}},{"start":{"line":506,"column":16},"end":{"line":506,"column":16}}]},"48":{"line":513,"type":"if","locations":[{"start":{"line":513,"column":12},"end":{"line":513,"column":12}},{"start":{"line":513,"column":12},"end":{"line":513,"column":12}}]},"49":{"line":536,"type":"if","locations":[{"start":{"line":536,"column":8},"end":{"line":536,"column":8}},{"start":{"line":536,"column":8},"end":{"line":536,"column":8}}]},"50":{"line":550,"type":"if","locations":[{"start":{"line":550,"column":16},"end":{"line":550,"column":16}},{"start":{"line":550,"column":16},"end":{"line":550,"column":16}}]},"51":{"line":569,"type":"if","locations":[{"start":{"line":569,"column":8},"end":{"line":569,"column":8}},{"start":{"line":569,"column":8},"end":{"line":569,"column":8}}]},"52":{"line":569,"type":"binary-expr","locations":[{"start":{"line":569,"column":12},"end":{"line":569,"column":25}},{"start":{"line":569,"column":29},"end":{"line":569,"column":71}}]},"53":{"line":579,"type":"if","locations":[{"start":{"line":579,"column":8},"end":{"line":579,"column":8}},{"start":{"line":579,"column":8},"end":{"line":579,"column":8}}]},"54":{"line":581,"type":"if","locations":[{"start":{"line":581,"column":15},"end":{"line":581,"column":15}},{"start":{"line":581,"column":15},"end":{"line":581,"column":15}}]},"55":{"line":600,"type":"if","locations":[{"start":{"line":600,"column":8},"end":{"line":600,"column":8}},{"start":{"line":600,"column":8},"end":{"line":600,"column":8}}]},"56":{"line":600,"type":"binary-expr","locations":[{"start":{"line":600,"column":12},"end":{"line":600,"column":25}},{"start":{"line":600,"column":29},"end":{"line":600,"column":43}}]},"57":{"line":601,"type":"if","locations":[{"start":{"line":601,"column":12},"end":{"line":601,"column":12}},{"start":{"line":601,"column":12},"end":{"line":601,"column":12}}]},"58":{"line":607,"type":"if","locations":[{"start":{"line":607,"column":12},"end":{"line":607,"column":12}},{"start":{"line":607,"column":12},"end":{"line":607,"column":12}}]},"59":{"line":607,"type":"binary-expr","locations":[{"start":{"line":607,"column":16},"end":{"line":607,"column":25}},{"start":{"line":607,"column":29},"end":{"line":607,"column":49}}]},"60":{"line":610,"type":"cond-expr","locations":[{"start":{"line":610,"column":87},"end":{"line":610,"column":106}},{"start":{"line":610,"column":109},"end":{"line":610,"column":119}}]},"61":{"line":610,"type":"binary-expr","locations":[{"start":{"line":610,"column":27},"end":{"line":610,"column":55}},{"start":{"line":610,"column":59},"end":{"line":610,"column":84}}]},"62":{"line":614,"type":"if","locations":[{"start":{"line":614,"column":16},"end":{"line":614,"column":16}},{"start":{"line":614,"column":16},"end":{"line":614,"column":16}}]},"63":{"line":614,"type":"binary-expr","locations":[{"start":{"line":614,"column":20},"end":{"line":614,"column":33}},{"start":{"line":614,"column":37},"end":{"line":614,"column":56}}]},"64":{"line":617,"type":"if","locations":[{"start":{"line":617,"column":23},"end":{"line":617,"column":23}},{"start":{"line":617,"column":23},"end":{"line":617,"column":23}}]},"65":{"line":617,"type":"binary-expr","locations":[{"start":{"line":617,"column":27},"end":{"line":617,"column":41}},{"start":{"line":617,"column":45},"end":{"line":617,"column":85}}]},"66":{"line":621,"type":"if","locations":[{"start":{"line":621,"column":16},"end":{"line":621,"column":16}},{"start":{"line":621,"column":16},"end":{"line":621,"column":16}}]},"67":{"line":621,"type":"binary-expr","locations":[{"start":{"line":621,"column":20},"end":{"line":621,"column":28}},{"start":{"line":621,"column":32},"end":{"line":621,"column":73}}]},"68":{"line":627,"type":"if","locations":[{"start":{"line":627,"column":16},"end":{"line":627,"column":16}},{"start":{"line":627,"column":16},"end":{"line":627,"column":16}}]},"69":{"line":634,"type":"if","locations":[{"start":{"line":634,"column":12},"end":{"line":634,"column":12}},{"start":{"line":634,"column":12},"end":{"line":634,"column":12}}]},"70":{"line":641,"type":"if","locations":[{"start":{"line":641,"column":20},"end":{"line":641,"column":20}},{"start":{"line":641,"column":20},"end":{"line":641,"column":20}}]},"71":{"line":643,"type":"if","locations":[{"start":{"line":643,"column":24},"end":{"line":643,"column":24}},{"start":{"line":643,"column":24},"end":{"line":643,"column":24}}]},"72":{"line":643,"type":"binary-expr","locations":[{"start":{"line":643,"column":28},"end":{"line":643,"column":52}},{"start":{"line":643,"column":56},"end":{"line":643,"column":76}}]},"73":{"line":653,"type":"if","locations":[{"start":{"line":653,"column":16},"end":{"line":653,"column":16}},{"start":{"line":653,"column":16},"end":{"line":653,"column":16}}]},"74":{"line":653,"type":"binary-expr","locations":[{"start":{"line":653,"column":20},"end":{"line":653,"column":33}},{"start":{"line":653,"column":37},"end":{"line":653,"column":43}}]},"75":{"line":674,"type":"if","locations":[{"start":{"line":674,"column":8},"end":{"line":674,"column":8}},{"start":{"line":674,"column":8},"end":{"line":674,"column":8}}]},"76":{"line":676,"type":"if","locations":[{"start":{"line":676,"column":12},"end":{"line":676,"column":12}},{"start":{"line":676,"column":12},"end":{"line":676,"column":12}}]},"77":{"line":682,"type":"binary-expr","locations":[{"start":{"line":682,"column":26},"end":{"line":682,"column":51}},{"start":{"line":682,"column":55},"end":{"line":682,"column":61}}]},"78":{"line":700,"type":"binary-expr","locations":[{"start":{"line":700,"column":31},"end":{"line":700,"column":69}},{"start":{"line":700,"column":73},"end":{"line":700,"column":79}}]},"79":{"line":712,"type":"if","locations":[{"start":{"line":712,"column":12},"end":{"line":712,"column":12}},{"start":{"line":712,"column":12},"end":{"line":712,"column":12}}]},"80":{"line":718,"type":"if","locations":[{"start":{"line":718,"column":8},"end":{"line":718,"column":8}},{"start":{"line":718,"column":8},"end":{"line":718,"column":8}}]},"81":{"line":741,"type":"cond-expr","locations":[{"start":{"line":741,"column":68},"end":{"line":741,"column":109}},{"start":{"line":741,"column":112},"end":{"line":741,"column":116}}]},"82":{"line":745,"type":"if","locations":[{"start":{"line":745,"column":8},"end":{"line":745,"column":8}},{"start":{"line":745,"column":8},"end":{"line":745,"column":8}}]},"83":{"line":749,"type":"if","locations":[{"start":{"line":749,"column":12},"end":{"line":749,"column":12}},{"start":{"line":749,"column":12},"end":{"line":749,"column":12}}]},"84":{"line":755,"type":"if","locations":[{"start":{"line":755,"column":12},"end":{"line":755,"column":12}},{"start":{"line":755,"column":12},"end":{"line":755,"column":12}}]},"85":{"line":762,"type":"if","locations":[{"start":{"line":762,"column":8},"end":{"line":762,"column":8}},{"start":{"line":762,"column":8},"end":{"line":762,"column":8}}]},"86":{"line":763,"type":"if","locations":[{"start":{"line":763,"column":12},"end":{"line":763,"column":12}},{"start":{"line":763,"column":12},"end":{"line":763,"column":12}}]},"87":{"line":770,"type":"if","locations":[{"start":{"line":770,"column":12},"end":{"line":770,"column":12}},{"start":{"line":770,"column":12},"end":{"line":770,"column":12}}]},"88":{"line":775,"type":"if","locations":[{"start":{"line":775,"column":12},"end":{"line":775,"column":12}},{"start":{"line":775,"column":12},"end":{"line":775,"column":12}}]},"89":{"line":794,"type":"if","locations":[{"start":{"line":794,"column":8},"end":{"line":794,"column":8}},{"start":{"line":794,"column":8},"end":{"line":794,"column":8}}]},"90":{"line":798,"type":"cond-expr","locations":[{"start":{"line":798,"column":45},"end":{"line":798,"column":56}},{"start":{"line":798,"column":59},"end":{"line":798,"column":88}}]},"91":{"line":810,"type":"if","locations":[{"start":{"line":810,"column":12},"end":{"line":810,"column":12}},{"start":{"line":810,"column":12},"end":{"line":810,"column":12}}]},"92":{"line":813,"type":"if","locations":[{"start":{"line":813,"column":16},"end":{"line":813,"column":16}},{"start":{"line":813,"column":16},"end":{"line":813,"column":16}}]},"93":{"line":819,"type":"if","locations":[{"start":{"line":819,"column":16},"end":{"line":819,"column":16}},{"start":{"line":819,"column":16},"end":{"line":819,"column":16}}]},"94":{"line":840,"type":"if","locations":[{"start":{"line":840,"column":8},"end":{"line":840,"column":8}},{"start":{"line":840,"column":8},"end":{"line":840,"column":8}}]},"95":{"line":844,"type":"cond-expr","locations":[{"start":{"line":844,"column":45},"end":{"line":844,"column":56}},{"start":{"line":844,"column":59},"end":{"line":844,"column":88}}]},"96":{"line":847,"type":"if","locations":[{"start":{"line":847,"column":8},"end":{"line":847,"column":8}},{"start":{"line":847,"column":8},"end":{"line":847,"column":8}}]},"97":{"line":870,"type":"if","locations":[{"start":{"line":870,"column":12},"end":{"line":870,"column":12}},{"start":{"line":870,"column":12},"end":{"line":870,"column":12}}]}}}; +} +__cov_r4OX6HxgP_4TVnaxVsgN2A = __cov_r4OX6HxgP_4TVnaxVsgN2A['assests/js/lib/embed/images.js']; +;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['1']++;(function($,window,document,Util,undefined){'use strict';__cov_r4OX6HxgP_4TVnaxVsgN2A.f['1']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['2']++;var pluginName='mediumInsert',addonName='Images',defaults={label:'',preview:true,captions:true,captionPlaceholder:'Type caption for image (optional)',autoGrid:3,fileUploadOptions:{url:null,type:'POST',acceptFileTypes:/(\.|\/)(gif|jpe?g|png)$/i,sequentialUploads:true},fileDeleteOptions:{},styles:{wide:{label:''},left:{label:''},right:{label:''},grid:{label:''}},actions:{remove:{label:'',clicked:function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['2']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['3']++;var $event=$.Event('keydown');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['4']++;$event.which=8;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['5']++;$(document).trigger($event);}}},sorting:function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['3']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['6']++;var that=this;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['7']++;$('.medium-insert-images').sortable({group:'medium-insert-images',containerSelector:'.medium-insert-images',itemSelector:'figure',placeholder:'
',handle:'img',nested:false,vertical:false,afterMove:function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['4']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['8']++;that.core.triggerInput();}});},messages:{acceptFileTypesError:'This file is not in a supported format: ',maxFileSizeError:'This file is too big: '}};function ucfirst(str){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['5']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['10']++;return str.charAt(0).toUpperCase()+str.slice(1);}function Images(el,options){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['6']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['12']++;this.el=el;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['13']++;this.$el=$(el);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['14']++;this.$currentImage=null;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['15']++;this.templates=window.MediumInsert.Templates;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['16']++;this.core=this.$el.data('plugin_'+pluginName);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['17']++;this.options=$.extend(true,{},defaults,options);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['18']++;this._defaults=defaults;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['19']++;this._name=pluginName;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['20']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['2'][0]++,this.options.preview)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['2'][1]++,!window.FileReader)){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['1'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['21']++;this.options.preview=false;}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['1'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['22']++;if(this.core.getEditor()){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['3'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['23']++;this.core.getEditor()._serializePreImages=this.core.getEditor().serialize;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['24']++;this.core.getEditor().serialize=this.editorSerialize;}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['3'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['25']++;this.init();}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['26']++;Images.prototype.init=function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['7']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['27']++;var $images=this.$el.find('.medium-insert-images');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['28']++;$images.find('figcaption').attr('contenteditable',true);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['29']++;$images.find('figure').attr('contenteditable',false);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['30']++;this.events();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['31']++;this.backwardsCompatibility();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['32']++;this.sorting();};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['33']++;Images.prototype.events=function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['8']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['34']++;$(document).on('click',$.proxy(this,'unselectImage')).on('keydown',$.proxy(this,'removeImage')).on('click','.medium-insert-images-toolbar .medium-editor-action',$.proxy(this,'toolbarAction')).on('click','.medium-insert-images-toolbar2 .medium-editor-action',$.proxy(this,'toolbar2Action'));__cov_r4OX6HxgP_4TVnaxVsgN2A.s['35']++;this.$el.on('click','.medium-insert-images img',$.proxy(this,'selectImage'));__cov_r4OX6HxgP_4TVnaxVsgN2A.s['36']++;$(window).on('resize',$.proxy(this,'autoRepositionToolbars'));};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['37']++;Images.prototype.backwardsCompatibility=function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['9']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['38']++;this.$el.find('.mediumInsert').removeClass('mediumInsert').addClass('medium-insert-images');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['39']++;this.$el.find('.medium-insert-images.small').removeClass('small').addClass('medium-insert-images-left');};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['40']++;Images.prototype.editorSerialize=function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['10']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['41']++;var data=this._serializePreImages();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['42']++;$.each(data,function(key){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['11']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['43']++;var $data=$('
').html(data[key].value);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['44']++;$data.find('.medium-insert-images').find('figcaption, figure').removeAttr('contenteditable');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['45']++;$data.find('.medium-insert-images-progress').remove();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['46']++;data[key].value=$data.html();});__cov_r4OX6HxgP_4TVnaxVsgN2A.s['47']++;return data;};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['48']++;Images.prototype.add=function(mediaData){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['12']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['49']++;if(mediaData){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['4'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['50']++;var that=this,$file=$('input:file'),fileUploadOptions={dataType:'json',replaceFileInput:true,drop:function(e,data){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['13']++;},add:function(e,data){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['14']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['51']++;$.proxy(that,'uploadAdd',e,data)();},done:function(e,data){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['15']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['52']++;$.proxy(that,'uploadDone',e,data)();}};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['53']++;if(new XMLHttpRequest().upload){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['5'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['54']++;fileUploadOptions.progress=function(e,data){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['16']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['55']++;$.proxy(that,'uploadProgress',e,data)();};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['56']++;fileUploadOptions.progressall=function(e,data){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['17']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['57']++;$.proxy(that,'uploadProgressall',e,data)();};}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['5'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['58']++;$file.fileupload($.extend(true,{},this.options.fileUploadOptions,fileUploadOptions));}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['4'][1]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['59']++;var $file=$('input:file');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['60']++;$file.click();}};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['61']++;Images.prototype.uploadAdd=function(e,data){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['18']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['62']++;var $place=this.$el.find('.medium-insert-active'),that=this,uploadErrors=[],file=data.files?(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['6'][0]++,data.files[0]):(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['6'][1]++,''),acceptFileTypes=this.options.fileUploadOptions.acceptFileTypes,maxFileSize=this.options.fileUploadOptions.maxFileSize,reader;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['63']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['8'][0]++,acceptFileTypes)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['8'][1]++,!acceptFileTypes.test(file.type))){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['7'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['64']++;uploadErrors.push(this.options.messages.acceptFileTypesError+file.name);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['7'][1]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['65']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['10'][0]++,maxFileSize)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['10'][1]++,file.size>maxFileSize)){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['9'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['66']++;uploadErrors.push(this.options.messages.maxFileSizeError+file.name);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['9'][1]++;}}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['67']++;if(uploadErrors.length>0){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['11'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['68']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['13'][0]++,this.options.uploadFailed)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['13'][1]++,typeof this.options.uploadFailed==='function')){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['12'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['69']++;this.options.uploadFailed(uploadErrors,data);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['70']++;return;}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['12'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['71']++;alert(uploadErrors.join('\n'));__cov_r4OX6HxgP_4TVnaxVsgN2A.s['72']++;return;}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['11'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['73']++;this.core.hideButtons();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['74']++;if($place.is('p')){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['14'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['75']++;$place.replaceWith('
'+$place.html()+'
');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['76']++;$place=this.$el.find('.medium-insert-active');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['77']++;if($place.next().is('p')){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['15'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['78']++;this.core.moveCaret($place.next());}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['15'][1]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['79']++;$place.after('


');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['80']++;this.core.moveCaret($place.next());}}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['14'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['81']++;this.$el.find('.medium-insert-active').map(element=>{__cov_r4OX6HxgP_4TVnaxVsgN2A.s['82']++;(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['16'][0]++,element)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['16'][1]++,element.removeClass('medium-insert-active'));});__cov_r4OX6HxgP_4TVnaxVsgN2A.s['83']++;this.$el.find('.medium-insert-embeds-active').map(element=>{__cov_r4OX6HxgP_4TVnaxVsgN2A.s['84']++;(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['17'][0]++,element)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['17'][1]++,element.removeClass('medium-insert-embeds-active'));});__cov_r4OX6HxgP_4TVnaxVsgN2A.s['85']++;$place.addClass('medium-insert-images medium-insert-active');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['86']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['19'][0]++,this.options.preview===false)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['19'][1]++,$place.find('progress').length===0)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['19'][2]++,new XMLHttpRequest().upload)){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['18'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['87']++;$place.append(this.templates['src/js/templates/images-progressbar.hbs']());}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['18'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['88']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['21'][0]++,data.autoUpload)||(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['21'][1]++,data.autoUpload!==false)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['21'][2]++,$(e.target).fileupload('option','autoUpload'))){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['20'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['89']++;data.process().done(function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['19']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['90']++;if(that.options.preview){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['22'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['91']++;reader=new FileReader();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['92']++;reader.onload=function(e){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['20']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['93']++;$.proxy(that,'showImage',e.target.result,data)();};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['94']++;reader.readAsDataURL(data.files[0]);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['22'][1]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['95']++;data.submit();}});}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['20'][1]++;}};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['96']++;Images.prototype.uploadProgressall=function(e,data){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['21']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['97']++;var progress,$progressbar;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['98']++;if(this.options.preview===false){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['23'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['99']++;progress=parseInt(data.loaded/data.total*100,10);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['100']++;$progressbar=this.$el.find('.medium-insert-active').find('progress');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['101']++;$progressbar.attr('value',progress).text(progress);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['102']++;if(progress===100){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['24'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['103']++;$progressbar.remove();}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['24'][1]++;}}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['23'][1]++;}};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['104']++;Images.prototype.uploadProgress=function(e,data){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['22']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['105']++;var progress,$progressbar;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['106']++;if(this.options.preview){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['25'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['107']++;progress=100-parseInt(data.loaded/data.total*100,10);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['108']++;$progressbar=data.context.find('.medium-insert-images-progress');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['109']++;$progressbar.css('width',progress+'%');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['110']++;if(progress===0){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['26'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['111']++;$progressbar.remove();}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['26'][1]++;}}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['25'][1]++;}};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['112']++;Images.prototype.uploadDone=function(e,data){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['23']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['113']++;if(data.result){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['27'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['114']++;if(data.result.type==='img'){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['28'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['115']++;$.proxy(this,'showImage',data.result,data)();}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['28'][1]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['116']++;this.$el.data('plugin_'+pluginName+ucfirst('embeds'))['oembed'](data.result.url);}}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['27'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['117']++;this.core.clean();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['118']++;this.sorting();};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['119']++;Images.prototype.showImage=function(img,data){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['24']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['120']++;var $place=this.$el.find('.medium-insert-active'),domImage,that;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['121']++;$place.click();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['122']++;that=this;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['123']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['30'][0]++,this.options.preview)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['30'][1]++,data.context)){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['29'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['124']++;domImage=this.getDOMImage();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['125']++;const fileUrl=img.url.match(/(http|https):\/\//)?(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['31'][0]++,img.url):(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['31'][1]++,`http://${img.url}`);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['126']++;domImage.onload=function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['25']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['127']++;data.context.find('img').attr('src',fileUrl);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['128']++;if(this.options.uploadCompleted){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['32'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['129']++;this.options.uploadCompleted(data.context,data);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['32'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['130']++;that.core.triggerInput();}.bind(this);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['131']++;domImage.src=fileUrl;}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['29'][1]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['132']++;data.context=$(this.templates['src/js/templates/images-image.hbs']({img:typeof img==='object'?(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['33'][0]++,img.url):(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['33'][1]++,img),progress:this.options.preview})).appendTo($place);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['133']++;$place.find('br').remove();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['134']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['35'][0]++,this.options.autoGrid)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['35'][1]++,$place.find('figure').length>=this.options.autoGrid)){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['34'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['135']++;$.each(this.options.styles,function(style,options){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['26']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['136']++;var className='medium-insert-images-'+style;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['137']++;$place.removeClass(className);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['138']++;if(options.removed){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['36'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['139']++;options.removed($place);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['36'][1]++;}});__cov_r4OX6HxgP_4TVnaxVsgN2A.s['140']++;$place.addClass('medium-insert-images-grid');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['141']++;if(this.options.styles.grid.added){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['37'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['142']++;this.options.styles.grid.added($place);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['37'][1]++;}}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['34'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['143']++;if(this.options.preview){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['38'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['144']++;data.submit();}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['38'][1]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['145']++;if(this.options.uploadCompleted){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['39'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['146']++;this.options.uploadCompleted(data.context,data);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['39'][1]++;}}}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['147']++;this.core.triggerInput();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['148']++;return data.context;};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['149']++;Images.prototype.showImageByURL=function(img){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['27']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['150']++;var $place=this.$el.find('.medium-insert-active').length?(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['40'][0]++,this.$el.find('.medium-insert-active')):(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['40'][1]++,this.$el.find('.medium-insert-embeds-active')),that=this;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['151']++;$place.attr('class','medium-insert-active medium-insert-images');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['152']++;$place.click();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['153']++;$place[0].innerHTML=this.templates['src/js/templates/images-image.hbs']({img:typeof img==='object'?(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['41'][0]++,img.url):(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['41'][1]++,img),progress:this.options.preview});__cov_r4OX6HxgP_4TVnaxVsgN2A.s['154']++;$place.find('br').remove();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['155']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['43'][0]++,typeof img==='object')&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['43'][1]++,that.options.captions)){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['42'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['156']++;const $image=$place.find('img');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['157']++;img.alt?(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['44'][0]++,(()=>{__cov_r4OX6HxgP_4TVnaxVsgN2A.s['158']++;that.core.addCaption($image.closest('figure'),that.options.captionPlaceholder);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['159']++;that.core.addCaptionContent($place,img.alt);})()):(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['44'][1]++,null);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['42'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['160']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['46'][0]++,this.options.autoGrid)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['46'][1]++,$place.find('figure').length>=this.options.autoGrid)){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['45'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['161']++;$.each(this.options.styles,function(style,options){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['28']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['162']++;var className='medium-insert-images-'+style;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['163']++;$place.removeClass(className);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['164']++;if(options.removed){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['47'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['165']++;options.removed($place);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['47'][1]++;}});__cov_r4OX6HxgP_4TVnaxVsgN2A.s['166']++;$place.addClass('medium-insert-images-grid');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['167']++;if(this.options.styles.grid.added){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['48'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['168']++;this.options.styles.grid.added($place);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['48'][1]++;}}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['45'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['169']++;this.core.triggerInput();};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['170']++;Images.prototype.getDOMImage=function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['29']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['171']++;return new window.Image();};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['172']++;Images.prototype.selectImage=function(e){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['30']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['173']++;var that=this,$image;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['174']++;if(this.core.options.enabled){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['49'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['175']++;$image=$(e.target);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['176']++;this.$currentImage=$image;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['177']++;this.$el.blur();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['178']++;$image.addClass('medium-insert-image-active');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['179']++;$image.closest('.medium-insert-images').addClass('medium-insert-active');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['180']++;setTimeout(function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['31']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['181']++;that.addToolbar();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['182']++;if(that.options.captions){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['50'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['183']++;that.core.addCaption($image.closest('figure'),that.options.captionPlaceholder);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['50'][1]++;}},50);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['49'][1]++;}};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['184']++;Images.prototype.unselectImage=function(e){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['32']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['185']++;var $el=$(e.target),$image=this.$el.find('.medium-insert-image-active');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['186']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['52'][0]++,$el.is('img'))&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['52'][1]++,$el.hasClass('medium-insert-image-active'))){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['51'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['187']++;$image.not($el).removeClass('medium-insert-image-active');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['188']++;$('.medium-insert-images-toolbar, .medium-insert-images-toolbar2').remove();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['189']++;this.core.removeCaptions($el);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['190']++;return;}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['51'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['191']++;$image.removeClass('medium-insert-image-active');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['192']++;$('.medium-insert-images-toolbar, .medium-insert-images-toolbar2').remove();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['193']++;if($el.is('.medium-insert-caption-placeholder')){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['53'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['194']++;this.core.removeCaptionPlaceholder($image.closest('figure'));}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['53'][1]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['195']++;if($el.is('figcaption')===false){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['54'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['196']++;this.core.removeCaptions();}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['54'][1]++;}}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['197']++;this.$currentImage=null;};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['198']++;Images.prototype.removeImage=function(e){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['33']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['199']++;var images=[],$selectedImage=this.$el.find('.medium-insert-image-active'),$parent,$empty,selection,range,current,caretPosition,$current,$sibling,selectedHtml,i;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['200']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['56'][0]++,e.which===8)||(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['56'][1]++,e.which===46)){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['55'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['201']++;if($selectedImage.length){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['57'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['202']++;images.push($selectedImage);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['57'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['203']++;selection=window.getSelection();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['204']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['59'][0]++,selection)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['59'][1]++,selection.rangeCount)){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['58'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['205']++;range=selection.getRangeAt(0);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['206']++;current=range.commonAncestorContainer;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['207']++;$current=(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['61'][0]++,current.nodeName==='#text')||(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['61'][1]++,current.nodeName==='BR')?(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['60'][0]++,$(current).parent()):(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['60'][1]++,$(current));__cov_r4OX6HxgP_4TVnaxVsgN2A.s['208']++;caretPosition=MediumEditor.selection.getCaretOffsets(current).left;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['209']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['63'][0]++,e.which===8)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['63'][1]++,caretPosition===0)){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['62'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['210']++;$sibling=$current.prev();}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['62'][1]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['211']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['65'][0]++,e.which===46)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['65'][1]++,caretPosition===$current.text().length)){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['64'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['212']++;$sibling=$current.next();}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['64'][1]++;}}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['213']++;if((__cov_r4OX6HxgP_4TVnaxVsgN2A.b['67'][0]++,$sibling)&&(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['67'][1]++,$sibling.hasClass('medium-insert-images'))){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['66'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['214']++;images.push($sibling.find('img'));}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['66'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['215']++;selectedHtml=MediumEditor.selection.getSelectionHtml(document);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['216']++;if(selectedHtml){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['68'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['217']++;$('
').html(selectedHtml).find('.medium-insert-images img').each(function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['34']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['218']++;images.push($(this));});}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['68'][1]++;}}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['58'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['219']++;if(images.length){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['69'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['220']++;for(i=0;i-1,elementsContainerBoundary=elementsContainerAbsolute?(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['81'][0]++,elementsContainer.getBoundingClientRect()):(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['81'][1]++,null),containerWidth=$(window).width(),position={};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['261']++;if($toolbar2.length){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['82'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['262']++;position.top=$image.offset().top+2;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['263']++;position.left=$image.offset().left+$image.width()-$toolbar2.width()-4;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['264']++;if(elementsContainerAbsolute){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['83'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['265']++;position.top+=elementsContainer.scrollTop-elementsContainerBoundary.top;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['266']++;position.left-=elementsContainerBoundary.left;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['267']++;containerWidth=$(elementsContainer).width();}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['83'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['268']++;if(position.left+$toolbar2.width()>containerWidth){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['84'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['269']++;position.left=containerWidth-$toolbar2.width();}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['84'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['270']++;$toolbar2.css(position);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['82'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['271']++;if($toolbar.length){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['85'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['272']++;if($image.closest('.medium-insert-images-grid-active').length){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['86'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['273']++;$image=$image.closest('.medium-insert-images-grid-active');}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['86'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['274']++;position.top=$image.offset().top-$toolbar.height()-8-2-5;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['275']++;position.left=$image.offset().left+$image.width()/2-$toolbar.width()/2;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['276']++;if(elementsContainerAbsolute){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['87'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['277']++;position.top+=elementsContainer.scrollTop-elementsContainerBoundary.top;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['278']++;position.left-=elementsContainerBoundary.left;}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['87'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['279']++;if(position.top<0){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['88'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['280']++;position.top=0;}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['88'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['281']++;$toolbar.css(position);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['85'][1]++;}};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['282']++;Images.prototype.toolbarAction=function(e){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['41']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['283']++;var that=this,$button,$li,$ul,$lis,$p;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['284']++;if(this.$currentImage===null){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['89'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['285']++;return;}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['89'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['286']++;$button=$(e.target).is('button')?(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['90'][0]++,$(e.target)):(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['90'][1]++,$(e.target).closest('button'));__cov_r4OX6HxgP_4TVnaxVsgN2A.s['287']++;$li=$button.closest('li');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['288']++;$ul=$li.closest('ul');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['289']++;$lis=$ul.find('li');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['290']++;$p=this.$el.find('.medium-insert-active');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['291']++;$button.addClass('medium-editor-button-active');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['292']++;$li.siblings().find('.medium-editor-button-active').removeClass('medium-editor-button-active');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['293']++;$lis.find('button').each(function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['42']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['294']++;var className='medium-insert-images-'+$(this).data('action');__cov_r4OX6HxgP_4TVnaxVsgN2A.s['295']++;if($(this).hasClass('medium-editor-button-active')){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['91'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['296']++;$p.addClass(className);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['297']++;if(that.options.styles[$(this).data('action')].added){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['92'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['298']++;that.options.styles[$(this).data('action')].added($p);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['92'][1]++;}}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['91'][1]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['299']++;$p.removeClass(className);__cov_r4OX6HxgP_4TVnaxVsgN2A.s['300']++;if(that.options.styles[$(this).data('action')].removed){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['93'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['301']++;that.options.styles[$(this).data('action')].removed($p);}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['93'][1]++;}}});__cov_r4OX6HxgP_4TVnaxVsgN2A.s['302']++;this.core.hideButtons();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['303']++;this.core.triggerInput();};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['304']++;Images.prototype.toolbar2Action=function(e){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['43']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['305']++;var $button,callback;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['306']++;if(this.$currentImage===null){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['94'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['307']++;return;}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['94'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['308']++;$button=$(e.target).is('button')?(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['95'][0]++,$(e.target)):(__cov_r4OX6HxgP_4TVnaxVsgN2A.b['95'][1]++,$(e.target).closest('button'));__cov_r4OX6HxgP_4TVnaxVsgN2A.s['309']++;callback=this.options.actions[$button.data('action')].clicked;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['310']++;if(callback){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['96'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['311']++;callback(this.$el.find('.medium-insert-image-active'));}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['96'][1]++;}__cov_r4OX6HxgP_4TVnaxVsgN2A.s['312']++;this.core.hideButtons();__cov_r4OX6HxgP_4TVnaxVsgN2A.s['313']++;this.core.triggerInput();};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['314']++;Images.prototype.sorting=function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['44']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['315']++;$.proxy(this.options.sorting,this)();};__cov_r4OX6HxgP_4TVnaxVsgN2A.s['316']++;$.fn[pluginName+addonName]=function(options){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['45']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['317']++;return this.each(function(){__cov_r4OX6HxgP_4TVnaxVsgN2A.f['46']++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['318']++;if(!$.data(this,'plugin_'+pluginName+addonName)){__cov_r4OX6HxgP_4TVnaxVsgN2A.b['97'][0]++;__cov_r4OX6HxgP_4TVnaxVsgN2A.s['319']++;$.data(this,'plugin_'+pluginName+addonName,new Images(this,options));}else{__cov_r4OX6HxgP_4TVnaxVsgN2A.b['97'][1]++;}});};}(jQuery,window,document,MediumEditor.util)); diff --git a/.grunt/grunt-contrib-jasmine/assests/js/lib/embed/templates.js b/.grunt/grunt-contrib-jasmine/assests/js/lib/embed/templates.js new file mode 100644 index 0000000..b54d6fe --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/assests/js/lib/embed/templates.js @@ -0,0 +1,9 @@ + +var __cov_rIOTibLoy3xBNXFFaSqXKA = (Function('return this'))(); +if (!__cov_rIOTibLoy3xBNXFFaSqXKA.__coverage__) { __cov_rIOTibLoy3xBNXFFaSqXKA.__coverage__ = {}; } +__cov_rIOTibLoy3xBNXFFaSqXKA = __cov_rIOTibLoy3xBNXFFaSqXKA.__coverage__; +if (!(__cov_rIOTibLoy3xBNXFFaSqXKA['assests/js/lib/embed/templates.js'])) { + __cov_rIOTibLoy3xBNXFFaSqXKA['assests/js/lib/embed/templates.js'] = {"path":"assests/js/lib/embed/templates.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0],"98":[0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"fnMap":{"1":{"name":"(anonymous_1)","line":4,"loc":{"start":{"line":4,"column":98},"end":{"line":4,"column":147}}},"2":{"name":"(anonymous_2)","line":12,"loc":{"start":{"line":12,"column":35},"end":{"line":12,"column":84}}},"3":{"name":"(anonymous_3)","line":20,"loc":{"start":{"line":20,"column":127},"end":{"line":20,"column":176}}},"4":{"name":"(anonymous_4)","line":28,"loc":{"start":{"line":28,"column":130},"end":{"line":28,"column":179}}},"5":{"name":"(anonymous_5)","line":32,"loc":{"start":{"line":32,"column":100},"end":{"line":32,"column":149}}},"6":{"name":"(anonymous_6)","line":38,"loc":{"start":{"line":38,"column":6},"end":{"line":38,"column":55}}},"7":{"name":"(anonymous_7)","line":42,"loc":{"start":{"line":42,"column":6},"end":{"line":42,"column":55}}},"8":{"name":"(anonymous_8)","line":50,"loc":{"start":{"line":50,"column":6},"end":{"line":50,"column":55}}},"9":{"name":"(anonymous_9)","line":56,"loc":{"start":{"line":56,"column":35},"end":{"line":56,"column":84}}},"10":{"name":"(anonymous_10)","line":64,"loc":{"start":{"line":64,"column":129},"end":{"line":64,"column":178}}},"11":{"name":"(anonymous_11)","line":72,"loc":{"start":{"line":72,"column":132},"end":{"line":72,"column":181}}},"12":{"name":"(anonymous_12)","line":76,"loc":{"start":{"line":76,"column":98},"end":{"line":76,"column":147}}},"13":{"name":"(anonymous_13)","line":78,"loc":{"start":{"line":78,"column":35},"end":{"line":78,"column":84}}},"14":{"name":"(anonymous_14)","line":88,"loc":{"start":{"line":88,"column":133},"end":{"line":88,"column":182}}},"15":{"name":"(anonymous_15)","line":92,"loc":{"start":{"line":92,"column":100},"end":{"line":92,"column":149}}},"16":{"name":"(anonymous_16)","line":96,"loc":{"start":{"line":96,"column":6},"end":{"line":96,"column":55}}},"17":{"name":"(anonymous_17)","line":104,"loc":{"start":{"line":104,"column":6},"end":{"line":104,"column":55}}},"18":{"name":"(anonymous_18)","line":110,"loc":{"start":{"line":110,"column":6},"end":{"line":110,"column":55}}},"19":{"name":"(anonymous_19)","line":114,"loc":{"start":{"line":114,"column":6},"end":{"line":114,"column":55}}},"20":{"name":"(anonymous_20)","line":122,"loc":{"start":{"line":122,"column":35},"end":{"line":122,"column":84}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":50}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":76}},"3":{"start":{"line":4,"column":0},"end":{"line":18,"column":19}},"4":{"start":{"line":5,"column":4},"end":{"line":5,"column":136}},"5":{"start":{"line":7,"column":2},"end":{"line":11,"column":25}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":15}},"7":{"start":{"line":15,"column":2},"end":{"line":17,"column":28}},"8":{"start":{"line":20,"column":0},"end":{"line":26,"column":19}},"9":{"start":{"line":21,"column":4},"end":{"line":21,"column":15}},"10":{"start":{"line":23,"column":2},"end":{"line":25,"column":25}},"11":{"start":{"line":28,"column":0},"end":{"line":30,"column":19}},"12":{"start":{"line":29,"column":4},"end":{"line":29,"column":27}},"13":{"start":{"line":32,"column":0},"end":{"line":62,"column":19}},"14":{"start":{"line":33,"column":4},"end":{"line":33,"column":15}},"15":{"start":{"line":35,"column":2},"end":{"line":37,"column":36}},"16":{"start":{"line":39,"column":4},"end":{"line":39,"column":15}},"17":{"start":{"line":41,"column":2},"end":{"line":41,"column":257}},"18":{"start":{"line":43,"column":4},"end":{"line":43,"column":136}},"19":{"start":{"line":45,"column":2},"end":{"line":49,"column":47}},"20":{"start":{"line":51,"column":4},"end":{"line":51,"column":15}},"21":{"start":{"line":53,"column":2},"end":{"line":55,"column":36}},"22":{"start":{"line":57,"column":4},"end":{"line":57,"column":79}},"23":{"start":{"line":59,"column":2},"end":{"line":61,"column":207}},"24":{"start":{"line":64,"column":0},"end":{"line":70,"column":19}},"25":{"start":{"line":65,"column":4},"end":{"line":65,"column":23}},"26":{"start":{"line":67,"column":2},"end":{"line":69,"column":92}},"27":{"start":{"line":72,"column":0},"end":{"line":74,"column":19}},"28":{"start":{"line":73,"column":4},"end":{"line":73,"column":44}},"29":{"start":{"line":76,"column":0},"end":{"line":86,"column":19}},"30":{"start":{"line":79,"column":4},"end":{"line":79,"column":87}},"31":{"start":{"line":81,"column":2},"end":{"line":85,"column":20}},"32":{"start":{"line":88,"column":0},"end":{"line":90,"column":19}},"33":{"start":{"line":89,"column":4},"end":{"line":89,"column":70}},"34":{"start":{"line":92,"column":0},"end":{"line":129,"column":19}},"35":{"start":{"line":93,"column":4},"end":{"line":93,"column":15}},"36":{"start":{"line":95,"column":2},"end":{"line":95,"column":257}},"37":{"start":{"line":97,"column":4},"end":{"line":97,"column":136}},"38":{"start":{"line":99,"column":2},"end":{"line":103,"column":43}},"39":{"start":{"line":105,"column":4},"end":{"line":105,"column":15}},"40":{"start":{"line":107,"column":2},"end":{"line":109,"column":33}},"41":{"start":{"line":111,"column":4},"end":{"line":111,"column":15}},"42":{"start":{"line":113,"column":2},"end":{"line":113,"column":257}},"43":{"start":{"line":115,"column":4},"end":{"line":115,"column":136}},"44":{"start":{"line":117,"column":2},"end":{"line":121,"column":44}},"45":{"start":{"line":123,"column":4},"end":{"line":123,"column":79}},"46":{"start":{"line":125,"column":2},"end":{"line":128,"column":207}}},"branchMap":{"1":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":23},"end":{"line":1,"column":43}},{"start":{"line":1,"column":47},"end":{"line":1,"column":49}}]},"2":{"line":2,"type":"binary-expr","locations":[{"start":{"line":2,"column":36},"end":{"line":2,"column":69}},{"start":{"line":2,"column":73},"end":{"line":2,"column":75}}]},"3":{"line":5,"type":"cond-expr","locations":[{"start":{"line":5,"column":48},"end":{"line":5,"column":54}},{"start":{"line":5,"column":58},"end":{"line":5,"column":85}}]},"4":{"line":5,"type":"binary-expr","locations":[{"start":{"line":5,"column":58},"end":{"line":5,"column":79}},{"start":{"line":5,"column":83},"end":{"line":5,"column":85}}]},"5":{"line":8,"type":"cond-expr","locations":[{"start":{"line":8,"column":99},"end":{"line":8,"column":105}},{"start":{"line":8,"column":108},"end":{"line":8,"column":114}}]},"6":{"line":8,"type":"binary-expr","locations":[{"start":{"line":8,"column":54},"end":{"line":8,"column":65}},{"start":{"line":8,"column":70},"end":{"line":8,"column":74}},{"start":{"line":8,"column":78},"end":{"line":8,"column":86}}]},"7":{"line":8,"type":"cond-expr","locations":[{"start":{"line":8,"column":144},"end":{"line":8,"column":200}},{"start":{"line":8,"column":203},"end":{"line":8,"column":209}}]},"8":{"line":10,"type":"cond-expr","locations":[{"start":{"line":10,"column":233},"end":{"line":10,"column":239}},{"start":{"line":10,"column":242},"end":{"line":10,"column":244}}]},"9":{"line":10,"type":"cond-expr","locations":[{"start":{"line":10,"column":107},"end":{"line":10,"column":113}},{"start":{"line":10,"column":116},"end":{"line":10,"column":122}}]},"10":{"line":10,"type":"binary-expr","locations":[{"start":{"line":10,"column":38},"end":{"line":10,"column":51}},{"start":{"line":10,"column":56},"end":{"line":10,"column":94}}]},"11":{"line":10,"type":"cond-expr","locations":[{"start":{"line":10,"column":73},"end":{"line":10,"column":85}},{"start":{"line":10,"column":88},"end":{"line":10,"column":94}}]},"12":{"line":10,"type":"cond-expr","locations":[{"start":{"line":10,"column":152},"end":{"line":10,"column":210}},{"start":{"line":10,"column":213},"end":{"line":10,"column":219}}]},"13":{"line":16,"type":"cond-expr","locations":[{"start":{"line":16,"column":243},"end":{"line":16,"column":249}},{"start":{"line":16,"column":252},"end":{"line":16,"column":254}}]},"14":{"line":16,"type":"cond-expr","locations":[{"start":{"line":16,"column":52},"end":{"line":16,"column":58}},{"start":{"line":16,"column":62},"end":{"line":16,"column":89}}]},"15":{"line":16,"type":"binary-expr","locations":[{"start":{"line":16,"column":62},"end":{"line":16,"column":83}},{"start":{"line":16,"column":87},"end":{"line":16,"column":89}}]},"16":{"line":16,"type":"cond-expr","locations":[{"start":{"line":16,"column":109},"end":{"line":16,"column":122}},{"start":{"line":16,"column":125},"end":{"line":16,"column":131}}]},"17":{"line":24,"type":"cond-expr","locations":[{"start":{"line":24,"column":135},"end":{"line":24,"column":141}},{"start":{"line":24,"column":144},"end":{"line":24,"column":165}}]},"18":{"line":24,"type":"binary-expr","locations":[{"start":{"line":24,"column":54},"end":{"line":24,"column":73}},{"start":{"line":24,"column":78},"end":{"line":24,"column":122}}]},"19":{"line":24,"type":"cond-expr","locations":[{"start":{"line":24,"column":95},"end":{"line":24,"column":113}},{"start":{"line":24,"column":116},"end":{"line":24,"column":122}}]},"20":{"line":24,"type":"cond-expr","locations":[{"start":{"line":24,"column":199},"end":{"line":24,"column":312}},{"start":{"line":24,"column":315},"end":{"line":24,"column":321}}]},"21":{"line":24,"type":"cond-expr","locations":[{"start":{"line":24,"column":228},"end":{"line":24,"column":234}},{"start":{"line":24,"column":238},"end":{"line":24,"column":265}}]},"22":{"line":24,"type":"binary-expr","locations":[{"start":{"line":24,"column":238},"end":{"line":24,"column":259}},{"start":{"line":24,"column":263},"end":{"line":24,"column":265}}]},"23":{"line":36,"type":"cond-expr","locations":[{"start":{"line":36,"column":243},"end":{"line":36,"column":249}},{"start":{"line":36,"column":252},"end":{"line":36,"column":254}}]},"24":{"line":36,"type":"cond-expr","locations":[{"start":{"line":36,"column":52},"end":{"line":36,"column":58}},{"start":{"line":36,"column":62},"end":{"line":36,"column":89}}]},"25":{"line":36,"type":"binary-expr","locations":[{"start":{"line":36,"column":62},"end":{"line":36,"column":83}},{"start":{"line":36,"column":87},"end":{"line":36,"column":89}}]},"26":{"line":36,"type":"cond-expr","locations":[{"start":{"line":36,"column":109},"end":{"line":36,"column":122}},{"start":{"line":36,"column":125},"end":{"line":36,"column":131}}]},"27":{"line":41,"type":"cond-expr","locations":[{"start":{"line":41,"column":244},"end":{"line":41,"column":250}},{"start":{"line":41,"column":253},"end":{"line":41,"column":255}}]},"28":{"line":41,"type":"cond-expr","locations":[{"start":{"line":41,"column":56},"end":{"line":41,"column":62}},{"start":{"line":41,"column":66},"end":{"line":41,"column":93}}]},"29":{"line":41,"type":"binary-expr","locations":[{"start":{"line":41,"column":66},"end":{"line":41,"column":87}},{"start":{"line":41,"column":91},"end":{"line":41,"column":93}}]},"30":{"line":41,"type":"cond-expr","locations":[{"start":{"line":41,"column":113},"end":{"line":41,"column":125}},{"start":{"line":41,"column":128},"end":{"line":41,"column":134}}]},"31":{"line":43,"type":"cond-expr","locations":[{"start":{"line":43,"column":48},"end":{"line":43,"column":54}},{"start":{"line":43,"column":58},"end":{"line":43,"column":85}}]},"32":{"line":43,"type":"binary-expr","locations":[{"start":{"line":43,"column":58},"end":{"line":43,"column":79}},{"start":{"line":43,"column":83},"end":{"line":43,"column":85}}]},"33":{"line":46,"type":"cond-expr","locations":[{"start":{"line":46,"column":99},"end":{"line":46,"column":105}},{"start":{"line":46,"column":108},"end":{"line":46,"column":114}}]},"34":{"line":46,"type":"binary-expr","locations":[{"start":{"line":46,"column":54},"end":{"line":46,"column":65}},{"start":{"line":46,"column":70},"end":{"line":46,"column":74}},{"start":{"line":46,"column":78},"end":{"line":46,"column":86}}]},"35":{"line":46,"type":"cond-expr","locations":[{"start":{"line":46,"column":144},"end":{"line":46,"column":200}},{"start":{"line":46,"column":203},"end":{"line":46,"column":209}}]},"36":{"line":48,"type":"cond-expr","locations":[{"start":{"line":48,"column":233},"end":{"line":48,"column":239}},{"start":{"line":48,"column":242},"end":{"line":48,"column":244}}]},"37":{"line":48,"type":"cond-expr","locations":[{"start":{"line":48,"column":107},"end":{"line":48,"column":113}},{"start":{"line":48,"column":116},"end":{"line":48,"column":122}}]},"38":{"line":48,"type":"binary-expr","locations":[{"start":{"line":48,"column":38},"end":{"line":48,"column":51}},{"start":{"line":48,"column":56},"end":{"line":48,"column":94}}]},"39":{"line":48,"type":"cond-expr","locations":[{"start":{"line":48,"column":73},"end":{"line":48,"column":85}},{"start":{"line":48,"column":88},"end":{"line":48,"column":94}}]},"40":{"line":48,"type":"cond-expr","locations":[{"start":{"line":48,"column":152},"end":{"line":48,"column":210}},{"start":{"line":48,"column":213},"end":{"line":48,"column":219}}]},"41":{"line":54,"type":"cond-expr","locations":[{"start":{"line":54,"column":244},"end":{"line":54,"column":250}},{"start":{"line":54,"column":253},"end":{"line":54,"column":255}}]},"42":{"line":54,"type":"cond-expr","locations":[{"start":{"line":54,"column":52},"end":{"line":54,"column":58}},{"start":{"line":54,"column":62},"end":{"line":54,"column":89}}]},"43":{"line":54,"type":"binary-expr","locations":[{"start":{"line":54,"column":62},"end":{"line":54,"column":83}},{"start":{"line":54,"column":87},"end":{"line":54,"column":89}}]},"44":{"line":54,"type":"cond-expr","locations":[{"start":{"line":54,"column":109},"end":{"line":54,"column":123}},{"start":{"line":54,"column":126},"end":{"line":54,"column":132}}]},"45":{"line":57,"type":"cond-expr","locations":[{"start":{"line":57,"column":40},"end":{"line":57,"column":46}},{"start":{"line":57,"column":50},"end":{"line":57,"column":77}}]},"46":{"line":57,"type":"binary-expr","locations":[{"start":{"line":57,"column":50},"end":{"line":57,"column":71}},{"start":{"line":57,"column":75},"end":{"line":57,"column":77}}]},"47":{"line":59,"type":"cond-expr","locations":[{"start":{"line":59,"column":196},"end":{"line":59,"column":202}},{"start":{"line":59,"column":205},"end":{"line":59,"column":207}}]},"48":{"line":59,"type":"cond-expr","locations":[{"start":{"line":59,"column":64},"end":{"line":59,"column":77}},{"start":{"line":59,"column":80},"end":{"line":59,"column":86}}]},"49":{"line":61,"type":"cond-expr","locations":[{"start":{"line":61,"column":194},"end":{"line":61,"column":200}},{"start":{"line":61,"column":203},"end":{"line":61,"column":205}}]},"50":{"line":61,"type":"cond-expr","locations":[{"start":{"line":61,"column":61},"end":{"line":61,"column":75}},{"start":{"line":61,"column":78},"end":{"line":61,"column":84}}]},"51":{"line":68,"type":"cond-expr","locations":[{"start":{"line":68,"column":298},"end":{"line":68,"column":304}},{"start":{"line":68,"column":307},"end":{"line":68,"column":309}}]},"52":{"line":68,"type":"cond-expr","locations":[{"start":{"line":68,"column":105},"end":{"line":68,"column":111}},{"start":{"line":68,"column":114},"end":{"line":68,"column":135}}]},"53":{"line":68,"type":"binary-expr","locations":[{"start":{"line":68,"column":38},"end":{"line":68,"column":50}},{"start":{"line":68,"column":55},"end":{"line":68,"column":92}}]},"54":{"line":68,"type":"cond-expr","locations":[{"start":{"line":68,"column":72},"end":{"line":68,"column":83}},{"start":{"line":68,"column":86},"end":{"line":68,"column":92}}]},"55":{"line":68,"type":"cond-expr","locations":[{"start":{"line":68,"column":169},"end":{"line":68,"column":275}},{"start":{"line":68,"column":278},"end":{"line":68,"column":284}}]},"56":{"line":68,"type":"cond-expr","locations":[{"start":{"line":68,"column":198},"end":{"line":68,"column":204}},{"start":{"line":68,"column":208},"end":{"line":68,"column":235}}]},"57":{"line":68,"type":"binary-expr","locations":[{"start":{"line":68,"column":208},"end":{"line":68,"column":229}},{"start":{"line":68,"column":233},"end":{"line":68,"column":235}}]},"58":{"line":79,"type":"cond-expr","locations":[{"start":{"line":79,"column":48},"end":{"line":79,"column":54}},{"start":{"line":79,"column":58},"end":{"line":79,"column":85}}]},"59":{"line":79,"type":"binary-expr","locations":[{"start":{"line":79,"column":58},"end":{"line":79,"column":79}},{"start":{"line":79,"column":83},"end":{"line":79,"column":85}}]},"60":{"line":82,"type":"cond-expr","locations":[{"start":{"line":82,"column":119},"end":{"line":82,"column":125}},{"start":{"line":82,"column":128},"end":{"line":82,"column":149}}]},"61":{"line":82,"type":"binary-expr","locations":[{"start":{"line":82,"column":54},"end":{"line":82,"column":65}},{"start":{"line":82,"column":70},"end":{"line":82,"column":106}}]},"62":{"line":82,"type":"cond-expr","locations":[{"start":{"line":82,"column":87},"end":{"line":82,"column":97}},{"start":{"line":82,"column":100},"end":{"line":82,"column":106}}]},"63":{"line":82,"type":"cond-expr","locations":[{"start":{"line":82,"column":183},"end":{"line":82,"column":239}},{"start":{"line":82,"column":242},"end":{"line":82,"column":248}}]},"64":{"line":84,"type":"cond-expr","locations":[{"start":{"line":84,"column":195},"end":{"line":84,"column":201}},{"start":{"line":84,"column":204},"end":{"line":84,"column":206}}]},"65":{"line":84,"type":"cond-expr","locations":[{"start":{"line":84,"column":61},"end":{"line":84,"column":76}},{"start":{"line":84,"column":79},"end":{"line":84,"column":85}}]},"66":{"line":95,"type":"cond-expr","locations":[{"start":{"line":95,"column":244},"end":{"line":95,"column":250}},{"start":{"line":95,"column":253},"end":{"line":95,"column":255}}]},"67":{"line":95,"type":"cond-expr","locations":[{"start":{"line":95,"column":56},"end":{"line":95,"column":62}},{"start":{"line":95,"column":66},"end":{"line":95,"column":93}}]},"68":{"line":95,"type":"binary-expr","locations":[{"start":{"line":95,"column":66},"end":{"line":95,"column":87}},{"start":{"line":95,"column":91},"end":{"line":95,"column":93}}]},"69":{"line":95,"type":"cond-expr","locations":[{"start":{"line":95,"column":113},"end":{"line":95,"column":125}},{"start":{"line":95,"column":128},"end":{"line":95,"column":134}}]},"70":{"line":97,"type":"cond-expr","locations":[{"start":{"line":97,"column":48},"end":{"line":97,"column":54}},{"start":{"line":97,"column":58},"end":{"line":97,"column":85}}]},"71":{"line":97,"type":"binary-expr","locations":[{"start":{"line":97,"column":58},"end":{"line":97,"column":79}},{"start":{"line":97,"column":83},"end":{"line":97,"column":85}}]},"72":{"line":100,"type":"cond-expr","locations":[{"start":{"line":100,"column":99},"end":{"line":100,"column":105}},{"start":{"line":100,"column":108},"end":{"line":100,"column":114}}]},"73":{"line":100,"type":"binary-expr","locations":[{"start":{"line":100,"column":54},"end":{"line":100,"column":65}},{"start":{"line":100,"column":70},"end":{"line":100,"column":74}},{"start":{"line":100,"column":78},"end":{"line":100,"column":86}}]},"74":{"line":100,"type":"cond-expr","locations":[{"start":{"line":100,"column":144},"end":{"line":100,"column":200}},{"start":{"line":100,"column":203},"end":{"line":100,"column":209}}]},"75":{"line":102,"type":"cond-expr","locations":[{"start":{"line":102,"column":233},"end":{"line":102,"column":239}},{"start":{"line":102,"column":242},"end":{"line":102,"column":244}}]},"76":{"line":102,"type":"cond-expr","locations":[{"start":{"line":102,"column":107},"end":{"line":102,"column":113}},{"start":{"line":102,"column":116},"end":{"line":102,"column":122}}]},"77":{"line":102,"type":"binary-expr","locations":[{"start":{"line":102,"column":38},"end":{"line":102,"column":51}},{"start":{"line":102,"column":56},"end":{"line":102,"column":94}}]},"78":{"line":102,"type":"cond-expr","locations":[{"start":{"line":102,"column":73},"end":{"line":102,"column":85}},{"start":{"line":102,"column":88},"end":{"line":102,"column":94}}]},"79":{"line":102,"type":"cond-expr","locations":[{"start":{"line":102,"column":152},"end":{"line":102,"column":210}},{"start":{"line":102,"column":213},"end":{"line":102,"column":219}}]},"80":{"line":108,"type":"cond-expr","locations":[{"start":{"line":108,"column":244},"end":{"line":108,"column":250}},{"start":{"line":108,"column":253},"end":{"line":108,"column":255}}]},"81":{"line":108,"type":"cond-expr","locations":[{"start":{"line":108,"column":52},"end":{"line":108,"column":58}},{"start":{"line":108,"column":62},"end":{"line":108,"column":89}}]},"82":{"line":108,"type":"binary-expr","locations":[{"start":{"line":108,"column":62},"end":{"line":108,"column":83}},{"start":{"line":108,"column":87},"end":{"line":108,"column":89}}]},"83":{"line":108,"type":"cond-expr","locations":[{"start":{"line":108,"column":109},"end":{"line":108,"column":123}},{"start":{"line":108,"column":126},"end":{"line":108,"column":132}}]},"84":{"line":113,"type":"cond-expr","locations":[{"start":{"line":113,"column":244},"end":{"line":113,"column":250}},{"start":{"line":113,"column":253},"end":{"line":113,"column":255}}]},"85":{"line":113,"type":"cond-expr","locations":[{"start":{"line":113,"column":56},"end":{"line":113,"column":62}},{"start":{"line":113,"column":66},"end":{"line":113,"column":93}}]},"86":{"line":113,"type":"binary-expr","locations":[{"start":{"line":113,"column":66},"end":{"line":113,"column":87}},{"start":{"line":113,"column":91},"end":{"line":113,"column":93}}]},"87":{"line":113,"type":"cond-expr","locations":[{"start":{"line":113,"column":113},"end":{"line":113,"column":125}},{"start":{"line":113,"column":128},"end":{"line":113,"column":134}}]},"88":{"line":115,"type":"cond-expr","locations":[{"start":{"line":115,"column":48},"end":{"line":115,"column":54}},{"start":{"line":115,"column":58},"end":{"line":115,"column":85}}]},"89":{"line":115,"type":"binary-expr","locations":[{"start":{"line":115,"column":58},"end":{"line":115,"column":79}},{"start":{"line":115,"column":83},"end":{"line":115,"column":85}}]},"90":{"line":118,"type":"cond-expr","locations":[{"start":{"line":118,"column":99},"end":{"line":118,"column":105}},{"start":{"line":118,"column":108},"end":{"line":118,"column":114}}]},"91":{"line":118,"type":"binary-expr","locations":[{"start":{"line":118,"column":54},"end":{"line":118,"column":65}},{"start":{"line":118,"column":70},"end":{"line":118,"column":74}},{"start":{"line":118,"column":78},"end":{"line":118,"column":86}}]},"92":{"line":118,"type":"cond-expr","locations":[{"start":{"line":118,"column":144},"end":{"line":118,"column":200}},{"start":{"line":118,"column":203},"end":{"line":118,"column":209}}]},"93":{"line":120,"type":"cond-expr","locations":[{"start":{"line":120,"column":233},"end":{"line":120,"column":239}},{"start":{"line":120,"column":242},"end":{"line":120,"column":244}}]},"94":{"line":120,"type":"cond-expr","locations":[{"start":{"line":120,"column":107},"end":{"line":120,"column":113}},{"start":{"line":120,"column":116},"end":{"line":120,"column":122}}]},"95":{"line":120,"type":"binary-expr","locations":[{"start":{"line":120,"column":38},"end":{"line":120,"column":51}},{"start":{"line":120,"column":56},"end":{"line":120,"column":94}}]},"96":{"line":120,"type":"cond-expr","locations":[{"start":{"line":120,"column":73},"end":{"line":120,"column":85}},{"start":{"line":120,"column":88},"end":{"line":120,"column":94}}]},"97":{"line":120,"type":"cond-expr","locations":[{"start":{"line":120,"column":152},"end":{"line":120,"column":210}},{"start":{"line":120,"column":213},"end":{"line":120,"column":219}}]},"98":{"line":123,"type":"cond-expr","locations":[{"start":{"line":123,"column":40},"end":{"line":123,"column":46}},{"start":{"line":123,"column":50},"end":{"line":123,"column":77}}]},"99":{"line":123,"type":"binary-expr","locations":[{"start":{"line":123,"column":50},"end":{"line":123,"column":71}},{"start":{"line":123,"column":75},"end":{"line":123,"column":77}}]},"100":{"line":126,"type":"cond-expr","locations":[{"start":{"line":126,"column":194},"end":{"line":126,"column":200}},{"start":{"line":126,"column":203},"end":{"line":126,"column":205}}]},"101":{"line":126,"type":"cond-expr","locations":[{"start":{"line":126,"column":60},"end":{"line":126,"column":73}},{"start":{"line":126,"column":76},"end":{"line":126,"column":82}}]},"102":{"line":128,"type":"cond-expr","locations":[{"start":{"line":128,"column":194},"end":{"line":128,"column":200}},{"start":{"line":128,"column":203},"end":{"line":128,"column":205}}]},"103":{"line":128,"type":"cond-expr","locations":[{"start":{"line":128,"column":61},"end":{"line":128,"column":75}},{"start":{"line":128,"column":78},"end":{"line":128,"column":84}}]}}}; +} +__cov_rIOTibLoy3xBNXFFaSqXKA = __cov_rIOTibLoy3xBNXFFaSqXKA['assests/js/lib/embed/templates.js']; +__cov_rIOTibLoy3xBNXFFaSqXKA.s['1']++;this['MediumInsert']=(__cov_rIOTibLoy3xBNXFFaSqXKA.b['1'][0]++,this['MediumInsert'])||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['1'][1]++,{});__cov_rIOTibLoy3xBNXFFaSqXKA.s['2']++;this['MediumInsert']['Templates']=(__cov_rIOTibLoy3xBNXFFaSqXKA.b['2'][0]++,this['MediumInsert']['Templates'])||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['2'][1]++,{});__cov_rIOTibLoy3xBNXFFaSqXKA.s['3']++;this['MediumInsert']['Templates']['src/js/templates/core-buttons.hbs']=Handlebars.template({'1':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['1']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['4']++;var stack1,helper,alias1=depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['3'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['3'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['4'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['4'][1]++,{})),alias2=helpers.helperMissing,alias3='function';__cov_rIOTibLoy3xBNXFFaSqXKA.s['5']++;return'
  • \n';},'compiler':[7,'>= 4.0.0'],'main':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['2']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['6']++;var stack1;__cov_rIOTibLoy3xBNXFFaSqXKA.s['7']++;return'\n';},'useData':true});__cov_rIOTibLoy3xBNXFFaSqXKA.s['8']++;this['MediumInsert']['Templates']['src/js/templates/core-caption.hbs']=Handlebars.template({'compiler':[7,'>= 4.0.0'],'main':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['3']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['9']++;var helper;__cov_rIOTibLoy3xBNXFFaSqXKA.s['10']++;return'
    ';},'useData':true});__cov_rIOTibLoy3xBNXFFaSqXKA.s['11']++;this['MediumInsert']['Templates']['src/js/templates/core-empty-line.hbs']=Handlebars.template({'compiler':[7,'>= 4.0.0'],'main':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['4']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['12']++;return'


    \n';},'useData':true});__cov_rIOTibLoy3xBNXFFaSqXKA.s['13']++;this['MediumInsert']['Templates']['src/js/templates/embeds-toolbar.hbs']=Handlebars.template({'1':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['5']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['14']++;var stack1;__cov_rIOTibLoy3xBNXFFaSqXKA.s['15']++;return'
    \n
      \n'+((stack1=helpers.each.call(depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['24'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['24'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['25'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['25'][1]++,{})),depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['26'][0]++,depth0.styles):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['26'][1]++,depth0),{'name':'each','hash':{},'fn':container.program(2,data,0),'inverse':container.noop,'data':data}))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['23'][0]++,stack1):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['23'][1]++,''))+'
    \n
    \n';},'2':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['6']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['16']++;var stack1;__cov_rIOTibLoy3xBNXFFaSqXKA.s['17']++;return(stack1=helpers['if'].call(depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['28'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['28'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['29'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['29'][1]++,{})),depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['30'][0]++,depth0.label):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['30'][1]++,depth0),{'name':'if','hash':{},'fn':container.program(3,data,0),'inverse':container.noop,'data':data}))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['27'][0]++,stack1):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['27'][1]++,'');},'3':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['7']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['18']++;var stack1,helper,alias1=depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['31'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['31'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['32'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['32'][1]++,{})),alias2=helpers.helperMissing,alias3='function';__cov_rIOTibLoy3xBNXFFaSqXKA.s['19']++;return'
  • \n \n
  • \n';},'5':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['8']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['20']++;var stack1;__cov_rIOTibLoy3xBNXFFaSqXKA.s['21']++;return'
    \n
      \n'+((stack1=helpers.each.call(depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['42'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['42'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['43'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['43'][1]++,{})),depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['44'][0]++,depth0.actions):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['44'][1]++,depth0),{'name':'each','hash':{},'fn':container.program(2,data,0),'inverse':container.noop,'data':data}))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['41'][0]++,stack1):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['41'][1]++,''))+'
    \n
    \n';},'compiler':[7,'>= 4.0.0'],'main':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['9']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['22']++;var stack1,alias1=depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['45'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['45'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['46'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['46'][1]++,{}));__cov_rIOTibLoy3xBNXFFaSqXKA.s['23']++;return((stack1=helpers['if'].call(alias1,depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['48'][0]++,depth0.styles):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['48'][1]++,depth0),{'name':'if','hash':{},'fn':container.program(1,data,0),'inverse':container.noop,'data':data}))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['47'][0]++,stack1):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['47'][1]++,''))+'\n'+((stack1=helpers['if'].call(alias1,depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['50'][0]++,depth0.actions):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['50'][1]++,depth0),{'name':'if','hash':{},'fn':container.program(5,data,0),'inverse':container.noop,'data':data}))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['49'][0]++,stack1):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['49'][1]++,''));},'useData':true});__cov_rIOTibLoy3xBNXFFaSqXKA.s['24']++;this['MediumInsert']['Templates']['src/js/templates/embeds-wrapper.hbs']=Handlebars.template({'compiler':[7,'>= 4.0.0'],'main':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['10']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['25']++;var stack1,helper;__cov_rIOTibLoy3xBNXFFaSqXKA.s['26']++;return'
    \n\t
    \n\t\t
    \n\t\t\t'+((stack1=(helper=(helper=(__cov_rIOTibLoy3xBNXFFaSqXKA.b['53'][0]++,helpers.html)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['53'][1]++,depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['54'][0]++,depth0.html):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['54'][1]++,depth0)))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['52'][0]++,helper):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['52'][1]++,helpers.helperMissing),typeof helper==='function'?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['55'][0]++,helper.call(depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['56'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['56'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['57'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['57'][1]++,{})),{'name':'html','hash':{},'data':data})):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['55'][1]++,helper)))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['51'][0]++,stack1):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['51'][1]++,''))+'\n\t\t
    \n\t
    \n\t
    \n
    ';},'useData':true});__cov_rIOTibLoy3xBNXFFaSqXKA.s['27']++;this['MediumInsert']['Templates']['src/js/templates/images-fileupload.hbs']=Handlebars.template({'compiler':[7,'>= 4.0.0'],'main':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['11']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['28']++;return'';},'useData':true});__cov_rIOTibLoy3xBNXFFaSqXKA.s['29']++;this['MediumInsert']['Templates']['src/js/templates/images-image.hbs']=Handlebars.template({'1':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['12']++;},'compiler':[7,'>= 4.0.0'],'main':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['13']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['30']++;var stack1,helper,alias1=depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['58'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['58'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['59'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['59'][1]++,{}));__cov_rIOTibLoy3xBNXFFaSqXKA.s['31']++;return'
    \n \n'+((stack1=helpers['if'].call(alias1,depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['65'][0]++,depth0.progress):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['65'][1]++,depth0),{'name':'if','hash':{},'fn':container.program(1,data,0),'inverse':container.noop,'data':data}))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['64'][0]++,stack1):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['64'][1]++,''))+'
    \n';},'useData':true});__cov_rIOTibLoy3xBNXFFaSqXKA.s['32']++;this['MediumInsert']['Templates']['src/js/templates/images-progressbar.hbs']=Handlebars.template({'compiler':[7,'>= 4.0.0'],'main':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['14']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['33']++;return'0';},'useData':true});__cov_rIOTibLoy3xBNXFFaSqXKA.s['34']++;this['MediumInsert']['Templates']['src/js/templates/images-toolbar.hbs']=Handlebars.template({'1':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['15']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['35']++;var stack1;__cov_rIOTibLoy3xBNXFFaSqXKA.s['36']++;return(stack1=helpers['if'].call(depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['67'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['67'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['68'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['68'][1]++,{})),depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['69'][0]++,depth0.label):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['69'][1]++,depth0),{'name':'if','hash':{},'fn':container.program(2,data,0),'inverse':container.noop,'data':data}))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['66'][0]++,stack1):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['66'][1]++,'');},'2':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['16']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['37']++;var stack1,helper,alias1=depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['70'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['70'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['71'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['71'][1]++,{})),alias2=helpers.helperMissing,alias3='function';__cov_rIOTibLoy3xBNXFFaSqXKA.s['38']++;return'
  • \n \n
  • \n';},'4':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['17']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['39']++;var stack1;__cov_rIOTibLoy3xBNXFFaSqXKA.s['40']++;return'\t
    \n\t\t
      \n'+((stack1=helpers.each.call(depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['81'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['81'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['82'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['82'][1]++,{})),depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['83'][0]++,depth0.actions):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['83'][1]++,depth0),{'name':'each','hash':{},'fn':container.program(5,data,0),'inverse':container.noop,'data':data}))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['80'][0]++,stack1):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['80'][1]++,''))+' \t
    \n
    \n';},'5':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['18']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['41']++;var stack1;__cov_rIOTibLoy3xBNXFFaSqXKA.s['42']++;return(stack1=helpers['if'].call(depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['85'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['85'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['86'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['86'][1]++,{})),depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['87'][0]++,depth0.label):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['87'][1]++,depth0),{'name':'if','hash':{},'fn':container.program(6,data,0),'inverse':container.noop,'data':data}))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['84'][0]++,stack1):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['84'][1]++,'');},'6':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['19']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['43']++;var stack1,helper,alias1=depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['88'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['88'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['89'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['89'][1]++,{})),alias2=helpers.helperMissing,alias3='function';__cov_rIOTibLoy3xBNXFFaSqXKA.s['44']++;return' \t
  • \n \t \n \t
  • \n';},'compiler':[7,'>= 4.0.0'],'main':function(container,depth0,helpers,partials,data){__cov_rIOTibLoy3xBNXFFaSqXKA.f['20']++;__cov_rIOTibLoy3xBNXFFaSqXKA.s['45']++;var stack1,alias1=depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['98'][0]++,depth0):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['98'][1]++,(__cov_rIOTibLoy3xBNXFFaSqXKA.b['99'][0]++,container.nullContext)||(__cov_rIOTibLoy3xBNXFFaSqXKA.b['99'][1]++,{}));__cov_rIOTibLoy3xBNXFFaSqXKA.s['46']++;return'
    \n
      \n'+((stack1=helpers.each.call(alias1,depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['101'][0]++,depth0.styles):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['101'][1]++,depth0),{'name':'each','hash':{},'fn':container.program(1,data,0),'inverse':container.noop,'data':data}))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['100'][0]++,stack1):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['100'][1]++,''))+'
    \n
    \n\n'+((stack1=helpers['if'].call(alias1,depth0!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['103'][0]++,depth0.actions):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['103'][1]++,depth0),{'name':'if','hash':{},'fn':container.program(4,data,0),'inverse':container.noop,'data':data}))!=null?(__cov_rIOTibLoy3xBNXFFaSqXKA.b['102'][0]++,stack1):(__cov_rIOTibLoy3xBNXFFaSqXKA.b['102'][1]++,''));},'useData':true}); diff --git a/.grunt/grunt-contrib-jasmine/assests/js/lib/file-upload/jquery.fileupload.js b/.grunt/grunt-contrib-jasmine/assests/js/lib/file-upload/jquery.fileupload.js new file mode 100644 index 0000000..e3c1f57 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/assests/js/lib/file-upload/jquery.fileupload.js @@ -0,0 +1,9 @@ + +var __cov_FDBW7GrBdVuQXMSLxhPCew = (Function('return this'))(); +if (!__cov_FDBW7GrBdVuQXMSLxhPCew.__coverage__) { __cov_FDBW7GrBdVuQXMSLxhPCew.__coverage__ = {}; } +__cov_FDBW7GrBdVuQXMSLxhPCew = __cov_FDBW7GrBdVuQXMSLxhPCew.__coverage__; +if (!(__cov_FDBW7GrBdVuQXMSLxhPCew['assests/js/lib/file-upload/jquery.fileupload.js'])) { + __cov_FDBW7GrBdVuQXMSLxhPCew['assests/js/lib/file-upload/jquery.fileupload.js'] = {"path":"assests/js/lib/file-upload/jquery.fileupload.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":0,"336":0,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":0,"356":0,"357":0,"358":0,"359":0,"360":0,"361":0,"362":0,"363":0,"364":0,"365":0,"366":0,"367":0,"368":0,"369":0,"370":0,"371":0,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":0,"387":0,"388":0,"389":0,"390":0,"391":0,"392":0,"393":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"400":0,"401":0,"402":0,"403":0,"404":0,"405":0,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":0,"434":0,"435":0,"436":0,"437":0,"438":0,"439":0,"440":0,"441":0,"442":0,"443":0,"444":0,"445":0,"446":0,"447":0,"448":0,"449":0,"450":0,"451":0,"452":0,"453":0,"454":0,"455":0,"456":0,"457":0,"458":0,"459":0,"460":0,"461":0,"462":0,"463":0,"464":0,"465":0,"466":0,"467":0,"468":0,"469":0,"470":0,"471":0,"472":0,"473":0,"474":0,"475":0,"476":0,"477":0,"478":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":0,"485":0,"486":0,"487":0,"488":0,"489":0,"490":0,"491":0,"492":0,"493":0,"494":0,"495":0,"496":0,"497":0,"498":0,"499":0,"500":0,"501":0,"502":0,"503":0,"504":0,"505":0,"506":0,"507":0,"508":0,"509":0,"510":0,"511":0,"512":0,"513":0,"514":0,"515":0,"516":0,"517":0,"518":0,"519":0,"520":0,"521":0,"522":0,"523":0,"524":0,"525":0,"526":0,"527":0,"528":0,"529":0,"530":0,"531":0,"532":0,"533":0,"534":0,"535":0,"536":0,"537":0,"538":0,"539":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0,0],"16":[0,0],"17":[0,0,0],"18":[0,0],"19":[0,0],"20":[0,0,0],"21":[0,0,0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0,0,0],"76":[0,0],"77":[0,0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0,0],"97":[0,0],"98":[0,0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0],"104":[0,0,0,0],"105":[0,0],"106":[0,0],"107":[0,0,0],"108":[0,0],"109":[0,0],"110":[0,0],"111":[0,0],"112":[0,0],"113":[0,0],"114":[0,0],"115":[0,0],"116":[0,0],"117":[0,0],"118":[0,0,0,0,0],"119":[0,0],"120":[0,0],"121":[0,0],"122":[0,0],"123":[0,0],"124":[0,0,0],"125":[0,0],"126":[0,0],"127":[0,0],"128":[0,0],"129":[0,0],"130":[0,0],"131":[0,0],"132":[0,0],"133":[0,0,0],"134":[0,0],"135":[0,0],"136":[0,0],"137":[0,0],"138":[0,0],"139":[0,0],"140":[0,0],"141":[0,0,0,0],"142":[0,0],"143":[0,0],"144":[0,0],"145":[0,0],"146":[0,0],"147":[0,0],"148":[0,0],"149":[0,0],"150":[0,0],"151":[0,0],"152":[0,0],"153":[0,0],"154":[0,0],"155":[0,0],"156":[0,0],"157":[0,0,0,0],"158":[0,0],"159":[0,0],"160":[0,0],"161":[0,0],"162":[0,0],"163":[0,0],"164":[0,0],"165":[0,0],"166":[0,0],"167":[0,0],"168":[0,0],"169":[0,0],"170":[0,0],"171":[0,0,0],"172":[0,0],"173":[0,0],"174":[0,0],"175":[0,0],"176":[0,0],"177":[0,0],"178":[0,0],"179":[0,0,0],"180":[0,0],"181":[0,0],"182":[0,0],"183":[0,0],"184":[0,0],"185":[0,0],"186":[0,0],"187":[0,0],"188":[0,0],"189":[0,0],"190":[0,0,0],"191":[0,0],"192":[0,0],"193":[0,0],"194":[0,0],"195":[0,0],"196":[0,0],"197":[0,0],"198":[0,0],"199":[0,0],"200":[0,0],"201":[0,0],"202":[0,0],"203":[0,0],"204":[0,0],"205":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0},"fnMap":{"1":{"name":"(anonymous_1)","line":15,"loc":{"start":{"line":15,"column":2},"end":{"line":15,"column":21}}},"2":{"name":"(anonymous_2)","line":33,"loc":{"start":{"line":33,"column":2},"end":{"line":33,"column":15}}},"3":{"name":"getDragHandler","line":61,"loc":{"start":{"line":61,"column":4},"end":{"line":61,"column":34}}},"4":{"name":"(anonymous_4)","line":63,"loc":{"start":{"line":63,"column":15},"end":{"line":63,"column":28}}},"5":{"name":"(anonymous_5)","line":176,"loc":{"start":{"line":176,"column":18},"end":{"line":176,"column":46}}},"6":{"name":"(anonymous_6)","line":179,"loc":{"start":{"line":179,"column":36},"end":{"line":179,"column":58}}},"7":{"name":"(anonymous_7)","line":191,"loc":{"start":{"line":191,"column":22},"end":{"line":191,"column":38}}},"8":{"name":"(anonymous_8)","line":211,"loc":{"start":{"line":211,"column":17},"end":{"line":211,"column":36}}},"9":{"name":"(anonymous_9)","line":217,"loc":{"start":{"line":217,"column":40},"end":{"line":217,"column":52}}},"10":{"name":"(anonymous_10)","line":294,"loc":{"start":{"line":294,"column":43},"end":{"line":294,"column":55}}},"11":{"name":"(anonymous_11)","line":299,"loc":{"start":{"line":299,"column":23},"end":{"line":299,"column":35}}},"12":{"name":"(anonymous_12)","line":303,"loc":{"start":{"line":303,"column":30},"end":{"line":303,"column":63}}},"13":{"name":"(anonymous_13)","line":314,"loc":{"start":{"line":314,"column":22},"end":{"line":314,"column":41}}},"14":{"name":"(anonymous_14)","line":320,"loc":{"start":{"line":320,"column":22},"end":{"line":320,"column":41}}},"15":{"name":"(anonymous_15)","line":330,"loc":{"start":{"line":330,"column":41},"end":{"line":330,"column":64}}},"16":{"name":"(anonymous_16)","line":338,"loc":{"start":{"line":338,"column":19},"end":{"line":338,"column":36}}},"17":{"name":"(anonymous_17)","line":340,"loc":{"start":{"line":340,"column":26},"end":{"line":340,"column":49}}},"18":{"name":"(anonymous_18)","line":346,"loc":{"start":{"line":346,"column":29},"end":{"line":346,"column":44}}},"19":{"name":"(anonymous_19)","line":359,"loc":{"start":{"line":359,"column":29},"end":{"line":359,"column":44}}},"20":{"name":"(anonymous_20)","line":372,"loc":{"start":{"line":372,"column":21},"end":{"line":372,"column":40}}},"21":{"name":"(anonymous_21)","line":417,"loc":{"start":{"line":417,"column":31},"end":{"line":417,"column":50}}},"22":{"name":"(anonymous_22)","line":423,"loc":{"start":{"line":423,"column":47},"end":{"line":423,"column":60}}},"23":{"name":"(anonymous_23)","line":431,"loc":{"start":{"line":431,"column":30},"end":{"line":431,"column":42}}},"24":{"name":"(anonymous_24)","line":437,"loc":{"start":{"line":437,"column":23},"end":{"line":437,"column":44}}},"25":{"name":"(anonymous_25)","line":442,"loc":{"start":{"line":442,"column":22},"end":{"line":442,"column":41}}},"26":{"name":"(anonymous_26)","line":474,"loc":{"start":{"line":474,"column":46},"end":{"line":474,"column":69}}},"27":{"name":"(anonymous_27)","line":487,"loc":{"start":{"line":487,"column":59},"end":{"line":487,"column":83}}},"28":{"name":"(anonymous_28)","line":494,"loc":{"start":{"line":494,"column":46},"end":{"line":494,"column":69}}},"29":{"name":"(anonymous_29)","line":515,"loc":{"start":{"line":515,"column":29},"end":{"line":515,"column":48}}},"30":{"name":"(anonymous_30)","line":530,"loc":{"start":{"line":530,"column":27},"end":{"line":530,"column":46}}},"31":{"name":"(anonymous_31)","line":548,"loc":{"start":{"line":548,"column":23},"end":{"line":548,"column":42}}},"32":{"name":"(anonymous_32)","line":553,"loc":{"start":{"line":553,"column":31},"end":{"line":553,"column":43}}},"33":{"name":"(anonymous_33)","line":571,"loc":{"start":{"line":571,"column":27},"end":{"line":571,"column":46}}},"34":{"name":"(anonymous_34)","line":600,"loc":{"start":{"line":600,"column":26},"end":{"line":600,"column":42}}},"35":{"name":"(anonymous_35)","line":609,"loc":{"start":{"line":609,"column":27},"end":{"line":609,"column":47}}},"36":{"name":"(anonymous_36)","line":624,"loc":{"start":{"line":624,"column":25},"end":{"line":624,"column":44}}},"37":{"name":"(anonymous_37)","line":633,"loc":{"start":{"line":633,"column":24},"end":{"line":633,"column":66}}},"38":{"name":"(anonymous_38)","line":647,"loc":{"start":{"line":647,"column":32},"end":{"line":647,"column":51}}},"39":{"name":"(anonymous_39)","line":649,"loc":{"start":{"line":649,"column":29},"end":{"line":649,"column":45}}},"40":{"name":"(anonymous_40)","line":652,"loc":{"start":{"line":652,"column":27},"end":{"line":652,"column":62}}},"41":{"name":"(anonymous_41)","line":656,"loc":{"start":{"line":656,"column":28},"end":{"line":656,"column":40}}},"42":{"name":"(anonymous_42)","line":667,"loc":{"start":{"line":667,"column":26},"end":{"line":667,"column":38}}},"43":{"name":"(anonymous_43)","line":678,"loc":{"start":{"line":678,"column":25},"end":{"line":678,"column":37}}},"44":{"name":"(anonymous_44)","line":686,"loc":{"start":{"line":686,"column":25},"end":{"line":686,"column":37}}},"45":{"name":"(anonymous_45)","line":694,"loc":{"start":{"line":694,"column":30},"end":{"line":694,"column":42}}},"46":{"name":"(anonymous_46)","line":698,"loc":{"start":{"line":698,"column":28},"end":{"line":698,"column":40}}},"47":{"name":"(anonymous_47)","line":701,"loc":{"start":{"line":701,"column":28},"end":{"line":701,"column":40}}},"48":{"name":"(anonymous_48)","line":708,"loc":{"start":{"line":708,"column":27},"end":{"line":708,"column":44}}},"49":{"name":"(anonymous_49)","line":721,"loc":{"start":{"line":721,"column":24},"end":{"line":721,"column":53}}},"50":{"name":"(anonymous_50)","line":749,"loc":{"start":{"line":749,"column":21},"end":{"line":749,"column":33}}},"51":{"name":"(anonymous_51)","line":771,"loc":{"start":{"line":771,"column":26},"end":{"line":771,"column":63}}},"52":{"name":"(anonymous_52)","line":801,"loc":{"start":{"line":801,"column":26},"end":{"line":801,"column":68}}},"53":{"name":"(anonymous_53)","line":814,"loc":{"start":{"line":814,"column":28},"end":{"line":814,"column":40}}},"54":{"name":"(anonymous_54)","line":821,"loc":{"start":{"line":821,"column":21},"end":{"line":821,"column":40}}},"55":{"name":"(anonymous_55)","line":847,"loc":{"start":{"line":847,"column":17},"end":{"line":847,"column":63}}},"56":{"name":"(anonymous_56)","line":865,"loc":{"start":{"line":865,"column":17},"end":{"line":865,"column":68}}},"57":{"name":"(anonymous_57)","line":879,"loc":{"start":{"line":879,"column":19},"end":{"line":879,"column":79}}},"58":{"name":"(anonymous_58)","line":885,"loc":{"start":{"line":885,"column":17},"end":{"line":885,"column":36}}},"59":{"name":"(anonymous_59)","line":895,"loc":{"start":{"line":895,"column":23},"end":{"line":895,"column":35}}},"60":{"name":"(anonymous_60)","line":907,"loc":{"start":{"line":907,"column":27},"end":{"line":907,"column":64}}},"61":{"name":"(anonymous_61)","line":909,"loc":{"start":{"line":909,"column":28},"end":{"line":909,"column":70}}},"62":{"name":"(anonymous_62)","line":911,"loc":{"start":{"line":911,"column":30},"end":{"line":911,"column":81}}},"63":{"name":"(anonymous_63)","line":956,"loc":{"start":{"line":956,"column":29},"end":{"line":956,"column":41}}},"64":{"name":"(anonymous_64)","line":971,"loc":{"start":{"line":971,"column":16},"end":{"line":971,"column":35}}},"65":{"name":"(anonymous_65)","line":1030,"loc":{"start":{"line":1030,"column":37},"end":{"line":1030,"column":63}}},"66":{"name":"(anonymous_66)","line":1047,"loc":{"start":{"line":1047,"column":27},"end":{"line":1047,"column":43}}},"67":{"name":"(anonymous_67)","line":1067,"loc":{"start":{"line":1067,"column":64},"end":{"line":1067,"column":81}}},"68":{"name":"(anonymous_68)","line":1080,"loc":{"start":{"line":1080,"column":30},"end":{"line":1080,"column":53}}},"69":{"name":"(anonymous_69)","line":1085,"loc":{"start":{"line":1085,"column":31},"end":{"line":1085,"column":44}}},"70":{"name":"(anonymous_70)","line":1095,"loc":{"start":{"line":1095,"column":33},"end":{"line":1095,"column":52}}},"71":{"name":"(anonymous_71)","line":1099,"loc":{"start":{"line":1099,"column":27},"end":{"line":1099,"column":44}}},"72":{"name":"(anonymous_72)","line":1103,"loc":{"start":{"line":1103,"column":30},"end":{"line":1103,"column":42}}},"73":{"name":"(anonymous_73)","line":1104,"loc":{"start":{"line":1104,"column":42},"end":{"line":1104,"column":61}}},"74":{"name":"(anonymous_74)","line":1120,"loc":{"start":{"line":1120,"column":31},"end":{"line":1120,"column":47}}},"75":{"name":"(anonymous_75)","line":1136,"loc":{"start":{"line":1136,"column":32},"end":{"line":1136,"column":57}}},"76":{"name":"(anonymous_76)","line":1140,"loc":{"start":{"line":1140,"column":31},"end":{"line":1140,"column":48}}},"77":{"name":"(anonymous_77)","line":1143,"loc":{"start":{"line":1143,"column":19},"end":{"line":1143,"column":31}}},"78":{"name":"(anonymous_78)","line":1151,"loc":{"start":{"line":1151,"column":26},"end":{"line":1151,"column":50}}},"79":{"name":"(anonymous_79)","line":1157,"loc":{"start":{"line":1157,"column":33},"end":{"line":1157,"column":49}}},"80":{"name":"(anonymous_80)","line":1176,"loc":{"start":{"line":1176,"column":34},"end":{"line":1176,"column":55}}},"81":{"name":"(anonymous_81)","line":1197,"loc":{"start":{"line":1197,"column":30},"end":{"line":1197,"column":53}}},"82":{"name":"(anonymous_82)","line":1205,"loc":{"start":{"line":1205,"column":28},"end":{"line":1205,"column":49}}},"83":{"name":"(anonymous_83)","line":1212,"loc":{"start":{"line":1212,"column":19},"end":{"line":1212,"column":31}}},"84":{"name":"(anonymous_84)","line":1220,"loc":{"start":{"line":1220,"column":19},"end":{"line":1220,"column":32}}},"85":{"name":"(anonymous_85)","line":1226,"loc":{"start":{"line":1226,"column":59},"end":{"line":1226,"column":76}}},"86":{"name":"(anonymous_86)","line":1241,"loc":{"start":{"line":1241,"column":18},"end":{"line":1241,"column":31}}},"87":{"name":"(anonymous_87)","line":1246,"loc":{"start":{"line":1246,"column":30},"end":{"line":1246,"column":53}}},"88":{"name":"(anonymous_88)","line":1262,"loc":{"start":{"line":1262,"column":17},"end":{"line":1262,"column":30}}},"89":{"name":"(anonymous_89)","line":1269,"loc":{"start":{"line":1269,"column":59},"end":{"line":1269,"column":76}}},"90":{"name":"(anonymous_90)","line":1288,"loc":{"start":{"line":1288,"column":28},"end":{"line":1288,"column":40}}},"91":{"name":"(anonymous_91)","line":1309,"loc":{"start":{"line":1309,"column":31},"end":{"line":1309,"column":43}}},"92":{"name":"(anonymous_92)","line":1315,"loc":{"start":{"line":1315,"column":18},"end":{"line":1315,"column":30}}},"93":{"name":"(anonymous_93)","line":1319,"loc":{"start":{"line":1319,"column":20},"end":{"line":1319,"column":42}}},"94":{"name":"(anonymous_94)","line":1331,"loc":{"start":{"line":1331,"column":29},"end":{"line":1331,"column":41}}},"95":{"name":"(anonymous_95)","line":1347,"loc":{"start":{"line":1347,"column":20},"end":{"line":1347,"column":35}}},"96":{"name":"(anonymous_96)","line":1354,"loc":{"start":{"line":1354,"column":25},"end":{"line":1354,"column":47}}},"97":{"name":"(anonymous_97)","line":1359,"loc":{"start":{"line":1359,"column":29},"end":{"line":1359,"column":41}}},"98":{"name":"(anonymous_98)","line":1366,"loc":{"start":{"line":1366,"column":16},"end":{"line":1366,"column":39}}},"99":{"name":"(anonymous_99)","line":1371,"loc":{"start":{"line":1371,"column":62},"end":{"line":1371,"column":77}}},"100":{"name":"(anonymous_100)","line":1384,"loc":{"start":{"line":1384,"column":17},"end":{"line":1384,"column":29}}},"101":{"name":"(anonymous_101)","line":1396,"loc":{"start":{"line":1396,"column":16},"end":{"line":1396,"column":28}}},"102":{"name":"(anonymous_102)","line":1404,"loc":{"start":{"line":1404,"column":18},"end":{"line":1404,"column":30}}},"103":{"name":"(anonymous_103)","line":1412,"loc":{"start":{"line":1412,"column":13},"end":{"line":1412,"column":29}}},"104":{"name":"(anonymous_104)","line":1418,"loc":{"start":{"line":1418,"column":63},"end":{"line":1418,"column":80}}},"105":{"name":"(anonymous_105)","line":1433,"loc":{"start":{"line":1433,"column":14},"end":{"line":1433,"column":30}}},"106":{"name":"(anonymous_106)","line":1441,"loc":{"start":{"line":1441,"column":36},"end":{"line":1441,"column":48}}},"107":{"name":"(anonymous_107)","line":1450,"loc":{"start":{"line":1450,"column":24},"end":{"line":1450,"column":41}}},"108":{"name":"(anonymous_108)","line":1461,"loc":{"start":{"line":1461,"column":32},"end":{"line":1461,"column":69}}},"109":{"name":"(anonymous_109)","line":1464,"loc":{"start":{"line":1464,"column":32},"end":{"line":1464,"column":74}}}},"statementMap":{"1":{"start":{"line":15,"column":1},"end":{"line":1482,"column":4}},"2":{"start":{"line":17,"column":4},"end":{"line":32,"column":5}},"3":{"start":{"line":19,"column":8},"end":{"line":22,"column":20}},"4":{"start":{"line":23,"column":11},"end":{"line":32,"column":5}},"5":{"start":{"line":25,"column":8},"end":{"line":28,"column":10}},"6":{"start":{"line":31,"column":8},"end":{"line":31,"column":31}},"7":{"start":{"line":38,"column":4},"end":{"line":46,"column":51}},"8":{"start":{"line":53,"column":4},"end":{"line":53,"column":76}},"9":{"start":{"line":54,"column":4},"end":{"line":54,"column":56}},"10":{"start":{"line":57,"column":4},"end":{"line":58,"column":63}},"11":{"start":{"line":61,"column":4},"end":{"line":77,"column":5}},"12":{"start":{"line":62,"column":8},"end":{"line":62,"column":45}},"13":{"start":{"line":63,"column":8},"end":{"line":76,"column":10}},"14":{"start":{"line":64,"column":12},"end":{"line":64,"column":77}},"15":{"start":{"line":65,"column":12},"end":{"line":65,"column":46}},"16":{"start":{"line":66,"column":12},"end":{"line":75,"column":13}},"17":{"start":{"line":71,"column":16},"end":{"line":71,"column":35}},"18":{"start":{"line":72,"column":16},"end":{"line":74,"column":17}},"19":{"start":{"line":73,"column":20},"end":{"line":73,"column":53}},"20":{"start":{"line":87,"column":4},"end":{"line":1480,"column":7}},"21":{"start":{"line":177,"column":16},"end":{"line":177,"column":71}},"22":{"start":{"line":178,"column":16},"end":{"line":182,"column":17}},"23":{"start":{"line":179,"column":20},"end":{"line":181,"column":23}},"24":{"start":{"line":180,"column":24},"end":{"line":180,"column":74}},"25":{"start":{"line":183,"column":16},"end":{"line":183,"column":31}},"26":{"start":{"line":192,"column":16},"end":{"line":192,"column":45}},"27":{"start":{"line":212,"column":16},"end":{"line":214,"column":17}},"28":{"start":{"line":213,"column":20},"end":{"line":213,"column":33}},"29":{"start":{"line":215,"column":16},"end":{"line":220,"column":17}},"30":{"start":{"line":217,"column":20},"end":{"line":219,"column":23}},"31":{"start":{"line":218,"column":24},"end":{"line":218,"column":38}},"32":{"start":{"line":295,"column":12},"end":{"line":295,"column":72}},"33":{"start":{"line":296,"column":12},"end":{"line":296,"column":48}},"34":{"start":{"line":300,"column":12},"end":{"line":300,"column":80}},"35":{"start":{"line":301,"column":12},"end":{"line":301,"column":28}},"36":{"start":{"line":302,"column":12},"end":{"line":302,"column":29}},"37":{"start":{"line":303,"column":12},"end":{"line":311,"column":14}},"38":{"start":{"line":304,"column":16},"end":{"line":304,"column":52}},"39":{"start":{"line":305,"column":16},"end":{"line":309,"column":17}},"40":{"start":{"line":306,"column":20},"end":{"line":306,"column":82}},"41":{"start":{"line":307,"column":20},"end":{"line":307,"column":41}},"42":{"start":{"line":308,"column":20},"end":{"line":308,"column":41}},"43":{"start":{"line":310,"column":16},"end":{"line":310,"column":36}},"44":{"start":{"line":315,"column":12},"end":{"line":317,"column":49}},"45":{"start":{"line":321,"column":12},"end":{"line":321,"column":25}},"46":{"start":{"line":322,"column":12},"end":{"line":324,"column":13}},"47":{"start":{"line":323,"column":16},"end":{"line":323,"column":54}},"48":{"start":{"line":325,"column":12},"end":{"line":327,"column":13}},"49":{"start":{"line":326,"column":16},"end":{"line":326,"column":40}},"50":{"start":{"line":328,"column":12},"end":{"line":334,"column":13}},"51":{"start":{"line":329,"column":16},"end":{"line":329,"column":30}},"52":{"start":{"line":330,"column":16},"end":{"line":332,"column":19}},"53":{"start":{"line":331,"column":20},"end":{"line":331,"column":62}},"54":{"start":{"line":333,"column":16},"end":{"line":333,"column":32}},"55":{"start":{"line":335,"column":12},"end":{"line":335,"column":22}},"56":{"start":{"line":339,"column":12},"end":{"line":339,"column":26}},"57":{"start":{"line":340,"column":12},"end":{"line":342,"column":15}},"58":{"start":{"line":341,"column":16},"end":{"line":341,"column":40}},"59":{"start":{"line":343,"column":12},"end":{"line":343,"column":25}},"60":{"start":{"line":347,"column":12},"end":{"line":351,"column":14}},"61":{"start":{"line":352,"column":12},"end":{"line":356,"column":13}},"62":{"start":{"line":353,"column":16},"end":{"line":353,"column":50}},"63":{"start":{"line":355,"column":16},"end":{"line":355,"column":41}},"64":{"start":{"line":360,"column":12},"end":{"line":360,"column":21}},"65":{"start":{"line":361,"column":12},"end":{"line":369,"column":13}},"66":{"start":{"line":362,"column":16},"end":{"line":366,"column":17}},"67":{"start":{"line":363,"column":20},"end":{"line":365,"column":21}},"68":{"start":{"line":364,"column":24},"end":{"line":364,"column":51}},"69":{"start":{"line":368,"column":16},"end":{"line":368,"column":35}},"70":{"start":{"line":373,"column":12},"end":{"line":414,"column":13}},"71":{"start":{"line":374,"column":16},"end":{"line":375,"column":27}},"72":{"start":{"line":376,"column":16},"end":{"line":380,"column":17}},"73":{"start":{"line":379,"column":20},"end":{"line":379,"column":27}},"74":{"start":{"line":381,"column":16},"end":{"line":381,"column":33}},"75":{"start":{"line":382,"column":16},"end":{"line":384,"column":46}},"76":{"start":{"line":387,"column":16},"end":{"line":387,"column":74}},"77":{"start":{"line":388,"column":16},"end":{"line":392,"column":18}},"78":{"start":{"line":393,"column":16},"end":{"line":393,"column":61}},"79":{"start":{"line":394,"column":16},"end":{"line":398,"column":18}},"80":{"start":{"line":402,"column":16},"end":{"line":406,"column":18}},"81":{"start":{"line":409,"column":16},"end":{"line":413,"column":18}},"82":{"start":{"line":418,"column":12},"end":{"line":419,"column":73}},"83":{"start":{"line":422,"column":12},"end":{"line":434,"column":13}},"84":{"start":{"line":423,"column":16},"end":{"line":430,"column":19}},"85":{"start":{"line":424,"column":20},"end":{"line":424,"column":45}},"86":{"start":{"line":426,"column":20},"end":{"line":426,"column":61}},"87":{"start":{"line":427,"column":20},"end":{"line":427,"column":41}},"88":{"start":{"line":428,"column":20},"end":{"line":428,"column":39}},"89":{"start":{"line":429,"column":20},"end":{"line":429,"column":49}},"90":{"start":{"line":431,"column":16},"end":{"line":433,"column":18}},"91":{"start":{"line":432,"column":20},"end":{"line":432,"column":31}},"92":{"start":{"line":439,"column":12},"end":{"line":439,"column":83}},"93":{"start":{"line":443,"column":12},"end":{"line":449,"column":61}},"94":{"start":{"line":450,"column":12},"end":{"line":450,"column":60}},"95":{"start":{"line":451,"column":12},"end":{"line":453,"column":13}},"96":{"start":{"line":452,"column":16},"end":{"line":452,"column":72}},"97":{"start":{"line":454,"column":12},"end":{"line":457,"column":13}},"98":{"start":{"line":455,"column":16},"end":{"line":456,"column":47}},"99":{"start":{"line":458,"column":12},"end":{"line":510,"column":13}},"100":{"start":{"line":459,"column":16},"end":{"line":459,"column":78}},"101":{"start":{"line":460,"column":16},"end":{"line":460,"column":52}},"102":{"start":{"line":461,"column":19},"end":{"line":510,"column":13}},"103":{"start":{"line":462,"column":16},"end":{"line":508,"column":17}},"104":{"start":{"line":467,"column":20},"end":{"line":467,"column":58}},"105":{"start":{"line":468,"column":20},"end":{"line":481,"column":21}},"106":{"start":{"line":469,"column":24},"end":{"line":472,"column":27}},"107":{"start":{"line":474,"column":24},"end":{"line":480,"column":27}},"108":{"start":{"line":475,"column":28},"end":{"line":479,"column":31}},"109":{"start":{"line":483,"column":20},"end":{"line":490,"column":21}},"110":{"start":{"line":484,"column":24},"end":{"line":484,"column":52}},"111":{"start":{"line":486,"column":24},"end":{"line":486,"column":50}},"112":{"start":{"line":487,"column":24},"end":{"line":489,"column":27}},"113":{"start":{"line":488,"column":28},"end":{"line":488,"column":69}},"114":{"start":{"line":491,"column":20},"end":{"line":507,"column":21}},"115":{"start":{"line":492,"column":24},"end":{"line":492,"column":76}},"116":{"start":{"line":494,"column":24},"end":{"line":506,"column":27}},"117":{"start":{"line":497,"column":28},"end":{"line":505,"column":29}},"118":{"start":{"line":499,"column":32},"end":{"line":504,"column":34}},"119":{"start":{"line":509,"column":16},"end":{"line":509,"column":40}},"120":{"start":{"line":512,"column":12},"end":{"line":512,"column":32}},"121":{"start":{"line":516,"column":12},"end":{"line":516,"column":81}},"122":{"start":{"line":518,"column":12},"end":{"line":518,"column":68}},"123":{"start":{"line":520,"column":12},"end":{"line":520,"column":58}},"124":{"start":{"line":522,"column":12},"end":{"line":527,"column":13}},"125":{"start":{"line":523,"column":16},"end":{"line":526,"column":19}},"126":{"start":{"line":531,"column":12},"end":{"line":545,"column":13}},"127":{"start":{"line":532,"column":16},"end":{"line":537,"column":17}},"128":{"start":{"line":533,"column":20},"end":{"line":535,"column":21}},"129":{"start":{"line":534,"column":24},"end":{"line":534,"column":51}},"130":{"start":{"line":536,"column":20},"end":{"line":536,"column":56}},"131":{"start":{"line":538,"column":16},"end":{"line":542,"column":17}},"132":{"start":{"line":541,"column":20},"end":{"line":541,"column":81}},"133":{"start":{"line":544,"column":16},"end":{"line":544,"column":50}},"134":{"start":{"line":549,"column":12},"end":{"line":550,"column":46}},"135":{"start":{"line":551,"column":12},"end":{"line":567,"column":13}},"136":{"start":{"line":552,"column":16},"end":{"line":552,"column":31}},"137":{"start":{"line":553,"column":16},"end":{"line":561,"column":19}},"138":{"start":{"line":554,"column":20},"end":{"line":556,"column":64}},"139":{"start":{"line":557,"column":20},"end":{"line":560,"column":21}},"140":{"start":{"line":558,"column":24},"end":{"line":558,"column":45}},"141":{"start":{"line":559,"column":24},"end":{"line":559,"column":31}},"142":{"start":{"line":562,"column":16},"end":{"line":564,"column":17}},"143":{"start":{"line":563,"column":20},"end":{"line":563,"column":70}},"144":{"start":{"line":565,"column":19},"end":{"line":567,"column":13}},"145":{"start":{"line":566,"column":16},"end":{"line":566,"column":40}},"146":{"start":{"line":568,"column":12},"end":{"line":568,"column":29}},"147":{"start":{"line":574,"column":12},"end":{"line":581,"column":13}},"148":{"start":{"line":575,"column":16},"end":{"line":575,"column":65}},"149":{"start":{"line":578,"column":16},"end":{"line":580,"column":17}},"150":{"start":{"line":579,"column":20},"end":{"line":579,"column":74}},"151":{"start":{"line":582,"column":12},"end":{"line":582,"column":60}},"152":{"start":{"line":583,"column":12},"end":{"line":585,"column":13}},"153":{"start":{"line":584,"column":16},"end":{"line":584,"column":75}},"154":{"start":{"line":587,"column":12},"end":{"line":590,"column":32}},"155":{"start":{"line":591,"column":12},"end":{"line":594,"column":13}},"156":{"start":{"line":593,"column":16},"end":{"line":593,"column":38}},"157":{"start":{"line":595,"column":12},"end":{"line":597,"column":13}},"158":{"start":{"line":596,"column":16},"end":{"line":596,"column":80}},"159":{"start":{"line":601,"column":12},"end":{"line":601,"column":59}},"160":{"start":{"line":602,"column":12},"end":{"line":602,"column":44}},"161":{"start":{"line":603,"column":12},"end":{"line":603,"column":44}},"162":{"start":{"line":604,"column":12},"end":{"line":604,"column":27}},"163":{"start":{"line":610,"column":12},"end":{"line":612,"column":13}},"164":{"start":{"line":611,"column":16},"end":{"line":611,"column":40}},"165":{"start":{"line":613,"column":12},"end":{"line":615,"column":13}},"166":{"start":{"line":614,"column":16},"end":{"line":614,"column":34}},"167":{"start":{"line":616,"column":12},"end":{"line":618,"column":13}},"168":{"start":{"line":617,"column":16},"end":{"line":617,"column":34}},"169":{"start":{"line":619,"column":12},"end":{"line":619,"column":29}},"170":{"start":{"line":625,"column":12},"end":{"line":625,"column":43}},"171":{"start":{"line":626,"column":12},"end":{"line":626,"column":41}},"172":{"start":{"line":627,"column":12},"end":{"line":627,"column":46}},"173":{"start":{"line":628,"column":12},"end":{"line":628,"column":27}},"174":{"start":{"line":634,"column":12},"end":{"line":635,"column":40}},"175":{"start":{"line":636,"column":12},"end":{"line":636,"column":65}},"176":{"start":{"line":637,"column":12},"end":{"line":641,"column":13}},"177":{"start":{"line":638,"column":16},"end":{"line":638,"column":47}},"178":{"start":{"line":639,"column":19},"end":{"line":641,"column":13}},"179":{"start":{"line":640,"column":16},"end":{"line":640,"column":46}},"180":{"start":{"line":642,"column":12},"end":{"line":642,"column":40}},"181":{"start":{"line":643,"column":12},"end":{"line":643,"column":49}},"182":{"start":{"line":648,"column":12},"end":{"line":651,"column":18}},"183":{"start":{"line":650,"column":20},"end":{"line":650,"column":74}},"184":{"start":{"line":652,"column":12},"end":{"line":666,"column":14}},"185":{"start":{"line":653,"column":16},"end":{"line":664,"column":17}},"186":{"start":{"line":654,"column":20},"end":{"line":663,"column":56}},"187":{"start":{"line":657,"column":32},"end":{"line":660,"column":33}},"188":{"start":{"line":658,"column":36},"end":{"line":659,"column":76}},"189":{"start":{"line":661,"column":32},"end":{"line":661,"column":61}},"190":{"start":{"line":665,"column":16},"end":{"line":665,"column":64}},"191":{"start":{"line":667,"column":12},"end":{"line":677,"column":14}},"192":{"start":{"line":668,"column":16},"end":{"line":675,"column":17}},"193":{"start":{"line":669,"column":20},"end":{"line":674,"column":62}},"194":{"start":{"line":676,"column":16},"end":{"line":676,"column":59}},"195":{"start":{"line":678,"column":12},"end":{"line":685,"column":14}},"196":{"start":{"line":679,"column":16},"end":{"line":681,"column":17}},"197":{"start":{"line":680,"column":20},"end":{"line":680,"column":46}},"198":{"start":{"line":682,"column":16},"end":{"line":682,"column":43}},"199":{"start":{"line":683,"column":16},"end":{"line":683,"column":50}},"200":{"start":{"line":684,"column":16},"end":{"line":684,"column":50}},"201":{"start":{"line":686,"column":12},"end":{"line":693,"column":14}},"202":{"start":{"line":687,"column":16},"end":{"line":689,"column":17}},"203":{"start":{"line":688,"column":20},"end":{"line":688,"column":62}},"204":{"start":{"line":690,"column":16},"end":{"line":692,"column":17}},"205":{"start":{"line":691,"column":20},"end":{"line":691,"column":70}},"206":{"start":{"line":694,"column":12},"end":{"line":697,"column":14}},"207":{"start":{"line":695,"column":16},"end":{"line":696,"column":73}},"208":{"start":{"line":698,"column":12},"end":{"line":700,"column":14}},"209":{"start":{"line":699,"column":16},"end":{"line":699,"column":38}},"210":{"start":{"line":701,"column":12},"end":{"line":703,"column":14}},"211":{"start":{"line":702,"column":16},"end":{"line":702,"column":38}},"212":{"start":{"line":709,"column":12},"end":{"line":712,"column":43}},"213":{"start":{"line":713,"column":12},"end":{"line":713,"column":54}},"214":{"start":{"line":722,"column":12},"end":{"line":722,"column":63}},"215":{"start":{"line":723,"column":12},"end":{"line":732,"column":23}},"216":{"start":{"line":733,"column":12},"end":{"line":736,"column":13}},"217":{"start":{"line":735,"column":16},"end":{"line":735,"column":29}},"218":{"start":{"line":737,"column":12},"end":{"line":739,"column":13}},"219":{"start":{"line":738,"column":16},"end":{"line":738,"column":28}},"220":{"start":{"line":740,"column":12},"end":{"line":747,"column":13}},"221":{"start":{"line":741,"column":16},"end":{"line":741,"column":59}},"222":{"start":{"line":742,"column":16},"end":{"line":746,"column":18}},"223":{"start":{"line":749,"column":12},"end":{"line":812,"column":14}},"224":{"start":{"line":751,"column":16},"end":{"line":752,"column":55}},"225":{"start":{"line":753,"column":16},"end":{"line":758,"column":18}},"226":{"start":{"line":761,"column":16},"end":{"line":761,"column":42}},"227":{"start":{"line":763,"column":16},"end":{"line":764,"column":54}},"228":{"start":{"line":766,"column":16},"end":{"line":766,"column":37}},"229":{"start":{"line":768,"column":16},"end":{"line":768,"column":46}},"230":{"start":{"line":769,"column":16},"end":{"line":811,"column":23}},"231":{"start":{"line":772,"column":24},"end":{"line":773,"column":47}},"232":{"start":{"line":777,"column":24},"end":{"line":783,"column":25}},"233":{"start":{"line":778,"column":28},"end":{"line":782,"column":35}},"234":{"start":{"line":784,"column":24},"end":{"line":784,"column":69}},"235":{"start":{"line":785,"column":24},"end":{"line":785,"column":42}},"236":{"start":{"line":786,"column":24},"end":{"line":786,"column":50}},"237":{"start":{"line":787,"column":24},"end":{"line":787,"column":40}},"238":{"start":{"line":788,"column":24},"end":{"line":788,"column":60}},"239":{"start":{"line":789,"column":24},"end":{"line":789,"column":62}},"240":{"start":{"line":790,"column":24},"end":{"line":799,"column":25}},"241":{"start":{"line":793,"column":28},"end":{"line":793,"column":37}},"242":{"start":{"line":795,"column":28},"end":{"line":798,"column":30}},"243":{"start":{"line":802,"column":24},"end":{"line":802,"column":40}},"244":{"start":{"line":803,"column":24},"end":{"line":803,"column":50}},"245":{"start":{"line":804,"column":24},"end":{"line":804,"column":52}},"246":{"start":{"line":805,"column":24},"end":{"line":805,"column":60}},"247":{"start":{"line":806,"column":24},"end":{"line":806,"column":62}},"248":{"start":{"line":807,"column":24},"end":{"line":810,"column":26}},"249":{"start":{"line":813,"column":12},"end":{"line":813,"column":42}},"250":{"start":{"line":814,"column":12},"end":{"line":816,"column":14}},"251":{"start":{"line":815,"column":16},"end":{"line":815,"column":37}},"252":{"start":{"line":817,"column":12},"end":{"line":817,"column":21}},"253":{"start":{"line":818,"column":12},"end":{"line":818,"column":27}},"254":{"start":{"line":822,"column":12},"end":{"line":832,"column":13}},"255":{"start":{"line":826,"column":16},"end":{"line":826,"column":39}},"256":{"start":{"line":828,"column":16},"end":{"line":828,"column":62}},"257":{"start":{"line":830,"column":16},"end":{"line":830,"column":65}},"258":{"start":{"line":831,"column":16},"end":{"line":831,"column":43}},"259":{"start":{"line":836,"column":12},"end":{"line":836,"column":43}},"260":{"start":{"line":837,"column":12},"end":{"line":837,"column":43}},"261":{"start":{"line":838,"column":12},"end":{"line":838,"column":74}},"262":{"start":{"line":839,"column":12},"end":{"line":839,"column":80}},"263":{"start":{"line":840,"column":12},"end":{"line":840,"column":54}},"264":{"start":{"line":841,"column":12},"end":{"line":841,"column":30}},"265":{"start":{"line":843,"column":12},"end":{"line":843,"column":49}},"266":{"start":{"line":844,"column":12},"end":{"line":844,"column":47}},"267":{"start":{"line":848,"column":12},"end":{"line":849,"column":45}},"268":{"start":{"line":850,"column":12},"end":{"line":858,"column":13}},"269":{"start":{"line":853,"column":16},"end":{"line":857,"column":29}},"270":{"start":{"line":859,"column":12},"end":{"line":859,"column":54}},"271":{"start":{"line":860,"column":12},"end":{"line":860,"column":66}},"272":{"start":{"line":861,"column":12},"end":{"line":861,"column":51}},"273":{"start":{"line":862,"column":12},"end":{"line":862,"column":49}},"274":{"start":{"line":866,"column":12},"end":{"line":866,"column":45}},"275":{"start":{"line":867,"column":12},"end":{"line":872,"column":13}},"276":{"start":{"line":870,"column":16},"end":{"line":870,"column":66}},"277":{"start":{"line":871,"column":16},"end":{"line":871,"column":64}},"278":{"start":{"line":873,"column":12},"end":{"line":873,"column":51}},"279":{"start":{"line":874,"column":12},"end":{"line":874,"column":66}},"280":{"start":{"line":875,"column":12},"end":{"line":875,"column":69}},"281":{"start":{"line":876,"column":12},"end":{"line":876,"column":49}},"282":{"start":{"line":882,"column":12},"end":{"line":882,"column":51}},"283":{"start":{"line":886,"column":12},"end":{"line":888,"column":13}},"284":{"start":{"line":887,"column":16},"end":{"line":887,"column":53}},"285":{"start":{"line":889,"column":12},"end":{"line":940,"column":18}},"286":{"start":{"line":896,"column":20},"end":{"line":896,"column":39}},"287":{"start":{"line":898,"column":20},"end":{"line":898,"column":69}},"288":{"start":{"line":899,"column":20},"end":{"line":938,"column":23}},"289":{"start":{"line":908,"column":24},"end":{"line":908,"column":73}},"290":{"start":{"line":910,"column":24},"end":{"line":910,"column":78}},"291":{"start":{"line":912,"column":24},"end":{"line":917,"column":26}},"292":{"start":{"line":918,"column":24},"end":{"line":918,"column":43}},"293":{"start":{"line":919,"column":24},"end":{"line":919,"column":42}},"294":{"start":{"line":920,"column":24},"end":{"line":932,"column":25}},"295":{"start":{"line":924,"column":28},"end":{"line":924,"column":63}},"296":{"start":{"line":925,"column":28},"end":{"line":931,"column":29}},"297":{"start":{"line":926,"column":32},"end":{"line":929,"column":33}},"298":{"start":{"line":927,"column":36},"end":{"line":927,"column":55}},"299":{"start":{"line":928,"column":36},"end":{"line":928,"column":42}},"300":{"start":{"line":930,"column":32},"end":{"line":930,"column":63}},"301":{"start":{"line":933,"column":24},"end":{"line":937,"column":25}},"302":{"start":{"line":936,"column":28},"end":{"line":936,"column":50}},"303":{"start":{"line":939,"column":20},"end":{"line":939,"column":33}},"304":{"start":{"line":941,"column":12},"end":{"line":941,"column":41}},"305":{"start":{"line":942,"column":12},"end":{"line":967,"column":13}},"306":{"start":{"line":945,"column":16},"end":{"line":952,"column":17}},"307":{"start":{"line":946,"column":20},"end":{"line":946,"column":40}},"308":{"start":{"line":947,"column":20},"end":{"line":947,"column":43}},"309":{"start":{"line":948,"column":20},"end":{"line":948,"column":43}},"310":{"start":{"line":950,"column":20},"end":{"line":950,"column":69}},"311":{"start":{"line":951,"column":20},"end":{"line":951,"column":42}},"312":{"start":{"line":956,"column":16},"end":{"line":965,"column":18}},"313":{"start":{"line":957,"column":20},"end":{"line":957,"column":60}},"314":{"start":{"line":958,"column":20},"end":{"line":963,"column":21}},"315":{"start":{"line":959,"column":24},"end":{"line":961,"column":25}},"316":{"start":{"line":960,"column":28},"end":{"line":960,"column":70}},"317":{"start":{"line":962,"column":24},"end":{"line":962,"column":38}},"318":{"start":{"line":964,"column":20},"end":{"line":964,"column":41}},"319":{"start":{"line":966,"column":16},"end":{"line":966,"column":50}},"320":{"start":{"line":968,"column":12},"end":{"line":968,"column":26}},"321":{"start":{"line":972,"column":12},"end":{"line":986,"column":22}},"322":{"start":{"line":987,"column":12},"end":{"line":989,"column":13}},"323":{"start":{"line":988,"column":16},"end":{"line":988,"column":29}},"324":{"start":{"line":990,"column":12},"end":{"line":992,"column":13}},"325":{"start":{"line":991,"column":16},"end":{"line":991,"column":38}},"326":{"start":{"line":993,"column":12},"end":{"line":1028,"column":13}},"327":{"start":{"line":995,"column":16},"end":{"line":995,"column":34}},"328":{"start":{"line":996,"column":16},"end":{"line":996,"column":43}},"329":{"start":{"line":997,"column":19},"end":{"line":1028,"column":13}},"330":{"start":{"line":998,"column":16},"end":{"line":998,"column":29}},"331":{"start":{"line":999,"column":16},"end":{"line":999,"column":34}},"332":{"start":{"line":1000,"column":16},"end":{"line":1007,"column":17}},"333":{"start":{"line":1001,"column":20},"end":{"line":1001,"column":60}},"334":{"start":{"line":1002,"column":20},"end":{"line":1002,"column":67}},"335":{"start":{"line":1003,"column":20},"end":{"line":1005,"column":21}},"336":{"start":{"line":1004,"column":24},"end":{"line":1004,"column":51}},"337":{"start":{"line":1006,"column":20},"end":{"line":1006,"column":54}},"338":{"start":{"line":1008,"column":19},"end":{"line":1028,"column":13}},"339":{"start":{"line":1009,"column":16},"end":{"line":1009,"column":29}},"340":{"start":{"line":1010,"column":16},"end":{"line":1010,"column":34}},"341":{"start":{"line":1011,"column":16},"end":{"line":1025,"column":17}},"342":{"start":{"line":1012,"column":20},"end":{"line":1012,"column":58}},"343":{"start":{"line":1013,"column":20},"end":{"line":1024,"column":21}},"344":{"start":{"line":1016,"column":24},"end":{"line":1016,"column":60}},"345":{"start":{"line":1017,"column":24},"end":{"line":1017,"column":67}},"346":{"start":{"line":1018,"column":24},"end":{"line":1020,"column":25}},"347":{"start":{"line":1019,"column":28},"end":{"line":1019,"column":55}},"348":{"start":{"line":1021,"column":24},"end":{"line":1021,"column":58}},"349":{"start":{"line":1022,"column":24},"end":{"line":1022,"column":34}},"350":{"start":{"line":1023,"column":24},"end":{"line":1023,"column":38}},"351":{"start":{"line":1027,"column":16},"end":{"line":1027,"column":41}},"352":{"start":{"line":1029,"column":12},"end":{"line":1029,"column":39}},"353":{"start":{"line":1030,"column":12},"end":{"line":1043,"column":15}},"354":{"start":{"line":1031,"column":16},"end":{"line":1031,"column":49}},"355":{"start":{"line":1032,"column":16},"end":{"line":1032,"column":62}},"356":{"start":{"line":1033,"column":16},"end":{"line":1033,"column":56}},"357":{"start":{"line":1034,"column":16},"end":{"line":1034,"column":50}},"358":{"start":{"line":1035,"column":16},"end":{"line":1035,"column":50}},"359":{"start":{"line":1036,"column":16},"end":{"line":1036,"column":56}},"360":{"start":{"line":1037,"column":16},"end":{"line":1041,"column":18}},"361":{"start":{"line":1042,"column":16},"end":{"line":1042,"column":30}},"362":{"start":{"line":1044,"column":12},"end":{"line":1044,"column":26}},"363":{"start":{"line":1048,"column":12},"end":{"line":1050,"column":64}},"364":{"start":{"line":1052,"column":12},"end":{"line":1052,"column":45}},"365":{"start":{"line":1053,"column":12},"end":{"line":1053,"column":61}},"366":{"start":{"line":1056,"column":12},"end":{"line":1056,"column":45}},"367":{"start":{"line":1059,"column":12},"end":{"line":1061,"column":13}},"368":{"start":{"line":1060,"column":16},"end":{"line":1060,"column":35}},"369":{"start":{"line":1063,"column":12},"end":{"line":1063,"column":48}},"370":{"start":{"line":1067,"column":12},"end":{"line":1072,"column":15}},"371":{"start":{"line":1068,"column":16},"end":{"line":1070,"column":17}},"372":{"start":{"line":1069,"column":20},"end":{"line":1069,"column":41}},"373":{"start":{"line":1071,"column":16},"end":{"line":1071,"column":26}},"374":{"start":{"line":1075,"column":12},"end":{"line":1077,"column":13}},"375":{"start":{"line":1076,"column":16},"end":{"line":1076,"column":42}},"376":{"start":{"line":1081,"column":12},"end":{"line":1112,"column":18}},"377":{"start":{"line":1086,"column":20},"end":{"line":1088,"column":21}},"378":{"start":{"line":1087,"column":24},"end":{"line":1087,"column":40}},"379":{"start":{"line":1093,"column":20},"end":{"line":1093,"column":37}},"380":{"start":{"line":1096,"column":20},"end":{"line":1101,"column":42}},"381":{"start":{"line":1100,"column":24},"end":{"line":1100,"column":43}},"382":{"start":{"line":1104,"column":20},"end":{"line":1111,"column":37}},"383":{"start":{"line":1105,"column":24},"end":{"line":1110,"column":25}},"384":{"start":{"line":1106,"column":28},"end":{"line":1106,"column":52}},"385":{"start":{"line":1108,"column":28},"end":{"line":1108,"column":62}},"386":{"start":{"line":1109,"column":28},"end":{"line":1109,"column":42}},"387":{"start":{"line":1113,"column":12},"end":{"line":1113,"column":30}},"388":{"start":{"line":1114,"column":12},"end":{"line":1132,"column":13}},"389":{"start":{"line":1115,"column":16},"end":{"line":1124,"column":17}},"390":{"start":{"line":1117,"column":20},"end":{"line":1117,"column":52}},"391":{"start":{"line":1118,"column":20},"end":{"line":1118,"column":45}},"392":{"start":{"line":1120,"column":20},"end":{"line":1123,"column":37}},"393":{"start":{"line":1121,"column":24},"end":{"line":1121,"column":49}},"394":{"start":{"line":1122,"column":24},"end":{"line":1122,"column":42}},"395":{"start":{"line":1125,"column":19},"end":{"line":1132,"column":13}},"396":{"start":{"line":1126,"column":16},"end":{"line":1126,"column":49}},"397":{"start":{"line":1127,"column":16},"end":{"line":1127,"column":30}},"398":{"start":{"line":1131,"column":16},"end":{"line":1131,"column":32}},"399":{"start":{"line":1133,"column":12},"end":{"line":1133,"column":33}},"400":{"start":{"line":1137,"column":12},"end":{"line":1137,"column":28}},"401":{"start":{"line":1138,"column":12},"end":{"line":1148,"column":15}},"402":{"start":{"line":1141,"column":20},"end":{"line":1141,"column":66}},"403":{"start":{"line":1144,"column":16},"end":{"line":1147,"column":18}},"404":{"start":{"line":1152,"column":12},"end":{"line":1152,"column":46}},"405":{"start":{"line":1153,"column":12},"end":{"line":1153,"column":43}},"406":{"start":{"line":1154,"column":12},"end":{"line":1170,"column":13}},"407":{"start":{"line":1156,"column":16},"end":{"line":1169,"column":18}},"408":{"start":{"line":1158,"column":24},"end":{"line":1158,"column":34}},"409":{"start":{"line":1159,"column":24},"end":{"line":1166,"column":25}},"410":{"start":{"line":1160,"column":28},"end":{"line":1160,"column":60}},"411":{"start":{"line":1161,"column":28},"end":{"line":1164,"column":29}},"412":{"start":{"line":1163,"column":32},"end":{"line":1163,"column":63}},"413":{"start":{"line":1165,"column":28},"end":{"line":1165,"column":41}},"414":{"start":{"line":1167,"column":24},"end":{"line":1167,"column":49}},"415":{"start":{"line":1171,"column":12},"end":{"line":1173,"column":24}},"416":{"start":{"line":1177,"column":12},"end":{"line":1177,"column":37}},"417":{"start":{"line":1178,"column":12},"end":{"line":1181,"column":22}},"418":{"start":{"line":1182,"column":12},"end":{"line":1184,"column":13}},"419":{"start":{"line":1183,"column":16},"end":{"line":1183,"column":60}},"420":{"start":{"line":1185,"column":12},"end":{"line":1185,"column":57}},"421":{"start":{"line":1186,"column":12},"end":{"line":1201,"column":13}},"422":{"start":{"line":1187,"column":16},"end":{"line":1187,"column":48}},"423":{"start":{"line":1188,"column":16},"end":{"line":1190,"column":17}},"424":{"start":{"line":1189,"column":20},"end":{"line":1189,"column":62}},"425":{"start":{"line":1194,"column":16},"end":{"line":1194,"column":61}},"426":{"start":{"line":1195,"column":19},"end":{"line":1201,"column":13}},"427":{"start":{"line":1197,"column":16},"end":{"line":1200,"column":19}},"428":{"start":{"line":1198,"column":20},"end":{"line":1198,"column":46}},"429":{"start":{"line":1199,"column":20},"end":{"line":1199,"column":46}},"430":{"start":{"line":1202,"column":12},"end":{"line":1202,"column":57}},"431":{"start":{"line":1206,"column":12},"end":{"line":1208,"column":13}},"432":{"start":{"line":1207,"column":16},"end":{"line":1207,"column":64}},"433":{"start":{"line":1209,"column":12},"end":{"line":1217,"column":15}},"434":{"start":{"line":1213,"column":16},"end":{"line":1216,"column":18}},"435":{"start":{"line":1221,"column":12},"end":{"line":1225,"column":18}},"436":{"start":{"line":1226,"column":12},"end":{"line":1238,"column":15}},"437":{"start":{"line":1227,"column":16},"end":{"line":1227,"column":35}},"438":{"start":{"line":1228,"column":16},"end":{"line":1230,"column":17}},"439":{"start":{"line":1229,"column":20},"end":{"line":1229,"column":49}},"440":{"start":{"line":1231,"column":16},"end":{"line":1237,"column":17}},"441":{"start":{"line":1236,"column":20},"end":{"line":1236,"column":41}},"442":{"start":{"line":1242,"column":12},"end":{"line":1244,"column":35}},"443":{"start":{"line":1245,"column":12},"end":{"line":1259,"column":13}},"444":{"start":{"line":1246,"column":16},"end":{"line":1251,"column":19}},"445":{"start":{"line":1247,"column":20},"end":{"line":1247,"column":66}},"446":{"start":{"line":1248,"column":20},"end":{"line":1250,"column":21}},"447":{"start":{"line":1249,"column":24},"end":{"line":1249,"column":46}},"448":{"start":{"line":1252,"column":16},"end":{"line":1258,"column":17}},"449":{"start":{"line":1257,"column":20},"end":{"line":1257,"column":41}},"450":{"start":{"line":1263,"column":12},"end":{"line":1263,"column":77}},"451":{"start":{"line":1264,"column":12},"end":{"line":1266,"column":26}},"452":{"start":{"line":1267,"column":12},"end":{"line":1279,"column":13}},"453":{"start":{"line":1268,"column":16},"end":{"line":1268,"column":35}},"454":{"start":{"line":1269,"column":16},"end":{"line":1278,"column":19}},"455":{"start":{"line":1270,"column":20},"end":{"line":1270,"column":39}},"456":{"start":{"line":1271,"column":20},"end":{"line":1277,"column":21}},"457":{"start":{"line":1276,"column":24},"end":{"line":1276,"column":45}},"458":{"start":{"line":1289,"column":12},"end":{"line":1301,"column":13}},"459":{"start":{"line":1290,"column":16},"end":{"line":1297,"column":19}},"460":{"start":{"line":1298,"column":16},"end":{"line":1300,"column":19}},"461":{"start":{"line":1302,"column":12},"end":{"line":1306,"column":13}},"462":{"start":{"line":1303,"column":16},"end":{"line":1305,"column":19}},"463":{"start":{"line":1310,"column":12},"end":{"line":1310,"column":82}},"464":{"start":{"line":1311,"column":12},"end":{"line":1311,"column":55}},"465":{"start":{"line":1312,"column":12},"end":{"line":1312,"column":56}},"466":{"start":{"line":1316,"column":12},"end":{"line":1316,"column":41}},"467":{"start":{"line":1320,"column":12},"end":{"line":1320,"column":69}},"468":{"start":{"line":1321,"column":12},"end":{"line":1323,"column":13}},"469":{"start":{"line":1322,"column":16},"end":{"line":1322,"column":45}},"470":{"start":{"line":1324,"column":12},"end":{"line":1324,"column":36}},"471":{"start":{"line":1325,"column":12},"end":{"line":1328,"column":13}},"472":{"start":{"line":1326,"column":16},"end":{"line":1326,"column":43}},"473":{"start":{"line":1327,"column":16},"end":{"line":1327,"column":42}},"474":{"start":{"line":1332,"column":12},"end":{"line":1332,"column":39}},"475":{"start":{"line":1333,"column":12},"end":{"line":1338,"column":13}},"476":{"start":{"line":1334,"column":16},"end":{"line":1335,"column":79}},"477":{"start":{"line":1336,"column":19},"end":{"line":1338,"column":13}},"478":{"start":{"line":1337,"column":16},"end":{"line":1337,"column":57}},"479":{"start":{"line":1339,"column":12},"end":{"line":1341,"column":13}},"480":{"start":{"line":1340,"column":16},"end":{"line":1340,"column":55}},"481":{"start":{"line":1342,"column":12},"end":{"line":1344,"column":13}},"482":{"start":{"line":1343,"column":16},"end":{"line":1343,"column":57}},"483":{"start":{"line":1348,"column":12},"end":{"line":1349,"column":40}},"484":{"start":{"line":1350,"column":12},"end":{"line":1350,"column":26}},"485":{"start":{"line":1351,"column":12},"end":{"line":1351,"column":58}},"486":{"start":{"line":1355,"column":12},"end":{"line":1356,"column":49}},"487":{"start":{"line":1360,"column":12},"end":{"line":1362,"column":43}},"488":{"start":{"line":1364,"column":12},"end":{"line":1381,"column":14}},"489":{"start":{"line":1367,"column":20},"end":{"line":1368,"column":30}},"490":{"start":{"line":1369,"column":20},"end":{"line":1379,"column":21}},"491":{"start":{"line":1371,"column":24},"end":{"line":1373,"column":27}},"492":{"start":{"line":1372,"column":28},"end":{"line":1372,"column":63}},"493":{"start":{"line":1374,"column":24},"end":{"line":1374,"column":42}},"494":{"start":{"line":1375,"column":24},"end":{"line":1377,"column":25}},"495":{"start":{"line":1376,"column":28},"end":{"line":1376,"column":59}},"496":{"start":{"line":1378,"column":24},"end":{"line":1378,"column":45}},"497":{"start":{"line":1385,"column":12},"end":{"line":1385,"column":39}},"498":{"start":{"line":1386,"column":12},"end":{"line":1386,"column":39}},"499":{"start":{"line":1387,"column":12},"end":{"line":1387,"column":29}},"500":{"start":{"line":1388,"column":12},"end":{"line":1388,"column":55}},"501":{"start":{"line":1389,"column":12},"end":{"line":1389,"column":45}},"502":{"start":{"line":1390,"column":12},"end":{"line":1390,"column":43}},"503":{"start":{"line":1391,"column":12},"end":{"line":1391,"column":38}},"504":{"start":{"line":1397,"column":12},"end":{"line":1397,"column":32}},"505":{"start":{"line":1405,"column":12},"end":{"line":1405,"column":34}},"506":{"start":{"line":1413,"column":12},"end":{"line":1413,"column":28}},"507":{"start":{"line":1414,"column":12},"end":{"line":1416,"column":13}},"508":{"start":{"line":1415,"column":16},"end":{"line":1415,"column":23}},"509":{"start":{"line":1417,"column":12},"end":{"line":1425,"column":13}},"510":{"start":{"line":1418,"column":16},"end":{"line":1421,"column":19}},"511":{"start":{"line":1419,"column":20},"end":{"line":1419,"column":39}},"512":{"start":{"line":1420,"column":20},"end":{"line":1420,"column":44}},"513":{"start":{"line":1423,"column":16},"end":{"line":1423,"column":53}},"514":{"start":{"line":1424,"column":16},"end":{"line":1424,"column":40}},"515":{"start":{"line":1434,"column":12},"end":{"line":1476,"column":13}},"516":{"start":{"line":1435,"column":16},"end":{"line":1471,"column":17}},"517":{"start":{"line":1436,"column":20},"end":{"line":1440,"column":32}},"518":{"start":{"line":1441,"column":20},"end":{"line":1448,"column":22}},"519":{"start":{"line":1442,"column":24},"end":{"line":1442,"column":39}},"520":{"start":{"line":1443,"column":24},"end":{"line":1445,"column":25}},"521":{"start":{"line":1444,"column":28},"end":{"line":1444,"column":49}},"522":{"start":{"line":1446,"column":24},"end":{"line":1446,"column":59}},"523":{"start":{"line":1447,"column":24},"end":{"line":1447,"column":39}},"524":{"start":{"line":1449,"column":20},"end":{"line":1469,"column":22}},"525":{"start":{"line":1451,"column":28},"end":{"line":1453,"column":29}},"526":{"start":{"line":1452,"column":32},"end":{"line":1452,"column":39}},"527":{"start":{"line":1454,"column":28},"end":{"line":1457,"column":29}},"528":{"start":{"line":1455,"column":32},"end":{"line":1455,"column":45}},"529":{"start":{"line":1456,"column":32},"end":{"line":1456,"column":39}},"530":{"start":{"line":1458,"column":28},"end":{"line":1458,"column":47}},"531":{"start":{"line":1459,"column":28},"end":{"line":1459,"column":61}},"532":{"start":{"line":1460,"column":28},"end":{"line":1467,"column":30}},"533":{"start":{"line":1462,"column":36},"end":{"line":1462,"column":75}},"534":{"start":{"line":1465,"column":36},"end":{"line":1465,"column":79}},"535":{"start":{"line":1470,"column":20},"end":{"line":1470,"column":57}},"536":{"start":{"line":1472,"column":16},"end":{"line":1472,"column":53}},"537":{"start":{"line":1473,"column":16},"end":{"line":1475,"column":17}},"538":{"start":{"line":1474,"column":20},"end":{"line":1474,"column":52}},"539":{"start":{"line":1477,"column":12},"end":{"line":1477,"column":68}}},"branchMap":{"1":{"line":17,"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":4}},{"start":{"line":17,"column":4},"end":{"line":17,"column":4}}]},"2":{"line":17,"type":"binary-expr","locations":[{"start":{"line":17,"column":8},"end":{"line":17,"column":36}},{"start":{"line":17,"column":40},"end":{"line":17,"column":50}}]},"3":{"line":23,"type":"if","locations":[{"start":{"line":23,"column":11},"end":{"line":23,"column":11}},{"start":{"line":23,"column":11},"end":{"line":23,"column":11}}]},"4":{"line":38,"type":"binary-expr","locations":[{"start":{"line":38,"column":28},"end":{"line":44,"column":38}},{"start":{"line":46,"column":8},"end":{"line":46,"column":49}}]},"5":{"line":53,"type":"binary-expr","locations":[{"start":{"line":53,"column":33},"end":{"line":53,"column":53}},{"start":{"line":53,"column":57},"end":{"line":53,"column":74}}]},"6":{"line":57,"type":"binary-expr","locations":[{"start":{"line":57,"column":26},"end":{"line":57,"column":37}},{"start":{"line":57,"column":42},"end":{"line":57,"column":62}},{"start":{"line":58,"column":8},"end":{"line":58,"column":34}},{"start":{"line":58,"column":38},"end":{"line":58,"column":61}}]},"7":{"line":64,"type":"binary-expr","locations":[{"start":{"line":64,"column":29},"end":{"line":64,"column":44}},{"start":{"line":64,"column":48},"end":{"line":64,"column":76}}]},"8":{"line":66,"type":"if","locations":[{"start":{"line":66,"column":12},"end":{"line":66,"column":12}},{"start":{"line":66,"column":12},"end":{"line":66,"column":12}}]},"9":{"line":66,"type":"binary-expr","locations":[{"start":{"line":66,"column":16},"end":{"line":66,"column":28}},{"start":{"line":66,"column":32},"end":{"line":66,"column":77}},{"start":{"line":67,"column":20},"end":{"line":70,"column":31}}]},"10":{"line":72,"type":"if","locations":[{"start":{"line":72,"column":16},"end":{"line":72,"column":16}},{"start":{"line":72,"column":16},"end":{"line":72,"column":16}}]},"11":{"line":177,"type":"binary-expr","locations":[{"start":{"line":177,"column":26},"end":{"line":177,"column":48}},{"start":{"line":177,"column":52},"end":{"line":177,"column":70}}]},"12":{"line":178,"type":"if","locations":[{"start":{"line":178,"column":16},"end":{"line":178,"column":16}},{"start":{"line":178,"column":16},"end":{"line":178,"column":16}}]},"13":{"line":212,"type":"if","locations":[{"start":{"line":212,"column":16},"end":{"line":212,"column":16}},{"start":{"line":212,"column":16},"end":{"line":212,"column":16}}]},"14":{"line":215,"type":"if","locations":[{"start":{"line":215,"column":16},"end":{"line":215,"column":16}},{"start":{"line":215,"column":16},"end":{"line":215,"column":16}}]},"15":{"line":215,"type":"binary-expr","locations":[{"start":{"line":215,"column":20},"end":{"line":215,"column":35}},{"start":{"line":215,"column":40},"end":{"line":215,"column":65}},{"start":{"line":216,"column":24},"end":{"line":216,"column":66}}]},"16":{"line":294,"type":"binary-expr","locations":[{"start":{"line":294,"column":20},"end":{"line":294,"column":39}},{"start":{"line":294,"column":43},"end":{"line":297,"column":9}}]},"17":{"line":295,"type":"binary-expr","locations":[{"start":{"line":295,"column":24},"end":{"line":295,"column":34}},{"start":{"line":295,"column":38},"end":{"line":295,"column":54}},{"start":{"line":295,"column":58},"end":{"line":295,"column":71}}]},"18":{"line":300,"type":"cond-expr","locations":[{"start":{"line":300,"column":43},"end":{"line":300,"column":53}},{"start":{"line":300,"column":56},"end":{"line":300,"column":78}}]},"19":{"line":305,"type":"if","locations":[{"start":{"line":305,"column":16},"end":{"line":305,"column":16}},{"start":{"line":305,"column":16},"end":{"line":305,"column":16}}]},"20":{"line":305,"type":"binary-expr","locations":[{"start":{"line":305,"column":20},"end":{"line":305,"column":33}},{"start":{"line":305,"column":37},"end":{"line":305,"column":46}},{"start":{"line":305,"column":50},"end":{"line":305,"column":69}}]},"21":{"line":315,"type":"binary-expr","locations":[{"start":{"line":315,"column":19},"end":{"line":315,"column":48}},{"start":{"line":316,"column":18},"end":{"line":316,"column":36}},{"start":{"line":316,"column":40},"end":{"line":316,"column":63}},{"start":{"line":317,"column":16},"end":{"line":317,"column":47}}]},"22":{"line":322,"type":"if","locations":[{"start":{"line":322,"column":12},"end":{"line":322,"column":12}},{"start":{"line":322,"column":12},"end":{"line":322,"column":12}}]},"23":{"line":325,"type":"if","locations":[{"start":{"line":325,"column":12},"end":{"line":325,"column":12}},{"start":{"line":325,"column":12},"end":{"line":325,"column":12}}]},"24":{"line":328,"type":"if","locations":[{"start":{"line":328,"column":12},"end":{"line":328,"column":12}},{"start":{"line":328,"column":12},"end":{"line":328,"column":12}}]},"25":{"line":341,"type":"binary-expr","locations":[{"start":{"line":341,"column":25},"end":{"line":341,"column":34}},{"start":{"line":341,"column":38},"end":{"line":341,"column":39}}]},"26":{"line":352,"type":"if","locations":[{"start":{"line":352,"column":12},"end":{"line":352,"column":12}},{"start":{"line":352,"column":12},"end":{"line":352,"column":12}}]},"27":{"line":361,"type":"if","locations":[{"start":{"line":361,"column":12},"end":{"line":361,"column":12}},{"start":{"line":361,"column":12},"end":{"line":361,"column":12}}]},"28":{"line":363,"type":"if","locations":[{"start":{"line":363,"column":20},"end":{"line":363,"column":20}},{"start":{"line":363,"column":20},"end":{"line":363,"column":20}}]},"29":{"line":373,"type":"if","locations":[{"start":{"line":373,"column":12},"end":{"line":373,"column":12}},{"start":{"line":373,"column":12},"end":{"line":373,"column":12}}]},"30":{"line":374,"type":"cond-expr","locations":[{"start":{"line":374,"column":40},"end":{"line":374,"column":50}},{"start":{"line":374,"column":53},"end":{"line":374,"column":75}}]},"31":{"line":376,"type":"if","locations":[{"start":{"line":376,"column":16},"end":{"line":376,"column":16}},{"start":{"line":376,"column":16},"end":{"line":376,"column":16}}]},"32":{"line":376,"type":"binary-expr","locations":[{"start":{"line":376,"column":20},"end":{"line":376,"column":30}},{"start":{"line":376,"column":34},"end":{"line":376,"column":55}},{"start":{"line":377,"column":25},"end":{"line":377,"column":65}},{"start":{"line":378,"column":24},"end":{"line":378,"column":44}}]},"33":{"line":383,"type":"binary-expr","locations":[{"start":{"line":383,"column":42},"end":{"line":383,"column":56}},{"start":{"line":383,"column":60},"end":{"line":383,"column":80}}]},"34":{"line":384,"type":"binary-expr","locations":[{"start":{"line":384,"column":21},"end":{"line":384,"column":39}},{"start":{"line":384,"column":43},"end":{"line":384,"column":44}}]},"35":{"line":419,"type":"cond-expr","locations":[{"start":{"line":419,"column":36},"end":{"line":419,"column":49}},{"start":{"line":419,"column":52},"end":{"line":419,"column":72}}]},"36":{"line":422,"type":"if","locations":[{"start":{"line":422,"column":12},"end":{"line":422,"column":12}},{"start":{"line":422,"column":12},"end":{"line":422,"column":12}}]},"37":{"line":447,"type":"binary-expr","locations":[{"start":{"line":447,"column":28},"end":{"line":447,"column":45}},{"start":{"line":447,"column":49},"end":{"line":447,"column":73}}]},"38":{"line":448,"type":"cond-expr","locations":[{"start":{"line":449,"column":20},"end":{"line":449,"column":40}},{"start":{"line":449,"column":43},"end":{"line":449,"column":60}}]},"39":{"line":451,"type":"if","locations":[{"start":{"line":451,"column":12},"end":{"line":451,"column":12}},{"start":{"line":451,"column":12},"end":{"line":451,"column":12}}]},"40":{"line":454,"type":"if","locations":[{"start":{"line":454,"column":12},"end":{"line":454,"column":12}},{"start":{"line":454,"column":12},"end":{"line":454,"column":12}}]},"41":{"line":454,"type":"binary-expr","locations":[{"start":{"line":454,"column":16},"end":{"line":454,"column":26}},{"start":{"line":454,"column":30},"end":{"line":454,"column":42}},{"start":{"line":454,"column":46},"end":{"line":454,"column":79}}]},"42":{"line":458,"type":"if","locations":[{"start":{"line":458,"column":12},"end":{"line":458,"column":12}},{"start":{"line":458,"column":12},"end":{"line":458,"column":12}}]},"43":{"line":459,"type":"binary-expr","locations":[{"start":{"line":459,"column":38},"end":{"line":459,"column":47}},{"start":{"line":459,"column":51},"end":{"line":459,"column":77}}]},"44":{"line":460,"type":"binary-expr","locations":[{"start":{"line":460,"column":31},"end":{"line":460,"column":43}},{"start":{"line":460,"column":47},"end":{"line":460,"column":51}}]},"45":{"line":461,"type":"if","locations":[{"start":{"line":461,"column":19},"end":{"line":461,"column":19}},{"start":{"line":461,"column":19},"end":{"line":461,"column":19}}]},"46":{"line":462,"type":"if","locations":[{"start":{"line":462,"column":16},"end":{"line":462,"column":16}},{"start":{"line":462,"column":16},"end":{"line":462,"column":16}}]},"47":{"line":468,"type":"if","locations":[{"start":{"line":468,"column":20},"end":{"line":468,"column":20}},{"start":{"line":468,"column":20},"end":{"line":468,"column":20}}]},"48":{"line":476,"type":"binary-expr","locations":[{"start":{"line":476,"column":39},"end":{"line":476,"column":76}},{"start":{"line":477,"column":36},"end":{"line":477,"column":60}},{"start":{"line":477,"column":65},"end":{"line":477,"column":74}}]},"49":{"line":483,"type":"if","locations":[{"start":{"line":483,"column":20},"end":{"line":483,"column":20}},{"start":{"line":483,"column":20},"end":{"line":483,"column":20}}]},"50":{"line":491,"type":"if","locations":[{"start":{"line":491,"column":20},"end":{"line":491,"column":20}},{"start":{"line":491,"column":20},"end":{"line":491,"column":20}}]},"51":{"line":497,"type":"if","locations":[{"start":{"line":497,"column":28},"end":{"line":497,"column":28}},{"start":{"line":497,"column":28},"end":{"line":497,"column":28}}]},"52":{"line":497,"type":"binary-expr","locations":[{"start":{"line":497,"column":32},"end":{"line":497,"column":64}},{"start":{"line":498,"column":36},"end":{"line":498,"column":68}}]},"53":{"line":500,"type":"binary-expr","locations":[{"start":{"line":500,"column":37},"end":{"line":500,"column":74}},{"start":{"line":501,"column":40},"end":{"line":501,"column":64}},{"start":{"line":501,"column":69},"end":{"line":501,"column":78}}]},"54":{"line":503,"type":"binary-expr","locations":[{"start":{"line":503,"column":36},"end":{"line":503,"column":51}},{"start":{"line":503,"column":55},"end":{"line":503,"column":64}}]},"55":{"line":518,"type":"binary-expr","locations":[{"start":{"line":518,"column":44},"end":{"line":518,"column":60}},{"start":{"line":518,"column":64},"end":{"line":518,"column":66}}]},"56":{"line":522,"type":"if","locations":[{"start":{"line":522,"column":12},"end":{"line":522,"column":12}},{"start":{"line":522,"column":12},"end":{"line":522,"column":12}}]},"57":{"line":522,"type":"binary-expr","locations":[{"start":{"line":522,"column":16},"end":{"line":522,"column":32}},{"start":{"line":522,"column":36},"end":{"line":522,"column":46}},{"start":{"line":522,"column":50},"end":{"line":522,"column":78}}]},"58":{"line":524,"type":"binary-expr","locations":[{"start":{"line":524,"column":26},"end":{"line":524,"column":51}},{"start":{"line":524,"column":55},"end":{"line":524,"column":65}}]},"59":{"line":531,"type":"if","locations":[{"start":{"line":531,"column":12},"end":{"line":531,"column":12}},{"start":{"line":531,"column":12},"end":{"line":531,"column":12}}]},"60":{"line":532,"type":"if","locations":[{"start":{"line":532,"column":16},"end":{"line":532,"column":16}},{"start":{"line":532,"column":16},"end":{"line":532,"column":16}}]},"61":{"line":533,"type":"if","locations":[{"start":{"line":533,"column":20},"end":{"line":533,"column":20}},{"start":{"line":533,"column":20},"end":{"line":533,"column":20}}]},"62":{"line":538,"type":"if","locations":[{"start":{"line":538,"column":16},"end":{"line":538,"column":16}},{"start":{"line":538,"column":16},"end":{"line":538,"column":16}}]},"63":{"line":541,"type":"binary-expr","locations":[{"start":{"line":541,"column":57},"end":{"line":541,"column":73}},{"start":{"line":541,"column":77},"end":{"line":541,"column":79}}]},"64":{"line":551,"type":"if","locations":[{"start":{"line":551,"column":12},"end":{"line":551,"column":12}},{"start":{"line":551,"column":12},"end":{"line":551,"column":12}}]},"65":{"line":555,"type":"binary-expr","locations":[{"start":{"line":555,"column":31},"end":{"line":555,"column":49}},{"start":{"line":555,"column":53},"end":{"line":555,"column":62}}]},"66":{"line":556,"type":"binary-expr","locations":[{"start":{"line":556,"column":29},"end":{"line":556,"column":48}},{"start":{"line":556,"column":52},"end":{"line":556,"column":55}}]},"67":{"line":562,"type":"if","locations":[{"start":{"line":562,"column":16},"end":{"line":562,"column":16}},{"start":{"line":562,"column":16},"end":{"line":562,"column":16}}]},"68":{"line":563,"type":"binary-expr","locations":[{"start":{"line":563,"column":33},"end":{"line":563,"column":55}},{"start":{"line":563,"column":59},"end":{"line":563,"column":68}}]},"69":{"line":565,"type":"if","locations":[{"start":{"line":565,"column":19},"end":{"line":565,"column":19}},{"start":{"line":565,"column":19},"end":{"line":565,"column":19}}]},"70":{"line":574,"type":"if","locations":[{"start":{"line":574,"column":12},"end":{"line":574,"column":12}},{"start":{"line":574,"column":12},"end":{"line":574,"column":12}}]},"71":{"line":574,"type":"binary-expr","locations":[{"start":{"line":574,"column":16},"end":{"line":574,"column":29}},{"start":{"line":574,"column":33},"end":{"line":574,"column":53}}]},"72":{"line":578,"type":"if","locations":[{"start":{"line":578,"column":16},"end":{"line":578,"column":16}},{"start":{"line":578,"column":16},"end":{"line":578,"column":16}}]},"73":{"line":583,"type":"if","locations":[{"start":{"line":583,"column":12},"end":{"line":583,"column":12}},{"start":{"line":583,"column":12},"end":{"line":583,"column":12}}]},"74":{"line":584,"type":"binary-expr","locations":[{"start":{"line":584,"column":30},"end":{"line":584,"column":57}},{"start":{"line":584,"column":61},"end":{"line":584,"column":74}}]},"75":{"line":587,"type":"binary-expr","locations":[{"start":{"line":587,"column":28},"end":{"line":587,"column":40}},{"start":{"line":588,"column":17},"end":{"line":588,"column":65}},{"start":{"line":589,"column":20},"end":{"line":589,"column":47}},{"start":{"line":589,"column":52},"end":{"line":589,"column":54}}]},"76":{"line":591,"type":"if","locations":[{"start":{"line":591,"column":12},"end":{"line":591,"column":12}},{"start":{"line":591,"column":12},"end":{"line":591,"column":12}}]},"77":{"line":591,"type":"binary-expr","locations":[{"start":{"line":591,"column":16},"end":{"line":591,"column":39}},{"start":{"line":591,"column":43},"end":{"line":591,"column":65}},{"start":{"line":592,"column":20},"end":{"line":592,"column":44}}]},"78":{"line":595,"type":"if","locations":[{"start":{"line":595,"column":12},"end":{"line":595,"column":12}},{"start":{"line":595,"column":12},"end":{"line":595,"column":12}}]},"79":{"line":610,"type":"if","locations":[{"start":{"line":610,"column":12},"end":{"line":610,"column":12}},{"start":{"line":610,"column":12},"end":{"line":610,"column":12}}]},"80":{"line":613,"type":"if","locations":[{"start":{"line":613,"column":12},"end":{"line":613,"column":12}},{"start":{"line":613,"column":12},"end":{"line":613,"column":12}}]},"81":{"line":616,"type":"if","locations":[{"start":{"line":616,"column":12},"end":{"line":616,"column":12}},{"start":{"line":616,"column":12},"end":{"line":616,"column":12}}]},"82":{"line":636,"type":"binary-expr","locations":[{"start":{"line":636,"column":22},"end":{"line":636,"column":29}},{"start":{"line":636,"column":33},"end":{"line":636,"column":53}},{"start":{"line":636,"column":57},"end":{"line":636,"column":64}}]},"83":{"line":637,"type":"if","locations":[{"start":{"line":637,"column":12},"end":{"line":637,"column":12}},{"start":{"line":637,"column":12},"end":{"line":637,"column":12}}]},"84":{"line":639,"type":"if","locations":[{"start":{"line":639,"column":19},"end":{"line":639,"column":19}},{"start":{"line":639,"column":19},"end":{"line":639,"column":19}}]},"85":{"line":653,"type":"if","locations":[{"start":{"line":653,"column":16},"end":{"line":653,"column":16}},{"start":{"line":653,"column":16},"end":{"line":653,"column":16}}]},"86":{"line":653,"type":"binary-expr","locations":[{"start":{"line":653,"column":20},"end":{"line":653,"column":31}},{"start":{"line":653,"column":35},"end":{"line":653,"column":45}}]},"87":{"line":655,"type":"binary-expr","locations":[{"start":{"line":655,"column":25},"end":{"line":655,"column":43}},{"start":{"line":655,"column":47},"end":{"line":655,"column":65}}]},"88":{"line":657,"type":"if","locations":[{"start":{"line":657,"column":32},"end":{"line":657,"column":32}},{"start":{"line":657,"column":32},"end":{"line":657,"column":32}}]},"89":{"line":665,"type":"binary-expr","locations":[{"start":{"line":665,"column":23},"end":{"line":665,"column":41}},{"start":{"line":665,"column":45},"end":{"line":665,"column":63}}]},"90":{"line":668,"type":"if","locations":[{"start":{"line":668,"column":16},"end":{"line":668,"column":16}},{"start":{"line":668,"column":16},"end":{"line":668,"column":16}}]},"91":{"line":670,"type":"binary-expr","locations":[{"start":{"line":670,"column":25},"end":{"line":674,"column":35}},{"start":{"line":674,"column":40},"end":{"line":674,"column":61}}]},"92":{"line":676,"type":"binary-expr","locations":[{"start":{"line":676,"column":23},"end":{"line":676,"column":33}},{"start":{"line":676,"column":37},"end":{"line":676,"column":58}}]},"93":{"line":679,"type":"if","locations":[{"start":{"line":679,"column":16},"end":{"line":679,"column":16}},{"start":{"line":679,"column":16},"end":{"line":679,"column":16}}]},"94":{"line":687,"type":"if","locations":[{"start":{"line":687,"column":16},"end":{"line":687,"column":16}},{"start":{"line":687,"column":16},"end":{"line":687,"column":16}}]},"95":{"line":690,"type":"if","locations":[{"start":{"line":690,"column":16},"end":{"line":690,"column":16}},{"start":{"line":690,"column":16},"end":{"line":690,"column":16}}]},"96":{"line":695,"type":"binary-expr","locations":[{"start":{"line":695,"column":23},"end":{"line":695,"column":34}},{"start":{"line":695,"column":38},"end":{"line":695,"column":56}},{"start":{"line":695,"column":60},"end":{"line":696,"column":72}}]},"97":{"line":710,"type":"binary-expr","locations":[{"start":{"line":710,"column":24},"end":{"line":710,"column":29}},{"start":{"line":710,"column":33},"end":{"line":710,"column":49}}]},"98":{"line":711,"type":"binary-expr","locations":[{"start":{"line":711,"column":32},"end":{"line":711,"column":37}},{"start":{"line":711,"column":41},"end":{"line":711,"column":57}},{"start":{"line":712,"column":20},"end":{"line":712,"column":42}}]},"99":{"line":713,"type":"binary-expr","locations":[{"start":{"line":713,"column":19},"end":{"line":713,"column":32}},{"start":{"line":713,"column":36},"end":{"line":713,"column":53}}]},"100":{"line":722,"type":"binary-expr","locations":[{"start":{"line":722,"column":36},"end":{"line":722,"column":57}},{"start":{"line":722,"column":61},"end":{"line":722,"column":62}}]},"101":{"line":727,"type":"binary-expr","locations":[{"start":{"line":727,"column":22},"end":{"line":727,"column":42}},{"start":{"line":727,"column":46},"end":{"line":727,"column":48}}]},"102":{"line":733,"type":"if","locations":[{"start":{"line":733,"column":12},"end":{"line":733,"column":12}},{"start":{"line":733,"column":12},"end":{"line":733,"column":12}}]},"103":{"line":733,"type":"binary-expr","locations":[{"start":{"line":733,"column":16},"end":{"line":733,"column":74}},{"start":{"line":734,"column":20},"end":{"line":734,"column":32}}]},"104":{"line":733,"type":"binary-expr","locations":[{"start":{"line":733,"column":18},"end":{"line":733,"column":44}},{"start":{"line":733,"column":48},"end":{"line":733,"column":53}},{"start":{"line":733,"column":58},"end":{"line":733,"column":60}},{"start":{"line":733,"column":64},"end":{"line":733,"column":72}}]},"105":{"line":737,"type":"if","locations":[{"start":{"line":737,"column":12},"end":{"line":737,"column":12}},{"start":{"line":737,"column":12},"end":{"line":737,"column":12}}]},"106":{"line":740,"type":"if","locations":[{"start":{"line":740,"column":12},"end":{"line":740,"column":12}},{"start":{"line":740,"column":12},"end":{"line":740,"column":12}}]},"107":{"line":769,"type":"binary-expr","locations":[{"start":{"line":769,"column":26},"end":{"line":769,"column":71}},{"start":{"line":769,"column":75},"end":{"line":769,"column":84}},{"start":{"line":770,"column":24},"end":{"line":770,"column":61}}]},"108":{"line":772,"type":"binary-expr","locations":[{"start":{"line":772,"column":29},"end":{"line":772,"column":58}},{"start":{"line":773,"column":29},"end":{"line":773,"column":45}}]},"109":{"line":777,"type":"if","locations":[{"start":{"line":777,"column":24},"end":{"line":777,"column":24}},{"start":{"line":777,"column":24},"end":{"line":777,"column":24}}]},"110":{"line":790,"type":"if","locations":[{"start":{"line":790,"column":24},"end":{"line":790,"column":24}},{"start":{"line":790,"column":24},"end":{"line":790,"column":24}}]},"111":{"line":822,"type":"if","locations":[{"start":{"line":822,"column":12},"end":{"line":822,"column":12}},{"start":{"line":822,"column":12},"end":{"line":822,"column":12}}]},"112":{"line":838,"type":"binary-expr","locations":[{"start":{"line":838,"column":50},"end":{"line":838,"column":68}},{"start":{"line":838,"column":72},"end":{"line":838,"column":73}}]},"113":{"line":839,"type":"binary-expr","locations":[{"start":{"line":839,"column":48},"end":{"line":839,"column":74}},{"start":{"line":839,"column":78},"end":{"line":839,"column":79}}]},"114":{"line":850,"type":"if","locations":[{"start":{"line":850,"column":12},"end":{"line":850,"column":12}},{"start":{"line":850,"column":12},"end":{"line":850,"column":12}}]},"115":{"line":867,"type":"if","locations":[{"start":{"line":867,"column":12},"end":{"line":867,"column":12}},{"start":{"line":867,"column":12},"end":{"line":867,"column":12}}]},"116":{"line":886,"type":"if","locations":[{"start":{"line":886,"column":12},"end":{"line":886,"column":12}},{"start":{"line":886,"column":12},"end":{"line":886,"column":12}}]},"117":{"line":899,"type":"binary-expr","locations":[{"start":{"line":899,"column":28},"end":{"line":899,"column":33}},{"start":{"line":899,"column":37},"end":{"line":938,"column":22}}]},"118":{"line":900,"type":"binary-expr","locations":[{"start":{"line":900,"column":26},"end":{"line":900,"column":33}},{"start":{"line":900,"column":37},"end":{"line":904,"column":35}},{"start":{"line":905,"column":24},"end":{"line":905,"column":76}},{"start":{"line":906,"column":24},"end":{"line":906,"column":52}},{"start":{"line":906,"column":56},"end":{"line":906,"column":71}}]},"119":{"line":920,"type":"if","locations":[{"start":{"line":920,"column":24},"end":{"line":920,"column":24}},{"start":{"line":920,"column":24},"end":{"line":920,"column":24}}]},"120":{"line":920,"type":"binary-expr","locations":[{"start":{"line":920,"column":28},"end":{"line":920,"column":58}},{"start":{"line":921,"column":32},"end":{"line":921,"column":78}}]},"121":{"line":926,"type":"if","locations":[{"start":{"line":926,"column":32},"end":{"line":926,"column":32}},{"start":{"line":926,"column":32},"end":{"line":926,"column":32}}]},"122":{"line":933,"type":"if","locations":[{"start":{"line":933,"column":24},"end":{"line":933,"column":24}},{"start":{"line":933,"column":24},"end":{"line":933,"column":24}}]},"123":{"line":942,"type":"if","locations":[{"start":{"line":942,"column":12},"end":{"line":942,"column":12}},{"start":{"line":942,"column":12},"end":{"line":942,"column":12}}]},"124":{"line":942,"type":"binary-expr","locations":[{"start":{"line":942,"column":16},"end":{"line":942,"column":46}},{"start":{"line":943,"column":21},"end":{"line":943,"column":56}},{"start":{"line":944,"column":20},"end":{"line":944,"column":72}}]},"125":{"line":945,"type":"if","locations":[{"start":{"line":945,"column":16},"end":{"line":945,"column":16}},{"start":{"line":945,"column":16},"end":{"line":945,"column":16}}]},"126":{"line":958,"type":"if","locations":[{"start":{"line":958,"column":20},"end":{"line":958,"column":20}},{"start":{"line":958,"column":20},"end":{"line":958,"column":20}}]},"127":{"line":959,"type":"if","locations":[{"start":{"line":959,"column":24},"end":{"line":959,"column":24}},{"start":{"line":959,"column":24},"end":{"line":959,"column":24}}]},"128":{"line":987,"type":"if","locations":[{"start":{"line":987,"column":12},"end":{"line":987,"column":12}},{"start":{"line":987,"column":12},"end":{"line":987,"column":12}}]},"129":{"line":990,"type":"if","locations":[{"start":{"line":990,"column":12},"end":{"line":990,"column":12}},{"start":{"line":990,"column":12},"end":{"line":990,"column":12}}]},"130":{"line":990,"type":"binary-expr","locations":[{"start":{"line":990,"column":16},"end":{"line":990,"column":25}},{"start":{"line":990,"column":29},"end":{"line":990,"column":56}}]},"131":{"line":993,"type":"if","locations":[{"start":{"line":993,"column":12},"end":{"line":993,"column":12}},{"start":{"line":993,"column":12},"end":{"line":993,"column":12}}]},"132":{"line":993,"type":"binary-expr","locations":[{"start":{"line":993,"column":16},"end":{"line":993,"column":66}},{"start":{"line":994,"column":20},"end":{"line":994,"column":47}}]},"133":{"line":993,"type":"binary-expr","locations":[{"start":{"line":993,"column":18},"end":{"line":993,"column":43}},{"start":{"line":993,"column":47},"end":{"line":993,"column":52}},{"start":{"line":993,"column":56},"end":{"line":993,"column":65}}]},"134":{"line":997,"type":"if","locations":[{"start":{"line":997,"column":19},"end":{"line":997,"column":19}},{"start":{"line":997,"column":19},"end":{"line":997,"column":19}}]},"135":{"line":997,"type":"binary-expr","locations":[{"start":{"line":997,"column":23},"end":{"line":997,"column":64}},{"start":{"line":997,"column":68},"end":{"line":997,"column":73}}]},"136":{"line":997,"type":"binary-expr","locations":[{"start":{"line":997,"column":25},"end":{"line":997,"column":50}},{"start":{"line":997,"column":54},"end":{"line":997,"column":63}}]},"137":{"line":1003,"type":"if","locations":[{"start":{"line":1003,"column":20},"end":{"line":1003,"column":20}},{"start":{"line":1003,"column":20},"end":{"line":1003,"column":20}}]},"138":{"line":1008,"type":"if","locations":[{"start":{"line":1008,"column":19},"end":{"line":1008,"column":19}},{"start":{"line":1008,"column":19},"end":{"line":1008,"column":19}}]},"139":{"line":1008,"type":"binary-expr","locations":[{"start":{"line":1008,"column":23},"end":{"line":1008,"column":49}},{"start":{"line":1008,"column":53},"end":{"line":1008,"column":62}}]},"140":{"line":1013,"type":"if","locations":[{"start":{"line":1013,"column":20},"end":{"line":1013,"column":20}},{"start":{"line":1013,"column":20},"end":{"line":1013,"column":20}}]},"141":{"line":1013,"type":"binary-expr","locations":[{"start":{"line":1013,"column":24},"end":{"line":1013,"column":45}},{"start":{"line":1014,"column":29},"end":{"line":1014,"column":83}},{"start":{"line":1015,"column":29},"end":{"line":1015,"column":34}},{"start":{"line":1015,"column":38},"end":{"line":1015,"column":56}}]},"142":{"line":1018,"type":"if","locations":[{"start":{"line":1018,"column":24},"end":{"line":1018,"column":24}},{"start":{"line":1018,"column":24},"end":{"line":1018,"column":24}}]},"143":{"line":1030,"type":"binary-expr","locations":[{"start":{"line":1030,"column":19},"end":{"line":1030,"column":26}},{"start":{"line":1030,"column":30},"end":{"line":1030,"column":35}}]},"144":{"line":1032,"type":"cond-expr","locations":[{"start":{"line":1032,"column":42},"end":{"line":1032,"column":49}},{"start":{"line":1032,"column":52},"end":{"line":1032,"column":61}}]},"145":{"line":1059,"type":"if","locations":[{"start":{"line":1059,"column":12},"end":{"line":1059,"column":12}},{"start":{"line":1059,"column":12},"end":{"line":1059,"column":12}}]},"146":{"line":1068,"type":"if","locations":[{"start":{"line":1068,"column":16},"end":{"line":1068,"column":16}},{"start":{"line":1068,"column":16},"end":{"line":1068,"column":16}}]},"147":{"line":1075,"type":"if","locations":[{"start":{"line":1075,"column":12},"end":{"line":1075,"column":12}},{"start":{"line":1075,"column":12},"end":{"line":1075,"column":12}}]},"148":{"line":1086,"type":"if","locations":[{"start":{"line":1086,"column":20},"end":{"line":1086,"column":20}},{"start":{"line":1086,"column":20},"end":{"line":1086,"column":20}}]},"149":{"line":1086,"type":"binary-expr","locations":[{"start":{"line":1086,"column":24},"end":{"line":1086,"column":25}},{"start":{"line":1086,"column":29},"end":{"line":1086,"column":37}}]},"150":{"line":1105,"type":"if","locations":[{"start":{"line":1105,"column":24},"end":{"line":1105,"column":24}},{"start":{"line":1105,"column":24},"end":{"line":1105,"column":24}}]},"151":{"line":1113,"type":"binary-expr","locations":[{"start":{"line":1113,"column":19},"end":{"line":1113,"column":23}},{"start":{"line":1113,"column":27},"end":{"line":1113,"column":29}}]},"152":{"line":1114,"type":"if","locations":[{"start":{"line":1114,"column":12},"end":{"line":1114,"column":12}},{"start":{"line":1114,"column":12},"end":{"line":1114,"column":12}}]},"153":{"line":1115,"type":"if","locations":[{"start":{"line":1115,"column":16},"end":{"line":1115,"column":16}},{"start":{"line":1115,"column":16},"end":{"line":1115,"column":16}}]},"154":{"line":1125,"type":"if","locations":[{"start":{"line":1125,"column":19},"end":{"line":1125,"column":19}},{"start":{"line":1125,"column":19},"end":{"line":1125,"column":19}}]},"155":{"line":1152,"type":"binary-expr","locations":[{"start":{"line":1152,"column":27},"end":{"line":1152,"column":39}},{"start":{"line":1152,"column":43},"end":{"line":1152,"column":45}}]},"156":{"line":1154,"type":"if","locations":[{"start":{"line":1154,"column":12},"end":{"line":1154,"column":12}},{"start":{"line":1154,"column":12},"end":{"line":1154,"column":12}}]},"157":{"line":1154,"type":"binary-expr","locations":[{"start":{"line":1154,"column":16},"end":{"line":1154,"column":21}},{"start":{"line":1154,"column":25},"end":{"line":1154,"column":37}},{"start":{"line":1154,"column":42},"end":{"line":1154,"column":67}},{"start":{"line":1155,"column":20},"end":{"line":1155,"column":39}}]},"158":{"line":1159,"type":"if","locations":[{"start":{"line":1159,"column":24},"end":{"line":1159,"column":24}},{"start":{"line":1159,"column":24},"end":{"line":1159,"column":24}}]},"159":{"line":1161,"type":"if","locations":[{"start":{"line":1161,"column":28},"end":{"line":1161,"column":28}},{"start":{"line":1161,"column":28},"end":{"line":1161,"column":28}}]},"160":{"line":1178,"type":"binary-expr","locations":[{"start":{"line":1178,"column":26},"end":{"line":1178,"column":57}},{"start":{"line":1179,"column":20},"end":{"line":1179,"column":45}}]},"161":{"line":1182,"type":"if","locations":[{"start":{"line":1182,"column":12},"end":{"line":1182,"column":12}},{"start":{"line":1182,"column":12},"end":{"line":1182,"column":12}}]},"162":{"line":1182,"type":"binary-expr","locations":[{"start":{"line":1182,"column":16},"end":{"line":1182,"column":23}},{"start":{"line":1182,"column":27},"end":{"line":1182,"column":41}}]},"163":{"line":1186,"type":"if","locations":[{"start":{"line":1186,"column":12},"end":{"line":1186,"column":12}},{"start":{"line":1186,"column":12},"end":{"line":1186,"column":12}}]},"164":{"line":1188,"type":"if","locations":[{"start":{"line":1188,"column":16},"end":{"line":1188,"column":16}},{"start":{"line":1188,"column":16},"end":{"line":1188,"column":16}}]},"165":{"line":1195,"type":"if","locations":[{"start":{"line":1195,"column":19},"end":{"line":1195,"column":19}},{"start":{"line":1195,"column":19},"end":{"line":1195,"column":19}}]},"166":{"line":1195,"type":"binary-expr","locations":[{"start":{"line":1195,"column":23},"end":{"line":1195,"column":50}},{"start":{"line":1195,"column":54},"end":{"line":1195,"column":71}}]},"167":{"line":1206,"type":"if","locations":[{"start":{"line":1206,"column":12},"end":{"line":1206,"column":12}},{"start":{"line":1206,"column":12},"end":{"line":1206,"column":12}}]},"168":{"line":1206,"type":"binary-expr","locations":[{"start":{"line":1206,"column":16},"end":{"line":1206,"column":41}},{"start":{"line":1206,"column":45},"end":{"line":1206,"column":67}}]},"169":{"line":1228,"type":"if","locations":[{"start":{"line":1228,"column":16},"end":{"line":1228,"column":16}},{"start":{"line":1228,"column":16},"end":{"line":1228,"column":16}}]},"170":{"line":1231,"type":"if","locations":[{"start":{"line":1231,"column":16},"end":{"line":1231,"column":16}},{"start":{"line":1231,"column":16},"end":{"line":1231,"column":16}}]},"171":{"line":1242,"type":"binary-expr","locations":[{"start":{"line":1242,"column":24},"end":{"line":1242,"column":39}},{"start":{"line":1242,"column":43},"end":{"line":1242,"column":72}},{"start":{"line":1243,"column":20},"end":{"line":1243,"column":55}}]},"172":{"line":1245,"type":"if","locations":[{"start":{"line":1245,"column":12},"end":{"line":1245,"column":12}},{"start":{"line":1245,"column":12},"end":{"line":1245,"column":12}}]},"173":{"line":1245,"type":"binary-expr","locations":[{"start":{"line":1245,"column":16},"end":{"line":1245,"column":21}},{"start":{"line":1245,"column":25},"end":{"line":1245,"column":37}}]},"174":{"line":1247,"type":"binary-expr","locations":[{"start":{"line":1247,"column":31},"end":{"line":1247,"column":45}},{"start":{"line":1247,"column":49},"end":{"line":1247,"column":65}}]},"175":{"line":1248,"type":"if","locations":[{"start":{"line":1248,"column":20},"end":{"line":1248,"column":20}},{"start":{"line":1248,"column":20},"end":{"line":1248,"column":20}}]},"176":{"line":1252,"type":"if","locations":[{"start":{"line":1252,"column":16},"end":{"line":1252,"column":16}},{"start":{"line":1252,"column":16},"end":{"line":1252,"column":16}}]},"177":{"line":1263,"type":"binary-expr","locations":[{"start":{"line":1263,"column":29},"end":{"line":1263,"column":44}},{"start":{"line":1263,"column":48},"end":{"line":1263,"column":76}}]},"178":{"line":1267,"type":"if","locations":[{"start":{"line":1267,"column":12},"end":{"line":1267,"column":12}},{"start":{"line":1267,"column":12},"end":{"line":1267,"column":12}}]},"179":{"line":1267,"type":"binary-expr","locations":[{"start":{"line":1267,"column":16},"end":{"line":1267,"column":28}},{"start":{"line":1267,"column":32},"end":{"line":1267,"column":50}},{"start":{"line":1267,"column":54},"end":{"line":1267,"column":79}}]},"180":{"line":1271,"type":"if","locations":[{"start":{"line":1271,"column":20},"end":{"line":1271,"column":20}},{"start":{"line":1271,"column":20},"end":{"line":1271,"column":20}}]},"181":{"line":1289,"type":"if","locations":[{"start":{"line":1289,"column":12},"end":{"line":1289,"column":12}},{"start":{"line":1289,"column":12},"end":{"line":1289,"column":12}}]},"182":{"line":1302,"type":"if","locations":[{"start":{"line":1302,"column":12},"end":{"line":1302,"column":12}},{"start":{"line":1302,"column":12},"end":{"line":1302,"column":12}}]},"183":{"line":1321,"type":"if","locations":[{"start":{"line":1321,"column":12},"end":{"line":1321,"column":12}},{"start":{"line":1321,"column":12},"end":{"line":1321,"column":12}}]},"184":{"line":1325,"type":"if","locations":[{"start":{"line":1325,"column":12},"end":{"line":1325,"column":12}},{"start":{"line":1325,"column":12},"end":{"line":1325,"column":12}}]},"185":{"line":1333,"type":"if","locations":[{"start":{"line":1333,"column":12},"end":{"line":1333,"column":12}},{"start":{"line":1333,"column":12},"end":{"line":1333,"column":12}}]},"186":{"line":1334,"type":"cond-expr","locations":[{"start":{"line":1335,"column":24},"end":{"line":1335,"column":36}},{"start":{"line":1335,"column":39},"end":{"line":1335,"column":78}}]},"187":{"line":1336,"type":"if","locations":[{"start":{"line":1336,"column":19},"end":{"line":1336,"column":19}},{"start":{"line":1336,"column":19},"end":{"line":1336,"column":19}}]},"188":{"line":1339,"type":"if","locations":[{"start":{"line":1339,"column":12},"end":{"line":1339,"column":12}},{"start":{"line":1339,"column":12},"end":{"line":1339,"column":12}}]},"189":{"line":1342,"type":"if","locations":[{"start":{"line":1342,"column":12},"end":{"line":1342,"column":12}},{"start":{"line":1342,"column":12},"end":{"line":1342,"column":12}}]},"190":{"line":1355,"type":"binary-expr","locations":[{"start":{"line":1355,"column":19},"end":{"line":1355,"column":32}},{"start":{"line":1355,"column":36},"end":{"line":1355,"column":62}},{"start":{"line":1356,"column":16},"end":{"line":1356,"column":48}}]},"191":{"line":1369,"type":"if","locations":[{"start":{"line":1369,"column":20},"end":{"line":1369,"column":20}},{"start":{"line":1369,"column":20},"end":{"line":1369,"column":20}}]},"192":{"line":1375,"type":"if","locations":[{"start":{"line":1375,"column":24},"end":{"line":1375,"column":24}},{"start":{"line":1375,"column":24},"end":{"line":1375,"column":24}}]},"193":{"line":1414,"type":"if","locations":[{"start":{"line":1414,"column":12},"end":{"line":1414,"column":12}},{"start":{"line":1414,"column":12},"end":{"line":1414,"column":12}}]},"194":{"line":1414,"type":"binary-expr","locations":[{"start":{"line":1414,"column":16},"end":{"line":1414,"column":21}},{"start":{"line":1414,"column":25},"end":{"line":1414,"column":46}}]},"195":{"line":1417,"type":"if","locations":[{"start":{"line":1417,"column":12},"end":{"line":1417,"column":12}},{"start":{"line":1417,"column":12},"end":{"line":1417,"column":12}}]},"196":{"line":1417,"type":"binary-expr","locations":[{"start":{"line":1417,"column":16},"end":{"line":1417,"column":30}},{"start":{"line":1417,"column":34},"end":{"line":1417,"column":45}}]},"197":{"line":1434,"type":"if","locations":[{"start":{"line":1434,"column":12},"end":{"line":1434,"column":12}},{"start":{"line":1434,"column":12},"end":{"line":1434,"column":12}}]},"198":{"line":1434,"type":"binary-expr","locations":[{"start":{"line":1434,"column":16},"end":{"line":1434,"column":20}},{"start":{"line":1434,"column":24},"end":{"line":1434,"column":46}}]},"199":{"line":1435,"type":"if","locations":[{"start":{"line":1435,"column":16},"end":{"line":1435,"column":16}},{"start":{"line":1435,"column":16},"end":{"line":1435,"column":16}}]},"200":{"line":1435,"type":"binary-expr","locations":[{"start":{"line":1435,"column":20},"end":{"line":1435,"column":34}},{"start":{"line":1435,"column":38},"end":{"line":1435,"column":49}}]},"201":{"line":1443,"type":"if","locations":[{"start":{"line":1443,"column":24},"end":{"line":1443,"column":24}},{"start":{"line":1443,"column":24},"end":{"line":1443,"column":24}}]},"202":{"line":1451,"type":"if","locations":[{"start":{"line":1451,"column":28},"end":{"line":1451,"column":28}},{"start":{"line":1451,"column":28},"end":{"line":1451,"column":28}}]},"203":{"line":1454,"type":"if","locations":[{"start":{"line":1454,"column":28},"end":{"line":1454,"column":28}},{"start":{"line":1454,"column":28},"end":{"line":1454,"column":28}}]},"204":{"line":1473,"type":"if","locations":[{"start":{"line":1473,"column":16},"end":{"line":1473,"column":16}},{"start":{"line":1473,"column":16},"end":{"line":1473,"column":16}}]},"205":{"line":1477,"type":"binary-expr","locations":[{"start":{"line":1477,"column":46},"end":{"line":1477,"column":50}},{"start":{"line":1477,"column":54},"end":{"line":1477,"column":66}}]}}}; +} +__cov_FDBW7GrBdVuQXMSLxhPCew = __cov_FDBW7GrBdVuQXMSLxhPCew['assests/js/lib/file-upload/jquery.fileupload.js']; +;__cov_FDBW7GrBdVuQXMSLxhPCew.s['1']++;(function(factory){'use strict';__cov_FDBW7GrBdVuQXMSLxhPCew.f['1']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['2']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['2'][0]++,typeof define==='function')&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['2'][1]++,define.amd)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['1'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['3']++;define(['jquery','jquery-ui/widget'],factory);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['1'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['4']++;if(typeof exports==='object'){__cov_FDBW7GrBdVuQXMSLxhPCew.b['3'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['5']++;factory(require('jquery'),require('./vendor/jquery.ui.widget'));}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['3'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['6']++;factory(window.jQuery);}}}(function($){'use strict';__cov_FDBW7GrBdVuQXMSLxhPCew.f['2']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['7']++;$.support.fileInput=!((__cov_FDBW7GrBdVuQXMSLxhPCew.b['4'][0]++,new RegExp('(Android (1\\.[0156]|2\\.[01]))'+'|(Windows Phone (OS 7|8\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)'+'|(w(eb)?OSBrowser)|(webOS)'+'|(Kindle/(1\\.0|2\\.[05]|3\\.0))').test(window.navigator.userAgent))||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['4'][1]++,$('').prop('disabled')));__cov_FDBW7GrBdVuQXMSLxhPCew.s['8']++;$.support.xhrFileUpload=!!((__cov_FDBW7GrBdVuQXMSLxhPCew.b['5'][0]++,window.ProgressEvent)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['5'][1]++,window.FileReader));__cov_FDBW7GrBdVuQXMSLxhPCew.s['9']++;$.support.xhrFormDataFileUpload=!!window.FormData;__cov_FDBW7GrBdVuQXMSLxhPCew.s['10']++;$.support.blobSlice=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['6'][0]++,window.Blob)&&((__cov_FDBW7GrBdVuQXMSLxhPCew.b['6'][1]++,Blob.prototype.slice)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['6'][2]++,Blob.prototype.webkitSlice)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['6'][3]++,Blob.prototype.mozSlice));function getDragHandler(type){__cov_FDBW7GrBdVuQXMSLxhPCew.f['3']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['12']++;var isDragOver=type==='dragover';__cov_FDBW7GrBdVuQXMSLxhPCew.s['13']++;return function(e){__cov_FDBW7GrBdVuQXMSLxhPCew.f['4']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['14']++;e.dataTransfer=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['7'][0]++,e.originalEvent)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['7'][1]++,e.originalEvent.dataTransfer);__cov_FDBW7GrBdVuQXMSLxhPCew.s['15']++;var dataTransfer=e.dataTransfer;__cov_FDBW7GrBdVuQXMSLxhPCew.s['16']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['9'][0]++,dataTransfer)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['9'][1]++,$.inArray('Files',dataTransfer.types)!==-1)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['9'][2]++,this._trigger(type,$.Event(type,{delegatedEvent:e}))!==false)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['8'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['17']++;e.preventDefault();__cov_FDBW7GrBdVuQXMSLxhPCew.s['18']++;if(isDragOver){__cov_FDBW7GrBdVuQXMSLxhPCew.b['10'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['19']++;dataTransfer.dropEffect='copy';}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['10'][1]++;}}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['8'][1]++;}};}__cov_FDBW7GrBdVuQXMSLxhPCew.s['20']++;$.widget('blueimp.fileupload',{options:{dropZone:$(document),pasteZone:undefined,fileInput:undefined,replaceFileInput:true,paramName:undefined,singleFileUploads:true,limitMultiFileUploads:undefined,limitMultiFileUploadSize:undefined,limitMultiFileUploadSizeOverhead:512,sequentialUploads:false,limitConcurrentUploads:undefined,forceIframeTransport:false,redirect:undefined,redirectParamName:undefined,postMessage:undefined,multipart:true,maxChunkSize:undefined,uploadedBytes:undefined,recalculateProgress:true,progressInterval:100,bitrateInterval:500,autoUpload:true,messages:{uploadedBytes:'Uploaded bytes exceed file size'},i18n:function(message,context){__cov_FDBW7GrBdVuQXMSLxhPCew.f['5']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['21']++;message=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['11'][0]++,this.messages[message])||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['11'][1]++,message.toString());__cov_FDBW7GrBdVuQXMSLxhPCew.s['22']++;if(context){__cov_FDBW7GrBdVuQXMSLxhPCew.b['12'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['23']++;$.each(context,function(key,value){__cov_FDBW7GrBdVuQXMSLxhPCew.f['6']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['24']++;message=message.replace('{'+key+'}',value);});}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['12'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['25']++;return message;},formData:function(form){__cov_FDBW7GrBdVuQXMSLxhPCew.f['7']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['26']++;return form.serializeArray();},add:function(e,data){__cov_FDBW7GrBdVuQXMSLxhPCew.f['8']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['27']++;if(e.isDefaultPrevented()){__cov_FDBW7GrBdVuQXMSLxhPCew.b['13'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['28']++;return false;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['13'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['29']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['15'][0]++,data.autoUpload)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['15'][1]++,data.autoUpload!==false)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['15'][2]++,$(this).fileupload('option','autoUpload'))){__cov_FDBW7GrBdVuQXMSLxhPCew.b['14'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['30']++;data.process().done(function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['9']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['31']++;data.submit();});}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['14'][1]++;}},processData:false,contentType:false,cache:false,timeout:0},_specialOptions:['fileInput','dropZone','pasteZone','multipart','forceIframeTransport'],_blobSlice:(__cov_FDBW7GrBdVuQXMSLxhPCew.b['16'][0]++,$.support.blobSlice)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['16'][1]++,function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['10']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['32']++;var slice=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['17'][0]++,this.slice)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['17'][1]++,this.webkitSlice)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['17'][2]++,this.mozSlice);__cov_FDBW7GrBdVuQXMSLxhPCew.s['33']++;return slice.apply(this,arguments);}),_BitrateTimer:function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['11']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['34']++;this.timestamp=Date.now?(__cov_FDBW7GrBdVuQXMSLxhPCew.b['18'][0]++,Date.now()):(__cov_FDBW7GrBdVuQXMSLxhPCew.b['18'][1]++,new Date().getTime());__cov_FDBW7GrBdVuQXMSLxhPCew.s['35']++;this.loaded=0;__cov_FDBW7GrBdVuQXMSLxhPCew.s['36']++;this.bitrate=0;__cov_FDBW7GrBdVuQXMSLxhPCew.s['37']++;this.getBitrate=function(now,loaded,interval){__cov_FDBW7GrBdVuQXMSLxhPCew.f['12']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['38']++;var timeDiff=now-this.timestamp;__cov_FDBW7GrBdVuQXMSLxhPCew.s['39']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['20'][0]++,!this.bitrate)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['20'][1]++,!interval)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['20'][2]++,timeDiff>interval)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['19'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['40']++;this.bitrate=(loaded-this.loaded)*(1000/timeDiff)*8;__cov_FDBW7GrBdVuQXMSLxhPCew.s['41']++;this.loaded=loaded;__cov_FDBW7GrBdVuQXMSLxhPCew.s['42']++;this.timestamp=now;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['19'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['43']++;return this.bitrate;};},_isXHRUpload:function(options){__cov_FDBW7GrBdVuQXMSLxhPCew.f['13']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['44']++;return(__cov_FDBW7GrBdVuQXMSLxhPCew.b['21'][0]++,!options.forceIframeTransport)&&((__cov_FDBW7GrBdVuQXMSLxhPCew.b['21'][1]++,!options.multipart)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['21'][2]++,$.support.xhrFileUpload)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['21'][3]++,$.support.xhrFormDataFileUpload));},_getFormData:function(options){__cov_FDBW7GrBdVuQXMSLxhPCew.f['14']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['45']++;var formData;__cov_FDBW7GrBdVuQXMSLxhPCew.s['46']++;if($.type(options.formData)==='function'){__cov_FDBW7GrBdVuQXMSLxhPCew.b['22'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['47']++;return options.formData(options.form);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['22'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['48']++;if($.isArray(options.formData)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['23'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['49']++;return options.formData;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['23'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['50']++;if($.type(options.formData)==='object'){__cov_FDBW7GrBdVuQXMSLxhPCew.b['24'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['51']++;formData=[];__cov_FDBW7GrBdVuQXMSLxhPCew.s['52']++;$.each(options.formData,function(name,value){__cov_FDBW7GrBdVuQXMSLxhPCew.f['15']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['53']++;formData.push({name:name,value:value});});__cov_FDBW7GrBdVuQXMSLxhPCew.s['54']++;return formData;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['24'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['55']++;return[];},_getTotal:function(files){__cov_FDBW7GrBdVuQXMSLxhPCew.f['16']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['56']++;var total=0;__cov_FDBW7GrBdVuQXMSLxhPCew.s['57']++;$.each(files,function(index,file){__cov_FDBW7GrBdVuQXMSLxhPCew.f['17']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['58']++;total+=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['25'][0]++,file.size)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['25'][1]++,1);});__cov_FDBW7GrBdVuQXMSLxhPCew.s['59']++;return total;},_initProgressObject:function(obj){__cov_FDBW7GrBdVuQXMSLxhPCew.f['18']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['60']++;var progress={loaded:0,total:0,bitrate:0};__cov_FDBW7GrBdVuQXMSLxhPCew.s['61']++;if(obj._progress){__cov_FDBW7GrBdVuQXMSLxhPCew.b['26'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['62']++;$.extend(obj._progress,progress);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['26'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['63']++;obj._progress=progress;}},_initResponseObject:function(obj){__cov_FDBW7GrBdVuQXMSLxhPCew.f['19']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['64']++;var prop;__cov_FDBW7GrBdVuQXMSLxhPCew.s['65']++;if(obj._response){__cov_FDBW7GrBdVuQXMSLxhPCew.b['27'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['66']++;for(prop in obj._response){__cov_FDBW7GrBdVuQXMSLxhPCew.s['67']++;if(obj._response.hasOwnProperty(prop)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['28'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['68']++;delete obj._response[prop];}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['28'][1]++;}}}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['27'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['69']++;obj._response={};}},_onProgress:function(e,data){__cov_FDBW7GrBdVuQXMSLxhPCew.f['20']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['70']++;if(e.lengthComputable){__cov_FDBW7GrBdVuQXMSLxhPCew.b['29'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['71']++;var now=Date.now?(__cov_FDBW7GrBdVuQXMSLxhPCew.b['30'][0]++,Date.now()):(__cov_FDBW7GrBdVuQXMSLxhPCew.b['30'][1]++,new Date().getTime()),loaded;__cov_FDBW7GrBdVuQXMSLxhPCew.s['72']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['32'][0]++,data._time)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['32'][1]++,data.progressInterval)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['32'][2]++,now-data._time').prop('href',options.url).prop('host');__cov_FDBW7GrBdVuQXMSLxhPCew.s['122']++;options.dataType='iframe '+((__cov_FDBW7GrBdVuQXMSLxhPCew.b['55'][0]++,options.dataType)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['55'][1]++,''));__cov_FDBW7GrBdVuQXMSLxhPCew.s['123']++;options.formData=this._getFormData(options);__cov_FDBW7GrBdVuQXMSLxhPCew.s['124']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['57'][0]++,options.redirect)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['57'][1]++,targetHost)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['57'][2]++,targetHost!==location.host)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['56'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['125']++;options.formData.push({name:(__cov_FDBW7GrBdVuQXMSLxhPCew.b['58'][0]++,options.redirectParamName)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['58'][1]++,'redirect'),value:options.redirect});}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['56'][1]++;}},_initDataSettings:function(options){__cov_FDBW7GrBdVuQXMSLxhPCew.f['30']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['126']++;if(this._isXHRUpload(options)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['59'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['127']++;if(!this._chunkedUpload(options,true)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['60'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['128']++;if(!options.data){__cov_FDBW7GrBdVuQXMSLxhPCew.b['61'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['129']++;this._initXHRData(options);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['61'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['130']++;this._initProgressListener(options);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['60'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['131']++;if(options.postMessage){__cov_FDBW7GrBdVuQXMSLxhPCew.b['62'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['132']++;options.dataType='postmessage '+((__cov_FDBW7GrBdVuQXMSLxhPCew.b['63'][0]++,options.dataType)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['63'][1]++,''));}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['62'][1]++;}}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['59'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['133']++;this._initIframeSettings(options);}},_getParamName:function(options){__cov_FDBW7GrBdVuQXMSLxhPCew.f['31']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['134']++;var fileInput=$(options.fileInput),paramName=options.paramName;__cov_FDBW7GrBdVuQXMSLxhPCew.s['135']++;if(!paramName){__cov_FDBW7GrBdVuQXMSLxhPCew.b['64'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['136']++;paramName=[];__cov_FDBW7GrBdVuQXMSLxhPCew.s['137']++;fileInput.each(function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['32']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['138']++;var input=$(this),name=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['65'][0]++,input.prop('name'))||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['65'][1]++,'files[]'),i=((__cov_FDBW7GrBdVuQXMSLxhPCew.b['66'][0]++,input.prop('files'))||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['66'][1]++,[1])).length;__cov_FDBW7GrBdVuQXMSLxhPCew.s['139']++;while(i){__cov_FDBW7GrBdVuQXMSLxhPCew.s['140']++;paramName.push(name);__cov_FDBW7GrBdVuQXMSLxhPCew.s['141']++;i-=1;}});__cov_FDBW7GrBdVuQXMSLxhPCew.s['142']++;if(!paramName.length){__cov_FDBW7GrBdVuQXMSLxhPCew.b['67'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['143']++;paramName=[(__cov_FDBW7GrBdVuQXMSLxhPCew.b['68'][0]++,fileInput.prop('name'))||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['68'][1]++,'files[]')];}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['67'][1]++;}}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['64'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['144']++;if(!$.isArray(paramName)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['69'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['145']++;paramName=[paramName];}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['69'][1]++;}}__cov_FDBW7GrBdVuQXMSLxhPCew.s['146']++;return paramName;},_initFormSettings:function(options){__cov_FDBW7GrBdVuQXMSLxhPCew.f['33']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['147']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['71'][0]++,!options.form)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['71'][1]++,!options.form.length)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['70'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['148']++;options.form=$(options.fileInput.prop('form'));__cov_FDBW7GrBdVuQXMSLxhPCew.s['149']++;if(!options.form.length){__cov_FDBW7GrBdVuQXMSLxhPCew.b['72'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['150']++;options.form=$(this.options.fileInput.prop('form'));}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['72'][1]++;}}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['70'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['151']++;options.paramName=this._getParamName(options);__cov_FDBW7GrBdVuQXMSLxhPCew.s['152']++;if(!options.url){__cov_FDBW7GrBdVuQXMSLxhPCew.b['73'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['153']++;options.url=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['74'][0]++,options.form.prop('action'))||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['74'][1]++,location.href);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['73'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['154']++;options.type=((__cov_FDBW7GrBdVuQXMSLxhPCew.b['75'][0]++,options.type)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['75'][1]++,$.type(options.form.prop('method'))==='string')&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['75'][2]++,options.form.prop('method'))||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['75'][3]++,'')).toUpperCase();__cov_FDBW7GrBdVuQXMSLxhPCew.s['155']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['77'][0]++,options.type!=='POST')&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['77'][1]++,options.type!=='PUT')&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['77'][2]++,options.type!=='PATCH')){__cov_FDBW7GrBdVuQXMSLxhPCew.b['76'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['156']++;options.type='POST';}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['76'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['157']++;if(!options.formAcceptCharset){__cov_FDBW7GrBdVuQXMSLxhPCew.b['78'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['158']++;options.formAcceptCharset=options.form.attr('accept-charset');}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['78'][1]++;}},_getAJAXSettings:function(data){__cov_FDBW7GrBdVuQXMSLxhPCew.f['34']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['159']++;var options=$.extend({},this.options,data);__cov_FDBW7GrBdVuQXMSLxhPCew.s['160']++;this._initFormSettings(options);__cov_FDBW7GrBdVuQXMSLxhPCew.s['161']++;this._initDataSettings(options);__cov_FDBW7GrBdVuQXMSLxhPCew.s['162']++;return options;},_getDeferredState:function(deferred){__cov_FDBW7GrBdVuQXMSLxhPCew.f['35']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['163']++;if(deferred.state){__cov_FDBW7GrBdVuQXMSLxhPCew.b['79'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['164']++;return deferred.state();}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['79'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['165']++;if(deferred.isResolved()){__cov_FDBW7GrBdVuQXMSLxhPCew.b['80'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['166']++;return'resolved';}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['80'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['167']++;if(deferred.isRejected()){__cov_FDBW7GrBdVuQXMSLxhPCew.b['81'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['168']++;return'rejected';}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['81'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['169']++;return'pending';},_enhancePromise:function(promise){__cov_FDBW7GrBdVuQXMSLxhPCew.f['36']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['170']++;promise.success=promise.done;__cov_FDBW7GrBdVuQXMSLxhPCew.s['171']++;promise.error=promise.fail;__cov_FDBW7GrBdVuQXMSLxhPCew.s['172']++;promise.complete=promise.always;__cov_FDBW7GrBdVuQXMSLxhPCew.s['173']++;return promise;},_getXHRPromise:function(resolveOrReject,context,args){__cov_FDBW7GrBdVuQXMSLxhPCew.f['37']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['174']++;var dfd=$.Deferred(),promise=dfd.promise();__cov_FDBW7GrBdVuQXMSLxhPCew.s['175']++;context=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['82'][0]++,context)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['82'][1]++,this.options.context)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['82'][2]++,promise);__cov_FDBW7GrBdVuQXMSLxhPCew.s['176']++;if(resolveOrReject===true){__cov_FDBW7GrBdVuQXMSLxhPCew.b['83'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['177']++;dfd.resolveWith(context,args);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['83'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['178']++;if(resolveOrReject===false){__cov_FDBW7GrBdVuQXMSLxhPCew.b['84'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['179']++;dfd.rejectWith(context,args);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['84'][1]++;}}__cov_FDBW7GrBdVuQXMSLxhPCew.s['180']++;promise.abort=dfd.promise;__cov_FDBW7GrBdVuQXMSLxhPCew.s['181']++;return this._enhancePromise(promise);},_addConvenienceMethods:function(e,data){__cov_FDBW7GrBdVuQXMSLxhPCew.f['38']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['182']++;var that=this,getPromise=function(args){__cov_FDBW7GrBdVuQXMSLxhPCew.f['39']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['183']++;return $.Deferred().resolveWith(that,args).promise();};__cov_FDBW7GrBdVuQXMSLxhPCew.s['184']++;data.process=function(resolveFunc,rejectFunc){__cov_FDBW7GrBdVuQXMSLxhPCew.f['40']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['185']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['86'][0]++,resolveFunc)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['86'][1]++,rejectFunc)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['85'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['186']++;data._processQueue=this._processQueue=((__cov_FDBW7GrBdVuQXMSLxhPCew.b['87'][0]++,this._processQueue)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['87'][1]++,getPromise([this]))).then(function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['41']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['187']++;if(data.errorThrown){__cov_FDBW7GrBdVuQXMSLxhPCew.b['88'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['188']++;return $.Deferred().rejectWith(that,[data]).promise();}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['88'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['189']++;return getPromise(arguments);}).then(resolveFunc,rejectFunc);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['85'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['190']++;return(__cov_FDBW7GrBdVuQXMSLxhPCew.b['89'][0]++,this._processQueue)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['89'][1]++,getPromise([this]));};__cov_FDBW7GrBdVuQXMSLxhPCew.s['191']++;data.submit=function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['42']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['192']++;if(this.state()!=='pending'){__cov_FDBW7GrBdVuQXMSLxhPCew.b['90'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['193']++;data.jqXHR=this.jqXHR=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['91'][0]++,that._trigger('submit',$.Event('submit',{delegatedEvent:e}),this)!==false)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['91'][1]++,that._onSend(e,this));}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['90'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['194']++;return(__cov_FDBW7GrBdVuQXMSLxhPCew.b['92'][0]++,this.jqXHR)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['92'][1]++,that._getXHRPromise());};__cov_FDBW7GrBdVuQXMSLxhPCew.s['195']++;data.abort=function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['43']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['196']++;if(this.jqXHR){__cov_FDBW7GrBdVuQXMSLxhPCew.b['93'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['197']++;return this.jqXHR.abort();}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['93'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['198']++;this.errorThrown='abort';__cov_FDBW7GrBdVuQXMSLxhPCew.s['199']++;that._trigger('fail',null,this);__cov_FDBW7GrBdVuQXMSLxhPCew.s['200']++;return that._getXHRPromise(false);};__cov_FDBW7GrBdVuQXMSLxhPCew.s['201']++;data.state=function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['44']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['202']++;if(this.jqXHR){__cov_FDBW7GrBdVuQXMSLxhPCew.b['94'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['203']++;return that._getDeferredState(this.jqXHR);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['94'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['204']++;if(this._processQueue){__cov_FDBW7GrBdVuQXMSLxhPCew.b['95'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['205']++;return that._getDeferredState(this._processQueue);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['95'][1]++;}};__cov_FDBW7GrBdVuQXMSLxhPCew.s['206']++;data.processing=function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['45']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['207']++;return(__cov_FDBW7GrBdVuQXMSLxhPCew.b['96'][0]++,!this.jqXHR)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['96'][1]++,this._processQueue)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['96'][2]++,that._getDeferredState(this._processQueue)==='pending');};__cov_FDBW7GrBdVuQXMSLxhPCew.s['208']++;data.progress=function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['46']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['209']++;return this._progress;};__cov_FDBW7GrBdVuQXMSLxhPCew.s['210']++;data.response=function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['47']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['211']++;return this._response;};},_getUploadedBytes:function(jqXHR){__cov_FDBW7GrBdVuQXMSLxhPCew.f['48']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['212']++;var range=jqXHR.getResponseHeader('Range'),parts=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['97'][0]++,range)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['97'][1]++,range.split('-')),upperBytesPos=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['98'][0]++,parts)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['98'][1]++,parts.length>1)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['98'][2]++,parseInt(parts[1],10));__cov_FDBW7GrBdVuQXMSLxhPCew.s['213']++;return(__cov_FDBW7GrBdVuQXMSLxhPCew.b['99'][0]++,upperBytesPos)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['99'][1]++,upperBytesPos+1);},_chunkedUpload:function(options,testOnly){__cov_FDBW7GrBdVuQXMSLxhPCew.f['49']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['214']++;options.uploadedBytes=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['100'][0]++,options.uploadedBytes)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['100'][1]++,0);__cov_FDBW7GrBdVuQXMSLxhPCew.s['215']++;var that=this,file=options.files[0],fs=file.size,ub=options.uploadedBytes,mcs=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['101'][0]++,options.maxChunkSize)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['101'][1]++,fs),slice=this._blobSlice,dfd=$.Deferred(),promise=dfd.promise(),jqXHR,upload;__cov_FDBW7GrBdVuQXMSLxhPCew.s['216']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['103'][0]++,!((__cov_FDBW7GrBdVuQXMSLxhPCew.b['104'][0]++,this._isXHRUpload(options))&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['104'][1]++,slice)&&((__cov_FDBW7GrBdVuQXMSLxhPCew.b['104'][2]++,ub)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['104'][3]++,mcs=fs){__cov_FDBW7GrBdVuQXMSLxhPCew.b['106'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['221']++;file.error=options.i18n('uploadedBytes');__cov_FDBW7GrBdVuQXMSLxhPCew.s['222']++;return this._getXHRPromise(false,options.context,[null,'error',file.error]);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['106'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['223']++;upload=function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['50']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['224']++;var o=$.extend({},options),currentLoaded=o._progress.loaded;__cov_FDBW7GrBdVuQXMSLxhPCew.s['225']++;o.blob=slice.call(file,ub,ub+mcs,file.type);__cov_FDBW7GrBdVuQXMSLxhPCew.s['226']++;o.chunkSize=o.blob.size;__cov_FDBW7GrBdVuQXMSLxhPCew.s['227']++;o.contentRange='bytes '+ub+'-'+(ub+o.chunkSize-1)+'/'+fs;__cov_FDBW7GrBdVuQXMSLxhPCew.s['228']++;that._initXHRData(o);__cov_FDBW7GrBdVuQXMSLxhPCew.s['229']++;that._initProgressListener(o);__cov_FDBW7GrBdVuQXMSLxhPCew.s['230']++;jqXHR=((__cov_FDBW7GrBdVuQXMSLxhPCew.b['107'][0]++,that._trigger('chunksend',null,o)!==false)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['107'][1]++,$.ajax(o))||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['107'][2]++,that._getXHRPromise(false,o.context))).done(function(result,textStatus,jqXHR){__cov_FDBW7GrBdVuQXMSLxhPCew.f['51']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['231']++;ub=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['108'][0]++,that._getUploadedBytes(jqXHR))||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['108'][1]++,ub+o.chunkSize);__cov_FDBW7GrBdVuQXMSLxhPCew.s['232']++;if(currentLoaded+o.chunkSize-o._progress.loaded){__cov_FDBW7GrBdVuQXMSLxhPCew.b['109'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['233']++;that._onProgress($.Event('progress',{lengthComputable:true,loaded:ub-o.uploadedBytes,total:ub-o.uploadedBytes}),o);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['109'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['234']++;options.uploadedBytes=o.uploadedBytes=ub;__cov_FDBW7GrBdVuQXMSLxhPCew.s['235']++;o.result=result;__cov_FDBW7GrBdVuQXMSLxhPCew.s['236']++;o.textStatus=textStatus;__cov_FDBW7GrBdVuQXMSLxhPCew.s['237']++;o.jqXHR=jqXHR;__cov_FDBW7GrBdVuQXMSLxhPCew.s['238']++;that._trigger('chunkdone',null,o);__cov_FDBW7GrBdVuQXMSLxhPCew.s['239']++;that._trigger('chunkalways',null,o);__cov_FDBW7GrBdVuQXMSLxhPCew.s['240']++;if(ubthat._sending)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['119'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['295']++;var nextSlot=that._slots.shift();__cov_FDBW7GrBdVuQXMSLxhPCew.s['296']++;while(nextSlot){__cov_FDBW7GrBdVuQXMSLxhPCew.s['297']++;if(that._getDeferredState(nextSlot)==='pending'){__cov_FDBW7GrBdVuQXMSLxhPCew.b['121'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['298']++;nextSlot.resolve();__cov_FDBW7GrBdVuQXMSLxhPCew.s['299']++;break;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['121'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['300']++;nextSlot=that._slots.shift();}}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['119'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['301']++;if(that._active===0){__cov_FDBW7GrBdVuQXMSLxhPCew.b['122'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['302']++;that._trigger('stop');}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['122'][1]++;}}));__cov_FDBW7GrBdVuQXMSLxhPCew.s['303']++;return jqXHR;};__cov_FDBW7GrBdVuQXMSLxhPCew.s['304']++;this._beforeSend(e,options);__cov_FDBW7GrBdVuQXMSLxhPCew.s['305']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['124'][0]++,this.options.sequentialUploads)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['124'][1]++,this.options.limitConcurrentUploads)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['124'][2]++,this.options.limitConcurrentUploads<=this._sending)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['123'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['306']++;if(this.options.limitConcurrentUploads>1){__cov_FDBW7GrBdVuQXMSLxhPCew.b['125'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['307']++;slot=$.Deferred();__cov_FDBW7GrBdVuQXMSLxhPCew.s['308']++;this._slots.push(slot);__cov_FDBW7GrBdVuQXMSLxhPCew.s['309']++;pipe=slot.then(send);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['125'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['310']++;this._sequence=this._sequence.then(send,send);__cov_FDBW7GrBdVuQXMSLxhPCew.s['311']++;pipe=this._sequence;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['312']++;pipe.abort=function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['63']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['313']++;aborted=[undefined,'abort','abort'];__cov_FDBW7GrBdVuQXMSLxhPCew.s['314']++;if(!jqXHR){__cov_FDBW7GrBdVuQXMSLxhPCew.b['126'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['315']++;if(slot){__cov_FDBW7GrBdVuQXMSLxhPCew.b['127'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['316']++;slot.rejectWith(options.context,aborted);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['127'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['317']++;return send();}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['126'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['318']++;return jqXHR.abort();};__cov_FDBW7GrBdVuQXMSLxhPCew.s['319']++;return this._enhancePromise(pipe);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['123'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['320']++;return send();},_onAdd:function(e,data){__cov_FDBW7GrBdVuQXMSLxhPCew.f['64']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['321']++;var that=this,result=true,options=$.extend({},this.options,data),files=data.files,filesLength=files.length,limit=options.limitMultiFileUploads,limitSize=options.limitMultiFileUploadSize,overhead=options.limitMultiFileUploadSizeOverhead,batchSize=0,paramName=this._getParamName(options),paramNameSet,paramNameSlice,fileSet,i,j=0;__cov_FDBW7GrBdVuQXMSLxhPCew.s['322']++;if(!filesLength){__cov_FDBW7GrBdVuQXMSLxhPCew.b['128'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['323']++;return false;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['128'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['324']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['130'][0]++,limitSize)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['130'][1]++,files[0].size===undefined)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['129'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['325']++;limitSize=undefined;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['129'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['326']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['132'][0]++,!((__cov_FDBW7GrBdVuQXMSLxhPCew.b['133'][0]++,options.singleFileUploads)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['133'][1]++,limit)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['133'][2]++,limitSize)))||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['132'][1]++,!this._isXHRUpload(options))){__cov_FDBW7GrBdVuQXMSLxhPCew.b['131'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['327']++;fileSet=[files];__cov_FDBW7GrBdVuQXMSLxhPCew.s['328']++;paramNameSet=[paramName];}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['131'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['329']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['135'][0]++,!((__cov_FDBW7GrBdVuQXMSLxhPCew.b['136'][0]++,options.singleFileUploads)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['136'][1]++,limitSize)))&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['135'][1]++,limit)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['134'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['330']++;fileSet=[];__cov_FDBW7GrBdVuQXMSLxhPCew.s['331']++;paramNameSet=[];__cov_FDBW7GrBdVuQXMSLxhPCew.s['332']++;for(i=0;ilimitSize)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['141'][2]++,limit)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['141'][3]++,i+1-j>=limit)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['140'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['344']++;fileSet.push(files.slice(j,i+1));__cov_FDBW7GrBdVuQXMSLxhPCew.s['345']++;paramNameSlice=paramName.slice(j,i+1);__cov_FDBW7GrBdVuQXMSLxhPCew.s['346']++;if(!paramNameSlice.length){__cov_FDBW7GrBdVuQXMSLxhPCew.b['142'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['347']++;paramNameSlice=paramName;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['142'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['348']++;paramNameSet.push(paramNameSlice);__cov_FDBW7GrBdVuQXMSLxhPCew.s['349']++;j=i+1;__cov_FDBW7GrBdVuQXMSLxhPCew.s['350']++;batchSize=0;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['140'][1]++;}}}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['138'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['351']++;paramNameSet=paramName;}}}__cov_FDBW7GrBdVuQXMSLxhPCew.s['352']++;data.originalFiles=files;__cov_FDBW7GrBdVuQXMSLxhPCew.s['353']++;$.each((__cov_FDBW7GrBdVuQXMSLxhPCew.b['143'][0]++,fileSet)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['143'][1]++,files),function(index,element){__cov_FDBW7GrBdVuQXMSLxhPCew.f['65']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['354']++;var newData=$.extend({},data);__cov_FDBW7GrBdVuQXMSLxhPCew.s['355']++;newData.files=fileSet?(__cov_FDBW7GrBdVuQXMSLxhPCew.b['144'][0]++,element):(__cov_FDBW7GrBdVuQXMSLxhPCew.b['144'][1]++,[element]);__cov_FDBW7GrBdVuQXMSLxhPCew.s['356']++;newData.paramName=paramNameSet[index];__cov_FDBW7GrBdVuQXMSLxhPCew.s['357']++;that._initResponseObject(newData);__cov_FDBW7GrBdVuQXMSLxhPCew.s['358']++;that._initProgressObject(newData);__cov_FDBW7GrBdVuQXMSLxhPCew.s['359']++;that._addConvenienceMethods(e,newData);__cov_FDBW7GrBdVuQXMSLxhPCew.s['360']++;result=that._trigger('add',$.Event('add',{delegatedEvent:e}),newData);__cov_FDBW7GrBdVuQXMSLxhPCew.s['361']++;return result;});__cov_FDBW7GrBdVuQXMSLxhPCew.s['362']++;return result;},_replaceFileInput:function(data){__cov_FDBW7GrBdVuQXMSLxhPCew.f['66']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['363']++;var input=data.fileInput,inputClone=input.clone(true),restoreFocus=input.is(document.activeElement);__cov_FDBW7GrBdVuQXMSLxhPCew.s['364']++;data.fileInputClone=inputClone;__cov_FDBW7GrBdVuQXMSLxhPCew.s['365']++;$('
    ').append(inputClone)[0].reset();__cov_FDBW7GrBdVuQXMSLxhPCew.s['366']++;input.after(inputClone).detach();__cov_FDBW7GrBdVuQXMSLxhPCew.s['367']++;if(restoreFocus){__cov_FDBW7GrBdVuQXMSLxhPCew.b['145'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['368']++;inputClone.focus();}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['145'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['369']++;$.cleanData(input.unbind('remove'));__cov_FDBW7GrBdVuQXMSLxhPCew.s['370']++;this.options.fileInput=this.options.fileInput.map(function(i,el){__cov_FDBW7GrBdVuQXMSLxhPCew.f['67']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['371']++;if(el===input[0]){__cov_FDBW7GrBdVuQXMSLxhPCew.b['146'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['372']++;return inputClone[0];}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['146'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['373']++;return el;});__cov_FDBW7GrBdVuQXMSLxhPCew.s['374']++;if(input[0]===this.element[0]){__cov_FDBW7GrBdVuQXMSLxhPCew.b['147'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['375']++;this.element=inputClone;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['147'][1]++;}},_handleFileTreeEntry:function(entry,path){__cov_FDBW7GrBdVuQXMSLxhPCew.f['68']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['376']++;var that=this,dfd=$.Deferred(),entries=[],dirReader,errorHandler=function(e){__cov_FDBW7GrBdVuQXMSLxhPCew.f['69']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['377']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['149'][0]++,e)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['149'][1]++,!e.entry)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['148'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['378']++;e.entry=entry;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['148'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['379']++;dfd.resolve([e]);},successHandler=function(entries){__cov_FDBW7GrBdVuQXMSLxhPCew.f['70']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['380']++;that._handleFileTreeEntries(entries,path+entry.name+'/').done(function(files){__cov_FDBW7GrBdVuQXMSLxhPCew.f['71']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['381']++;dfd.resolve(files);}).fail(errorHandler);},readEntries=function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['72']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['382']++;dirReader.readEntries(function(results){__cov_FDBW7GrBdVuQXMSLxhPCew.f['73']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['383']++;if(!results.length){__cov_FDBW7GrBdVuQXMSLxhPCew.b['150'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['384']++;successHandler(entries);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['150'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['385']++;entries=entries.concat(results);__cov_FDBW7GrBdVuQXMSLxhPCew.s['386']++;readEntries();}},errorHandler);};__cov_FDBW7GrBdVuQXMSLxhPCew.s['387']++;path=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['151'][0]++,path)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['151'][1]++,'');__cov_FDBW7GrBdVuQXMSLxhPCew.s['388']++;if(entry.isFile){__cov_FDBW7GrBdVuQXMSLxhPCew.b['152'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['389']++;if(entry._file){__cov_FDBW7GrBdVuQXMSLxhPCew.b['153'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['390']++;entry._file.relativePath=path;__cov_FDBW7GrBdVuQXMSLxhPCew.s['391']++;dfd.resolve(entry._file);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['153'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['392']++;entry.file(function(file){__cov_FDBW7GrBdVuQXMSLxhPCew.f['74']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['393']++;file.relativePath=path;__cov_FDBW7GrBdVuQXMSLxhPCew.s['394']++;dfd.resolve(file);},errorHandler);}}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['152'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['395']++;if(entry.isDirectory){__cov_FDBW7GrBdVuQXMSLxhPCew.b['154'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['396']++;dirReader=entry.createReader();__cov_FDBW7GrBdVuQXMSLxhPCew.s['397']++;readEntries();}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['154'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['398']++;dfd.resolve([]);}}__cov_FDBW7GrBdVuQXMSLxhPCew.s['399']++;return dfd.promise();},_handleFileTreeEntries:function(entries,path){__cov_FDBW7GrBdVuQXMSLxhPCew.f['75']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['400']++;var that=this;__cov_FDBW7GrBdVuQXMSLxhPCew.s['401']++;return $.when.apply($,$.map(entries,function(entry){__cov_FDBW7GrBdVuQXMSLxhPCew.f['76']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['402']++;return that._handleFileTreeEntry(entry,path);})).then(function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['77']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['403']++;return Array.prototype.concat.apply([],arguments);});},_getDroppedFiles:function(dataTransfer){__cov_FDBW7GrBdVuQXMSLxhPCew.f['78']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['404']++;dataTransfer=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['155'][0]++,dataTransfer)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['155'][1]++,{});__cov_FDBW7GrBdVuQXMSLxhPCew.s['405']++;var items=dataTransfer.items;__cov_FDBW7GrBdVuQXMSLxhPCew.s['406']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['157'][0]++,items)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['157'][1]++,items.length)&&((__cov_FDBW7GrBdVuQXMSLxhPCew.b['157'][2]++,items[0].webkitGetAsEntry)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['157'][3]++,items[0].getAsEntry))){__cov_FDBW7GrBdVuQXMSLxhPCew.b['156'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['407']++;return this._handleFileTreeEntries($.map(items,function(item){__cov_FDBW7GrBdVuQXMSLxhPCew.f['79']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['408']++;var entry;__cov_FDBW7GrBdVuQXMSLxhPCew.s['409']++;if(item.webkitGetAsEntry){__cov_FDBW7GrBdVuQXMSLxhPCew.b['158'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['410']++;entry=item.webkitGetAsEntry();__cov_FDBW7GrBdVuQXMSLxhPCew.s['411']++;if(entry){__cov_FDBW7GrBdVuQXMSLxhPCew.b['159'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['412']++;entry._file=item.getAsFile();}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['159'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['413']++;return entry;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['158'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['414']++;return item.getAsEntry();}));}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['156'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['415']++;return $.Deferred().resolve($.makeArray(dataTransfer.files)).promise();},_getSingleFileInputFiles:function(fileInput){__cov_FDBW7GrBdVuQXMSLxhPCew.f['80']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['416']++;fileInput=$(fileInput);__cov_FDBW7GrBdVuQXMSLxhPCew.s['417']++;var entries=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['160'][0]++,fileInput.prop('webkitEntries'))||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['160'][1]++,fileInput.prop('entries')),files,value;__cov_FDBW7GrBdVuQXMSLxhPCew.s['418']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['162'][0]++,entries)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['162'][1]++,entries.length)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['161'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['419']++;return this._handleFileTreeEntries(entries);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['161'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['420']++;files=$.makeArray(fileInput.prop('files'));__cov_FDBW7GrBdVuQXMSLxhPCew.s['421']++;if(!files.length){__cov_FDBW7GrBdVuQXMSLxhPCew.b['163'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['422']++;value=fileInput.prop('value');__cov_FDBW7GrBdVuQXMSLxhPCew.s['423']++;if(!value){__cov_FDBW7GrBdVuQXMSLxhPCew.b['164'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['424']++;return $.Deferred().resolve([]).promise();}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['164'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['425']++;files=[{name:value.replace(/^.*\\/,'')}];}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['163'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['426']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['166'][0]++,files[0].name===undefined)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['166'][1]++,files[0].fileName)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['165'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['427']++;$.each(files,function(index,file){__cov_FDBW7GrBdVuQXMSLxhPCew.f['81']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['428']++;file.name=file.fileName;__cov_FDBW7GrBdVuQXMSLxhPCew.s['429']++;file.size=file.fileSize;});}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['165'][1]++;}}__cov_FDBW7GrBdVuQXMSLxhPCew.s['430']++;return $.Deferred().resolve(files).promise();},_getFileInputFiles:function(fileInput){__cov_FDBW7GrBdVuQXMSLxhPCew.f['82']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['431']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['168'][0]++,!(fileInput instanceof $))||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['168'][1]++,fileInput.length===1)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['167'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['432']++;return this._getSingleFileInputFiles(fileInput);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['167'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['433']++;return $.when.apply($,$.map(fileInput,this._getSingleFileInputFiles)).then(function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['83']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['434']++;return Array.prototype.concat.apply([],arguments);});},_onChange:function(e){__cov_FDBW7GrBdVuQXMSLxhPCew.f['84']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['435']++;var that=this,data={fileInput:$(e.target),form:$(e.target.form)};__cov_FDBW7GrBdVuQXMSLxhPCew.s['436']++;this._getFileInputFiles(data.fileInput).always(function(files){__cov_FDBW7GrBdVuQXMSLxhPCew.f['85']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['437']++;data.files=files;__cov_FDBW7GrBdVuQXMSLxhPCew.s['438']++;if(that.options.replaceFileInput){__cov_FDBW7GrBdVuQXMSLxhPCew.b['169'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['439']++;that._replaceFileInput(data);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['169'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['440']++;if(that._trigger('change',$.Event('change',{delegatedEvent:e}),data)!==false){__cov_FDBW7GrBdVuQXMSLxhPCew.b['170'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['441']++;that._onAdd(e,data);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['170'][1]++;}});},_onPaste:function(e){__cov_FDBW7GrBdVuQXMSLxhPCew.f['86']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['442']++;var items=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['171'][0]++,e.originalEvent)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['171'][1]++,e.originalEvent.clipboardData)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['171'][2]++,e.originalEvent.clipboardData.items),data={files:[]};__cov_FDBW7GrBdVuQXMSLxhPCew.s['443']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['173'][0]++,items)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['173'][1]++,items.length)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['172'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['444']++;$.each(items,function(index,item){__cov_FDBW7GrBdVuQXMSLxhPCew.f['87']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['445']++;var file=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['174'][0]++,item.getAsFile)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['174'][1]++,item.getAsFile());__cov_FDBW7GrBdVuQXMSLxhPCew.s['446']++;if(file){__cov_FDBW7GrBdVuQXMSLxhPCew.b['175'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['447']++;data.files.push(file);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['175'][1]++;}});__cov_FDBW7GrBdVuQXMSLxhPCew.s['448']++;if(this._trigger('paste',$.Event('paste',{delegatedEvent:e}),data)!==false){__cov_FDBW7GrBdVuQXMSLxhPCew.b['176'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['449']++;this._onAdd(e,data);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['176'][1]++;}}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['172'][1]++;}},_onDrop:function(e){__cov_FDBW7GrBdVuQXMSLxhPCew.f['88']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['450']++;e.dataTransfer=(__cov_FDBW7GrBdVuQXMSLxhPCew.b['177'][0]++,e.originalEvent)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['177'][1]++,e.originalEvent.dataTransfer);__cov_FDBW7GrBdVuQXMSLxhPCew.s['451']++;var that=this,dataTransfer=e.dataTransfer,data={};__cov_FDBW7GrBdVuQXMSLxhPCew.s['452']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['179'][0]++,dataTransfer)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['179'][1]++,dataTransfer.files)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['179'][2]++,dataTransfer.files.length)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['178'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['453']++;e.preventDefault();__cov_FDBW7GrBdVuQXMSLxhPCew.s['454']++;this._getDroppedFiles(dataTransfer).always(function(files){__cov_FDBW7GrBdVuQXMSLxhPCew.f['89']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['455']++;data.files=files;__cov_FDBW7GrBdVuQXMSLxhPCew.s['456']++;if(that._trigger('drop',$.Event('drop',{delegatedEvent:e}),data)!==false){__cov_FDBW7GrBdVuQXMSLxhPCew.b['180'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['457']++;that._onAdd(e,data);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['180'][1]++;}});}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['178'][1]++;}},_onDragOver:getDragHandler('dragover'),_onDragEnter:getDragHandler('dragenter'),_onDragLeave:getDragHandler('dragleave'),_initEventHandlers:function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['90']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['458']++;if(this._isXHRUpload(this.options)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['181'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['459']++;this._on(this.options.dropZone,{dragover:this._onDragOver,drop:this._onDrop,dragenter:this._onDragEnter,dragleave:this._onDragLeave});__cov_FDBW7GrBdVuQXMSLxhPCew.s['460']++;this._on(this.options.pasteZone,{paste:this._onPaste});}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['181'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['461']++;if($.support.fileInput){__cov_FDBW7GrBdVuQXMSLxhPCew.b['182'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['462']++;this._on(this.options.fileInput,{change:this._onChange});}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['182'][1]++;}},_destroyEventHandlers:function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['91']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['463']++;this._off(this.options.dropZone,'dragenter dragleave dragover drop');__cov_FDBW7GrBdVuQXMSLxhPCew.s['464']++;this._off(this.options.pasteZone,'paste');__cov_FDBW7GrBdVuQXMSLxhPCew.s['465']++;this._off(this.options.fileInput,'change');},_destroy:function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['92']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['466']++;this._destroyEventHandlers();},_setOption:function(key,value){__cov_FDBW7GrBdVuQXMSLxhPCew.f['93']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['467']++;var reinit=$.inArray(key,this._specialOptions)!==-1;__cov_FDBW7GrBdVuQXMSLxhPCew.s['468']++;if(reinit){__cov_FDBW7GrBdVuQXMSLxhPCew.b['183'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['469']++;this._destroyEventHandlers();}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['183'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['470']++;this._super(key,value);__cov_FDBW7GrBdVuQXMSLxhPCew.s['471']++;if(reinit){__cov_FDBW7GrBdVuQXMSLxhPCew.b['184'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['472']++;this._initSpecialOptions();__cov_FDBW7GrBdVuQXMSLxhPCew.s['473']++;this._initEventHandlers();}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['184'][1]++;}},_initSpecialOptions:function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['94']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['474']++;var options=this.options;__cov_FDBW7GrBdVuQXMSLxhPCew.s['475']++;if(options.fileInput===undefined){__cov_FDBW7GrBdVuQXMSLxhPCew.b['185'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['476']++;options.fileInput=this.element.is('input[type="file"]')?(__cov_FDBW7GrBdVuQXMSLxhPCew.b['186'][0]++,this.element):(__cov_FDBW7GrBdVuQXMSLxhPCew.b['186'][1]++,this.element.find('input[type="file"]'));}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['185'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['477']++;if(!(options.fileInput instanceof $)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['187'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['478']++;options.fileInput=$(options.fileInput);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['187'][1]++;}}__cov_FDBW7GrBdVuQXMSLxhPCew.s['479']++;if(!(options.dropZone instanceof $)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['188'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['480']++;options.dropZone=$(options.dropZone);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['188'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['481']++;if(!(options.pasteZone instanceof $)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['189'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['482']++;options.pasteZone=$(options.pasteZone);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['189'][1]++;}},_getRegExp:function(str){__cov_FDBW7GrBdVuQXMSLxhPCew.f['95']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['483']++;var parts=str.split('/'),modifiers=parts.pop();__cov_FDBW7GrBdVuQXMSLxhPCew.s['484']++;parts.shift();__cov_FDBW7GrBdVuQXMSLxhPCew.s['485']++;return new RegExp(parts.join('/'),modifiers);},_isRegExpOption:function(key,value){__cov_FDBW7GrBdVuQXMSLxhPCew.f['96']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['486']++;return(__cov_FDBW7GrBdVuQXMSLxhPCew.b['190'][0]++,key!=='url')&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['190'][1]++,$.type(value)==='string')&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['190'][2]++,/^\/.*\/[igm]{0,3}$/.test(value));},_initDataAttributes:function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['97']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['487']++;var that=this,options=this.options,data=this.element.data();__cov_FDBW7GrBdVuQXMSLxhPCew.s['488']++;$.each(this.element[0].attributes,function(index,attr){__cov_FDBW7GrBdVuQXMSLxhPCew.f['98']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['489']++;var key=attr.name.toLowerCase(),value;__cov_FDBW7GrBdVuQXMSLxhPCew.s['490']++;if(/^data-/.test(key)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['191'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['491']++;key=key.slice(5).replace(/-[a-z]/g,function(str){__cov_FDBW7GrBdVuQXMSLxhPCew.f['99']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['492']++;return str.charAt(1).toUpperCase();});__cov_FDBW7GrBdVuQXMSLxhPCew.s['493']++;value=data[key];__cov_FDBW7GrBdVuQXMSLxhPCew.s['494']++;if(that._isRegExpOption(key,value)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['192'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['495']++;value=that._getRegExp(value);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['192'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['496']++;options[key]=value;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['191'][1]++;}});},_create:function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['100']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['497']++;this._initDataAttributes();__cov_FDBW7GrBdVuQXMSLxhPCew.s['498']++;this._initSpecialOptions();__cov_FDBW7GrBdVuQXMSLxhPCew.s['499']++;this._slots=[];__cov_FDBW7GrBdVuQXMSLxhPCew.s['500']++;this._sequence=this._getXHRPromise(true);__cov_FDBW7GrBdVuQXMSLxhPCew.s['501']++;this._sending=this._active=0;__cov_FDBW7GrBdVuQXMSLxhPCew.s['502']++;this._initProgressObject(this);__cov_FDBW7GrBdVuQXMSLxhPCew.s['503']++;this._initEventHandlers();},active:function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['101']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['504']++;return this._active;},progress:function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['102']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['505']++;return this._progress;},add:function(data){__cov_FDBW7GrBdVuQXMSLxhPCew.f['103']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['506']++;var that=this;__cov_FDBW7GrBdVuQXMSLxhPCew.s['507']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['194'][0]++,!data)||(__cov_FDBW7GrBdVuQXMSLxhPCew.b['194'][1]++,this.options.disabled)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['193'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['508']++;return;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['193'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['509']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['196'][0]++,data.fileInput)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['196'][1]++,!data.files)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['195'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['510']++;this._getFileInputFiles(data.fileInput).always(function(files){__cov_FDBW7GrBdVuQXMSLxhPCew.f['104']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['511']++;data.files=files;__cov_FDBW7GrBdVuQXMSLxhPCew.s['512']++;that._onAdd(null,data);});}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['195'][1]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['513']++;data.files=$.makeArray(data.files);__cov_FDBW7GrBdVuQXMSLxhPCew.s['514']++;this._onAdd(null,data);}},send:function(data){__cov_FDBW7GrBdVuQXMSLxhPCew.f['105']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['515']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['198'][0]++,data)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['198'][1]++,!this.options.disabled)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['197'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['516']++;if((__cov_FDBW7GrBdVuQXMSLxhPCew.b['200'][0]++,data.fileInput)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['200'][1]++,!data.files)){__cov_FDBW7GrBdVuQXMSLxhPCew.b['199'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['517']++;var that=this,dfd=$.Deferred(),promise=dfd.promise(),jqXHR,aborted;__cov_FDBW7GrBdVuQXMSLxhPCew.s['518']++;promise.abort=function(){__cov_FDBW7GrBdVuQXMSLxhPCew.f['106']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['519']++;aborted=true;__cov_FDBW7GrBdVuQXMSLxhPCew.s['520']++;if(jqXHR){__cov_FDBW7GrBdVuQXMSLxhPCew.b['201'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['521']++;return jqXHR.abort();}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['201'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['522']++;dfd.reject(null,'abort','abort');__cov_FDBW7GrBdVuQXMSLxhPCew.s['523']++;return promise;};__cov_FDBW7GrBdVuQXMSLxhPCew.s['524']++;this._getFileInputFiles(data.fileInput).always(function(files){__cov_FDBW7GrBdVuQXMSLxhPCew.f['107']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['525']++;if(aborted){__cov_FDBW7GrBdVuQXMSLxhPCew.b['202'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['526']++;return;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['202'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['527']++;if(!files.length){__cov_FDBW7GrBdVuQXMSLxhPCew.b['203'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['528']++;dfd.reject();__cov_FDBW7GrBdVuQXMSLxhPCew.s['529']++;return;}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['203'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['530']++;data.files=files;__cov_FDBW7GrBdVuQXMSLxhPCew.s['531']++;jqXHR=that._onSend(null,data);__cov_FDBW7GrBdVuQXMSLxhPCew.s['532']++;jqXHR.then(function(result,textStatus,jqXHR){__cov_FDBW7GrBdVuQXMSLxhPCew.f['108']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['533']++;dfd.resolve(result,textStatus,jqXHR);},function(jqXHR,textStatus,errorThrown){__cov_FDBW7GrBdVuQXMSLxhPCew.f['109']++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['534']++;dfd.reject(jqXHR,textStatus,errorThrown);});});__cov_FDBW7GrBdVuQXMSLxhPCew.s['535']++;return this._enhancePromise(promise);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['199'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['536']++;data.files=$.makeArray(data.files);__cov_FDBW7GrBdVuQXMSLxhPCew.s['537']++;if(data.files.length){__cov_FDBW7GrBdVuQXMSLxhPCew.b['204'][0]++;__cov_FDBW7GrBdVuQXMSLxhPCew.s['538']++;return this._onSend(null,data);}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['204'][1]++;}}else{__cov_FDBW7GrBdVuQXMSLxhPCew.b['197'][1]++;}__cov_FDBW7GrBdVuQXMSLxhPCew.s['539']++;return this._getXHRPromise(false,(__cov_FDBW7GrBdVuQXMSLxhPCew.b['205'][0]++,data)&&(__cov_FDBW7GrBdVuQXMSLxhPCew.b['205'][1]++,data.context));}});})); diff --git a/.grunt/grunt-contrib-jasmine/assests/js/lib/file-upload/jquery.iframe-transport.js b/.grunt/grunt-contrib-jasmine/assests/js/lib/file-upload/jquery.iframe-transport.js new file mode 100644 index 0000000..d7c3a17 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/assests/js/lib/file-upload/jquery.iframe-transport.js @@ -0,0 +1,9 @@ + +var __cov_MbNNxu9xm34ZuqOdyE6D6g = (Function('return this'))(); +if (!__cov_MbNNxu9xm34ZuqOdyE6D6g.__coverage__) { __cov_MbNNxu9xm34ZuqOdyE6D6g.__coverage__ = {}; } +__cov_MbNNxu9xm34ZuqOdyE6D6g = __cov_MbNNxu9xm34ZuqOdyE6D6g.__coverage__; +if (!(__cov_MbNNxu9xm34ZuqOdyE6D6g['assests/js/lib/file-upload/jquery.iframe-transport.js'])) { + __cov_MbNNxu9xm34ZuqOdyE6D6g['assests/js/lib/file-upload/jquery.iframe-transport.js'] = {"path":"assests/js/lib/file-upload/jquery.iframe-transport.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0,0],"29":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"fnMap":{"1":{"name":"(anonymous_1)","line":14,"loc":{"start":{"line":14,"column":2},"end":{"line":14,"column":21}}},"2":{"name":"(anonymous_2)","line":26,"loc":{"start":{"line":26,"column":2},"end":{"line":26,"column":15}}},"3":{"name":"(anonymous_3)","line":42,"loc":{"start":{"line":42,"column":30},"end":{"line":42,"column":49}}},"4":{"name":"(anonymous_4)","line":53,"loc":{"start":{"line":53,"column":22},"end":{"line":53,"column":53}}},"5":{"name":"(anonymous_5)","line":75,"loc":{"start":{"line":75,"column":35},"end":{"line":75,"column":47}}},"6":{"name":"(anonymous_6)","line":81,"loc":{"start":{"line":81,"column":42},"end":{"line":81,"column":54}}},"7":{"name":"(anonymous_7)","line":107,"loc":{"start":{"line":107,"column":50},"end":{"line":107,"column":62}}},"8":{"name":"(anonymous_8)","line":119,"loc":{"start":{"line":119,"column":53},"end":{"line":119,"column":77}}},"9":{"name":"(anonymous_9)","line":130,"loc":{"start":{"line":130,"column":52},"end":{"line":130,"column":69}}},"10":{"name":"(anonymous_10)","line":134,"loc":{"start":{"line":134,"column":55},"end":{"line":134,"column":72}}},"11":{"name":"(anonymous_11)","line":155,"loc":{"start":{"line":155,"column":51},"end":{"line":155,"column":75}}},"12":{"name":"(anonymous_12)","line":167,"loc":{"start":{"line":167,"column":23},"end":{"line":167,"column":35}}},"13":{"name":"(anonymous_13)","line":196,"loc":{"start":{"line":196,"column":27},"end":{"line":196,"column":45}}},"14":{"name":"(anonymous_14)","line":199,"loc":{"start":{"line":199,"column":27},"end":{"line":199,"column":45}}},"15":{"name":"(anonymous_15)","line":202,"loc":{"start":{"line":202,"column":27},"end":{"line":202,"column":45}}},"16":{"name":"(anonymous_16)","line":205,"loc":{"start":{"line":205,"column":26},"end":{"line":205,"column":44}}},"17":{"name":"(anonymous_17)","line":211,"loc":{"start":{"line":211,"column":29},"end":{"line":211,"column":47}}}},"statementMap":{"1":{"start":{"line":14,"column":1},"end":{"line":217,"column":4}},"2":{"start":{"line":16,"column":4},"end":{"line":25,"column":5}},"3":{"start":{"line":18,"column":8},"end":{"line":18,"column":36}},"4":{"start":{"line":19,"column":11},"end":{"line":25,"column":5}},"5":{"start":{"line":21,"column":8},"end":{"line":21,"column":35}},"6":{"start":{"line":24,"column":8},"end":{"line":24,"column":31}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":20}},"8":{"start":{"line":42,"column":4},"end":{"line":182,"column":7}},"9":{"start":{"line":43,"column":8},"end":{"line":181,"column":9}},"10":{"start":{"line":47,"column":12},"end":{"line":51,"column":29}},"11":{"start":{"line":52,"column":12},"end":{"line":180,"column":14}},"12":{"start":{"line":54,"column":20},"end":{"line":54,"column":68}},"13":{"start":{"line":55,"column":20},"end":{"line":55,"column":75}},"14":{"start":{"line":56,"column":20},"end":{"line":56,"column":70}},"15":{"start":{"line":58,"column":20},"end":{"line":67,"column":21}},"16":{"start":{"line":59,"column":24},"end":{"line":59,"column":84}},"17":{"start":{"line":60,"column":24},"end":{"line":60,"column":46}},"18":{"start":{"line":61,"column":27},"end":{"line":67,"column":21}},"19":{"start":{"line":62,"column":24},"end":{"line":62,"column":81}},"20":{"start":{"line":63,"column":24},"end":{"line":63,"column":46}},"21":{"start":{"line":64,"column":27},"end":{"line":67,"column":21}},"22":{"start":{"line":65,"column":24},"end":{"line":65,"column":83}},"23":{"start":{"line":66,"column":24},"end":{"line":66,"column":46}},"24":{"start":{"line":71,"column":20},"end":{"line":71,"column":33}},"25":{"start":{"line":72,"column":20},"end":{"line":164,"column":23}},"26":{"start":{"line":76,"column":24},"end":{"line":78,"column":76}},"27":{"start":{"line":79,"column":24},"end":{"line":113,"column":31}},"28":{"start":{"line":82,"column":32},"end":{"line":82,"column":45}},"29":{"start":{"line":85,"column":32},"end":{"line":95,"column":33}},"30":{"start":{"line":86,"column":36},"end":{"line":86,"column":65}},"31":{"start":{"line":90,"column":36},"end":{"line":92,"column":37}},"32":{"start":{"line":91,"column":40},"end":{"line":91,"column":58}},"33":{"start":{"line":94,"column":36},"end":{"line":94,"column":57}},"34":{"start":{"line":98,"column":32},"end":{"line":102,"column":34}},"35":{"start":{"line":105,"column":32},"end":{"line":106,"column":52}},"36":{"start":{"line":107,"column":32},"end":{"line":112,"column":38}},"37":{"start":{"line":111,"column":36},"end":{"line":111,"column":50}},"38":{"start":{"line":114,"column":24},"end":{"line":117,"column":58}},"39":{"start":{"line":118,"column":24},"end":{"line":125,"column":25}},"40":{"start":{"line":119,"column":28},"end":{"line":124,"column":31}},"41":{"start":{"line":120,"column":32},"end":{"line":123,"column":52}},"42":{"start":{"line":126,"column":24},"end":{"line":150,"column":25}},"43":{"start":{"line":128,"column":28},"end":{"line":128,"column":72}},"44":{"start":{"line":130,"column":28},"end":{"line":132,"column":31}},"45":{"start":{"line":131,"column":32},"end":{"line":131,"column":62}},"46":{"start":{"line":133,"column":28},"end":{"line":140,"column":29}},"47":{"start":{"line":134,"column":32},"end":{"line":139,"column":35}},"48":{"start":{"line":135,"column":36},"end":{"line":138,"column":38}},"49":{"start":{"line":143,"column":28},"end":{"line":147,"column":73}},"50":{"start":{"line":149,"column":28},"end":{"line":149,"column":65}},"51":{"start":{"line":151,"column":24},"end":{"line":151,"column":38}},"52":{"start":{"line":154,"column":24},"end":{"line":163,"column":25}},"53":{"start":{"line":155,"column":28},"end":{"line":162,"column":31}},"54":{"start":{"line":156,"column":32},"end":{"line":156,"column":70}},"55":{"start":{"line":158,"column":32},"end":{"line":160,"column":70}},"56":{"start":{"line":161,"column":32},"end":{"line":161,"column":57}},"57":{"start":{"line":165,"column":20},"end":{"line":165,"column":64}},"58":{"start":{"line":168,"column":20},"end":{"line":175,"column":21}},"59":{"start":{"line":172,"column":24},"end":{"line":174,"column":59}},"60":{"start":{"line":176,"column":20},"end":{"line":178,"column":21}},"61":{"start":{"line":177,"column":24},"end":{"line":177,"column":38}},"62":{"start":{"line":194,"column":4},"end":{"line":215,"column":7}},"63":{"start":{"line":197,"column":16},"end":{"line":197,"column":58}},"64":{"start":{"line":200,"column":16},"end":{"line":200,"column":71}},"65":{"start":{"line":203,"column":16},"end":{"line":203,"column":58}},"66":{"start":{"line":206,"column":16},"end":{"line":206,"column":49}},"67":{"start":{"line":207,"column":16},"end":{"line":209,"column":51}},"68":{"start":{"line":212,"column":16},"end":{"line":212,"column":72}}},"branchMap":{"1":{"line":16,"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":4}},{"start":{"line":16,"column":4},"end":{"line":16,"column":4}}]},"2":{"line":16,"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":36}},{"start":{"line":16,"column":40},"end":{"line":16,"column":50}}]},"3":{"line":19,"type":"if","locations":[{"start":{"line":19,"column":11},"end":{"line":19,"column":11}},{"start":{"line":19,"column":11},"end":{"line":19,"column":11}}]},"4":{"line":43,"type":"if","locations":[{"start":{"line":43,"column":8},"end":{"line":43,"column":8}},{"start":{"line":43,"column":8},"end":{"line":43,"column":8}}]},"5":{"line":47,"type":"binary-expr","locations":[{"start":{"line":47,"column":35},"end":{"line":47,"column":59}},{"start":{"line":47,"column":63},"end":{"line":47,"column":82}}]},"6":{"line":56,"type":"cond-expr","locations":[{"start":{"line":56,"column":60},"end":{"line":56,"column":63}},{"start":{"line":56,"column":66},"end":{"line":56,"column":69}}]},"7":{"line":58,"type":"if","locations":[{"start":{"line":58,"column":20},"end":{"line":58,"column":20}},{"start":{"line":58,"column":20},"end":{"line":58,"column":20}}]},"8":{"line":61,"type":"if","locations":[{"start":{"line":61,"column":27},"end":{"line":61,"column":27}},{"start":{"line":61,"column":27},"end":{"line":61,"column":27}}]},"9":{"line":64,"type":"if","locations":[{"start":{"line":64,"column":27},"end":{"line":64,"column":27}},{"start":{"line":64,"column":27},"end":{"line":64,"column":27}}]},"10":{"line":77,"type":"cond-expr","locations":[{"start":{"line":78,"column":36},"end":{"line":78,"column":53}},{"start":{"line":78,"column":56},"end":{"line":78,"column":75}}]},"11":{"line":90,"type":"if","locations":[{"start":{"line":90,"column":36},"end":{"line":90,"column":36}},{"start":{"line":90,"column":36},"end":{"line":90,"column":36}}]},"12":{"line":90,"type":"binary-expr","locations":[{"start":{"line":90,"column":40},"end":{"line":90,"column":56}},{"start":{"line":90,"column":60},"end":{"line":90,"column":83}}]},"13":{"line":118,"type":"if","locations":[{"start":{"line":118,"column":24},"end":{"line":118,"column":24}},{"start":{"line":118,"column":24},"end":{"line":118,"column":24}}]},"14":{"line":126,"type":"if","locations":[{"start":{"line":126,"column":24},"end":{"line":126,"column":24}},{"start":{"line":126,"column":24},"end":{"line":126,"column":24}}]},"15":{"line":126,"type":"binary-expr","locations":[{"start":{"line":126,"column":28},"end":{"line":126,"column":45}},{"start":{"line":126,"column":49},"end":{"line":126,"column":73}},{"start":{"line":127,"column":32},"end":{"line":127,"column":55}}]},"16":{"line":133,"type":"if","locations":[{"start":{"line":133,"column":28},"end":{"line":133,"column":28}},{"start":{"line":133,"column":28},"end":{"line":133,"column":28}}]},"17":{"line":137,"type":"binary-expr","locations":[{"start":{"line":137,"column":40},"end":{"line":137,"column":57}},{"start":{"line":137,"column":61},"end":{"line":137,"column":78}}]},"18":{"line":154,"type":"if","locations":[{"start":{"line":154,"column":24},"end":{"line":154,"column":24}},{"start":{"line":154,"column":24},"end":{"line":154,"column":24}}]},"19":{"line":154,"type":"binary-expr","locations":[{"start":{"line":154,"column":28},"end":{"line":154,"column":43}},{"start":{"line":154,"column":47},"end":{"line":154,"column":69}}]},"20":{"line":168,"type":"if","locations":[{"start":{"line":168,"column":20},"end":{"line":168,"column":20}},{"start":{"line":168,"column":20},"end":{"line":168,"column":20}}]},"21":{"line":176,"type":"if","locations":[{"start":{"line":176,"column":20},"end":{"line":176,"column":20}},{"start":{"line":176,"column":20},"end":{"line":176,"column":20}}]},"22":{"line":197,"type":"binary-expr","locations":[{"start":{"line":197,"column":23},"end":{"line":197,"column":29}},{"start":{"line":197,"column":33},"end":{"line":197,"column":57}}]},"23":{"line":200,"type":"binary-expr","locations":[{"start":{"line":200,"column":23},"end":{"line":200,"column":29}},{"start":{"line":200,"column":33},"end":{"line":200,"column":70}}]},"24":{"line":203,"type":"binary-expr","locations":[{"start":{"line":203,"column":23},"end":{"line":203,"column":29}},{"start":{"line":203,"column":33},"end":{"line":203,"column":57}}]},"25":{"line":206,"type":"binary-expr","locations":[{"start":{"line":206,"column":29},"end":{"line":206,"column":35}},{"start":{"line":206,"column":39},"end":{"line":206,"column":48}}]},"26":{"line":207,"type":"cond-expr","locations":[{"start":{"line":207,"column":54},"end":{"line":207,"column":60}},{"start":{"line":208,"column":24},"end":{"line":209,"column":50}}]},"27":{"line":207,"type":"binary-expr","locations":[{"start":{"line":207,"column":23},"end":{"line":207,"column":29}},{"start":{"line":207,"column":33},"end":{"line":207,"column":51}}]},"28":{"line":208,"type":"binary-expr","locations":[{"start":{"line":208,"column":36},"end":{"line":208,"column":54}},{"start":{"line":208,"column":58},"end":{"line":208,"column":80}},{"start":{"line":209,"column":28},"end":{"line":209,"column":49}}]},"29":{"line":212,"type":"binary-expr","locations":[{"start":{"line":212,"column":23},"end":{"line":212,"column":29}},{"start":{"line":212,"column":33},"end":{"line":212,"column":71}}]}}}; +} +__cov_MbNNxu9xm34ZuqOdyE6D6g = __cov_MbNNxu9xm34ZuqOdyE6D6g['assests/js/lib/file-upload/jquery.iframe-transport.js']; +;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['1']++;(function(factory){'use strict';__cov_MbNNxu9xm34ZuqOdyE6D6g.f['1']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['2']++;if((__cov_MbNNxu9xm34ZuqOdyE6D6g.b['2'][0]++,typeof define==='function')&&(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['2'][1]++,define.amd)){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['1'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['3']++;define(['jquery'],factory);}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['1'][1]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['4']++;if(typeof exports==='object'){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['3'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['5']++;factory(require('jquery'));}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['3'][1]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['6']++;factory(window.jQuery);}}}(function($){'use strict';__cov_MbNNxu9xm34ZuqOdyE6D6g.f['2']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['7']++;var counter=0;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['8']++;$.ajaxTransport('iframe',function(options){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['3']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['9']++;if(options.async){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['4'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['10']++;var initialIframeSrc=(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['5'][0]++,options.initialIframeSrc)||(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['5'][1]++,'javascript:false;'),form,iframe,addParamChar;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['11']++;return{send:function(_,completeCallback){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['4']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['12']++;form=$('
    ');__cov_MbNNxu9xm34ZuqOdyE6D6g.s['13']++;form.attr('accept-charset',options.formAcceptCharset);__cov_MbNNxu9xm34ZuqOdyE6D6g.s['14']++;addParamChar=/\?/.test(options.url)?(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['6'][0]++,'&'):(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['6'][1]++,'?');__cov_MbNNxu9xm34ZuqOdyE6D6g.s['15']++;if(options.type==='DELETE'){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['7'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['16']++;options.url=options.url+addParamChar+'_method=DELETE';__cov_MbNNxu9xm34ZuqOdyE6D6g.s['17']++;options.type='POST';}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['7'][1]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['18']++;if(options.type==='PUT'){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['8'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['19']++;options.url=options.url+addParamChar+'_method=PUT';__cov_MbNNxu9xm34ZuqOdyE6D6g.s['20']++;options.type='POST';}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['8'][1]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['21']++;if(options.type==='PATCH'){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['9'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['22']++;options.url=options.url+addParamChar+'_method=PATCH';__cov_MbNNxu9xm34ZuqOdyE6D6g.s['23']++;options.type='POST';}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['9'][1]++;}}}__cov_MbNNxu9xm34ZuqOdyE6D6g.s['24']++;counter+=1;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['25']++;iframe=$('').bind('load',function(){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['5']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['26']++;var fileInputClones,paramNames=$.isArray(options.paramName)?(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['10'][0]++,options.paramName):(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['10'][1]++,[options.paramName]);__cov_MbNNxu9xm34ZuqOdyE6D6g.s['27']++;iframe.unbind('load').bind('load',function(){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['6']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['28']++;var response;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['29']++;try{__cov_MbNNxu9xm34ZuqOdyE6D6g.s['30']++;response=iframe.contents();__cov_MbNNxu9xm34ZuqOdyE6D6g.s['31']++;if((__cov_MbNNxu9xm34ZuqOdyE6D6g.b['12'][0]++,!response.length)||(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['12'][1]++,!response[0].firstChild)){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['11'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['32']++;throw new Error();}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['11'][1]++;}}catch(e){__cov_MbNNxu9xm34ZuqOdyE6D6g.s['33']++;response=undefined;}__cov_MbNNxu9xm34ZuqOdyE6D6g.s['34']++;completeCallback(200,'success',{'iframe':response});__cov_MbNNxu9xm34ZuqOdyE6D6g.s['35']++;$('').appendTo(form);__cov_MbNNxu9xm34ZuqOdyE6D6g.s['36']++;window.setTimeout(function(){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['7']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['37']++;form.remove();},0);});__cov_MbNNxu9xm34ZuqOdyE6D6g.s['38']++;form.prop('target',iframe.prop('name')).prop('action',options.url).prop('method',options.type);__cov_MbNNxu9xm34ZuqOdyE6D6g.s['39']++;if(options.formData){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['13'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['40']++;$.each(options.formData,function(index,field){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['8']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['41']++;$('').prop('name',field.name).val(field.value).appendTo(form);});}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['13'][1]++;}__cov_MbNNxu9xm34ZuqOdyE6D6g.s['42']++;if((__cov_MbNNxu9xm34ZuqOdyE6D6g.b['15'][0]++,options.fileInput)&&(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['15'][1]++,options.fileInput.length)&&(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['15'][2]++,options.type==='POST')){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['14'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['43']++;fileInputClones=options.fileInput.clone();__cov_MbNNxu9xm34ZuqOdyE6D6g.s['44']++;options.fileInput.after(function(index){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['9']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['45']++;return fileInputClones[index];});__cov_MbNNxu9xm34ZuqOdyE6D6g.s['46']++;if(options.paramName){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['16'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['47']++;options.fileInput.each(function(index){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['10']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['48']++;$(this).prop('name',(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['17'][0]++,paramNames[index])||(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['17'][1]++,options.paramName));});}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['16'][1]++;}__cov_MbNNxu9xm34ZuqOdyE6D6g.s['49']++;form.append(options.fileInput).prop('enctype','multipart/form-data').prop('encoding','multipart/form-data');__cov_MbNNxu9xm34ZuqOdyE6D6g.s['50']++;options.fileInput.removeAttr('form');}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['14'][1]++;}__cov_MbNNxu9xm34ZuqOdyE6D6g.s['51']++;form.submit();__cov_MbNNxu9xm34ZuqOdyE6D6g.s['52']++;if((__cov_MbNNxu9xm34ZuqOdyE6D6g.b['19'][0]++,fileInputClones)&&(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['19'][1]++,fileInputClones.length)){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['18'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['53']++;options.fileInput.each(function(index,input){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['11']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['54']++;var clone=$(fileInputClones[index]);__cov_MbNNxu9xm34ZuqOdyE6D6g.s['55']++;$(input).prop('name',clone.prop('name')).attr('form',clone.attr('form'));__cov_MbNNxu9xm34ZuqOdyE6D6g.s['56']++;clone.replaceWith(input);});}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['18'][1]++;}});__cov_MbNNxu9xm34ZuqOdyE6D6g.s['57']++;form.append(iframe).appendTo(document.body);},abort:function(){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['12']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['58']++;if(iframe){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['20'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['59']++;iframe.unbind('load').prop('src',initialIframeSrc);}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['20'][1]++;}__cov_MbNNxu9xm34ZuqOdyE6D6g.s['60']++;if(form){__cov_MbNNxu9xm34ZuqOdyE6D6g.b['21'][0]++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['61']++;form.remove();}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['21'][1]++;}}};}else{__cov_MbNNxu9xm34ZuqOdyE6D6g.b['4'][1]++;}});__cov_MbNNxu9xm34ZuqOdyE6D6g.s['62']++;$.ajaxSetup({converters:{'iframe text':function(iframe){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['13']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['63']++;return(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['22'][0]++,iframe)&&(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['22'][1]++,$(iframe[0].body).text());},'iframe json':function(iframe){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['14']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['64']++;return(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['23'][0]++,iframe)&&(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['23'][1]++,$.parseJSON($(iframe[0].body).text()));},'iframe html':function(iframe){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['15']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['65']++;return(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['24'][0]++,iframe)&&(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['24'][1]++,$(iframe[0].body).html());},'iframe xml':function(iframe){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['16']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['66']++;var xmlDoc=(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['25'][0]++,iframe)&&(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['25'][1]++,iframe[0]);__cov_MbNNxu9xm34ZuqOdyE6D6g.s['67']++;return(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['27'][0]++,xmlDoc)&&(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['27'][1]++,$.isXMLDoc(xmlDoc))?(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['26'][0]++,xmlDoc):(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['26'][1]++,$.parseXML((__cov_MbNNxu9xm34ZuqOdyE6D6g.b['28'][0]++,xmlDoc.XMLDocument)&&(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['28'][1]++,xmlDoc.XMLDocument.xml)||(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['28'][2]++,$(xmlDoc.body).html())));},'iframe script':function(iframe){__cov_MbNNxu9xm34ZuqOdyE6D6g.f['17']++;__cov_MbNNxu9xm34ZuqOdyE6D6g.s['68']++;return(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['29'][0]++,iframe)&&(__cov_MbNNxu9xm34ZuqOdyE6D6g.b['29'][1]++,$.globalEval($(iframe[0].body).text()));}}});})); diff --git a/.grunt/grunt-contrib-jasmine/assests/js/lib/file-upload/jquery.ui.widget.js b/.grunt/grunt-contrib-jasmine/assests/js/lib/file-upload/jquery.ui.widget.js new file mode 100644 index 0000000..1673cf6 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/assests/js/lib/file-upload/jquery.ui.widget.js @@ -0,0 +1,9 @@ + +var __cov_USx5ziTtscOh2MV8WRSauw = (Function('return this'))(); +if (!__cov_USx5ziTtscOh2MV8WRSauw.__coverage__) { __cov_USx5ziTtscOh2MV8WRSauw.__coverage__ = {}; } +__cov_USx5ziTtscOh2MV8WRSauw = __cov_USx5ziTtscOh2MV8WRSauw.__coverage__; +if (!(__cov_USx5ziTtscOh2MV8WRSauw['assests/js/lib/file-upload/jquery.ui.widget.js'])) { + __cov_USx5ziTtscOh2MV8WRSauw['assests/js/lib/file-upload/jquery.ui.widget.js'] = {"path":"assests/js/lib/file-upload/jquery.ui.widget.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":1,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":1,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0,0],"52":[0,0],"53":[0,0],"54":[0,0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0,0],"74":[0,0],"75":[0,0],"76":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"fnMap":{"1":{"name":"(anonymous_1)","line":6,"loc":{"start":{"line":6,"column":1},"end":{"line":6,"column":21}}},"2":{"name":"(anonymous_2)","line":22,"loc":{"start":{"line":22,"column":2},"end":{"line":22,"column":16}}},"3":{"name":"(anonymous_3)","line":38,"loc":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}}},"4":{"name":"(anonymous_4)","line":39,"loc":{"start":{"line":39,"column":8},"end":{"line":39,"column":26}}},"5":{"name":"(anonymous_5)","line":57,"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":45}}},"6":{"name":"(anonymous_6)","line":73,"loc":{"start":{"line":73,"column":43},"end":{"line":73,"column":60}}},"7":{"name":"(anonymous_7)","line":79,"loc":{"start":{"line":79,"column":40},"end":{"line":79,"column":69}}},"8":{"name":"(anonymous_8)","line":107,"loc":{"start":{"line":107,"column":20},"end":{"line":107,"column":44}}},"9":{"name":"(anonymous_9)","line":112,"loc":{"start":{"line":112,"column":30},"end":{"line":112,"column":41}}},"10":{"name":"(anonymous_10)","line":113,"loc":{"start":{"line":113,"column":16},"end":{"line":113,"column":27}}},"11":{"name":"(anonymous_11)","line":116,"loc":{"start":{"line":116,"column":18},"end":{"line":116,"column":35}}},"12":{"name":"(anonymous_12)","line":119,"loc":{"start":{"line":119,"column":10},"end":{"line":119,"column":21}}},"13":{"name":"(anonymous_13)","line":153,"loc":{"start":{"line":153,"column":50},"end":{"line":153,"column":71}}},"14":{"name":"(anonymous_14)","line":172,"loc":{"start":{"line":172,"column":18},"end":{"line":172,"column":37}}},"15":{"name":"(anonymous_15)","line":198,"loc":{"start":{"line":198,"column":18},"end":{"line":198,"column":43}}},"16":{"name":"(anonymous_16)","line":200,"loc":{"start":{"line":200,"column":16},"end":{"line":200,"column":36}}},"17":{"name":"(anonymous_17)","line":206,"loc":{"start":{"line":206,"column":13},"end":{"line":206,"column":24}}},"18":{"name":"(anonymous_18)","line":235,"loc":{"start":{"line":235,"column":13},"end":{"line":235,"column":24}}},"19":{"name":"(anonymous_19)","line":252,"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":46}}},"20":{"name":"(anonymous_20)","line":265,"loc":{"start":{"line":265,"column":16},"end":{"line":265,"column":45}}},"21":{"name":"(anonymous_21)","line":278,"loc":{"start":{"line":278,"column":12},"end":{"line":278,"column":30}}},"22":{"name":"(anonymous_22)","line":306,"loc":{"start":{"line":306,"column":10},"end":{"line":306,"column":21}}},"23":{"name":"(anonymous_23)","line":330,"loc":{"start":{"line":330,"column":9},"end":{"line":330,"column":20}}},"24":{"name":"(anonymous_24)","line":334,"loc":{"start":{"line":334,"column":9},"end":{"line":334,"column":32}}},"25":{"name":"(anonymous_25)","line":373,"loc":{"start":{"line":373,"column":14},"end":{"line":373,"column":34}}},"26":{"name":"(anonymous_26)","line":382,"loc":{"start":{"line":382,"column":13},"end":{"line":382,"column":36}}},"27":{"name":"(anonymous_27)","line":399,"loc":{"start":{"line":399,"column":9},"end":{"line":399,"column":20}}},"28":{"name":"(anonymous_28)","line":402,"loc":{"start":{"line":402,"column":10},"end":{"line":402,"column":21}}},"29":{"name":"(anonymous_29)","line":406,"loc":{"start":{"line":406,"column":6},"end":{"line":406,"column":59}}},"30":{"name":"(anonymous_30)","line":427,"loc":{"start":{"line":427,"column":20},"end":{"line":427,"column":47}}},"31":{"name":"handlerProxy","line":428,"loc":{"start":{"line":428,"column":3},"end":{"line":428,"column":27}}},"32":{"name":"(anonymous_32)","line":458,"loc":{"start":{"line":458,"column":7},"end":{"line":458,"column":38}}},"33":{"name":"(anonymous_33)","line":469,"loc":{"start":{"line":469,"column":9},"end":{"line":469,"column":36}}},"34":{"name":"handlerProxy","line":470,"loc":{"start":{"line":470,"column":2},"end":{"line":470,"column":26}}},"35":{"name":"(anonymous_35)","line":478,"loc":{"start":{"line":478,"column":13},"end":{"line":478,"column":33}}},"36":{"name":"(anonymous_36)","line":481,"loc":{"start":{"line":481,"column":15},"end":{"line":481,"column":33}}},"37":{"name":"(anonymous_37)","line":484,"loc":{"start":{"line":484,"column":15},"end":{"line":484,"column":33}}},"38":{"name":"(anonymous_38)","line":490,"loc":{"start":{"line":490,"column":13},"end":{"line":490,"column":33}}},"39":{"name":"(anonymous_39)","line":493,"loc":{"start":{"line":493,"column":12},"end":{"line":493,"column":30}}},"40":{"name":"(anonymous_40)","line":496,"loc":{"start":{"line":496,"column":13},"end":{"line":496,"column":31}}},"41":{"name":"(anonymous_41)","line":502,"loc":{"start":{"line":502,"column":11},"end":{"line":502,"column":41}}},"42":{"name":"(anonymous_42)","line":532,"loc":{"start":{"line":532,"column":45},"end":{"line":532,"column":79}}},"43":{"name":"(anonymous_43)","line":533,"loc":{"start":{"line":533,"column":38},"end":{"line":533,"column":77}}},"44":{"name":"(anonymous_44)","line":557,"loc":{"start":{"line":557,"column":17},"end":{"line":557,"column":34}}}},"statementMap":{"1":{"start":{"line":6,"column":0},"end":{"line":572,"column":4}},"2":{"start":{"line":7,"column":1},"end":{"line":21,"column":2}},"3":{"start":{"line":10,"column":2},"end":{"line":10,"column":33}},"4":{"start":{"line":12,"column":8},"end":{"line":21,"column":2}},"5":{"start":{"line":15,"column":2},"end":{"line":15,"column":33}},"6":{"start":{"line":20,"column":2},"end":{"line":20,"column":20}},"7":{"start":{"line":35,"column":0},"end":{"line":36,"column":38}},"8":{"start":{"line":38,"column":0},"end":{"line":55,"column":18}},"9":{"start":{"line":39,"column":1},"end":{"line":54,"column":3}},"10":{"start":{"line":40,"column":2},"end":{"line":40,"column":22}},"11":{"start":{"line":41,"column":2},"end":{"line":52,"column":3}},"12":{"start":{"line":42,"column":3},"end":{"line":51,"column":19}},"13":{"start":{"line":45,"column":4},"end":{"line":45,"column":39}},"14":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":47,"column":5},"end":{"line":47,"column":42}},"16":{"start":{"line":53,"column":2},"end":{"line":53,"column":16}},"17":{"start":{"line":57,"column":0},"end":{"line":170,"column":2}},"18":{"start":{"line":58,"column":1},"end":{"line":62,"column":37}},"19":{"start":{"line":64,"column":1},"end":{"line":64,"column":31}},"20":{"start":{"line":65,"column":1},"end":{"line":65,"column":35}},"21":{"start":{"line":67,"column":1},"end":{"line":70,"column":2}},"22":{"start":{"line":68,"column":2},"end":{"line":68,"column":19}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":18}},"24":{"start":{"line":73,"column":1},"end":{"line":75,"column":3}},"25":{"start":{"line":74,"column":2},"end":{"line":74,"column":36}},"26":{"start":{"line":77,"column":1},"end":{"line":77,"column":39}},"27":{"start":{"line":78,"column":1},"end":{"line":78,"column":46}},"28":{"start":{"line":79,"column":1},"end":{"line":90,"column":3}},"29":{"start":{"line":81,"column":2},"end":{"line":83,"column":3}},"30":{"start":{"line":82,"column":3},"end":{"line":82,"column":46}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"32":{"start":{"line":88,"column":3},"end":{"line":88,"column":42}},"33":{"start":{"line":92,"column":1},"end":{"line":100,"column":4}},"34":{"start":{"line":102,"column":1},"end":{"line":102,"column":28}},"35":{"start":{"line":106,"column":1},"end":{"line":106,"column":70}},"36":{"start":{"line":107,"column":1},"end":{"line":135,"column":4}},"37":{"start":{"line":108,"column":2},"end":{"line":111,"column":3}},"38":{"start":{"line":109,"column":3},"end":{"line":109,"column":36}},"39":{"start":{"line":110,"column":3},"end":{"line":110,"column":10}},"40":{"start":{"line":112,"column":2},"end":{"line":134,"column":7}},"41":{"start":{"line":113,"column":3},"end":{"line":118,"column":6}},"42":{"start":{"line":114,"column":5},"end":{"line":114,"column":60}},"43":{"start":{"line":117,"column":5},"end":{"line":117,"column":55}},"44":{"start":{"line":119,"column":3},"end":{"line":133,"column":5}},"45":{"start":{"line":120,"column":4},"end":{"line":122,"column":17}},"46":{"start":{"line":124,"column":4},"end":{"line":124,"column":25}},"47":{"start":{"line":125,"column":4},"end":{"line":125,"column":35}},"48":{"start":{"line":127,"column":4},"end":{"line":127,"column":49}},"49":{"start":{"line":129,"column":4},"end":{"line":129,"column":26}},"50":{"start":{"line":130,"column":4},"end":{"line":130,"column":36}},"51":{"start":{"line":132,"column":4},"end":{"line":132,"column":23}},"52":{"start":{"line":136,"column":1},"end":{"line":146,"column":4}},"53":{"start":{"line":152,"column":1},"end":{"line":165,"column":2}},"54":{"start":{"line":153,"column":2},"end":{"line":159,"column":5}},"55":{"start":{"line":154,"column":3},"end":{"line":154,"column":40}},"56":{"start":{"line":158,"column":3},"end":{"line":158,"column":101}},"57":{"start":{"line":162,"column":2},"end":{"line":162,"column":48}},"58":{"start":{"line":164,"column":2},"end":{"line":164,"column":46}},"59":{"start":{"line":167,"column":1},"end":{"line":167,"column":38}},"60":{"start":{"line":169,"column":1},"end":{"line":169,"column":20}},"61":{"start":{"line":172,"column":0},"end":{"line":196,"column":2}},"62":{"start":{"line":173,"column":1},"end":{"line":177,"column":8}},"63":{"start":{"line":178,"column":1},"end":{"line":194,"column":2}},"64":{"start":{"line":179,"column":2},"end":{"line":193,"column":3}},"65":{"start":{"line":180,"column":3},"end":{"line":180,"column":38}},"66":{"start":{"line":181,"column":3},"end":{"line":192,"column":4}},"67":{"start":{"line":183,"column":4},"end":{"line":191,"column":5}},"68":{"start":{"line":184,"column":5},"end":{"line":187,"column":35}},"69":{"start":{"line":190,"column":5},"end":{"line":190,"column":27}},"70":{"start":{"line":195,"column":1},"end":{"line":195,"column":15}},"71":{"start":{"line":198,"column":0},"end":{"line":250,"column":2}},"72":{"start":{"line":199,"column":1},"end":{"line":199,"column":56}},"73":{"start":{"line":200,"column":1},"end":{"line":249,"column":3}},"74":{"start":{"line":201,"column":2},"end":{"line":203,"column":22}},"75":{"start":{"line":205,"column":2},"end":{"line":246,"column":3}},"76":{"start":{"line":206,"column":3},"end":{"line":227,"column":6}},"77":{"start":{"line":207,"column":4},"end":{"line":208,"column":41}},"78":{"start":{"line":209,"column":4},"end":{"line":212,"column":5}},"79":{"start":{"line":210,"column":5},"end":{"line":210,"column":28}},"80":{"start":{"line":211,"column":5},"end":{"line":211,"column":18}},"81":{"start":{"line":213,"column":4},"end":{"line":216,"column":5}},"82":{"start":{"line":214,"column":5},"end":{"line":215,"column":53}},"83":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"84":{"start":{"line":218,"column":5},"end":{"line":218,"column":91}},"85":{"start":{"line":220,"column":4},"end":{"line":220,"column":62}},"86":{"start":{"line":221,"column":4},"end":{"line":226,"column":5}},"87":{"start":{"line":222,"column":5},"end":{"line":224,"column":18}},"88":{"start":{"line":225,"column":5},"end":{"line":225,"column":18}},"89":{"start":{"line":231,"column":3},"end":{"line":233,"column":4}},"90":{"start":{"line":232,"column":4},"end":{"line":232,"column":70}},"91":{"start":{"line":235,"column":3},"end":{"line":245,"column":6}},"92":{"start":{"line":236,"column":4},"end":{"line":236,"column":44}},"93":{"start":{"line":237,"column":4},"end":{"line":244,"column":5}},"94":{"start":{"line":238,"column":5},"end":{"line":238,"column":38}},"95":{"start":{"line":239,"column":5},"end":{"line":241,"column":6}},"96":{"start":{"line":240,"column":6},"end":{"line":240,"column":23}},"97":{"start":{"line":243,"column":5},"end":{"line":243,"column":59}},"98":{"start":{"line":248,"column":2},"end":{"line":248,"column":21}},"99":{"start":{"line":252,"column":0},"end":{"line":252,"column":49}},"100":{"start":{"line":253,"column":0},"end":{"line":253,"column":33}},"101":{"start":{"line":255,"column":0},"end":{"line":530,"column":2}},"102":{"start":{"line":266,"column":2},"end":{"line":266,"column":61}},"103":{"start":{"line":267,"column":2},"end":{"line":267,"column":30}},"104":{"start":{"line":268,"column":2},"end":{"line":268,"column":28}},"105":{"start":{"line":269,"column":2},"end":{"line":269,"column":58}},"106":{"start":{"line":271,"column":2},"end":{"line":271,"column":22}},"107":{"start":{"line":272,"column":2},"end":{"line":272,"column":23}},"108":{"start":{"line":273,"column":2},"end":{"line":273,"column":23}},"109":{"start":{"line":275,"column":2},"end":{"line":290,"column":3}},"110":{"start":{"line":276,"column":3},"end":{"line":276,"column":48}},"111":{"start":{"line":277,"column":3},"end":{"line":283,"column":6}},"112":{"start":{"line":279,"column":5},"end":{"line":281,"column":6}},"113":{"start":{"line":280,"column":6},"end":{"line":280,"column":21}},"114":{"start":{"line":284,"column":3},"end":{"line":288,"column":34}},"115":{"start":{"line":289,"column":3},"end":{"line":289,"column":84}},"116":{"start":{"line":292,"column":2},"end":{"line":295,"column":13}},"117":{"start":{"line":297,"column":2},"end":{"line":297,"column":17}},"118":{"start":{"line":298,"column":2},"end":{"line":298,"column":62}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":15}},"120":{"start":{"line":307,"column":2},"end":{"line":307,"column":18}},"121":{"start":{"line":310,"column":2},"end":{"line":315,"column":53}},"122":{"start":{"line":316,"column":2},"end":{"line":321,"column":26}},"123":{"start":{"line":324,"column":2},"end":{"line":324,"column":46}},"124":{"start":{"line":325,"column":2},"end":{"line":325,"column":49}},"125":{"start":{"line":326,"column":2},"end":{"line":326,"column":49}},"126":{"start":{"line":331,"column":2},"end":{"line":331,"column":22}},"127":{"start":{"line":335,"column":2},"end":{"line":338,"column":5}},"128":{"start":{"line":340,"column":2},"end":{"line":343,"column":3}},"129":{"start":{"line":342,"column":3},"end":{"line":342,"column":46}},"130":{"start":{"line":345,"column":2},"end":{"line":367,"column":3}},"131":{"start":{"line":347,"column":3},"end":{"line":347,"column":16}},"132":{"start":{"line":348,"column":3},"end":{"line":348,"column":28}},"133":{"start":{"line":349,"column":3},"end":{"line":349,"column":23}},"134":{"start":{"line":350,"column":3},"end":{"line":366,"column":4}},"135":{"start":{"line":351,"column":4},"end":{"line":351,"column":76}},"136":{"start":{"line":352,"column":4},"end":{"line":355,"column":5}},"137":{"start":{"line":353,"column":5},"end":{"line":353,"column":61}},"138":{"start":{"line":354,"column":5},"end":{"line":354,"column":41}},"139":{"start":{"line":356,"column":4},"end":{"line":356,"column":22}},"140":{"start":{"line":357,"column":4},"end":{"line":359,"column":5}},"141":{"start":{"line":358,"column":5},"end":{"line":358,"column":69}},"142":{"start":{"line":360,"column":4},"end":{"line":360,"column":29}},"143":{"start":{"line":362,"column":4},"end":{"line":364,"column":5}},"144":{"start":{"line":363,"column":5},"end":{"line":363,"column":75}},"145":{"start":{"line":365,"column":4},"end":{"line":365,"column":27}},"146":{"start":{"line":369,"column":2},"end":{"line":369,"column":30}},"147":{"start":{"line":371,"column":2},"end":{"line":371,"column":14}},"148":{"start":{"line":374,"column":2},"end":{"line":374,"column":10}},"149":{"start":{"line":376,"column":2},"end":{"line":378,"column":3}},"150":{"start":{"line":377,"column":3},"end":{"line":377,"column":42}},"151":{"start":{"line":380,"column":2},"end":{"line":380,"column":14}},"152":{"start":{"line":383,"column":2},"end":{"line":383,"column":30}},"153":{"start":{"line":385,"column":2},"end":{"line":394,"column":3}},"154":{"start":{"line":386,"column":3},"end":{"line":387,"column":63}},"155":{"start":{"line":390,"column":3},"end":{"line":393,"column":4}},"156":{"start":{"line":391,"column":4},"end":{"line":391,"column":51}},"157":{"start":{"line":392,"column":4},"end":{"line":392,"column":51}},"158":{"start":{"line":396,"column":2},"end":{"line":396,"column":14}},"159":{"start":{"line":400,"column":2},"end":{"line":400,"column":47}},"160":{"start":{"line":403,"column":2},"end":{"line":403,"column":46}},"161":{"start":{"line":407,"column":2},"end":{"line":408,"column":19}},"162":{"start":{"line":411,"column":2},"end":{"line":415,"column":3}},"163":{"start":{"line":412,"column":3},"end":{"line":412,"column":22}},"164":{"start":{"line":413,"column":3},"end":{"line":413,"column":35}},"165":{"start":{"line":414,"column":3},"end":{"line":414,"column":33}},"166":{"start":{"line":418,"column":2},"end":{"line":425,"column":3}},"167":{"start":{"line":419,"column":3},"end":{"line":419,"column":22}},"168":{"start":{"line":420,"column":3},"end":{"line":420,"column":26}},"169":{"start":{"line":421,"column":3},"end":{"line":421,"column":35}},"170":{"start":{"line":423,"column":3},"end":{"line":423,"column":44}},"171":{"start":{"line":424,"column":3},"end":{"line":424,"column":48}},"172":{"start":{"line":427,"column":2},"end":{"line":455,"column":5}},"173":{"start":{"line":428,"column":3},"end":{"line":439,"column":4}},"174":{"start":{"line":432,"column":4},"end":{"line":436,"column":5}},"175":{"start":{"line":435,"column":5},"end":{"line":435,"column":12}},"176":{"start":{"line":437,"column":4},"end":{"line":438,"column":35}},"177":{"start":{"line":442,"column":3},"end":{"line":445,"column":4}},"178":{"start":{"line":443,"column":4},"end":{"line":444,"column":51}},"179":{"start":{"line":447,"column":3},"end":{"line":449,"column":24}},"180":{"start":{"line":450,"column":3},"end":{"line":454,"column":4}},"181":{"start":{"line":451,"column":4},"end":{"line":451,"column":66}},"182":{"start":{"line":453,"column":4},"end":{"line":453,"column":44}},"183":{"start":{"line":459,"column":2},"end":{"line":460,"column":23}},"184":{"start":{"line":461,"column":2},"end":{"line":461,"column":54}},"185":{"start":{"line":464,"column":2},"end":{"line":464,"column":58}},"186":{"start":{"line":465,"column":2},"end":{"line":465,"column":60}},"187":{"start":{"line":466,"column":2},"end":{"line":466,"column":60}},"188":{"start":{"line":470,"column":2},"end":{"line":473,"column":3}},"189":{"start":{"line":471,"column":3},"end":{"line":472,"column":34}},"190":{"start":{"line":474,"column":2},"end":{"line":474,"column":22}},"191":{"start":{"line":475,"column":2},"end":{"line":475,"column":48}},"192":{"start":{"line":479,"column":2},"end":{"line":479,"column":49}},"193":{"start":{"line":480,"column":2},"end":{"line":487,"column":5}},"194":{"start":{"line":482,"column":4},"end":{"line":482,"column":58}},"195":{"start":{"line":485,"column":4},"end":{"line":485,"column":61}},"196":{"start":{"line":491,"column":2},"end":{"line":491,"column":49}},"197":{"start":{"line":492,"column":2},"end":{"line":499,"column":5}},"198":{"start":{"line":494,"column":4},"end":{"line":494,"column":58}},"199":{"start":{"line":497,"column":4},"end":{"line":497,"column":61}},"200":{"start":{"line":503,"column":2},"end":{"line":504,"column":35}},"201":{"start":{"line":506,"column":2},"end":{"line":506,"column":20}},"202":{"start":{"line":507,"column":2},"end":{"line":507,"column":27}},"203":{"start":{"line":508,"column":2},"end":{"line":510,"column":49}},"204":{"start":{"line":513,"column":2},"end":{"line":513,"column":35}},"205":{"start":{"line":516,"column":2},"end":{"line":516,"column":29}},"206":{"start":{"line":517,"column":2},"end":{"line":523,"column":3}},"207":{"start":{"line":518,"column":3},"end":{"line":522,"column":4}},"208":{"start":{"line":519,"column":4},"end":{"line":521,"column":5}},"209":{"start":{"line":520,"column":5},"end":{"line":520,"column":34}},"210":{"start":{"line":525,"column":2},"end":{"line":525,"column":38}},"211":{"start":{"line":526,"column":2},"end":{"line":528,"column":32}},"212":{"start":{"line":532,"column":0},"end":{"line":566,"column":3}},"213":{"start":{"line":533,"column":1},"end":{"line":565,"column":3}},"214":{"start":{"line":534,"column":2},"end":{"line":536,"column":3}},"215":{"start":{"line":535,"column":3},"end":{"line":535,"column":33}},"216":{"start":{"line":537,"column":2},"end":{"line":542,"column":37}},"217":{"start":{"line":543,"column":2},"end":{"line":543,"column":26}},"218":{"start":{"line":544,"column":2},"end":{"line":546,"column":3}},"219":{"start":{"line":545,"column":3},"end":{"line":545,"column":35}},"220":{"start":{"line":547,"column":2},"end":{"line":547,"column":43}},"221":{"start":{"line":548,"column":2},"end":{"line":548,"column":30}},"222":{"start":{"line":549,"column":2},"end":{"line":551,"column":3}},"223":{"start":{"line":550,"column":3},"end":{"line":550,"column":34}},"224":{"start":{"line":552,"column":2},"end":{"line":564,"column":3}},"225":{"start":{"line":553,"column":3},"end":{"line":553,"column":32}},"226":{"start":{"line":554,"column":9},"end":{"line":564,"column":3}},"227":{"start":{"line":555,"column":3},"end":{"line":555,"column":71}},"228":{"start":{"line":557,"column":3},"end":{"line":563,"column":6}},"229":{"start":{"line":558,"column":4},"end":{"line":558,"column":26}},"230":{"start":{"line":559,"column":4},"end":{"line":561,"column":5}},"231":{"start":{"line":560,"column":5},"end":{"line":560,"column":35}},"232":{"start":{"line":562,"column":4},"end":{"line":562,"column":11}},"233":{"start":{"line":568,"column":0},"end":{"line":568,"column":22}}},"branchMap":{"1":{"line":7,"type":"if","locations":[{"start":{"line":7,"column":1},"end":{"line":7,"column":1}},{"start":{"line":7,"column":1},"end":{"line":7,"column":1}}]},"2":{"line":7,"type":"binary-expr","locations":[{"start":{"line":7,"column":6},"end":{"line":7,"column":34}},{"start":{"line":7,"column":38},"end":{"line":7,"column":48}}]},"3":{"line":12,"type":"if","locations":[{"start":{"line":12,"column":8},"end":{"line":12,"column":8}},{"start":{"line":12,"column":8},"end":{"line":12,"column":8}}]},"4":{"line":46,"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":46,"column":4}},{"start":{"line":46,"column":4},"end":{"line":46,"column":4}}]},"5":{"line":46,"type":"binary-expr","locations":[{"start":{"line":46,"column":9},"end":{"line":46,"column":15}},{"start":{"line":46,"column":19},"end":{"line":46,"column":32}}]},"6":{"line":67,"type":"if","locations":[{"start":{"line":67,"column":1},"end":{"line":67,"column":1}},{"start":{"line":67,"column":1},"end":{"line":67,"column":1}}]},"7":{"line":77,"type":"binary-expr","locations":[{"start":{"line":77,"column":18},"end":{"line":77,"column":32}},{"start":{"line":77,"column":36},"end":{"line":77,"column":38}}]},"8":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":2},"end":{"line":81,"column":2}},{"start":{"line":81,"column":2},"end":{"line":81,"column":2}}]},"9":{"line":87,"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":87,"column":2}},{"start":{"line":87,"column":2},"end":{"line":87,"column":2}}]},"10":{"line":108,"type":"if","locations":[{"start":{"line":108,"column":2},"end":{"line":108,"column":2}},{"start":{"line":108,"column":2},"end":{"line":108,"column":2}}]},"11":{"line":140,"type":"cond-expr","locations":[{"start":{"line":140,"column":44},"end":{"line":140,"column":83}},{"start":{"line":140,"column":87},"end":{"line":140,"column":91}}]},"12":{"line":140,"type":"binary-expr","locations":[{"start":{"line":140,"column":44},"end":{"line":140,"column":75}},{"start":{"line":140,"column":79},"end":{"line":140,"column":83}}]},"13":{"line":152,"type":"if","locations":[{"start":{"line":152,"column":1},"end":{"line":152,"column":1}},{"start":{"line":152,"column":1},"end":{"line":152,"column":1}}]},"14":{"line":181,"type":"if","locations":[{"start":{"line":181,"column":3},"end":{"line":181,"column":3}},{"start":{"line":181,"column":3},"end":{"line":181,"column":3}}]},"15":{"line":181,"type":"binary-expr","locations":[{"start":{"line":181,"column":8},"end":{"line":181,"column":49}},{"start":{"line":181,"column":53},"end":{"line":181,"column":72}}]},"16":{"line":183,"type":"if","locations":[{"start":{"line":183,"column":4},"end":{"line":183,"column":4}},{"start":{"line":183,"column":4},"end":{"line":183,"column":4}}]},"17":{"line":184,"type":"cond-expr","locations":[{"start":{"line":185,"column":6},"end":{"line":185,"column":49}},{"start":{"line":187,"column":6},"end":{"line":187,"column":34}}]},"18":{"line":199,"type":"binary-expr","locations":[{"start":{"line":199,"column":16},"end":{"line":199,"column":47}},{"start":{"line":199,"column":51},"end":{"line":199,"column":55}}]},"19":{"line":205,"type":"if","locations":[{"start":{"line":205,"column":2},"end":{"line":205,"column":2}},{"start":{"line":205,"column":2},"end":{"line":205,"column":2}}]},"20":{"line":209,"type":"if","locations":[{"start":{"line":209,"column":4},"end":{"line":209,"column":4}},{"start":{"line":209,"column":4},"end":{"line":209,"column":4}}]},"21":{"line":213,"type":"if","locations":[{"start":{"line":213,"column":4},"end":{"line":213,"column":4}},{"start":{"line":213,"column":4},"end":{"line":213,"column":4}}]},"22":{"line":217,"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":217,"column":4}},{"start":{"line":217,"column":4},"end":{"line":217,"column":4}}]},"23":{"line":217,"type":"binary-expr","locations":[{"start":{"line":217,"column":9},"end":{"line":217,"column":43}},{"start":{"line":217,"column":47},"end":{"line":217,"column":74}}]},"24":{"line":221,"type":"if","locations":[{"start":{"line":221,"column":4},"end":{"line":221,"column":4}},{"start":{"line":221,"column":4},"end":{"line":221,"column":4}}]},"25":{"line":221,"type":"binary-expr","locations":[{"start":{"line":221,"column":9},"end":{"line":221,"column":33}},{"start":{"line":221,"column":37},"end":{"line":221,"column":62}}]},"26":{"line":222,"type":"cond-expr","locations":[{"start":{"line":223,"column":6},"end":{"line":223,"column":48}},{"start":{"line":224,"column":6},"end":{"line":224,"column":17}}]},"27":{"line":222,"type":"binary-expr","locations":[{"start":{"line":222,"column":19},"end":{"line":222,"column":30}},{"start":{"line":222,"column":34},"end":{"line":222,"column":52}}]},"28":{"line":231,"type":"if","locations":[{"start":{"line":231,"column":3},"end":{"line":231,"column":3}},{"start":{"line":231,"column":3},"end":{"line":231,"column":3}}]},"29":{"line":237,"type":"if","locations":[{"start":{"line":237,"column":4},"end":{"line":237,"column":4}},{"start":{"line":237,"column":4},"end":{"line":237,"column":4}}]},"30":{"line":238,"type":"binary-expr","locations":[{"start":{"line":238,"column":22},"end":{"line":238,"column":29}},{"start":{"line":238,"column":33},"end":{"line":238,"column":35}}]},"31":{"line":239,"type":"if","locations":[{"start":{"line":239,"column":5},"end":{"line":239,"column":5}},{"start":{"line":239,"column":5},"end":{"line":239,"column":5}}]},"32":{"line":266,"type":"binary-expr","locations":[{"start":{"line":266,"column":15},"end":{"line":266,"column":22}},{"start":{"line":266,"column":26},"end":{"line":266,"column":45}},{"start":{"line":266,"column":49},"end":{"line":266,"column":53}}]},"33":{"line":275,"type":"if","locations":[{"start":{"line":275,"column":2},"end":{"line":275,"column":2}},{"start":{"line":275,"column":2},"end":{"line":275,"column":2}}]},"34":{"line":279,"type":"if","locations":[{"start":{"line":279,"column":5},"end":{"line":279,"column":5}},{"start":{"line":279,"column":5},"end":{"line":279,"column":5}}]},"35":{"line":284,"type":"cond-expr","locations":[{"start":{"line":286,"column":4},"end":{"line":286,"column":25}},{"start":{"line":288,"column":4},"end":{"line":288,"column":31}}]},"36":{"line":288,"type":"binary-expr","locations":[{"start":{"line":288,"column":4},"end":{"line":288,"column":20}},{"start":{"line":288,"column":24},"end":{"line":288,"column":31}}]},"37":{"line":289,"type":"binary-expr","locations":[{"start":{"line":289,"column":20},"end":{"line":289,"column":48}},{"start":{"line":289,"column":52},"end":{"line":289,"column":81}}]},"38":{"line":340,"type":"if","locations":[{"start":{"line":340,"column":2},"end":{"line":340,"column":2}},{"start":{"line":340,"column":2},"end":{"line":340,"column":2}}]},"39":{"line":345,"type":"if","locations":[{"start":{"line":345,"column":2},"end":{"line":345,"column":2}},{"start":{"line":345,"column":2},"end":{"line":345,"column":2}}]},"40":{"line":350,"type":"if","locations":[{"start":{"line":350,"column":3},"end":{"line":350,"column":3}},{"start":{"line":350,"column":3},"end":{"line":350,"column":3}}]},"41":{"line":353,"type":"binary-expr","locations":[{"start":{"line":353,"column":31},"end":{"line":353,"column":54}},{"start":{"line":353,"column":58},"end":{"line":353,"column":60}}]},"42":{"line":357,"type":"if","locations":[{"start":{"line":357,"column":4},"end":{"line":357,"column":4}},{"start":{"line":357,"column":4},"end":{"line":357,"column":4}}]},"43":{"line":358,"type":"cond-expr","locations":[{"start":{"line":358,"column":45},"end":{"line":358,"column":49}},{"start":{"line":358,"column":52},"end":{"line":358,"column":68}}]},"44":{"line":362,"type":"if","locations":[{"start":{"line":362,"column":4},"end":{"line":362,"column":4}},{"start":{"line":362,"column":4},"end":{"line":362,"column":4}}]},"45":{"line":363,"type":"cond-expr","locations":[{"start":{"line":363,"column":48},"end":{"line":363,"column":52}},{"start":{"line":363,"column":55},"end":{"line":363,"column":74}}]},"46":{"line":385,"type":"if","locations":[{"start":{"line":385,"column":2},"end":{"line":385,"column":2}},{"start":{"line":385,"column":2},"end":{"line":385,"column":2}}]},"47":{"line":390,"type":"if","locations":[{"start":{"line":390,"column":3},"end":{"line":390,"column":3}},{"start":{"line":390,"column":3},"end":{"line":390,"column":3}}]},"48":{"line":411,"type":"if","locations":[{"start":{"line":411,"column":2},"end":{"line":411,"column":2}},{"start":{"line":411,"column":2},"end":{"line":411,"column":2}}]},"49":{"line":418,"type":"if","locations":[{"start":{"line":418,"column":2},"end":{"line":418,"column":2}},{"start":{"line":418,"column":2},"end":{"line":418,"column":2}}]},"50":{"line":432,"type":"if","locations":[{"start":{"line":432,"column":4},"end":{"line":432,"column":4}},{"start":{"line":432,"column":4},"end":{"line":432,"column":4}}]},"51":{"line":432,"type":"binary-expr","locations":[{"start":{"line":432,"column":9},"end":{"line":432,"column":31}},{"start":{"line":433,"column":8},"end":{"line":433,"column":42}},{"start":{"line":434,"column":7},"end":{"line":434,"column":48}}]},"52":{"line":437,"type":"cond-expr","locations":[{"start":{"line":437,"column":43},"end":{"line":437,"column":62}},{"start":{"line":437,"column":65},"end":{"line":437,"column":72}}]},"53":{"line":442,"type":"if","locations":[{"start":{"line":442,"column":3},"end":{"line":442,"column":3}},{"start":{"line":442,"column":3},"end":{"line":442,"column":3}}]},"54":{"line":444,"type":"binary-expr","locations":[{"start":{"line":444,"column":5},"end":{"line":444,"column":17}},{"start":{"line":444,"column":21},"end":{"line":444,"column":38}},{"start":{"line":444,"column":42},"end":{"line":444,"column":50}}]},"55":{"line":450,"type":"if","locations":[{"start":{"line":450,"column":3},"end":{"line":450,"column":3}},{"start":{"line":450,"column":3},"end":{"line":450,"column":3}}]},"56":{"line":459,"type":"binary-expr","locations":[{"start":{"line":459,"column":15},"end":{"line":459,"column":24}},{"start":{"line":459,"column":28},"end":{"line":459,"column":30}}]},"57":{"line":471,"type":"cond-expr","locations":[{"start":{"line":471,"column":42},"end":{"line":471,"column":61}},{"start":{"line":471,"column":64},"end":{"line":471,"column":71}}]},"58":{"line":475,"type":"binary-expr","locations":[{"start":{"line":475,"column":35},"end":{"line":475,"column":40}},{"start":{"line":475,"column":44},"end":{"line":475,"column":45}}]},"59":{"line":506,"type":"binary-expr","locations":[{"start":{"line":506,"column":9},"end":{"line":506,"column":13}},{"start":{"line":506,"column":17},"end":{"line":506,"column":19}}]},"60":{"line":508,"type":"cond-expr","locations":[{"start":{"line":509,"column":3},"end":{"line":509,"column":7}},{"start":{"line":510,"column":3},"end":{"line":510,"column":32}}]},"61":{"line":517,"type":"if","locations":[{"start":{"line":517,"column":2},"end":{"line":517,"column":2}},{"start":{"line":517,"column":2},"end":{"line":517,"column":2}}]},"62":{"line":519,"type":"if","locations":[{"start":{"line":519,"column":4},"end":{"line":519,"column":4}},{"start":{"line":519,"column":4},"end":{"line":519,"column":4}}]},"63":{"line":526,"type":"binary-expr","locations":[{"start":{"line":526,"column":12},"end":{"line":526,"column":36}},{"start":{"line":527,"column":3},"end":{"line":527,"column":72}},{"start":{"line":528,"column":3},"end":{"line":528,"column":29}}]},"64":{"line":534,"type":"if","locations":[{"start":{"line":534,"column":2},"end":{"line":534,"column":2}},{"start":{"line":534,"column":2},"end":{"line":534,"column":2}}]},"65":{"line":538,"type":"cond-expr","locations":[{"start":{"line":539,"column":4},"end":{"line":539,"column":10}},{"start":{"line":540,"column":4},"end":{"line":542,"column":36}}]},"66":{"line":540,"type":"cond-expr","locations":[{"start":{"line":541,"column":5},"end":{"line":541,"column":18}},{"start":{"line":542,"column":5},"end":{"line":542,"column":36}}]},"67":{"line":540,"type":"binary-expr","locations":[{"start":{"line":540,"column":4},"end":{"line":540,"column":20}},{"start":{"line":540,"column":24},"end":{"line":540,"column":51}}]},"68":{"line":542,"type":"binary-expr","locations":[{"start":{"line":542,"column":5},"end":{"line":542,"column":19}},{"start":{"line":542,"column":23},"end":{"line":542,"column":36}}]},"69":{"line":543,"type":"binary-expr","locations":[{"start":{"line":543,"column":12},"end":{"line":543,"column":19}},{"start":{"line":543,"column":23},"end":{"line":543,"column":25}}]},"70":{"line":544,"type":"if","locations":[{"start":{"line":544,"column":2},"end":{"line":544,"column":2}},{"start":{"line":544,"column":2},"end":{"line":544,"column":2}}]},"71":{"line":549,"type":"if","locations":[{"start":{"line":549,"column":2},"end":{"line":549,"column":2}},{"start":{"line":549,"column":2},"end":{"line":549,"column":2}}]},"72":{"line":552,"type":"if","locations":[{"start":{"line":552,"column":2},"end":{"line":552,"column":2}},{"start":{"line":552,"column":2},"end":{"line":552,"column":2}}]},"73":{"line":552,"type":"binary-expr","locations":[{"start":{"line":552,"column":7},"end":{"line":552,"column":17}},{"start":{"line":552,"column":21},"end":{"line":552,"column":30}},{"start":{"line":552,"column":34},"end":{"line":552,"column":64}}]},"74":{"line":554,"type":"if","locations":[{"start":{"line":554,"column":9},"end":{"line":554,"column":9}},{"start":{"line":554,"column":9},"end":{"line":554,"column":9}}]},"75":{"line":554,"type":"binary-expr","locations":[{"start":{"line":554,"column":14},"end":{"line":554,"column":35}},{"start":{"line":554,"column":39},"end":{"line":554,"column":60}}]},"76":{"line":559,"type":"if","locations":[{"start":{"line":559,"column":4},"end":{"line":559,"column":4}},{"start":{"line":559,"column":4},"end":{"line":559,"column":4}}]}}}; +} +__cov_USx5ziTtscOh2MV8WRSauw = __cov_USx5ziTtscOh2MV8WRSauw['assests/js/lib/file-upload/jquery.ui.widget.js']; +__cov_USx5ziTtscOh2MV8WRSauw.s['1']++;(function(factory){__cov_USx5ziTtscOh2MV8WRSauw.f['1']++;__cov_USx5ziTtscOh2MV8WRSauw.s['2']++;if((__cov_USx5ziTtscOh2MV8WRSauw.b['2'][0]++,typeof define==='function')&&(__cov_USx5ziTtscOh2MV8WRSauw.b['2'][1]++,define.amd)){__cov_USx5ziTtscOh2MV8WRSauw.b['1'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['3']++;define(['jquery'],factory);}else{__cov_USx5ziTtscOh2MV8WRSauw.b['1'][1]++;__cov_USx5ziTtscOh2MV8WRSauw.s['4']++;if(typeof exports==='object'){__cov_USx5ziTtscOh2MV8WRSauw.b['3'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['5']++;factory(require('jquery'));}else{__cov_USx5ziTtscOh2MV8WRSauw.b['3'][1]++;__cov_USx5ziTtscOh2MV8WRSauw.s['6']++;factory(jQuery);}}}(function($){__cov_USx5ziTtscOh2MV8WRSauw.f['2']++;__cov_USx5ziTtscOh2MV8WRSauw.s['7']++;var widget_uuid=0,widget_slice=Array.prototype.slice;__cov_USx5ziTtscOh2MV8WRSauw.s['8']++;$.cleanData=function(orig){__cov_USx5ziTtscOh2MV8WRSauw.f['3']++;__cov_USx5ziTtscOh2MV8WRSauw.s['9']++;return function(elems){__cov_USx5ziTtscOh2MV8WRSauw.f['4']++;__cov_USx5ziTtscOh2MV8WRSauw.s['10']++;var events,elem,i;__cov_USx5ziTtscOh2MV8WRSauw.s['11']++;for(i=0;(elem=elems[i])!=null;i++){__cov_USx5ziTtscOh2MV8WRSauw.s['12']++;try{__cov_USx5ziTtscOh2MV8WRSauw.s['13']++;events=$._data(elem,'events');__cov_USx5ziTtscOh2MV8WRSauw.s['14']++;if((__cov_USx5ziTtscOh2MV8WRSauw.b['5'][0]++,events)&&(__cov_USx5ziTtscOh2MV8WRSauw.b['5'][1]++,events.remove)){__cov_USx5ziTtscOh2MV8WRSauw.b['4'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['15']++;$(elem).triggerHandler('remove');}else{__cov_USx5ziTtscOh2MV8WRSauw.b['4'][1]++;}}catch(e){}}__cov_USx5ziTtscOh2MV8WRSauw.s['16']++;orig(elems);};}($.cleanData);__cov_USx5ziTtscOh2MV8WRSauw.s['17']++;$.widget=function(name,base,prototype){__cov_USx5ziTtscOh2MV8WRSauw.f['5']++;__cov_USx5ziTtscOh2MV8WRSauw.s['18']++;var fullName,existingConstructor,constructor,basePrototype,proxiedPrototype={},namespace=name.split('.')[0];__cov_USx5ziTtscOh2MV8WRSauw.s['19']++;name=name.split('.')[1];__cov_USx5ziTtscOh2MV8WRSauw.s['20']++;fullName=namespace+'-'+name;__cov_USx5ziTtscOh2MV8WRSauw.s['21']++;if(!prototype){__cov_USx5ziTtscOh2MV8WRSauw.b['6'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['22']++;prototype=base;__cov_USx5ziTtscOh2MV8WRSauw.s['23']++;base=$.Widget;}else{__cov_USx5ziTtscOh2MV8WRSauw.b['6'][1]++;}__cov_USx5ziTtscOh2MV8WRSauw.s['24']++;$.expr[':'][fullName.toLowerCase()]=function(elem){__cov_USx5ziTtscOh2MV8WRSauw.f['6']++;__cov_USx5ziTtscOh2MV8WRSauw.s['25']++;return!!$.data(elem,fullName);};__cov_USx5ziTtscOh2MV8WRSauw.s['26']++;$[namespace]=(__cov_USx5ziTtscOh2MV8WRSauw.b['7'][0]++,$[namespace])||(__cov_USx5ziTtscOh2MV8WRSauw.b['7'][1]++,{});__cov_USx5ziTtscOh2MV8WRSauw.s['27']++;existingConstructor=$[namespace][name];__cov_USx5ziTtscOh2MV8WRSauw.s['28']++;constructor=$[namespace][name]=function(options,element){__cov_USx5ziTtscOh2MV8WRSauw.f['7']++;__cov_USx5ziTtscOh2MV8WRSauw.s['29']++;if(!this._createWidget){__cov_USx5ziTtscOh2MV8WRSauw.b['8'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['30']++;return new constructor(options,element);}else{__cov_USx5ziTtscOh2MV8WRSauw.b['8'][1]++;}__cov_USx5ziTtscOh2MV8WRSauw.s['31']++;if(arguments.length){__cov_USx5ziTtscOh2MV8WRSauw.b['9'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['32']++;this._createWidget(options,element);}else{__cov_USx5ziTtscOh2MV8WRSauw.b['9'][1]++;}};__cov_USx5ziTtscOh2MV8WRSauw.s['33']++;$.extend(constructor,existingConstructor,{version:prototype.version,_proto:$.extend({},prototype),_childConstructors:[]});__cov_USx5ziTtscOh2MV8WRSauw.s['34']++;basePrototype=new base();__cov_USx5ziTtscOh2MV8WRSauw.s['35']++;basePrototype.options=$.widget.extend({},basePrototype.options);__cov_USx5ziTtscOh2MV8WRSauw.s['36']++;$.each(prototype,function(prop,value){__cov_USx5ziTtscOh2MV8WRSauw.f['8']++;__cov_USx5ziTtscOh2MV8WRSauw.s['37']++;if(!$.isFunction(value)){__cov_USx5ziTtscOh2MV8WRSauw.b['10'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['38']++;proxiedPrototype[prop]=value;__cov_USx5ziTtscOh2MV8WRSauw.s['39']++;return;}else{__cov_USx5ziTtscOh2MV8WRSauw.b['10'][1]++;}__cov_USx5ziTtscOh2MV8WRSauw.s['40']++;proxiedPrototype[prop]=function(){__cov_USx5ziTtscOh2MV8WRSauw.f['9']++;__cov_USx5ziTtscOh2MV8WRSauw.s['41']++;var _super=function(){__cov_USx5ziTtscOh2MV8WRSauw.f['10']++;__cov_USx5ziTtscOh2MV8WRSauw.s['42']++;return base.prototype[prop].apply(this,arguments);},_superApply=function(args){__cov_USx5ziTtscOh2MV8WRSauw.f['11']++;__cov_USx5ziTtscOh2MV8WRSauw.s['43']++;return base.prototype[prop].apply(this,args);};__cov_USx5ziTtscOh2MV8WRSauw.s['44']++;return function(){__cov_USx5ziTtscOh2MV8WRSauw.f['12']++;__cov_USx5ziTtscOh2MV8WRSauw.s['45']++;var __super=this._super,__superApply=this._superApply,returnValue;__cov_USx5ziTtscOh2MV8WRSauw.s['46']++;this._super=_super;__cov_USx5ziTtscOh2MV8WRSauw.s['47']++;this._superApply=_superApply;__cov_USx5ziTtscOh2MV8WRSauw.s['48']++;returnValue=value.apply(this,arguments);__cov_USx5ziTtscOh2MV8WRSauw.s['49']++;this._super=__super;__cov_USx5ziTtscOh2MV8WRSauw.s['50']++;this._superApply=__superApply;__cov_USx5ziTtscOh2MV8WRSauw.s['51']++;return returnValue;};}();});__cov_USx5ziTtscOh2MV8WRSauw.s['52']++;constructor.prototype=$.widget.extend(basePrototype,{widgetEventPrefix:existingConstructor?(__cov_USx5ziTtscOh2MV8WRSauw.b['11'][0]++,(__cov_USx5ziTtscOh2MV8WRSauw.b['12'][0]++,basePrototype.widgetEventPrefix)||(__cov_USx5ziTtscOh2MV8WRSauw.b['12'][1]++,name)):(__cov_USx5ziTtscOh2MV8WRSauw.b['11'][1]++,name)},proxiedPrototype,{constructor:constructor,namespace:namespace,widgetName:name,widgetFullName:fullName});__cov_USx5ziTtscOh2MV8WRSauw.s['53']++;if(existingConstructor){__cov_USx5ziTtscOh2MV8WRSauw.b['13'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['54']++;$.each(existingConstructor._childConstructors,function(i,child){__cov_USx5ziTtscOh2MV8WRSauw.f['13']++;__cov_USx5ziTtscOh2MV8WRSauw.s['55']++;var childPrototype=child.prototype;__cov_USx5ziTtscOh2MV8WRSauw.s['56']++;$.widget(childPrototype.namespace+'.'+childPrototype.widgetName,constructor,child._proto);});__cov_USx5ziTtscOh2MV8WRSauw.s['57']++;delete existingConstructor._childConstructors;}else{__cov_USx5ziTtscOh2MV8WRSauw.b['13'][1]++;__cov_USx5ziTtscOh2MV8WRSauw.s['58']++;base._childConstructors.push(constructor);}__cov_USx5ziTtscOh2MV8WRSauw.s['59']++;$.widget.bridge(name,constructor);__cov_USx5ziTtscOh2MV8WRSauw.s['60']++;return constructor;};__cov_USx5ziTtscOh2MV8WRSauw.s['61']++;$.widget.extend=function(target){__cov_USx5ziTtscOh2MV8WRSauw.f['14']++;__cov_USx5ziTtscOh2MV8WRSauw.s['62']++;var input=widget_slice.call(arguments,1),inputIndex=0,inputLength=input.length,key,value;__cov_USx5ziTtscOh2MV8WRSauw.s['63']++;for(;inputIndex',options:{disabled:false,create:null},_createWidget:function(options,element){__cov_USx5ziTtscOh2MV8WRSauw.f['20']++;__cov_USx5ziTtscOh2MV8WRSauw.s['102']++;element=$((__cov_USx5ziTtscOh2MV8WRSauw.b['32'][0]++,element)||(__cov_USx5ziTtscOh2MV8WRSauw.b['32'][1]++,this.defaultElement)||(__cov_USx5ziTtscOh2MV8WRSauw.b['32'][2]++,this))[0];__cov_USx5ziTtscOh2MV8WRSauw.s['103']++;this.element=$(element);__cov_USx5ziTtscOh2MV8WRSauw.s['104']++;this.uuid=widget_uuid++;__cov_USx5ziTtscOh2MV8WRSauw.s['105']++;this.eventNamespace='.'+this.widgetName+this.uuid;__cov_USx5ziTtscOh2MV8WRSauw.s['106']++;this.bindings=$();__cov_USx5ziTtscOh2MV8WRSauw.s['107']++;this.hoverable=$();__cov_USx5ziTtscOh2MV8WRSauw.s['108']++;this.focusable=$();__cov_USx5ziTtscOh2MV8WRSauw.s['109']++;if(element!==this){__cov_USx5ziTtscOh2MV8WRSauw.b['33'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['110']++;$.data(element,this.widgetFullName,this);__cov_USx5ziTtscOh2MV8WRSauw.s['111']++;this._on(true,this.element,{remove:function(event){__cov_USx5ziTtscOh2MV8WRSauw.f['21']++;__cov_USx5ziTtscOh2MV8WRSauw.s['112']++;if(event.target===element){__cov_USx5ziTtscOh2MV8WRSauw.b['34'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['113']++;this.destroy();}else{__cov_USx5ziTtscOh2MV8WRSauw.b['34'][1]++;}}});__cov_USx5ziTtscOh2MV8WRSauw.s['114']++;this.document=$(element.style?(__cov_USx5ziTtscOh2MV8WRSauw.b['35'][0]++,element.ownerDocument):(__cov_USx5ziTtscOh2MV8WRSauw.b['35'][1]++,(__cov_USx5ziTtscOh2MV8WRSauw.b['36'][0]++,element.document)||(__cov_USx5ziTtscOh2MV8WRSauw.b['36'][1]++,element)));__cov_USx5ziTtscOh2MV8WRSauw.s['115']++;this.window=$((__cov_USx5ziTtscOh2MV8WRSauw.b['37'][0]++,this.document[0].defaultView)||(__cov_USx5ziTtscOh2MV8WRSauw.b['37'][1]++,this.document[0].parentWindow));}else{__cov_USx5ziTtscOh2MV8WRSauw.b['33'][1]++;}__cov_USx5ziTtscOh2MV8WRSauw.s['116']++;this.options=$.widget.extend({},this.options,this._getCreateOptions(),options);__cov_USx5ziTtscOh2MV8WRSauw.s['117']++;this._create();__cov_USx5ziTtscOh2MV8WRSauw.s['118']++;this._trigger('create',null,this._getCreateEventData());__cov_USx5ziTtscOh2MV8WRSauw.s['119']++;this._init();},_getCreateOptions:$.noop,_getCreateEventData:$.noop,_create:$.noop,_init:$.noop,destroy:function(){__cov_USx5ziTtscOh2MV8WRSauw.f['22']++;__cov_USx5ziTtscOh2MV8WRSauw.s['120']++;this._destroy();__cov_USx5ziTtscOh2MV8WRSauw.s['121']++;this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData($.camelCase(this.widgetFullName));__cov_USx5ziTtscOh2MV8WRSauw.s['122']++;this.widget().unbind(this.eventNamespace).removeAttr('aria-disabled').removeClass(this.widgetFullName+'-disabled '+'ui-state-disabled');__cov_USx5ziTtscOh2MV8WRSauw.s['123']++;this.bindings.unbind(this.eventNamespace);__cov_USx5ziTtscOh2MV8WRSauw.s['124']++;this.hoverable.removeClass('ui-state-hover');__cov_USx5ziTtscOh2MV8WRSauw.s['125']++;this.focusable.removeClass('ui-state-focus');},_destroy:$.noop,widget:function(){__cov_USx5ziTtscOh2MV8WRSauw.f['23']++;__cov_USx5ziTtscOh2MV8WRSauw.s['126']++;return this.element;},option:function(key,value){__cov_USx5ziTtscOh2MV8WRSauw.f['24']++;__cov_USx5ziTtscOh2MV8WRSauw.s['127']++;var options=key,parts,curOption,i;__cov_USx5ziTtscOh2MV8WRSauw.s['128']++;if(arguments.length===0){__cov_USx5ziTtscOh2MV8WRSauw.b['38'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['129']++;return $.widget.extend({},this.options);}else{__cov_USx5ziTtscOh2MV8WRSauw.b['38'][1]++;}__cov_USx5ziTtscOh2MV8WRSauw.s['130']++;if(typeof key==='string'){__cov_USx5ziTtscOh2MV8WRSauw.b['39'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['131']++;options={};__cov_USx5ziTtscOh2MV8WRSauw.s['132']++;parts=key.split('.');__cov_USx5ziTtscOh2MV8WRSauw.s['133']++;key=parts.shift();__cov_USx5ziTtscOh2MV8WRSauw.s['134']++;if(parts.length){__cov_USx5ziTtscOh2MV8WRSauw.b['40'][0]++;__cov_USx5ziTtscOh2MV8WRSauw.s['135']++;curOption=options[key]=$.widget.extend({},this.options[key]);__cov_USx5ziTtscOh2MV8WRSauw.s['136']++;for(i=0;i= 2.0.0-beta.1',7:'>= 4.0.0'};__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['38']++;b.REVISION_CHANGES=o;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['39']++;var p='[object Object]';__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['40']++;d.prototype={constructor:d,logger:l['default'],log:l['default'].log,registerHelper:function(a,b){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['14']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['41']++;if(f.toString.call(a)===p){__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['16'][0]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['42']++;if(b){__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['17'][0]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['43']++;throw new h['default']('Arg not supported with multiple helpers');}else{__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['17'][1]++;}__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['44']++;f.extend(this.helpers,a);}else{__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['16'][1]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['45']++;this.helpers[a]=b;}},unregisterHelper:function(a){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['15']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['46']++;delete this.helpers[a];},registerPartial:function(a,b){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['16']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['47']++;if(f.toString.call(a)===p){__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['18'][0]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['48']++;f.extend(this.partials,a);}else{__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['18'][1]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['49']++;if('undefined'==typeof b){__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['19'][0]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['50']++;throw new h['default']('Attempting to register a partial called "'+a+'" as undefined');}else{__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['19'][1]++;}__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['51']++;this.partials[a]=b;}},unregisterPartial:function(a){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['17']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['52']++;delete this.partials[a];},registerDecorator:function(a,b){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['18']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['53']++;if(f.toString.call(a)===p){__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['20'][0]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['54']++;if(b){__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['21'][0]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['55']++;throw new h['default']('Arg not supported with multiple decorators');}else{__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['21'][1]++;}__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['56']++;f.extend(this.decorators,a);}else{__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['20'][1]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['57']++;this.decorators[a]=b;}},unregisterDecorator:function(a){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['19']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['58']++;delete this.decorators[a];}};__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['59']++;var q=l['default'].log;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['60']++;b.log=q,b.createFrame=f.createFrame,b.logger=l['default'];},function(a,b){'use strict';__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['20']++;function c(a){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['21']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['62']++;return k[a];}function d(a){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['22']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['64']++;for(var b=1;b':'>','"':'"','\'':''','`':'`','=':'='},l=/[&<>"'`=]/g,m=/[&<>"'`=]/,n=Object.prototype.toString;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['94']++;b.toString=n;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['95']++;var o=function(a){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['29']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['96']++;return'function'==typeof a;};__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['97']++;(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['33'][0]++,o(/x/))&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['33'][1]++,b.isFunction=o=function(a){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['30']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['98']++;return(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['34'][0]++,'function'==typeof a)&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['34'][1]++,'[object Function]'===n.call(a));}),b.isFunction=o;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['99']++;var p=(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['35'][0]++,Array.isArray)||(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['35'][1]++,function(a){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['31']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['100']++;return(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['36'][0]++,!((__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['37'][0]++,!a)||(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['37'][1]++,'object'!=typeof a)))&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['36'][1]++,'[object Array]'===n.call(a));});__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['101']++;b.isArray=p;},function(a,b,c){'use strict';__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['32']++;function d(a,b){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['33']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['103']++;var c=(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['38'][0]++,b)&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['38'][1]++,b.loc),g=void 0,h=void 0;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['104']++;(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['39'][0]++,c)&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['39'][1]++,(g=c.start.line,h=c.start.column,a+=' - '+g+':'+h));__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['105']++;for(var i=Error.prototype.constructor.call(this,a),j=0;j0?(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['47'][0]++,((__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['48'][0]++,c.ids)&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['48'][1]++,c.ids=[c.name]),a.helpers.each(b,c))):(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['47'][1]++,e(this));}else{__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['46'][1]++;}__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['136']++;if((__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['50'][0]++,c.data)&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['50'][1]++,c.ids)){__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['49'][0]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['137']++;var g=d.createFrame(c.data);__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['138']++;g.contextPath=d.appendContextPath(c.data.contextPath,c.name),c={data:g};}else{__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['49'][1]++;}__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['139']++;return f(b,c);});},a.exports=b['default'];},function(a,b,c){'use strict';__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['43']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['140']++;var d=c(2)['default'];__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['141']++;b.__esModule=!0;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['142']++;var e=c(4),f=c(5),g=d(f);__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['143']++;b['default']=function(a){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['44']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['144']++;a.registerHelper('each',function(a,b){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['45']++;function c(b,c,f){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['46']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['146']++;(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['51'][0]++,j)&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['51'][1]++,(j.key=b,j.index=c,j.first=0===c,j.last=!!f,(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['52'][0]++,k)&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['52'][1]++,j.contextPath=k+b))),i+=d(a[b],{data:j,blockParams:e.blockParams([a[b],b],[k+b,null])});}__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['147']++;if(!b){__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['53'][0]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['148']++;throw new g['default']('Must pass iterator to #each');}else{__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['53'][1]++;}__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['149']++;var d=b.fn,f=b.inverse,h=0,i='',j=void 0,k=void 0;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['150']++;if((__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['55'][0]++,b.data)&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['55'][1]++,b.ids)&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['55'][2]++,k=e.appendContextPath(b.data.contextPath,b.ids[0])+'.'),(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['56'][0]++,e.isFunction(a))&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['56'][1]++,a=a.call(this)),(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['57'][0]++,b.data)&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['57'][1]++,j=e.createFrame(b.data)),(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['58'][0]++,a)&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['58'][1]++,'object'==typeof a)){__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['54'][0]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['151']++;if(e.isArray(a)){__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['59'][0]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['152']++;for(var l=a.length;h=0?(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['78'][0]++,b):(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['78'][1]++,parseInt(a,10));}else{__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['77'][1]++;}__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['211']++;return a;},log:function(a){__cov_O4iPdzsAqsS5C3fqNTU1Uw.f['71']++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['212']++;if(a=e.lookupLevel(a),(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['80'][0]++,'undefined'!=typeof console)&&(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['80'][1]++,e.lookupLevel(e.level)<=a)){__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['79'][0]++;__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['213']++;var b=e.methodMap[a];__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['214']++;(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['81'][0]++,console[b])||(__cov_O4iPdzsAqsS5C3fqNTU1Uw.b['81'][1]++,b='log');__cov_O4iPdzsAqsS5C3fqNTU1Uw.s['215']++;for(var c=arguments.length,d=Array(c>1?c-1:0),f=1;f',pullPlaceholder:!0,serialize:function(a,b,c){__cov_YsV4QtHd2bhcfacPWaHtAg.f['16']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['47']++;a=d.extend({},a.data());__cov_YsV4QtHd2bhcfacPWaHtAg.s['48']++;if(c){__cov_YsV4QtHd2bhcfacPWaHtAg.b['13'][0]++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['49']++;return[b];}else{__cov_YsV4QtHd2bhcfacPWaHtAg.b['13'][1]++;}__cov_YsV4QtHd2bhcfacPWaHtAg.s['50']++;(__cov_YsV4QtHd2bhcfacPWaHtAg.b['14'][0]++,b[0])&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['14'][1]++,a.children=b);__cov_YsV4QtHd2bhcfacPWaHtAg.s['51']++;delete a.subContainers;__cov_YsV4QtHd2bhcfacPWaHtAg.s['52']++;delete a.sortable;__cov_YsV4QtHd2bhcfacPWaHtAg.s['53']++;return a;},tolerance:0},s={},y=0,A={left:0,top:0,bottom:0,right:0};__cov_YsV4QtHd2bhcfacPWaHtAg.s['54']++;r={start:'touchstart.sortable mousedown.sortable',drop:'touchend.sortable touchcancel.sortable mouseup.sortable',drag:'touchmove.sortable mousemove.sortable',scroll:'scroll.sortable'};__cov_YsV4QtHd2bhcfacPWaHtAg.s['55']++;q.get=function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['17']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['56']++;(__cov_YsV4QtHd2bhcfacPWaHtAg.b['15'][0]++,s[a.group])||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['15'][1]++,((__cov_YsV4QtHd2bhcfacPWaHtAg.b['16'][0]++,a.group===f)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['16'][1]++,a.group=y++),s[a.group]=new q(a)));__cov_YsV4QtHd2bhcfacPWaHtAg.s['57']++;return s[a.group];};__cov_YsV4QtHd2bhcfacPWaHtAg.s['58']++;q.prototype={dragInit:function(a,b){__cov_YsV4QtHd2bhcfacPWaHtAg.f['18']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['59']++;this.$document=d(b.el[0].ownerDocument);__cov_YsV4QtHd2bhcfacPWaHtAg.s['60']++;var c=d(a.target).closest(this.options.itemSelector);__cov_YsV4QtHd2bhcfacPWaHtAg.s['61']++;(__cov_YsV4QtHd2bhcfacPWaHtAg.b['17'][0]++,c.length)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['17'][1]++,(this.item=c,this.itemContainer=b,(__cov_YsV4QtHd2bhcfacPWaHtAg.b['18'][0]++,!this.item.is(this.options.exclude))&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['18'][1]++,this.options.onMousedown(this.item,n.onMousedown,a))&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['18'][2]++,(this.setPointer(a),this.toggleListeners('on'),this.setupDelayTimer(),this.dragInitDone=!0))));},drag:function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['19']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['62']++;if(!this.dragging){__cov_YsV4QtHd2bhcfacPWaHtAg.b['19'][0]++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['63']++;if((__cov_YsV4QtHd2bhcfacPWaHtAg.b['21'][0]++,!this.distanceMet(a))||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['21'][1]++,!this.delayMet)){__cov_YsV4QtHd2bhcfacPWaHtAg.b['20'][0]++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['64']++;return;}else{__cov_YsV4QtHd2bhcfacPWaHtAg.b['20'][1]++;}__cov_YsV4QtHd2bhcfacPWaHtAg.s['65']++;this.options.onDragStart(this.item,this.itemContainer,n.onDragStart,a);__cov_YsV4QtHd2bhcfacPWaHtAg.s['66']++;this.item.before(this.placeholder);__cov_YsV4QtHd2bhcfacPWaHtAg.s['67']++;this.dragging=!0;}else{__cov_YsV4QtHd2bhcfacPWaHtAg.b['19'][1]++;}__cov_YsV4QtHd2bhcfacPWaHtAg.s['68']++;this.setPointer(a);__cov_YsV4QtHd2bhcfacPWaHtAg.s['69']++;this.options.onDrag(this.item,p(this.pointer,this.item.offsetParent()),n.onDrag,a);__cov_YsV4QtHd2bhcfacPWaHtAg.s['70']++;a=this.getPointer(a);__cov_YsV4QtHd2bhcfacPWaHtAg.s['71']++;var b=this.sameResultBox,c=this.options.tolerance;__cov_YsV4QtHd2bhcfacPWaHtAg.s['72']++;((__cov_YsV4QtHd2bhcfacPWaHtAg.b['22'][0]++,!b)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['22'][1]++,b.top-c>a.top)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['22'][2]++,b.bottom+ca.left)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['22'][4]++,b.right+c=this.options.distance;},getPointer:function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['28']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['120']++;var b=(__cov_YsV4QtHd2bhcfacPWaHtAg.b['41'][0]++,a.originalEvent)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['41'][1]++,a.originalEvent.touches)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['41'][2]++,a.originalEvent.touches[0]);__cov_YsV4QtHd2bhcfacPWaHtAg.s['121']++;return{left:(__cov_YsV4QtHd2bhcfacPWaHtAg.b['42'][0]++,a.pageX)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['42'][1]++,b.pageX),top:(__cov_YsV4QtHd2bhcfacPWaHtAg.b['43'][0]++,a.pageY)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['43'][1]++,b.pageY)};},setupDelayTimer:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['29']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['122']++;var a=this;__cov_YsV4QtHd2bhcfacPWaHtAg.s['123']++;this.delayMet=!this.options.delay;__cov_YsV4QtHd2bhcfacPWaHtAg.s['124']++;(__cov_YsV4QtHd2bhcfacPWaHtAg.b['44'][0]++,this.delayMet)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['44'][1]++,(clearTimeout(this._mouseDelayTimer),this._mouseDelayTimer=setTimeout(function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['30']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['125']++;a.delayMet=!0;},this.options.delay)));},scroll:function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['31']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['126']++;this.clearDimensions();__cov_YsV4QtHd2bhcfacPWaHtAg.s['127']++;this.clearOffsetParent();},toggleListeners:function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['32']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['128']++;var b=this;__cov_YsV4QtHd2bhcfacPWaHtAg.s['129']++;d.each(['drag','drop','scroll'],function(c,e){__cov_YsV4QtHd2bhcfacPWaHtAg.f['33']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['130']++;b.$document[a](r[e],b[e+'Proxy']);});},clearOffsetParent:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['34']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['131']++;this.offsetParent=f;},clearDimensions:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['35']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['132']++;this.traverse(function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['36']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['133']++;a._clearDimensions();});},traverse:function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['37']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['134']++;a(this);__cov_YsV4QtHd2bhcfacPWaHtAg.s['135']++;for(var b=this.containers.length;b--;){__cov_YsV4QtHd2bhcfacPWaHtAg.s['136']++;this.containers[b].traverse(a);}},_clearDimensions:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['38']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['137']++;this.containerDimensions=f;},_destroy:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['39']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['138']++;s[this.options.group]=f;}};__cov_YsV4QtHd2bhcfacPWaHtAg.s['139']++;t.prototype={dragInit:function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['40']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['140']++;var b=this.rootGroup;__cov_YsV4QtHd2bhcfacPWaHtAg.s['141']++;(__cov_YsV4QtHd2bhcfacPWaHtAg.b['45'][0]++,!this.disabled)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['45'][1]++,!b.dragInitDone)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['45'][2]++,this.options.drag)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['45'][3]++,this.isValidDrag(a))&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['45'][4]++,b.dragInit(a,this));},isValidDrag:function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['41']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['142']++;return(__cov_YsV4QtHd2bhcfacPWaHtAg.b['46'][0]++,1==a.which)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['46'][1]++,'touchstart'==a.type)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['46'][2]++,1==a.originalEvent.touches.length);},searchValidTarget:function(a,b){__cov_YsV4QtHd2bhcfacPWaHtAg.f['42']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['143']++;var c=x(this.getItemDimensions(),a,b),e=c.length,d=this.rootGroup,g=(__cov_YsV4QtHd2bhcfacPWaHtAg.b['47'][0]++,!d.options.isValidTarget)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['47'][1]++,d.options.isValidTarget(d.item,this));__cov_YsV4QtHd2bhcfacPWaHtAg.s['144']++;if((__cov_YsV4QtHd2bhcfacPWaHtAg.b['49'][0]++,!e)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['49'][1]++,g)){__cov_YsV4QtHd2bhcfacPWaHtAg.b['48'][0]++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['145']++;return d.movePlaceholder(this,this.target,'append'),!0;}else{__cov_YsV4QtHd2bhcfacPWaHtAg.b['48'][1]++;}__cov_YsV4QtHd2bhcfacPWaHtAg.s['146']++;for(;e--;){__cov_YsV4QtHd2bhcfacPWaHtAg.s['147']++;if(d=c[e][0],(__cov_YsV4QtHd2bhcfacPWaHtAg.b['51'][0]++,!c[e][1])&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['51'][1]++,this.hasChildGroup(d))){__cov_YsV4QtHd2bhcfacPWaHtAg.b['50'][0]++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['148']++;if(this.getContainerGroup(d).searchValidTarget(a,b)){__cov_YsV4QtHd2bhcfacPWaHtAg.b['52'][0]++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['149']++;return!0;}else{__cov_YsV4QtHd2bhcfacPWaHtAg.b['52'][1]++;}}else{__cov_YsV4QtHd2bhcfacPWaHtAg.b['50'][1]++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['150']++;if(g){__cov_YsV4QtHd2bhcfacPWaHtAg.b['53'][0]++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['151']++;return this.movePlaceholder(d,a),!0;}else{__cov_YsV4QtHd2bhcfacPWaHtAg.b['53'][1]++;}}}},movePlaceholder:function(a,b){__cov_YsV4QtHd2bhcfacPWaHtAg.f['43']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['152']++;var c=d(this.items[a]),e=this.itemDimensions[a],k='after',g=c.outerWidth(),f=c.outerHeight(),h=c.offset(),h={left:h.left,right:h.left+g,top:h.top,bottom:h.top+f};__cov_YsV4QtHd2bhcfacPWaHtAg.s['153']++;this.options.vertical?(__cov_YsV4QtHd2bhcfacPWaHtAg.b['54'][0]++,b.top<=(e[2]+e[3])/2?(__cov_YsV4QtHd2bhcfacPWaHtAg.b['55'][0]++,(k='before',h.bottom-=f/2)):(__cov_YsV4QtHd2bhcfacPWaHtAg.b['55'][1]++,h.top+=f/2)):(__cov_YsV4QtHd2bhcfacPWaHtAg.b['54'][1]++,b.left<=(e[0]+e[1])/2?(__cov_YsV4QtHd2bhcfacPWaHtAg.b['56'][0]++,(k='before',h.right-=g/2)):(__cov_YsV4QtHd2bhcfacPWaHtAg.b['56'][1]++,h.left+=g/2));__cov_YsV4QtHd2bhcfacPWaHtAg.s['154']++;(__cov_YsV4QtHd2bhcfacPWaHtAg.b['57'][0]++,this.hasChildGroup(a))&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['57'][1]++,h=A);__cov_YsV4QtHd2bhcfacPWaHtAg.s['155']++;this.rootGroup.movePlaceholder(this,c,k,h);},getItemDimensions:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['44']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['156']++;(__cov_YsV4QtHd2bhcfacPWaHtAg.b['58'][0]++,this.itemDimensions)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['58'][1]++,(this.items=this.$getChildren(this.el,'item').filter(':not(.'+this.group.options.placeholderClass+', .'+this.group.options.draggedClass+')').get(),w(this.items,this.itemDimensions=[],this.options.tolerance)));__cov_YsV4QtHd2bhcfacPWaHtAg.s['157']++;return this.itemDimensions;},getItemOffsetParent:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['45']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['158']++;var a=this.el;__cov_YsV4QtHd2bhcfacPWaHtAg.s['159']++;return(__cov_YsV4QtHd2bhcfacPWaHtAg.b['60'][0]++,'relative'===a.css('position'))||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['60'][1]++,'absolute'===a.css('position'))||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['60'][2]++,'fixed'===a.css('position'))?(__cov_YsV4QtHd2bhcfacPWaHtAg.b['59'][0]++,a):(__cov_YsV4QtHd2bhcfacPWaHtAg.b['59'][1]++,a.offsetParent());},hasChildGroup:function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['46']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['160']++;return(__cov_YsV4QtHd2bhcfacPWaHtAg.b['61'][0]++,this.options.nested)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['61'][1]++,this.getContainerGroup(a));},getContainerGroup:function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['47']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['161']++;var b=d.data(this.items[a],'subContainers');__cov_YsV4QtHd2bhcfacPWaHtAg.s['162']++;if(b===f){__cov_YsV4QtHd2bhcfacPWaHtAg.b['62'][0]++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['163']++;var c=this.$getChildren(this.items[a],'container'),b=!1;__cov_YsV4QtHd2bhcfacPWaHtAg.s['164']++;(__cov_YsV4QtHd2bhcfacPWaHtAg.b['63'][0]++,c[0])&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['63'][1]++,(b=d.extend({},this.options,{rootGroup:this.rootGroup,group:y++}),b=c[m](b).data(m).group));__cov_YsV4QtHd2bhcfacPWaHtAg.s['165']++;d.data(this.items[a],'subContainers',b);}else{__cov_YsV4QtHd2bhcfacPWaHtAg.b['62'][1]++;}__cov_YsV4QtHd2bhcfacPWaHtAg.s['166']++;return b;},$getChildren:function(a,b){__cov_YsV4QtHd2bhcfacPWaHtAg.f['48']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['167']++;var c=this.rootGroup.options,e=c[b+'Path'],c=c[b+'Selector'];__cov_YsV4QtHd2bhcfacPWaHtAg.s['168']++;a=d(a);__cov_YsV4QtHd2bhcfacPWaHtAg.s['169']++;(__cov_YsV4QtHd2bhcfacPWaHtAg.b['64'][0]++,e)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['64'][1]++,a=a.find(e));__cov_YsV4QtHd2bhcfacPWaHtAg.s['170']++;return a.children(c);},_serialize:function(a,b){__cov_YsV4QtHd2bhcfacPWaHtAg.f['49']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['171']++;var c=this,e=this.$getChildren(a,b?(__cov_YsV4QtHd2bhcfacPWaHtAg.b['65'][0]++,'item'):(__cov_YsV4QtHd2bhcfacPWaHtAg.b['65'][1]++,'container')).not(this.options.exclude).map(function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['50']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['172']++;return c._serialize(d(this),!b);}).get();__cov_YsV4QtHd2bhcfacPWaHtAg.s['173']++;return this.rootGroup.options.serialize(a,e,b);},traverse:function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['51']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['174']++;d.each((__cov_YsV4QtHd2bhcfacPWaHtAg.b['66'][0]++,this.items)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['66'][1]++,[]),function(b){__cov_YsV4QtHd2bhcfacPWaHtAg.f['52']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['175']++;(__cov_YsV4QtHd2bhcfacPWaHtAg.b['67'][0]++,b=d.data(this,'subContainers'))&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['67'][1]++,b.traverse(a));});__cov_YsV4QtHd2bhcfacPWaHtAg.s['176']++;a(this);},_clearDimensions:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['53']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['177']++;this.itemDimensions=f;},_destroy:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['54']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['178']++;var a=this;__cov_YsV4QtHd2bhcfacPWaHtAg.s['179']++;this.target.off(r.start,this.handle);__cov_YsV4QtHd2bhcfacPWaHtAg.s['180']++;this.el.removeData(m);__cov_YsV4QtHd2bhcfacPWaHtAg.s['181']++;(__cov_YsV4QtHd2bhcfacPWaHtAg.b['68'][0]++,this.options.drop)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['68'][1]++,this.group.containers=d.grep(this.group.containers,function(b){__cov_YsV4QtHd2bhcfacPWaHtAg.f['55']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['182']++;return b!=a;}));__cov_YsV4QtHd2bhcfacPWaHtAg.s['183']++;d.each((__cov_YsV4QtHd2bhcfacPWaHtAg.b['69'][0]++,this.items)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['69'][1]++,[]),function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['56']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['184']++;d.removeData(this,'subContainers');});}};__cov_YsV4QtHd2bhcfacPWaHtAg.s['185']++;var u={enable:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['57']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['186']++;this.traverse(function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['58']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['187']++;a.disabled=!1;});},disable:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['59']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['188']++;this.traverse(function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['60']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['189']++;a.disabled=!0;});},serialize:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['61']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['190']++;return this._serialize(this.el,!0);},refresh:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['62']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['191']++;this.traverse(function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['63']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['192']++;a._clearDimensions();});},destroy:function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['64']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['193']++;this.traverse(function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['65']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['194']++;a._destroy();});}};__cov_YsV4QtHd2bhcfacPWaHtAg.s['195']++;d.extend(t.prototype,u);__cov_YsV4QtHd2bhcfacPWaHtAg.s['196']++;d.fn[m]=function(a){__cov_YsV4QtHd2bhcfacPWaHtAg.f['66']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['197']++;var b=Array.prototype.slice.call(arguments,1);__cov_YsV4QtHd2bhcfacPWaHtAg.s['198']++;return this.map(function(){__cov_YsV4QtHd2bhcfacPWaHtAg.f['67']++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['199']++;var c=d(this),e=c.data(m);__cov_YsV4QtHd2bhcfacPWaHtAg.s['200']++;if((__cov_YsV4QtHd2bhcfacPWaHtAg.b['71'][0]++,e)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['71'][1]++,u[a])){__cov_YsV4QtHd2bhcfacPWaHtAg.b['70'][0]++;__cov_YsV4QtHd2bhcfacPWaHtAg.s['201']++;return(__cov_YsV4QtHd2bhcfacPWaHtAg.b['72'][0]++,u[a].apply(e,b))||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['72'][1]++,this);}else{__cov_YsV4QtHd2bhcfacPWaHtAg.b['70'][1]++;}__cov_YsV4QtHd2bhcfacPWaHtAg.s['202']++;(__cov_YsV4QtHd2bhcfacPWaHtAg.b['73'][0]++,e)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['73'][1]++,a!==f)&&(__cov_YsV4QtHd2bhcfacPWaHtAg.b['73'][2]++,'object'!==typeof a)||(__cov_YsV4QtHd2bhcfacPWaHtAg.b['73'][3]++,c.data(m,new t(c,a)));__cov_YsV4QtHd2bhcfacPWaHtAg.s['203']++;return this;});};}(jQuery,window,'sortable'); diff --git a/.grunt/grunt-contrib-jasmine/boot.js b/.grunt/grunt-contrib-jasmine/boot.js new file mode 100644 index 0000000..8d6e421 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/boot.js @@ -0,0 +1,155 @@ +/* +Copyright (c) 2008-2018 Pivotal Labs + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +/** + Starting with version 2.0, this file "boots" Jasmine, performing all of the necessary initialization before executing the loaded environment and all of a project's specs. This file should be loaded after `jasmine.js` and `jasmine_html.js`, but before any project source files or spec files are loaded. Thus this file can also be used to customize Jasmine for a project. + + If a project is using Jasmine via the standalone distribution, this file can be customized directly. If a project is using Jasmine via the [Ruby gem][jasmine-gem], this file can be copied into the support directory via `jasmine copy_boot_js`. Other environments (e.g., Python) will have different mechanisms. + + The location of `boot.js` can be specified and/or overridden in `jasmine.yml`. + + [jasmine-gem]: http://github.com/pivotal/jasmine-gem + */ + +(function() { + + /** + * ## Require & Instantiate + * + * Require Jasmine's core files. Specifically, this requires and attaches all of Jasmine's code to the `jasmine` reference. + */ + window.jasmine = jasmineRequire.core(jasmineRequire); + + /** + * Since this is being run in a browser and the results should populate to an HTML page, require the HTML-specific Jasmine code, injecting the same reference. + */ + jasmineRequire.html(jasmine); + + /** + * Create the Jasmine environment. This is used to run all specs in a project. + */ + var env = jasmine.getEnv(); + + /** + * ## The Global Interface + * + * Build up the functions that will be exposed as the Jasmine public interface. A project can customize, rename or alias any of these functions as desired, provided the implementation remains unchanged. + */ + var jasmineInterface = jasmineRequire.interface(jasmine, env); + + /** + * Add all of the Jasmine global/public interface to the global scope, so a project can use the public interface directly. For example, calling `describe` in specs instead of `jasmine.getEnv().describe`. + */ + extend(window, jasmineInterface); + + /** + * ## Runner Parameters + * + * More browser specific code - wrap the query string in an object and to allow for getting/setting parameters from the runner user interface. + */ + + var queryString = new jasmine.QueryString({ + getWindowLocation: function() { return window.location; } + }); + + var filterSpecs = !!queryString.getParam("spec"); + + var catchingExceptions = queryString.getParam("catch"); + env.catchExceptions(typeof catchingExceptions === "undefined" ? true : catchingExceptions); + + var throwingExpectationFailures = queryString.getParam("throwFailures"); + env.throwOnExpectationFailure(throwingExpectationFailures); + + var random = queryString.getParam("random"); + env.randomizeTests(random); + + var seed = queryString.getParam("seed"); + if (seed) { + env.seed(seed); + } + + /** + * ## Reporters + * The `HtmlReporter` builds all of the HTML UI for the runner page. This reporter paints the dots, stars, and x's for specs, as well as all spec names and all failures (if any). + */ + var htmlReporter = new jasmine.HtmlReporter({ + env: env, + onRaiseExceptionsClick: function() { queryString.navigateWithNewParam("catch", !env.catchingExceptions()); }, + onThrowExpectationsClick: function() { queryString.navigateWithNewParam("throwFailures", !env.throwingExpectationFailures()); }, + onRandomClick: function() { queryString.navigateWithNewParam("random", !env.randomTests()); }, + addToExistingQueryString: function(key, value) { return queryString.fullStringWithNewParam(key, value); }, + getContainer: function() { return document.body; }, + createElement: function() { return document.createElement.apply(document, arguments); }, + createTextNode: function() { return document.createTextNode.apply(document, arguments); }, + timer: new jasmine.Timer(), + filterSpecs: filterSpecs + }); + + /** + * The `jsApiReporter` also receives spec results, and is used by any environment that needs to extract the results from JavaScript. + */ + env.addReporter(jasmineInterface.jsApiReporter); + env.addReporter(htmlReporter); + + /** + * Filter which specs will be run by matching the start of the full name against the `spec` query param. + */ + var specFilter = new jasmine.HtmlSpecFilter({ + filterString: function() { return queryString.getParam("spec"); } + }); + + env.specFilter = function(spec) { + return specFilter.matches(spec.getFullName()); + }; + + /** + * Setting up timing functions to be able to be overridden. Certain browsers (Safari, IE 8, phantomjs) require this hack. + */ + window.setTimeout = window.setTimeout; + window.setInterval = window.setInterval; + window.clearTimeout = window.clearTimeout; + window.clearInterval = window.clearInterval; + + /** + * ## Execution + * + * Replace the browser window's `onload`, ensure it's called, and then run all of the loaded specs. This includes initializing the `HtmlReporter` instance and then executing the loaded Jasmine environment. All of this will happen after all of the specs are loaded. + */ + var currentWindowOnload = window.onload; + + window.onload = function() { + if (currentWindowOnload) { + currentWindowOnload(); + } + htmlReporter.initialize(); + env.execute(); + }; + + /** + * Helper function for readability above. + */ + function extend(destination, source) { + for (var property in source) destination[property] = source[property]; + return destination; + } + +}()); diff --git a/.grunt/grunt-contrib-jasmine/es5-shim.js b/.grunt/grunt-contrib-jasmine/es5-shim.js new file mode 100644 index 0000000..1488d61 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/es5-shim.js @@ -0,0 +1,2110 @@ +/*! + * https://github.com/es-shims/es5-shim + * @license es5-shim Copyright 2009-2015 by contributors, MIT License + * see https://github.com/es-shims/es5-shim/blob/master/LICENSE + */ + +// vim: ts=4 sts=4 sw=4 expandtab + +// Add semicolon to prevent IIFE from being passed as argument to concatenated code. +; + +// UMD (Universal Module Definition) +// see https://github.com/umdjs/umd/blob/master/templates/returnExports.js +(function (root, factory) { + 'use strict'; + + /* global define, exports, module */ + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like enviroments that support module.exports, + // like Node. + module.exports = factory(); + } else { + // Browser globals (root is window) + root.returnExports = factory(); + } +}(this, function () { + /** + * Brings an environment as close to ECMAScript 5 compliance + * as is possible with the facilities of erstwhile engines. + * + * Annotated ES5: http://es5.github.com/ (specific links below) + * ES5 Spec: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf + * Required reading: http://javascriptweblog.wordpress.com/2011/12/05/extending-javascript-natives/ + */ + + // Shortcut to an often accessed properties, in order to avoid multiple + // dereference that costs universally. This also holds a reference to known-good + // functions. + var $Array = Array; + var ArrayPrototype = $Array.prototype; + var $Object = Object; + var ObjectPrototype = $Object.prototype; + var $Function = Function; + var FunctionPrototype = $Function.prototype; + var $String = String; + var StringPrototype = $String.prototype; + var $Number = Number; + var NumberPrototype = $Number.prototype; + var array_slice = ArrayPrototype.slice; + var array_splice = ArrayPrototype.splice; + var array_push = ArrayPrototype.push; + var array_unshift = ArrayPrototype.unshift; + var array_concat = ArrayPrototype.concat; + var array_join = ArrayPrototype.join; + var call = FunctionPrototype.call; + var apply = FunctionPrototype.apply; + var max = Math.max; + var min = Math.min; + + // Having a toString local variable name breaks in Opera so use to_string. + var to_string = ObjectPrototype.toString; + + /* global Symbol */ + /* eslint-disable one-var-declaration-per-line, no-redeclare, max-statements-per-line */ + var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol'; + var isCallable; /* inlined from https://npmjs.com/is-callable */ var fnToStr = Function.prototype.toString, constructorRegex = /^\s*class /, isES6ClassFn = function isES6ClassFn(value) { try { var fnStr = fnToStr.call(value); var singleStripped = fnStr.replace(/\/\/.*\n/g, ''); var multiStripped = singleStripped.replace(/\/\*[.\s\S]*\*\//g, ''); var spaceStripped = multiStripped.replace(/\n/mg, ' ').replace(/ {2}/g, ' '); return constructorRegex.test(spaceStripped); } catch (e) { return false; /* not a function */ } }, tryFunctionObject = function tryFunctionObject(value) { try { if (isES6ClassFn(value)) { return false; } fnToStr.call(value); return true; } catch (e) { return false; } }, fnClass = '[object Function]', genClass = '[object GeneratorFunction]', isCallable = function isCallable(value) { if (!value) { return false; } if (typeof value !== 'function' && typeof value !== 'object') { return false; } if (hasToStringTag) { return tryFunctionObject(value); } if (isES6ClassFn(value)) { return false; } var strClass = to_string.call(value); return strClass === fnClass || strClass === genClass; }; + + var isRegex; /* inlined from https://npmjs.com/is-regex */ var regexExec = RegExp.prototype.exec, tryRegexExec = function tryRegexExec(value) { try { regexExec.call(value); return true; } catch (e) { return false; } }, regexClass = '[object RegExp]'; isRegex = function isRegex(value) { if (typeof value !== 'object') { return false; } return hasToStringTag ? tryRegexExec(value) : to_string.call(value) === regexClass; }; + var isString; /* inlined from https://npmjs.com/is-string */ var strValue = String.prototype.valueOf, tryStringObject = function tryStringObject(value) { try { strValue.call(value); return true; } catch (e) { return false; } }, stringClass = '[object String]'; isString = function isString(value) { if (typeof value === 'string') { return true; } if (typeof value !== 'object') { return false; } return hasToStringTag ? tryStringObject(value) : to_string.call(value) === stringClass; }; + /* eslint-enable one-var-declaration-per-line, no-redeclare, max-statements-per-line */ + + /* inlined from http://npmjs.com/define-properties */ + var supportsDescriptors = $Object.defineProperty && (function () { + try { + var obj = {}; + $Object.defineProperty(obj, 'x', { enumerable: false, value: obj }); + for (var _ in obj) { // jscs:ignore disallowUnusedVariables + return false; + } + return obj.x === obj; + } catch (e) { /* this is ES3 */ + return false; + } + }()); + var defineProperties = (function (has) { + // Define configurable, writable, and non-enumerable props + // if they don't exist. + var defineProperty; + if (supportsDescriptors) { + defineProperty = function (object, name, method, forceAssign) { + if (!forceAssign && (name in object)) { + return; + } + $Object.defineProperty(object, name, { + configurable: true, + enumerable: false, + writable: true, + value: method + }); + }; + } else { + defineProperty = function (object, name, method, forceAssign) { + if (!forceAssign && (name in object)) { + return; + } + object[name] = method; + }; + } + return function defineProperties(object, map, forceAssign) { + for (var name in map) { + if (has.call(map, name)) { + defineProperty(object, name, map[name], forceAssign); + } + } + }; + }(ObjectPrototype.hasOwnProperty)); + + // + // Util + // ====== + // + + /* replaceable with https://npmjs.com/package/es-abstract /helpers/isPrimitive */ + var isPrimitive = function isPrimitive(input) { + var type = typeof input; + return input === null || (type !== 'object' && type !== 'function'); + }; + + var isActualNaN = $Number.isNaN || function isActualNaN(x) { + return x !== x; + }; + + var ES = { + // ES5 9.4 + // http://es5.github.com/#x9.4 + // http://jsperf.com/to-integer + /* replaceable with https://npmjs.com/package/es-abstract ES5.ToInteger */ + ToInteger: function ToInteger(num) { + var n = +num; + if (isActualNaN(n)) { + n = 0; + } else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) { + n = (n > 0 || -1) * Math.floor(Math.abs(n)); + } + return n; + }, + + /* replaceable with https://npmjs.com/package/es-abstract ES5.ToPrimitive */ + ToPrimitive: function ToPrimitive(input) { + var val, valueOf, toStr; + if (isPrimitive(input)) { + return input; + } + valueOf = input.valueOf; + if (isCallable(valueOf)) { + val = valueOf.call(input); + if (isPrimitive(val)) { + return val; + } + } + toStr = input.toString; + if (isCallable(toStr)) { + val = toStr.call(input); + if (isPrimitive(val)) { + return val; + } + } + throw new TypeError(); + }, + + // ES5 9.9 + // http://es5.github.com/#x9.9 + /* replaceable with https://npmjs.com/package/es-abstract ES5.ToObject */ + ToObject: function (o) { + if (o == null) { // this matches both null and undefined + throw new TypeError("can't convert " + o + ' to object'); + } + return $Object(o); + }, + + /* replaceable with https://npmjs.com/package/es-abstract ES5.ToUint32 */ + ToUint32: function ToUint32(x) { + return x >>> 0; + } + }; + + // + // Function + // ======== + // + + // ES-5 15.3.4.5 + // http://es5.github.com/#x15.3.4.5 + + var Empty = function Empty() {}; + + defineProperties(FunctionPrototype, { + bind: function bind(that) { // .length is 1 + // 1. Let Target be the this value. + var target = this; + // 2. If IsCallable(Target) is false, throw a TypeError exception. + if (!isCallable(target)) { + throw new TypeError('Function.prototype.bind called on incompatible ' + target); + } + // 3. Let A be a new (possibly empty) internal list of all of the + // argument values provided after thisArg (arg1, arg2 etc), in order. + // XXX slicedArgs will stand in for "A" if used + var args = array_slice.call(arguments, 1); // for normal call + // 4. Let F be a new native ECMAScript object. + // 11. Set the [[Prototype]] internal property of F to the standard + // built-in Function prototype object as specified in 15.3.3.1. + // 12. Set the [[Call]] internal property of F as described in + // 15.3.4.5.1. + // 13. Set the [[Construct]] internal property of F as described in + // 15.3.4.5.2. + // 14. Set the [[HasInstance]] internal property of F as described in + // 15.3.4.5.3. + var bound; + var binder = function () { + + if (this instanceof bound) { + // 15.3.4.5.2 [[Construct]] + // When the [[Construct]] internal method of a function object, + // F that was created using the bind function is called with a + // list of arguments ExtraArgs, the following steps are taken: + // 1. Let target be the value of F's [[TargetFunction]] + // internal property. + // 2. If target has no [[Construct]] internal method, a + // TypeError exception is thrown. + // 3. Let boundArgs be the value of F's [[BoundArgs]] internal + // property. + // 4. Let args be a new list containing the same values as the + // list boundArgs in the same order followed by the same + // values as the list ExtraArgs in the same order. + // 5. Return the result of calling the [[Construct]] internal + // method of target providing args as the arguments. + + var result = apply.call( + target, + this, + array_concat.call(args, array_slice.call(arguments)) + ); + if ($Object(result) === result) { + return result; + } + return this; + + } else { + // 15.3.4.5.1 [[Call]] + // When the [[Call]] internal method of a function object, F, + // which was created using the bind function is called with a + // this value and a list of arguments ExtraArgs, the following + // steps are taken: + // 1. Let boundArgs be the value of F's [[BoundArgs]] internal + // property. + // 2. Let boundThis be the value of F's [[BoundThis]] internal + // property. + // 3. Let target be the value of F's [[TargetFunction]] internal + // property. + // 4. Let args be a new list containing the same values as the + // list boundArgs in the same order followed by the same + // values as the list ExtraArgs in the same order. + // 5. Return the result of calling the [[Call]] internal method + // of target providing boundThis as the this value and + // providing args as the arguments. + + // equiv: target.call(this, ...boundArgs, ...args) + return apply.call( + target, + that, + array_concat.call(args, array_slice.call(arguments)) + ); + + } + + }; + + // 15. If the [[Class]] internal property of Target is "Function", then + // a. Let L be the length property of Target minus the length of A. + // b. Set the length own property of F to either 0 or L, whichever is + // larger. + // 16. Else set the length own property of F to 0. + + var boundLength = max(0, target.length - args.length); + + // 17. Set the attributes of the length own property of F to the values + // specified in 15.3.5.1. + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + array_push.call(boundArgs, '$' + i); + } + + // XXX Build a dynamic function with desired amount of arguments is the only + // way to set the length property of a function. + // In environments where Content Security Policies enabled (Chrome extensions, + // for ex.) all use of eval or Function costructor throws an exception. + // However in all of these environments Function.prototype.bind exists + // and so this code will never be executed. + bound = $Function('binder', 'return function (' + array_join.call(boundArgs, ',') + '){ return binder.apply(this, arguments); }')(binder); + + if (target.prototype) { + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + // Clean up dangling references. + Empty.prototype = null; + } + + // TODO + // 18. Set the [[Extensible]] internal property of F to true. + + // TODO + // 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3). + // 20. Call the [[DefineOwnProperty]] internal method of F with + // arguments "caller", PropertyDescriptor {[[Get]]: thrower, [[Set]]: + // thrower, [[Enumerable]]: false, [[Configurable]]: false}, and + // false. + // 21. Call the [[DefineOwnProperty]] internal method of F with + // arguments "arguments", PropertyDescriptor {[[Get]]: thrower, + // [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false}, + // and false. + + // TODO + // NOTE Function objects created using Function.prototype.bind do not + // have a prototype property or the [[Code]], [[FormalParameters]], and + // [[Scope]] internal properties. + // XXX can't delete prototype in pure-js. + + // 22. Return F. + return bound; + } + }); + + // _Please note: Shortcuts are defined after `Function.prototype.bind` as we + // use it in defining shortcuts. + var owns = call.bind(ObjectPrototype.hasOwnProperty); + var toStr = call.bind(ObjectPrototype.toString); + var arraySlice = call.bind(array_slice); + var arraySliceApply = apply.bind(array_slice); + /* globals document */ + if (typeof document === 'object' && document && document.documentElement) { + try { + arraySlice(document.documentElement.childNodes); + } catch (e) { + var origArraySlice = arraySlice; + var origArraySliceApply = arraySliceApply; + arraySlice = function arraySliceIE(arr) { + var r = []; + var i = arr.length; + while (i-- > 0) { + r[i] = arr[i]; + } + return origArraySliceApply(r, origArraySlice(arguments, 1)); + }; + arraySliceApply = function arraySliceApplyIE(arr, args) { + return origArraySliceApply(arraySlice(arr), args); + }; + } + } + var strSlice = call.bind(StringPrototype.slice); + var strSplit = call.bind(StringPrototype.split); + var strIndexOf = call.bind(StringPrototype.indexOf); + var pushCall = call.bind(array_push); + var isEnum = call.bind(ObjectPrototype.propertyIsEnumerable); + var arraySort = call.bind(ArrayPrototype.sort); + + // + // Array + // ===== + // + + var isArray = $Array.isArray || function isArray(obj) { + return toStr(obj) === '[object Array]'; + }; + + // ES5 15.4.4.12 + // http://es5.github.com/#x15.4.4.13 + // Return len+argCount. + // [bugfix, ielt8] + // IE < 8 bug: [].unshift(0) === undefined but should be "1" + var hasUnshiftReturnValueBug = [].unshift(0) !== 1; + defineProperties(ArrayPrototype, { + unshift: function () { + array_unshift.apply(this, arguments); + return this.length; + } + }, hasUnshiftReturnValueBug); + + // ES5 15.4.3.2 + // http://es5.github.com/#x15.4.3.2 + // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray + defineProperties($Array, { isArray: isArray }); + + // The IsCallable() check in the Array functions + // has been replaced with a strict check on the + // internal class of the object to trap cases where + // the provided function was actually a regular + // expression literal, which in V8 and + // JavaScriptCore is a typeof "function". Only in + // V8 are regular expression literals permitted as + // reduce parameters, so it is desirable in the + // general case for the shim to match the more + // strict and common behavior of rejecting regular + // expressions. + + // ES5 15.4.4.18 + // http://es5.github.com/#x15.4.4.18 + // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/forEach + + // Check failure of by-index access of string characters (IE < 9) + // and failure of `0 in boxedString` (Rhino) + var boxedString = $Object('a'); + var splitString = boxedString[0] !== 'a' || !(0 in boxedString); + + var properlyBoxesContext = function properlyBoxed(method) { + // Check node 0.6.21 bug where third parameter is not boxed + var properlyBoxesNonStrict = true; + var properlyBoxesStrict = true; + var threwException = false; + if (method) { + try { + method.call('foo', function (_, __, context) { + if (typeof context !== 'object') { + properlyBoxesNonStrict = false; + } + }); + + method.call([1], function () { + 'use strict'; + + properlyBoxesStrict = typeof this === 'string'; + }, 'x'); + } catch (e) { + threwException = true; + } + } + return !!method && !threwException && properlyBoxesNonStrict && properlyBoxesStrict; + }; + + defineProperties(ArrayPrototype, { + forEach: function forEach(callbackfn/*, thisArg*/) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var i = -1; + var length = ES.ToUint32(self.length); + var T; + if (arguments.length > 1) { + T = arguments[1]; + } + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.forEach callback must be a function'); + } + + while (++i < length) { + if (i in self) { + // Invoke the callback function with call, passing arguments: + // context, property value, property key, thisArg object + if (typeof T === 'undefined') { + callbackfn(self[i], i, object); + } else { + callbackfn.call(T, self[i], i, object); + } + } + } + } + }, !properlyBoxesContext(ArrayPrototype.forEach)); + + // ES5 15.4.4.19 + // http://es5.github.com/#x15.4.4.19 + // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map + defineProperties(ArrayPrototype, { + map: function map(callbackfn/*, thisArg*/) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var length = ES.ToUint32(self.length); + var result = $Array(length); + var T; + if (arguments.length > 1) { + T = arguments[1]; + } + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.map callback must be a function'); + } + + for (var i = 0; i < length; i++) { + if (i in self) { + if (typeof T === 'undefined') { + result[i] = callbackfn(self[i], i, object); + } else { + result[i] = callbackfn.call(T, self[i], i, object); + } + } + } + return result; + } + }, !properlyBoxesContext(ArrayPrototype.map)); + + // ES5 15.4.4.20 + // http://es5.github.com/#x15.4.4.20 + // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter + defineProperties(ArrayPrototype, { + filter: function filter(callbackfn/*, thisArg*/) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var length = ES.ToUint32(self.length); + var result = []; + var value; + var T; + if (arguments.length > 1) { + T = arguments[1]; + } + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.filter callback must be a function'); + } + + for (var i = 0; i < length; i++) { + if (i in self) { + value = self[i]; + if (typeof T === 'undefined' ? callbackfn(value, i, object) : callbackfn.call(T, value, i, object)) { + pushCall(result, value); + } + } + } + return result; + } + }, !properlyBoxesContext(ArrayPrototype.filter)); + + // ES5 15.4.4.16 + // http://es5.github.com/#x15.4.4.16 + // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/every + defineProperties(ArrayPrototype, { + every: function every(callbackfn/*, thisArg*/) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var length = ES.ToUint32(self.length); + var T; + if (arguments.length > 1) { + T = arguments[1]; + } + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.every callback must be a function'); + } + + for (var i = 0; i < length; i++) { + if (i in self && !(typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) { + return false; + } + } + return true; + } + }, !properlyBoxesContext(ArrayPrototype.every)); + + // ES5 15.4.4.17 + // http://es5.github.com/#x15.4.4.17 + // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/some + defineProperties(ArrayPrototype, { + some: function some(callbackfn/*, thisArg */) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var length = ES.ToUint32(self.length); + var T; + if (arguments.length > 1) { + T = arguments[1]; + } + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.some callback must be a function'); + } + + for (var i = 0; i < length; i++) { + if (i in self && (typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) { + return true; + } + } + return false; + } + }, !properlyBoxesContext(ArrayPrototype.some)); + + // ES5 15.4.4.21 + // http://es5.github.com/#x15.4.4.21 + // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduce + var reduceCoercesToObject = false; + if (ArrayPrototype.reduce) { + reduceCoercesToObject = typeof ArrayPrototype.reduce.call('es5', function (_, __, ___, list) { + return list; + }) === 'object'; + } + defineProperties(ArrayPrototype, { + reduce: function reduce(callbackfn/*, initialValue*/) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var length = ES.ToUint32(self.length); + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.reduce callback must be a function'); + } + + // no value to return if no initial value and an empty array + if (length === 0 && arguments.length === 1) { + throw new TypeError('reduce of empty array with no initial value'); + } + + var i = 0; + var result; + if (arguments.length >= 2) { + result = arguments[1]; + } else { + do { + if (i in self) { + result = self[i++]; + break; + } + + // if array contains no values, no initial value to return + if (++i >= length) { + throw new TypeError('reduce of empty array with no initial value'); + } + } while (true); + } + + for (; i < length; i++) { + if (i in self) { + result = callbackfn(result, self[i], i, object); + } + } + + return result; + } + }, !reduceCoercesToObject); + + // ES5 15.4.4.22 + // http://es5.github.com/#x15.4.4.22 + // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight + var reduceRightCoercesToObject = false; + if (ArrayPrototype.reduceRight) { + reduceRightCoercesToObject = typeof ArrayPrototype.reduceRight.call('es5', function (_, __, ___, list) { + return list; + }) === 'object'; + } + defineProperties(ArrayPrototype, { + reduceRight: function reduceRight(callbackfn/*, initial*/) { + var object = ES.ToObject(this); + var self = splitString && isString(this) ? strSplit(this, '') : object; + var length = ES.ToUint32(self.length); + + // If no callback function or if callback is not a callable function + if (!isCallable(callbackfn)) { + throw new TypeError('Array.prototype.reduceRight callback must be a function'); + } + + // no value to return if no initial value, empty array + if (length === 0 && arguments.length === 1) { + throw new TypeError('reduceRight of empty array with no initial value'); + } + + var result; + var i = length - 1; + if (arguments.length >= 2) { + result = arguments[1]; + } else { + do { + if (i in self) { + result = self[i--]; + break; + } + + // if array contains no values, no initial value to return + if (--i < 0) { + throw new TypeError('reduceRight of empty array with no initial value'); + } + } while (true); + } + + if (i < 0) { + return result; + } + + do { + if (i in self) { + result = callbackfn(result, self[i], i, object); + } + } while (i--); + + return result; + } + }, !reduceRightCoercesToObject); + + // ES5 15.4.4.14 + // http://es5.github.com/#x15.4.4.14 + // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf + var hasFirefox2IndexOfBug = ArrayPrototype.indexOf && [0, 1].indexOf(1, 2) !== -1; + defineProperties(ArrayPrototype, { + indexOf: function indexOf(searchElement/*, fromIndex */) { + var self = splitString && isString(this) ? strSplit(this, '') : ES.ToObject(this); + var length = ES.ToUint32(self.length); + + if (length === 0) { + return -1; + } + + var i = 0; + if (arguments.length > 1) { + i = ES.ToInteger(arguments[1]); + } + + // handle negative indices + i = i >= 0 ? i : max(0, length + i); + for (; i < length; i++) { + if (i in self && self[i] === searchElement) { + return i; + } + } + return -1; + } + }, hasFirefox2IndexOfBug); + + // ES5 15.4.4.15 + // http://es5.github.com/#x15.4.4.15 + // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/lastIndexOf + var hasFirefox2LastIndexOfBug = ArrayPrototype.lastIndexOf && [0, 1].lastIndexOf(0, -3) !== -1; + defineProperties(ArrayPrototype, { + lastIndexOf: function lastIndexOf(searchElement/*, fromIndex */) { + var self = splitString && isString(this) ? strSplit(this, '') : ES.ToObject(this); + var length = ES.ToUint32(self.length); + + if (length === 0) { + return -1; + } + var i = length - 1; + if (arguments.length > 1) { + i = min(i, ES.ToInteger(arguments[1])); + } + // handle negative indices + i = i >= 0 ? i : length - Math.abs(i); + for (; i >= 0; i--) { + if (i in self && searchElement === self[i]) { + return i; + } + } + return -1; + } + }, hasFirefox2LastIndexOfBug); + + // ES5 15.4.4.12 + // http://es5.github.com/#x15.4.4.12 + var spliceNoopReturnsEmptyArray = (function () { + var a = [1, 2]; + var result = a.splice(); + return a.length === 2 && isArray(result) && result.length === 0; + }()); + defineProperties(ArrayPrototype, { + // Safari 5.0 bug where .splice() returns undefined + splice: function splice(start, deleteCount) { + if (arguments.length === 0) { + return []; + } else { + return array_splice.apply(this, arguments); + } + } + }, !spliceNoopReturnsEmptyArray); + + var spliceWorksWithEmptyObject = (function () { + var obj = {}; + ArrayPrototype.splice.call(obj, 0, 0, 1); + return obj.length === 1; + }()); + defineProperties(ArrayPrototype, { + splice: function splice(start, deleteCount) { + if (arguments.length === 0) { + return []; + } + var args = arguments; + this.length = max(ES.ToInteger(this.length), 0); + if (arguments.length > 0 && typeof deleteCount !== 'number') { + args = arraySlice(arguments); + if (args.length < 2) { + pushCall(args, this.length - start); + } else { + args[1] = ES.ToInteger(deleteCount); + } + } + return array_splice.apply(this, args); + } + }, !spliceWorksWithEmptyObject); + var spliceWorksWithLargeSparseArrays = (function () { + // Per https://github.com/es-shims/es5-shim/issues/295 + // Safari 7/8 breaks with sparse arrays of size 1e5 or greater + var arr = new $Array(1e5); + // note: the index MUST be 8 or larger or the test will false pass + arr[8] = 'x'; + arr.splice(1, 1); + // note: this test must be defined *after* the indexOf shim + // per https://github.com/es-shims/es5-shim/issues/313 + return arr.indexOf('x') === 7; + }()); + var spliceWorksWithSmallSparseArrays = (function () { + // Per https://github.com/es-shims/es5-shim/issues/295 + // Opera 12.15 breaks on this, no idea why. + var n = 256; + var arr = []; + arr[n] = 'a'; + arr.splice(n + 1, 0, 'b'); + return arr[n] === 'a'; + }()); + defineProperties(ArrayPrototype, { + splice: function splice(start, deleteCount) { + var O = ES.ToObject(this); + var A = []; + var len = ES.ToUint32(O.length); + var relativeStart = ES.ToInteger(start); + var actualStart = relativeStart < 0 ? max((len + relativeStart), 0) : min(relativeStart, len); + var actualDeleteCount = min(max(ES.ToInteger(deleteCount), 0), len - actualStart); + + var k = 0; + var from; + while (k < actualDeleteCount) { + from = $String(actualStart + k); + if (owns(O, from)) { + A[k] = O[from]; + } + k += 1; + } + + var items = arraySlice(arguments, 2); + var itemCount = items.length; + var to; + if (itemCount < actualDeleteCount) { + k = actualStart; + var maxK = len - actualDeleteCount; + while (k < maxK) { + from = $String(k + actualDeleteCount); + to = $String(k + itemCount); + if (owns(O, from)) { + O[to] = O[from]; + } else { + delete O[to]; + } + k += 1; + } + k = len; + var minK = len - actualDeleteCount + itemCount; + while (k > minK) { + delete O[k - 1]; + k -= 1; + } + } else if (itemCount > actualDeleteCount) { + k = len - actualDeleteCount; + while (k > actualStart) { + from = $String(k + actualDeleteCount - 1); + to = $String(k + itemCount - 1); + if (owns(O, from)) { + O[to] = O[from]; + } else { + delete O[to]; + } + k -= 1; + } + } + k = actualStart; + for (var i = 0; i < items.length; ++i) { + O[k] = items[i]; + k += 1; + } + O.length = len - actualDeleteCount + itemCount; + + return A; + } + }, !spliceWorksWithLargeSparseArrays || !spliceWorksWithSmallSparseArrays); + + var originalJoin = ArrayPrototype.join; + var hasStringJoinBug; + try { + hasStringJoinBug = Array.prototype.join.call('123', ',') !== '1,2,3'; + } catch (e) { + hasStringJoinBug = true; + } + if (hasStringJoinBug) { + defineProperties(ArrayPrototype, { + join: function join(separator) { + var sep = typeof separator === 'undefined' ? ',' : separator; + return originalJoin.call(isString(this) ? strSplit(this, '') : this, sep); + } + }, hasStringJoinBug); + } + + var hasJoinUndefinedBug = [1, 2].join(undefined) !== '1,2'; + if (hasJoinUndefinedBug) { + defineProperties(ArrayPrototype, { + join: function join(separator) { + var sep = typeof separator === 'undefined' ? ',' : separator; + return originalJoin.call(this, sep); + } + }, hasJoinUndefinedBug); + } + + var pushShim = function push(item) { + var O = ES.ToObject(this); + var n = ES.ToUint32(O.length); + var i = 0; + while (i < arguments.length) { + O[n + i] = arguments[i]; + i += 1; + } + O.length = n + i; + return n + i; + }; + + var pushIsNotGeneric = (function () { + var obj = {}; + var result = Array.prototype.push.call(obj, undefined); + return result !== 1 || obj.length !== 1 || typeof obj[0] !== 'undefined' || !owns(obj, 0); + }()); + defineProperties(ArrayPrototype, { + push: function push(item) { + if (isArray(this)) { + return array_push.apply(this, arguments); + } + return pushShim.apply(this, arguments); + } + }, pushIsNotGeneric); + + // This fixes a very weird bug in Opera 10.6 when pushing `undefined + var pushUndefinedIsWeird = (function () { + var arr = []; + var result = arr.push(undefined); + return result !== 1 || arr.length !== 1 || typeof arr[0] !== 'undefined' || !owns(arr, 0); + }()); + defineProperties(ArrayPrototype, { push: pushShim }, pushUndefinedIsWeird); + + // ES5 15.2.3.14 + // http://es5.github.io/#x15.4.4.10 + // Fix boxed string bug + defineProperties(ArrayPrototype, { + slice: function (start, end) { + var arr = isString(this) ? strSplit(this, '') : this; + return arraySliceApply(arr, arguments); + } + }, splitString); + + var sortIgnoresNonFunctions = (function () { + try { + [1, 2].sort(null); + } catch (e) { + try { + [1, 2].sort({}); + } catch (e2) { + return false; + } + } + return true; + }()); + var sortThrowsOnRegex = (function () { + // this is a problem in Firefox 4, in which `typeof /a/ === 'function'` + try { + [1, 2].sort(/a/); + return false; + } catch (e) {} + return true; + }()); + var sortIgnoresUndefined = (function () { + // applies in IE 8, for one. + try { + [1, 2].sort(undefined); + return true; + } catch (e) {} + return false; + }()); + defineProperties(ArrayPrototype, { + sort: function sort(compareFn) { + if (typeof compareFn === 'undefined') { + return arraySort(this); + } + if (!isCallable(compareFn)) { + throw new TypeError('Array.prototype.sort callback must be a function'); + } + return arraySort(this, compareFn); + } + }, sortIgnoresNonFunctions || !sortIgnoresUndefined || !sortThrowsOnRegex); + + // + // Object + // ====== + // + + // ES5 15.2.3.14 + // http://es5.github.com/#x15.2.3.14 + + // http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation + var hasDontEnumBug = !isEnum({ 'toString': null }, 'toString'); // jscs:ignore disallowQuotedKeysInObjects + var hasProtoEnumBug = isEnum(function () {}, 'prototype'); + var hasStringEnumBug = !owns('x', '0'); + var equalsConstructorPrototype = function (o) { + var ctor = o.constructor; + return ctor && ctor.prototype === o; + }; + var excludedKeys = { + $applicationCache: true, + $console: true, + $external: true, + $frame: true, + $frameElement: true, + $frames: true, + $innerHeight: true, + $innerWidth: true, + $outerHeight: true, + $outerWidth: true, + $pageXOffset: true, + $pageYOffset: true, + $parent: true, + $scrollLeft: true, + $scrollTop: true, + $scrollX: true, + $scrollY: true, + $self: true, + $webkitIndexedDB: true, + $webkitStorageInfo: true, + $window: true, + + $width: true, + $height: true, + $top: true, + $localStorage: true + }; + var hasAutomationEqualityBug = (function () { + /* globals window */ + if (typeof window === 'undefined') { + return false; + } + for (var k in window) { + try { + if (!excludedKeys['$' + k] && owns(window, k) && window[k] !== null && typeof window[k] === 'object') { + equalsConstructorPrototype(window[k]); + } + } catch (e) { + return true; + } + } + return false; + }()); + var equalsConstructorPrototypeIfNotBuggy = function (object) { + if (typeof window === 'undefined' || !hasAutomationEqualityBug) { + return equalsConstructorPrototype(object); + } + try { + return equalsConstructorPrototype(object); + } catch (e) { + return false; + } + }; + var dontEnums = [ + 'toString', + 'toLocaleString', + 'valueOf', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'constructor' + ]; + var dontEnumsLength = dontEnums.length; + + // taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js + // can be replaced with require('is-arguments') if we ever use a build process instead + var isStandardArguments = function isArguments(value) { + return toStr(value) === '[object Arguments]'; + }; + var isLegacyArguments = function isArguments(value) { + return value !== null + && typeof value === 'object' + && typeof value.length === 'number' + && value.length >= 0 + && !isArray(value) + && isCallable(value.callee); + }; + var isArguments = isStandardArguments(arguments) ? isStandardArguments : isLegacyArguments; + + defineProperties($Object, { + keys: function keys(object) { + var isFn = isCallable(object); + var isArgs = isArguments(object); + var isObject = object !== null && typeof object === 'object'; + var isStr = isObject && isString(object); + + if (!isObject && !isFn && !isArgs) { + throw new TypeError('Object.keys called on a non-object'); + } + + var theKeys = []; + var skipProto = hasProtoEnumBug && isFn; + if ((isStr && hasStringEnumBug) || isArgs) { + for (var i = 0; i < object.length; ++i) { + pushCall(theKeys, $String(i)); + } + } + + if (!isArgs) { + for (var name in object) { + if (!(skipProto && name === 'prototype') && owns(object, name)) { + pushCall(theKeys, $String(name)); + } + } + } + + if (hasDontEnumBug) { + var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object); + for (var j = 0; j < dontEnumsLength; j++) { + var dontEnum = dontEnums[j]; + if (!(skipConstructor && dontEnum === 'constructor') && owns(object, dontEnum)) { + pushCall(theKeys, dontEnum); + } + } + } + return theKeys; + } + }); + + var keysWorksWithArguments = $Object.keys && (function () { + // Safari 5.0 bug + return $Object.keys(arguments).length === 2; + }(1, 2)); + var keysHasArgumentsLengthBug = $Object.keys && (function () { + var argKeys = $Object.keys(arguments); + return arguments.length !== 1 || argKeys.length !== 1 || argKeys[0] !== 1; + }(1)); + var originalKeys = $Object.keys; + defineProperties($Object, { + keys: function keys(object) { + if (isArguments(object)) { + return originalKeys(arraySlice(object)); + } else { + return originalKeys(object); + } + } + }, !keysWorksWithArguments || keysHasArgumentsLengthBug); + + // + // Date + // ==== + // + + var hasNegativeMonthYearBug = new Date(-3509827329600292).getUTCMonth() !== 0; + var aNegativeTestDate = new Date(-1509842289600292); + var aPositiveTestDate = new Date(1449662400000); + var hasToUTCStringFormatBug = aNegativeTestDate.toUTCString() !== 'Mon, 01 Jan -45875 11:59:59 GMT'; + var hasToDateStringFormatBug; + var hasToStringFormatBug; + var timeZoneOffset = aNegativeTestDate.getTimezoneOffset(); + if (timeZoneOffset < -720) { + hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Tue Jan 02 -45875'; + hasToStringFormatBug = !(/^Thu Dec 10 2015 \d\d:\d\d:\d\d GMT[-+]\d\d\d\d(?: |$)/).test(String(aPositiveTestDate)); + } else { + hasToDateStringFormatBug = aNegativeTestDate.toDateString() !== 'Mon Jan 01 -45875'; + hasToStringFormatBug = !(/^Wed Dec 09 2015 \d\d:\d\d:\d\d GMT[-+]\d\d\d\d(?: |$)/).test(String(aPositiveTestDate)); + } + + var originalGetFullYear = call.bind(Date.prototype.getFullYear); + var originalGetMonth = call.bind(Date.prototype.getMonth); + var originalGetDate = call.bind(Date.prototype.getDate); + var originalGetUTCFullYear = call.bind(Date.prototype.getUTCFullYear); + var originalGetUTCMonth = call.bind(Date.prototype.getUTCMonth); + var originalGetUTCDate = call.bind(Date.prototype.getUTCDate); + var originalGetUTCDay = call.bind(Date.prototype.getUTCDay); + var originalGetUTCHours = call.bind(Date.prototype.getUTCHours); + var originalGetUTCMinutes = call.bind(Date.prototype.getUTCMinutes); + var originalGetUTCSeconds = call.bind(Date.prototype.getUTCSeconds); + var originalGetUTCMilliseconds = call.bind(Date.prototype.getUTCMilliseconds); + var dayName = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; + var monthName = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; + var daysInMonth = function daysInMonth(month, year) { + return originalGetDate(new Date(year, month, 0)); + }; + + defineProperties(Date.prototype, { + getFullYear: function getFullYear() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var year = originalGetFullYear(this); + if (year < 0 && originalGetMonth(this) > 11) { + return year + 1; + } + return year; + }, + getMonth: function getMonth() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var year = originalGetFullYear(this); + var month = originalGetMonth(this); + if (year < 0 && month > 11) { + return 0; + } + return month; + }, + getDate: function getDate() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var year = originalGetFullYear(this); + var month = originalGetMonth(this); + var date = originalGetDate(this); + if (year < 0 && month > 11) { + if (month === 12) { + return date; + } + var days = daysInMonth(0, year + 1); + return (days - date) + 1; + } + return date; + }, + getUTCFullYear: function getUTCFullYear() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var year = originalGetUTCFullYear(this); + if (year < 0 && originalGetUTCMonth(this) > 11) { + return year + 1; + } + return year; + }, + getUTCMonth: function getUTCMonth() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var year = originalGetUTCFullYear(this); + var month = originalGetUTCMonth(this); + if (year < 0 && month > 11) { + return 0; + } + return month; + }, + getUTCDate: function getUTCDate() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var year = originalGetUTCFullYear(this); + var month = originalGetUTCMonth(this); + var date = originalGetUTCDate(this); + if (year < 0 && month > 11) { + if (month === 12) { + return date; + } + var days = daysInMonth(0, year + 1); + return (days - date) + 1; + } + return date; + } + }, hasNegativeMonthYearBug); + + defineProperties(Date.prototype, { + toUTCString: function toUTCString() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var day = originalGetUTCDay(this); + var date = originalGetUTCDate(this); + var month = originalGetUTCMonth(this); + var year = originalGetUTCFullYear(this); + var hour = originalGetUTCHours(this); + var minute = originalGetUTCMinutes(this); + var second = originalGetUTCSeconds(this); + return dayName[day] + ', ' + + (date < 10 ? '0' + date : date) + ' ' + + monthName[month] + ' ' + + year + ' ' + + (hour < 10 ? '0' + hour : hour) + ':' + + (minute < 10 ? '0' + minute : minute) + ':' + + (second < 10 ? '0' + second : second) + ' GMT'; + } + }, hasNegativeMonthYearBug || hasToUTCStringFormatBug); + + // Opera 12 has `,` + defineProperties(Date.prototype, { + toDateString: function toDateString() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var day = this.getDay(); + var date = this.getDate(); + var month = this.getMonth(); + var year = this.getFullYear(); + return dayName[day] + ' ' + + monthName[month] + ' ' + + (date < 10 ? '0' + date : date) + ' ' + + year; + } + }, hasNegativeMonthYearBug || hasToDateStringFormatBug); + + // can't use defineProperties here because of toString enumeration issue in IE <= 8 + if (hasNegativeMonthYearBug || hasToStringFormatBug) { + Date.prototype.toString = function toString() { + if (!this || !(this instanceof Date)) { + throw new TypeError('this is not a Date object.'); + } + var day = this.getDay(); + var date = this.getDate(); + var month = this.getMonth(); + var year = this.getFullYear(); + var hour = this.getHours(); + var minute = this.getMinutes(); + var second = this.getSeconds(); + var timezoneOffset = this.getTimezoneOffset(); + var hoursOffset = Math.floor(Math.abs(timezoneOffset) / 60); + var minutesOffset = Math.floor(Math.abs(timezoneOffset) % 60); + return dayName[day] + ' ' + + monthName[month] + ' ' + + (date < 10 ? '0' + date : date) + ' ' + + year + ' ' + + (hour < 10 ? '0' + hour : hour) + ':' + + (minute < 10 ? '0' + minute : minute) + ':' + + (second < 10 ? '0' + second : second) + ' GMT' + + (timezoneOffset > 0 ? '-' : '+') + + (hoursOffset < 10 ? '0' + hoursOffset : hoursOffset) + + (minutesOffset < 10 ? '0' + minutesOffset : minutesOffset); + }; + if (supportsDescriptors) { + $Object.defineProperty(Date.prototype, 'toString', { + configurable: true, + enumerable: false, + writable: true + }); + } + } + + // ES5 15.9.5.43 + // http://es5.github.com/#x15.9.5.43 + // This function returns a String value represent the instance in time + // represented by this Date object. The format of the String is the Date Time + // string format defined in 15.9.1.15. All fields are present in the String. + // The time zone is always UTC, denoted by the suffix Z. If the time value of + // this object is not a finite Number a RangeError exception is thrown. + var negativeDate = -62198755200000; + var negativeYearString = '-000001'; + var hasNegativeDateBug = Date.prototype.toISOString && new Date(negativeDate).toISOString().indexOf(negativeYearString) === -1; // eslint-disable-line max-len + var hasSafari51DateBug = Date.prototype.toISOString && new Date(-1).toISOString() !== '1969-12-31T23:59:59.999Z'; + + var getTime = call.bind(Date.prototype.getTime); + + defineProperties(Date.prototype, { + toISOString: function toISOString() { + if (!isFinite(this) || !isFinite(getTime(this))) { + // Adope Photoshop requires the second check. + throw new RangeError('Date.prototype.toISOString called on non-finite value.'); + } + + var year = originalGetUTCFullYear(this); + + var month = originalGetUTCMonth(this); + // see https://github.com/es-shims/es5-shim/issues/111 + year += Math.floor(month / 12); + month = ((month % 12) + 12) % 12; + + // the date time string format is specified in 15.9.1.15. + var result = [ + month + 1, + originalGetUTCDate(this), + originalGetUTCHours(this), + originalGetUTCMinutes(this), + originalGetUTCSeconds(this) + ]; + year = ( + (year < 0 ? '-' : (year > 9999 ? '+' : '')) + + strSlice('00000' + Math.abs(year), (0 <= year && year <= 9999) ? -4 : -6) + ); + + for (var i = 0; i < result.length; ++i) { + // pad months, days, hours, minutes, and seconds to have two digits. + result[i] = strSlice('00' + result[i], -2); + } + // pad milliseconds to have three digits. + return ( + year + '-' + arraySlice(result, 0, 2).join('-') + + 'T' + arraySlice(result, 2).join(':') + '.' + + strSlice('000' + originalGetUTCMilliseconds(this), -3) + 'Z' + ); + } + }, hasNegativeDateBug || hasSafari51DateBug); + + // ES5 15.9.5.44 + // http://es5.github.com/#x15.9.5.44 + // This function provides a String representation of a Date object for use by + // JSON.stringify (15.12.3). + var dateToJSONIsSupported = (function () { + try { + return Date.prototype.toJSON + && new Date(NaN).toJSON() === null + && new Date(negativeDate).toJSON().indexOf(negativeYearString) !== -1 + && Date.prototype.toJSON.call({ // generic + toISOString: function () { return true; } + }); + } catch (e) { + return false; + } + }()); + if (!dateToJSONIsSupported) { + Date.prototype.toJSON = function toJSON(key) { + // When the toJSON method is called with argument key, the following + // steps are taken: + + // 1. Let O be the result of calling ToObject, giving it the this + // value as its argument. + // 2. Let tv be ES.ToPrimitive(O, hint Number). + var O = $Object(this); + var tv = ES.ToPrimitive(O); + // 3. If tv is a Number and is not finite, return null. + if (typeof tv === 'number' && !isFinite(tv)) { + return null; + } + // 4. Let toISO be the result of calling the [[Get]] internal method of + // O with argument "toISOString". + var toISO = O.toISOString; + // 5. If IsCallable(toISO) is false, throw a TypeError exception. + if (!isCallable(toISO)) { + throw new TypeError('toISOString property is not callable'); + } + // 6. Return the result of calling the [[Call]] internal method of + // toISO with O as the this value and an empty argument list. + return toISO.call(O); + + // NOTE 1 The argument is ignored. + + // NOTE 2 The toJSON function is intentionally generic; it does not + // require that its this value be a Date object. Therefore, it can be + // transferred to other kinds of objects for use as a method. However, + // it does require that any such object have a toISOString method. An + // object is free to use the argument key to filter its + // stringification. + }; + } + + // ES5 15.9.4.2 + // http://es5.github.com/#x15.9.4.2 + // based on work shared by Daniel Friesen (dantman) + // http://gist.github.com/303249 + var supportsExtendedYears = Date.parse('+033658-09-27T01:46:40.000Z') === 1e15; + var acceptsInvalidDates = !isNaN(Date.parse('2012-04-04T24:00:00.500Z')) || !isNaN(Date.parse('2012-11-31T23:59:59.000Z')) || !isNaN(Date.parse('2012-12-31T23:59:60.000Z')); + var doesNotParseY2KNewYear = isNaN(Date.parse('2000-01-01T00:00:00.000Z')); + if (doesNotParseY2KNewYear || acceptsInvalidDates || !supportsExtendedYears) { + // XXX global assignment won't work in embeddings that use + // an alternate object for the context. + /* global Date: true */ + var maxSafeUnsigned32Bit = Math.pow(2, 31) - 1; + var hasSafariSignedIntBug = isActualNaN(new Date(1970, 0, 1, 0, 0, 0, maxSafeUnsigned32Bit + 1).getTime()); + // eslint-disable-next-line no-implicit-globals, no-global-assign + Date = (function (NativeDate) { + // Date.length === 7 + var DateShim = function Date(Y, M, D, h, m, s, ms) { + var length = arguments.length; + var date; + if (this instanceof NativeDate) { + var seconds = s; + var millis = ms; + if (hasSafariSignedIntBug && length >= 7 && ms > maxSafeUnsigned32Bit) { + // work around a Safari 8/9 bug where it treats the seconds as signed + var msToShift = Math.floor(ms / maxSafeUnsigned32Bit) * maxSafeUnsigned32Bit; + var sToShift = Math.floor(msToShift / 1e3); + seconds += sToShift; + millis -= sToShift * 1e3; + } + date = length === 1 && $String(Y) === Y // isString(Y) + // We explicitly pass it through parse: + ? new NativeDate(DateShim.parse(Y)) + // We have to manually make calls depending on argument + // length here + : length >= 7 ? new NativeDate(Y, M, D, h, m, seconds, millis) + : length >= 6 ? new NativeDate(Y, M, D, h, m, seconds) + : length >= 5 ? new NativeDate(Y, M, D, h, m) + : length >= 4 ? new NativeDate(Y, M, D, h) + : length >= 3 ? new NativeDate(Y, M, D) + : length >= 2 ? new NativeDate(Y, M) + : length >= 1 ? new NativeDate(Y instanceof NativeDate ? +Y : Y) + : new NativeDate(); + } else { + date = NativeDate.apply(this, arguments); + } + if (!isPrimitive(date)) { + // Prevent mixups with unfixed Date object + defineProperties(date, { constructor: DateShim }, true); + } + return date; + }; + + // 15.9.1.15 Date Time String Format. + var isoDateExpression = new RegExp('^' + + '(\\d{4}|[+-]\\d{6})' // four-digit year capture or sign + 6-digit extended year + + '(?:-(\\d{2})' // optional month capture + + '(?:-(\\d{2})' // optional day capture + + '(?:' // capture hours:minutes:seconds.milliseconds + + 'T(\\d{2})' // hours capture + + ':(\\d{2})' // minutes capture + + '(?:' // optional :seconds.milliseconds + + ':(\\d{2})' // seconds capture + + '(?:(\\.\\d{1,}))?' // milliseconds capture + + ')?' + + '(' // capture UTC offset component + + 'Z|' // UTC capture + + '(?:' // offset specifier +/-hours:minutes + + '([-+])' // sign capture + + '(\\d{2})' // hours offset capture + + ':(\\d{2})' // minutes offset capture + + ')' + + ')?)?)?)?' + + '$'); + + var months = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]; + + var dayFromMonth = function dayFromMonth(year, month) { + var t = month > 1 ? 1 : 0; + return ( + months[month] + + Math.floor((year - 1969 + t) / 4) + - Math.floor((year - 1901 + t) / 100) + + Math.floor((year - 1601 + t) / 400) + + (365 * (year - 1970)) + ); + }; + + var toUTC = function toUTC(t) { + var s = 0; + var ms = t; + if (hasSafariSignedIntBug && ms > maxSafeUnsigned32Bit) { + // work around a Safari 8/9 bug where it treats the seconds as signed + var msToShift = Math.floor(ms / maxSafeUnsigned32Bit) * maxSafeUnsigned32Bit; + var sToShift = Math.floor(msToShift / 1e3); + s += sToShift; + ms -= sToShift * 1e3; + } + return $Number(new NativeDate(1970, 0, 1, 0, 0, s, ms)); + }; + + // Copy any custom methods a 3rd party library may have added + for (var key in NativeDate) { + if (owns(NativeDate, key)) { + DateShim[key] = NativeDate[key]; + } + } + + // Copy "native" methods explicitly; they may be non-enumerable + defineProperties(DateShim, { + now: NativeDate.now, + UTC: NativeDate.UTC + }, true); + DateShim.prototype = NativeDate.prototype; + defineProperties(DateShim.prototype, { constructor: DateShim }, true); + + // Upgrade Date.parse to handle simplified ISO 8601 strings + var parseShim = function parse(string) { + var match = isoDateExpression.exec(string); + if (match) { + // parse months, days, hours, minutes, seconds, and milliseconds + // provide default values if necessary + // parse the UTC offset component + var year = $Number(match[1]), + month = $Number(match[2] || 1) - 1, + day = $Number(match[3] || 1) - 1, + hour = $Number(match[4] || 0), + minute = $Number(match[5] || 0), + second = $Number(match[6] || 0), + millisecond = Math.floor($Number(match[7] || 0) * 1000), + // When time zone is missed, local offset should be used + // (ES 5.1 bug) + // see https://bugs.ecmascript.org/show_bug.cgi?id=112 + isLocalTime = Boolean(match[4] && !match[8]), + signOffset = match[9] === '-' ? 1 : -1, + hourOffset = $Number(match[10] || 0), + minuteOffset = $Number(match[11] || 0), + result; + var hasMinutesOrSecondsOrMilliseconds = minute > 0 || second > 0 || millisecond > 0; + if ( + hour < (hasMinutesOrSecondsOrMilliseconds ? 24 : 25) + && minute < 60 && second < 60 && millisecond < 1000 + && month > -1 && month < 12 && hourOffset < 24 + && minuteOffset < 60 // detect invalid offsets + && day > -1 + && day < (dayFromMonth(year, month + 1) - dayFromMonth(year, month)) + ) { + result = ( + ((dayFromMonth(year, month) + day) * 24) + + hour + + (hourOffset * signOffset) + ) * 60; + result = (( + ((result + minute + (minuteOffset * signOffset)) * 60) + + second + ) * 1000) + millisecond; + if (isLocalTime) { + result = toUTC(result); + } + if (-8.64e15 <= result && result <= 8.64e15) { + return result; + } + } + return NaN; + } + return NativeDate.parse.apply(this, arguments); + }; + defineProperties(DateShim, { parse: parseShim }); + + return DateShim; + }(Date)); + /* global Date: false */ + } + + // ES5 15.9.4.4 + // http://es5.github.com/#x15.9.4.4 + if (!Date.now) { + Date.now = function now() { + return new Date().getTime(); + }; + } + + // + // Number + // ====== + // + + // ES5.1 15.7.4.5 + // http://es5.github.com/#x15.7.4.5 + var hasToFixedBugs = NumberPrototype.toFixed && ( + (0.00008).toFixed(3) !== '0.000' + || (0.9).toFixed(0) !== '1' + || (1.255).toFixed(2) !== '1.25' + || (1000000000000000128).toFixed(0) !== '1000000000000000128' + ); + + var toFixedHelpers = { + base: 1e7, + size: 6, + data: [0, 0, 0, 0, 0, 0], + multiply: function multiply(n, c) { + var i = -1; + var c2 = c; + while (++i < toFixedHelpers.size) { + c2 += n * toFixedHelpers.data[i]; + toFixedHelpers.data[i] = c2 % toFixedHelpers.base; + c2 = Math.floor(c2 / toFixedHelpers.base); + } + }, + divide: function divide(n) { + var i = toFixedHelpers.size; + var c = 0; + while (--i >= 0) { + c += toFixedHelpers.data[i]; + toFixedHelpers.data[i] = Math.floor(c / n); + c = (c % n) * toFixedHelpers.base; + } + }, + numToString: function numToString() { + var i = toFixedHelpers.size; + var s = ''; + while (--i >= 0) { + if (s !== '' || i === 0 || toFixedHelpers.data[i] !== 0) { + var t = $String(toFixedHelpers.data[i]); + if (s === '') { + s = t; + } else { + s += strSlice('0000000', 0, 7 - t.length) + t; + } + } + } + return s; + }, + pow: function pow(x, n, acc) { + return (n === 0 ? acc : (n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc))); + }, + log: function log(x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } + return n; + } + }; + + var toFixedShim = function toFixed(fractionDigits) { + var f, x, s, m, e, z, j, k; + + // Test for NaN and round fractionDigits down + f = $Number(fractionDigits); + f = isActualNaN(f) ? 0 : Math.floor(f); + + if (f < 0 || f > 20) { + throw new RangeError('Number.toFixed called with invalid number of decimals'); + } + + x = $Number(this); + + if (isActualNaN(x)) { + return 'NaN'; + } + + // If it is too big or small, return the string value of the number + if (x <= -1e21 || x >= 1e21) { + return $String(x); + } + + s = ''; + + if (x < 0) { + s = '-'; + x = -x; + } + + m = '0'; + + if (x > 1e-21) { + // 1e-21 < x < 1e21 + // -70 < log2(x) < 70 + e = toFixedHelpers.log(x * toFixedHelpers.pow(2, 69, 1)) - 69; + z = (e < 0 ? x * toFixedHelpers.pow(2, -e, 1) : x / toFixedHelpers.pow(2, e, 1)); + z *= 0x10000000000000; // Math.pow(2, 52); + e = 52 - e; + + // -18 < e < 122 + // x = z / 2 ^ e + if (e > 0) { + toFixedHelpers.multiply(0, z); + j = f; + + while (j >= 7) { + toFixedHelpers.multiply(1e7, 0); + j -= 7; + } + + toFixedHelpers.multiply(toFixedHelpers.pow(10, j, 1), 0); + j = e - 1; + + while (j >= 23) { + toFixedHelpers.divide(1 << 23); + j -= 23; + } + + toFixedHelpers.divide(1 << j); + toFixedHelpers.multiply(1, 1); + toFixedHelpers.divide(2); + m = toFixedHelpers.numToString(); + } else { + toFixedHelpers.multiply(0, z); + toFixedHelpers.multiply(1 << (-e), 0); + m = toFixedHelpers.numToString() + strSlice('0.00000000000000000000', 2, 2 + f); + } + } + + if (f > 0) { + k = m.length; + + if (k <= f) { + m = s + strSlice('0.0000000000000000000', 0, f - k + 2) + m; + } else { + m = s + strSlice(m, 0, k - f) + '.' + strSlice(m, k - f); + } + } else { + m = s + m; + } + + return m; + }; + defineProperties(NumberPrototype, { toFixed: toFixedShim }, hasToFixedBugs); + + var hasToPrecisionUndefinedBug = (function () { + try { + return 1.0.toPrecision(undefined) === '1'; + } catch (e) { + return true; + } + }()); + var originalToPrecision = NumberPrototype.toPrecision; + defineProperties(NumberPrototype, { + toPrecision: function toPrecision(precision) { + return typeof precision === 'undefined' ? originalToPrecision.call(this) : originalToPrecision.call(this, precision); + } + }, hasToPrecisionUndefinedBug); + + // + // String + // ====== + // + + // ES5 15.5.4.14 + // http://es5.github.com/#x15.5.4.14 + + // [bugfix, IE lt 9, firefox 4, Konqueror, Opera, obscure browsers] + // Many browsers do not split properly with regular expressions or they + // do not perform the split correctly under obscure conditions. + // See http://blog.stevenlevithan.com/archives/cross-browser-split + // I've tested in many browsers and this seems to cover the deviant ones: + // 'ab'.split(/(?:ab)*/) should be ["", ""], not [""] + // '.'.split(/(.?)(.?)/) should be ["", ".", "", ""], not ["", ""] + // 'tesst'.split(/(s)*/) should be ["t", undefined, "e", "s", "t"], not + // [undefined, "t", undefined, "e", ...] + // ''.split(/.?/) should be [], not [""] + // '.'.split(/()()/) should be ["."], not ["", "", "."] + + if ( + 'ab'.split(/(?:ab)*/).length !== 2 + || '.'.split(/(.?)(.?)/).length !== 4 + || 'tesst'.split(/(s)*/)[1] === 't' + || 'test'.split(/(?:)/, -1).length !== 4 + || ''.split(/.?/).length + || '.'.split(/()()/).length > 1 + ) { + (function () { + var compliantExecNpcg = typeof (/()??/).exec('')[1] === 'undefined'; // NPCG: nonparticipating capturing group + var maxSafe32BitInt = Math.pow(2, 32) - 1; + + StringPrototype.split = function (separator, limit) { + var string = String(this); + if (typeof separator === 'undefined' && limit === 0) { + return []; + } + + // If `separator` is not a regex, use native split + if (!isRegex(separator)) { + return strSplit(this, separator, limit); + } + + var output = []; + var flags = (separator.ignoreCase ? 'i' : '') + + (separator.multiline ? 'm' : '') + + (separator.unicode ? 'u' : '') // in ES6 + + (separator.sticky ? 'y' : ''), // Firefox 3+ and ES6 + lastLastIndex = 0, + // Make `global` and avoid `lastIndex` issues by working with a copy + separator2, match, lastIndex, lastLength; + var separatorCopy = new RegExp(separator.source, flags + 'g'); + if (!compliantExecNpcg) { + // Doesn't need flags gy, but they don't hurt + separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags); + } + /* Values for `limit`, per the spec: + * If undefined: 4294967295 // maxSafe32BitInt + * If 0, Infinity, or NaN: 0 + * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296; + * If negative number: 4294967296 - Math.floor(Math.abs(limit)) + * If other: Type-convert, then use the above rules + */ + var splitLimit = typeof limit === 'undefined' ? maxSafe32BitInt : ES.ToUint32(limit); + match = separatorCopy.exec(string); + while (match) { + // `separatorCopy.lastIndex` is not reliable cross-browser + lastIndex = match.index + match[0].length; + if (lastIndex > lastLastIndex) { + pushCall(output, strSlice(string, lastLastIndex, match.index)); + // Fix browsers whose `exec` methods don't consistently return `undefined` for + // nonparticipating capturing groups + if (!compliantExecNpcg && match.length > 1) { + /* eslint-disable no-loop-func */ + match[0].replace(separator2, function () { + for (var i = 1; i < arguments.length - 2; i++) { + if (typeof arguments[i] === 'undefined') { + match[i] = void 0; + } + } + }); + /* eslint-enable no-loop-func */ + } + if (match.length > 1 && match.index < string.length) { + array_push.apply(output, arraySlice(match, 1)); + } + lastLength = match[0].length; + lastLastIndex = lastIndex; + if (output.length >= splitLimit) { + break; + } + } + if (separatorCopy.lastIndex === match.index) { + separatorCopy.lastIndex++; // Avoid an infinite loop + } + match = separatorCopy.exec(string); + } + if (lastLastIndex === string.length) { + if (lastLength || !separatorCopy.test('')) { + pushCall(output, ''); + } + } else { + pushCall(output, strSlice(string, lastLastIndex)); + } + return output.length > splitLimit ? arraySlice(output, 0, splitLimit) : output; + }; + }()); + + // [bugfix, chrome] + // If separator is undefined, then the result array contains just one String, + // which is the this value (converted to a String). If limit is not undefined, + // then the output array is truncated so that it contains no more than limit + // elements. + // "0".split(undefined, 0) -> [] + } else if ('0'.split(void 0, 0).length) { + StringPrototype.split = function split(separator, limit) { + if (typeof separator === 'undefined' && limit === 0) { + return []; + } + return strSplit(this, separator, limit); + }; + } + + var str_replace = StringPrototype.replace; + var replaceReportsGroupsCorrectly = (function () { + var groups = []; + 'x'.replace(/x(.)?/g, function (match, group) { + pushCall(groups, group); + }); + return groups.length === 1 && typeof groups[0] === 'undefined'; + }()); + + if (!replaceReportsGroupsCorrectly) { + StringPrototype.replace = function replace(searchValue, replaceValue) { + var isFn = isCallable(replaceValue); + var hasCapturingGroups = isRegex(searchValue) && (/\)[*?]/).test(searchValue.source); + if (!isFn || !hasCapturingGroups) { + return str_replace.call(this, searchValue, replaceValue); + } else { + var wrappedReplaceValue = function (match) { + var length = arguments.length; + var originalLastIndex = searchValue.lastIndex; + searchValue.lastIndex = 0; + var args = searchValue.exec(match) || []; + searchValue.lastIndex = originalLastIndex; + pushCall(args, arguments[length - 2], arguments[length - 1]); + return replaceValue.apply(this, args); + }; + return str_replace.call(this, searchValue, wrappedReplaceValue); + } + }; + } + + // ECMA-262, 3rd B.2.3 + // Not an ECMAScript standard, although ECMAScript 3rd Edition has a + // non-normative section suggesting uniform semantics and it should be + // normalized across all browsers + // [bugfix, IE lt 9] IE < 9 substr() with negative value not working in IE + var string_substr = StringPrototype.substr; + var hasNegativeSubstrBug = ''.substr && '0b'.substr(-1) !== 'b'; + defineProperties(StringPrototype, { + substr: function substr(start, length) { + var normalizedStart = start; + if (start < 0) { + normalizedStart = max(this.length + start, 0); + } + return string_substr.call(this, normalizedStart, length); + } + }, hasNegativeSubstrBug); + + // ES5 15.5.4.20 + // whitespace from: http://es5.github.io/#x15.5.4.20 + var ws = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028' + + '\u2029\uFEFF'; + var zeroWidth = '\u200b'; + var wsRegexChars = '[' + ws + ']'; + var trimBeginRegexp = new RegExp('^' + wsRegexChars + wsRegexChars + '*'); + var trimEndRegexp = new RegExp(wsRegexChars + wsRegexChars + '*$'); + var hasTrimWhitespaceBug = StringPrototype.trim && (ws.trim() || !zeroWidth.trim()); + defineProperties(StringPrototype, { + // http://blog.stevenlevithan.com/archives/faster-trim-javascript + // http://perfectionkills.com/whitespace-deviations/ + trim: function trim() { + if (typeof this === 'undefined' || this === null) { + throw new TypeError("can't convert " + this + ' to object'); + } + return $String(this).replace(trimBeginRegexp, '').replace(trimEndRegexp, ''); + } + }, hasTrimWhitespaceBug); + var trim = call.bind(String.prototype.trim); + + var hasLastIndexBug = StringPrototype.lastIndexOf && 'abcあい'.lastIndexOf('あい', 2) !== -1; + defineProperties(StringPrototype, { + lastIndexOf: function lastIndexOf(searchString) { + if (typeof this === 'undefined' || this === null) { + throw new TypeError("can't convert " + this + ' to object'); + } + var S = $String(this); + var searchStr = $String(searchString); + var numPos = arguments.length > 1 ? $Number(arguments[1]) : NaN; + var pos = isActualNaN(numPos) ? Infinity : ES.ToInteger(numPos); + var start = min(max(pos, 0), S.length); + var searchLen = searchStr.length; + var k = start + searchLen; + while (k > 0) { + k = max(0, k - searchLen); + var index = strIndexOf(strSlice(S, k, start + searchLen), searchStr); + if (index !== -1) { + return k + index; + } + } + return -1; + } + }, hasLastIndexBug); + + var originalLastIndexOf = StringPrototype.lastIndexOf; + defineProperties(StringPrototype, { + lastIndexOf: function lastIndexOf(searchString) { + return originalLastIndexOf.apply(this, arguments); + } + }, StringPrototype.lastIndexOf.length !== 1); + + // ES-5 15.1.2.2 + // eslint-disable-next-line radix + if (parseInt(ws + '08') !== 8 || parseInt(ws + '0x16') !== 22) { + /* global parseInt: true */ + parseInt = (function (origParseInt) { + var hexRegex = /^[-+]?0[xX]/; + return function parseInt(str, radix) { + if (typeof str === 'symbol') { + // handle Symbols in node 8.3/8.4 + // eslint-disable-next-line no-implicit-coercion, no-unused-expressions + '' + str; // jscs:ignore disallowImplicitTypeConversion + } + + var string = trim(String(str)); + var defaultedRadix = $Number(radix) || (hexRegex.test(string) ? 16 : 10); + return origParseInt(string, defaultedRadix); + }; + }(parseInt)); + } + + // https://es5.github.io/#x15.1.2.3 + if (1 / parseFloat('-0') !== -Infinity) { + /* global parseFloat: true */ + parseFloat = (function (origParseFloat) { + return function parseFloat(string) { + var inputString = trim(String(string)); + var result = origParseFloat(inputString); + return result === 0 && strSlice(inputString, 0, 1) === '-' ? -0 : result; + }; + }(parseFloat)); + } + + if (String(new RangeError('test')) !== 'RangeError: test') { + var errorToStringShim = function toString() { + if (typeof this === 'undefined' || this === null) { + throw new TypeError("can't convert " + this + ' to object'); + } + var name = this.name; + if (typeof name === 'undefined') { + name = 'Error'; + } else if (typeof name !== 'string') { + name = $String(name); + } + var msg = this.message; + if (typeof msg === 'undefined') { + msg = ''; + } else if (typeof msg !== 'string') { + msg = $String(msg); + } + if (!name) { + return msg; + } + if (!msg) { + return name; + } + return name + ': ' + msg; + }; + // can't use defineProperties here because of toString enumeration issue in IE <= 8 + Error.prototype.toString = errorToStringShim; + } + + if (supportsDescriptors) { + var ensureNonEnumerable = function (obj, prop) { + if (isEnum(obj, prop)) { + var desc = Object.getOwnPropertyDescriptor(obj, prop); + if (desc.configurable) { + desc.enumerable = false; + Object.defineProperty(obj, prop, desc); + } + } + }; + ensureNonEnumerable(Error.prototype, 'message'); + if (Error.prototype.message !== '') { + Error.prototype.message = ''; + } + ensureNonEnumerable(Error.prototype, 'name'); + } + + if (String(/a/mig) !== '/a/gim') { + var regexToString = function toString() { + var str = '/' + this.source + '/'; + if (this.global) { + str += 'g'; + } + if (this.ignoreCase) { + str += 'i'; + } + if (this.multiline) { + str += 'm'; + } + return str; + }; + // can't use defineProperties here because of toString enumeration issue in IE <= 8 + RegExp.prototype.toString = regexToString; + } +})); diff --git a/.grunt/grunt-contrib-jasmine/grunt-template-jasmine-istanbul/reporter.js b/.grunt/grunt-contrib-jasmine/grunt-template-jasmine-istanbul/reporter.js new file mode 100644 index 0000000..e768dc2 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/grunt-template-jasmine-istanbul/reporter.js @@ -0,0 +1,23 @@ +/* globals jasmine, phantom, __coverage__ */ +/** + * Reports the coverage results after the test have run. + * + * @module grunt-template-jasmine-istanbul + * @class reporter + */ +(function () { + var reporter = { + /** + * Reports the coverage variable by dispatching a message from phantom. + * + * @method jasmineDone + * @return {void} + */ + jasmineDone: function () { + if (typeof __coverage__ !== 'undefined' && __coverage__) { + phantom.sendMessage('jasmine.coverage', __coverage__); + } + } + }; + jasmine.getEnv().addReporter(reporter); +})(); diff --git a/.grunt/grunt-contrib-jasmine/jasmine-html.js b/.grunt/grunt-contrib-jasmine/jasmine-html.js new file mode 100644 index 0000000..7dd2f5e --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/jasmine-html.js @@ -0,0 +1,545 @@ +/* +Copyright (c) 2008-2018 Pivotal Labs + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +jasmineRequire.html = function(j$) { + j$.ResultsNode = jasmineRequire.ResultsNode(); + j$.HtmlReporter = jasmineRequire.HtmlReporter(j$); + j$.QueryString = jasmineRequire.QueryString(); + j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter(); +}; + +jasmineRequire.HtmlReporter = function(j$) { + + var noopTimer = { + start: function() {}, + elapsed: function() { return 0; } + }; + + function ResultsStateBuilder() { + this.topResults = new j$.ResultsNode({}, '', null); + this.currentParent = this.topResults; + this.specsExecuted = 0; + this.failureCount = 0; + this.pendingSpecCount = 0; + } + + ResultsStateBuilder.prototype.suiteStarted = function(result) { + this.currentParent.addChild(result, 'suite'); + this.currentParent = this.currentParent.last(); + }; + + ResultsStateBuilder.prototype.suiteDone = function(result) { + if (this.currentParent !== this.topResults) { + this.currentParent = this.currentParent.parent; + } + }; + + ResultsStateBuilder.prototype.specStarted = function(result) { + }; + + ResultsStateBuilder.prototype.specDone = function(result) { + this.currentParent.addChild(result, 'spec'); + + if (result.status !== 'disabled') { + this.specsExecuted++; + } + + if (result.status === 'failed') { + this.failureCount++; + } + + if (result.status == 'pending') { + this.pendingSpecCount++; + } + }; + + + + function HtmlReporter(options) { + var env = options.env || {}, + getContainer = options.getContainer, + createElement = options.createElement, + createTextNode = options.createTextNode, + onRaiseExceptionsClick = options.onRaiseExceptionsClick || function() {}, + onThrowExpectationsClick = options.onThrowExpectationsClick || function() {}, + onRandomClick = options.onRandomClick || function() {}, + addToExistingQueryString = options.addToExistingQueryString || defaultQueryString, + filterSpecs = options.filterSpecs, + timer = options.timer || noopTimer, + results = [], + htmlReporterMain, + symbols, + failedSuites = [], + deprecationWarnings = []; + + this.initialize = function() { + clearPrior(); + htmlReporterMain = createDom('div', {className: 'jasmine_html-reporter'}, + createDom('div', {className: 'jasmine-banner'}, + createDom('a', {className: 'jasmine-title', href: 'http://jasmine.github.io/', target: '_blank'}), + createDom('span', {className: 'jasmine-version'}, j$.version) + ), + createDom('ul', {className: 'jasmine-symbol-summary'}), + createDom('div', {className: 'jasmine-alert'}), + createDom('div', {className: 'jasmine-results'}, + createDom('div', {className: 'jasmine-failures'}) + ) + ); + getContainer().appendChild(htmlReporterMain); + }; + + var totalSpecsDefined; + this.jasmineStarted = function(options) { + totalSpecsDefined = options.totalSpecsDefined || 0; + timer.start(); + }; + + var summary = createDom('div', {className: 'jasmine-summary'}); + + var stateBuilder = new ResultsStateBuilder(); + + this.suiteStarted = function(result) { + stateBuilder.suiteStarted(result); + }; + + this.suiteDone = function(result) { + if (result.status == 'failed') { + failedSuites.push(result); + } + + stateBuilder.suiteDone(result); + addDeprecationWarnings(result); + }; + + this.specStarted = function(result) { + stateBuilder.specStarted(result); + }; + + var failures = []; + this.specDone = function(result) { + stateBuilder.specDone(result); + + if(noExpectations(result) && typeof console !== 'undefined' && typeof console.error !== 'undefined') { + console.error('Spec \'' + result.fullName + '\' has no expectations.'); + } + + if (!symbols){ + symbols = find('.jasmine-symbol-summary'); + } + + symbols.appendChild(createDom('li', { + className: noExpectations(result) ? 'jasmine-empty' : 'jasmine-' + result.status, + id: 'spec_' + result.id, + title: result.fullName + } + )); + + if (result.status == 'failed') { + var failure = + createDom('div', {className: 'jasmine-spec-detail jasmine-failed'}, + createDom('div', {className: 'jasmine-description'}, + createDom('a', {title: result.fullName, href: specHref(result)}, result.fullName) + ), + createDom('div', {className: 'jasmine-messages'}) + ); + var messages = failure.childNodes[1]; + + for (var i = 0; i < result.failedExpectations.length; i++) { + var expectation = result.failedExpectations[i]; + messages.appendChild(createDom('div', {className: 'jasmine-result-message'}, expectation.message)); + messages.appendChild(createDom('div', {className: 'jasmine-stack-trace'}, expectation.stack)); + } + + failures.push(failure); + } + + addDeprecationWarnings(result); + }; + + this.jasmineDone = function(doneResult) { + var banner = find('.jasmine-banner'); + var alert = find('.jasmine-alert'); + var order = doneResult && doneResult.order; + alert.appendChild(createDom('span', {className: 'jasmine-duration'}, 'finished in ' + timer.elapsed() / 1000 + 's')); + + banner.appendChild( + createDom('div', { className: 'jasmine-run-options' }, + createDom('span', { className: 'jasmine-trigger' }, 'Options'), + createDom('div', { className: 'jasmine-payload' }, + createDom('div', { className: 'jasmine-exceptions' }, + createDom('input', { + className: 'jasmine-raise', + id: 'jasmine-raise-exceptions', + type: 'checkbox' + }), + createDom('label', { className: 'jasmine-label', 'for': 'jasmine-raise-exceptions' }, 'raise exceptions')), + createDom('div', { className: 'jasmine-throw-failures' }, + createDom('input', { + className: 'jasmine-throw', + id: 'jasmine-throw-failures', + type: 'checkbox' + }), + createDom('label', { className: 'jasmine-label', 'for': 'jasmine-throw-failures' }, 'stop spec on expectation failure')), + createDom('div', { className: 'jasmine-random-order' }, + createDom('input', { + className: 'jasmine-random', + id: 'jasmine-random-order', + type: 'checkbox' + }), + createDom('label', { className: 'jasmine-label', 'for': 'jasmine-random-order' }, 'run tests in random order')) + ) + )); + + var raiseCheckbox = find('#jasmine-raise-exceptions'); + + raiseCheckbox.checked = !env.catchingExceptions(); + raiseCheckbox.onclick = onRaiseExceptionsClick; + + var throwCheckbox = find('#jasmine-throw-failures'); + throwCheckbox.checked = env.throwingExpectationFailures(); + throwCheckbox.onclick = onThrowExpectationsClick; + + var randomCheckbox = find('#jasmine-random-order'); + randomCheckbox.checked = env.randomTests(); + randomCheckbox.onclick = onRandomClick; + + var optionsMenu = find('.jasmine-run-options'), + optionsTrigger = optionsMenu.querySelector('.jasmine-trigger'), + optionsPayload = optionsMenu.querySelector('.jasmine-payload'), + isOpen = /\bjasmine-open\b/; + + optionsTrigger.onclick = function() { + if (isOpen.test(optionsPayload.className)) { + optionsPayload.className = optionsPayload.className.replace(isOpen, ''); + } else { + optionsPayload.className += ' jasmine-open'; + } + }; + + if (stateBuilder.specsExecuted < totalSpecsDefined) { + var skippedMessage = 'Ran ' + stateBuilder.specsExecuted + ' of ' + totalSpecsDefined + ' specs - run all'; + var skippedLink = addToExistingQueryString('spec', ''); + alert.appendChild( + createDom('span', {className: 'jasmine-bar jasmine-skipped'}, + createDom('a', {href: skippedLink, title: 'Run all specs'}, skippedMessage) + ) + ); + } + var statusBarMessage = ''; + var statusBarClassName = 'jasmine-bar '; + + if (totalSpecsDefined > 0) { + statusBarMessage += pluralize('spec', stateBuilder.specsExecuted) + ', ' + pluralize('failure', stateBuilder.failureCount); + if (stateBuilder.pendingSpecCount) { statusBarMessage += ', ' + pluralize('pending spec', stateBuilder.pendingSpecCount); } + statusBarClassName += (stateBuilder.failureCount > 0) ? 'jasmine-failed' : 'jasmine-passed'; + } else { + statusBarClassName += 'jasmine-skipped'; + statusBarMessage += 'No specs found'; + } + + var seedBar; + if (order && order.random) { + seedBar = createDom('span', {className: 'jasmine-seed-bar'}, + ', randomized with seed ', + createDom('a', {title: 'randomized with seed ' + order.seed, href: seedHref(order.seed)}, order.seed) + ); + } + + alert.appendChild(createDom('span', {className: statusBarClassName}, statusBarMessage, seedBar)); + + var errorBarClassName = 'jasmine-bar jasmine-errored'; + var errorBarMessagePrefix = 'AfterAll '; + + for(var i = 0; i < failedSuites.length; i++) { + var failedSuite = failedSuites[i]; + for(var j = 0; j < failedSuite.failedExpectations.length; j++) { + alert.appendChild(createDom('span', {className: errorBarClassName}, errorBarMessagePrefix + failedSuite.failedExpectations[j].message)); + } + } + + var globalFailures = (doneResult && doneResult.failedExpectations) || []; + for(i = 0; i < globalFailures.length; i++) { + var failure = globalFailures[i]; + alert.appendChild(createDom('span', {className: errorBarClassName}, errorBarMessagePrefix + failure.message)); + } + + addDeprecationWarnings(doneResult); + + var warningBarClassName = 'jasmine-bar jasmine-warning'; + for(i = 0; i < deprecationWarnings.length; i++) { + var warning = deprecationWarnings[i]; + alert.appendChild(createDom('span', {className: warningBarClassName}, 'DEPRECATION: ' + warning)); + } + + var results = find('.jasmine-results'); + results.appendChild(summary); + + summaryList(stateBuilder.topResults, summary); + + function summaryList(resultsTree, domParent) { + var specListNode; + for (var i = 0; i < resultsTree.children.length; i++) { + var resultNode = resultsTree.children[i]; + if (filterSpecs && !hasActiveSpec(resultNode)) { + continue; + } + if (resultNode.type == 'suite') { + var suiteListNode = createDom('ul', {className: 'jasmine-suite', id: 'suite-' + resultNode.result.id}, + createDom('li', {className: 'jasmine-suite-detail'}, + createDom('a', {href: specHref(resultNode.result)}, resultNode.result.description) + ) + ); + + summaryList(resultNode, suiteListNode); + domParent.appendChild(suiteListNode); + } + if (resultNode.type == 'spec') { + if (domParent.getAttribute('class') != 'jasmine-specs') { + specListNode = createDom('ul', {className: 'jasmine-specs'}); + domParent.appendChild(specListNode); + } + var specDescription = resultNode.result.description; + if(noExpectations(resultNode.result)) { + specDescription = 'SPEC HAS NO EXPECTATIONS ' + specDescription; + } + if(resultNode.result.status === 'pending' && resultNode.result.pendingReason !== '') { + specDescription = specDescription + ' PENDING WITH MESSAGE: ' + resultNode.result.pendingReason; + } + specListNode.appendChild( + createDom('li', { + className: 'jasmine-' + resultNode.result.status, + id: 'spec-' + resultNode.result.id + }, + createDom('a', {href: specHref(resultNode.result)}, specDescription) + ) + ); + } + } + } + + if (failures.length) { + alert.appendChild( + createDom('span', {className: 'jasmine-menu jasmine-bar jasmine-spec-list'}, + createDom('span', {}, 'Spec List | '), + createDom('a', {className: 'jasmine-failures-menu', href: '#'}, 'Failures'))); + alert.appendChild( + createDom('span', {className: 'jasmine-menu jasmine-bar jasmine-failure-list'}, + createDom('a', {className: 'jasmine-spec-list-menu', href: '#'}, 'Spec List'), + createDom('span', {}, ' | Failures '))); + + find('.jasmine-failures-menu').onclick = function() { + setMenuModeTo('jasmine-failure-list'); + }; + find('.jasmine-spec-list-menu').onclick = function() { + setMenuModeTo('jasmine-spec-list'); + }; + + setMenuModeTo('jasmine-failure-list'); + + var failureNode = find('.jasmine-failures'); + for (i = 0; i < failures.length; i++) { + failureNode.appendChild(failures[i]); + } + } + }; + + return this; + + function addDeprecationWarnings(result) { + if (result && result.deprecationWarnings) { + for(var i = 0; i < result.deprecationWarnings.length; i++) { + var warning = result.deprecationWarnings[i].message; + if (!j$.util.arrayContains(warning)) { + deprecationWarnings.push(warning); + } + } + } + } + + function find(selector) { + return getContainer().querySelector('.jasmine_html-reporter ' + selector); + } + + function clearPrior() { + // return the reporter + var oldReporter = find(''); + + if(oldReporter) { + getContainer().removeChild(oldReporter); + } + } + + function createDom(type, attrs, childrenVarArgs) { + var el = createElement(type); + + for (var i = 2; i < arguments.length; i++) { + var child = arguments[i]; + + if (typeof child === 'string') { + el.appendChild(createTextNode(child)); + } else { + if (child) { + el.appendChild(child); + } + } + } + + for (var attr in attrs) { + if (attr == 'className') { + el[attr] = attrs[attr]; + } else { + el.setAttribute(attr, attrs[attr]); + } + } + + return el; + } + + function pluralize(singular, count) { + var word = (count == 1 ? singular : singular + 's'); + + return '' + count + ' ' + word; + } + + function specHref(result) { + return addToExistingQueryString('spec', result.fullName); + } + + function seedHref(seed) { + return addToExistingQueryString('seed', seed); + } + + function defaultQueryString(key, value) { + return '?' + key + '=' + value; + } + + function setMenuModeTo(mode) { + htmlReporterMain.setAttribute('class', 'jasmine_html-reporter ' + mode); + } + + function noExpectations(result) { + return (result.failedExpectations.length + result.passedExpectations.length) === 0 && + result.status === 'passed'; + } + + function hasActiveSpec(resultNode) { + if (resultNode.type == 'spec' && resultNode.result.status != 'disabled') { + return true; + } + + if (resultNode.type == 'suite') { + for (var i = 0, j = resultNode.children.length; i < j; i++) { + if (hasActiveSpec(resultNode.children[i])) { + return true; + } + } + } + } + } + + return HtmlReporter; +}; + +jasmineRequire.HtmlSpecFilter = function() { + function HtmlSpecFilter(options) { + var filterString = options && options.filterString() && options.filterString().replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); + var filterPattern = new RegExp(filterString); + + this.matches = function(specName) { + return filterPattern.test(specName); + }; + } + + return HtmlSpecFilter; +}; + +jasmineRequire.ResultsNode = function() { + function ResultsNode(result, type, parent) { + this.result = result; + this.type = type; + this.parent = parent; + + this.children = []; + + this.addChild = function(result, type) { + this.children.push(new ResultsNode(result, type, this)); + }; + + this.last = function() { + return this.children[this.children.length - 1]; + }; + } + + return ResultsNode; +}; + +jasmineRequire.QueryString = function() { + function QueryString(options) { + + this.navigateWithNewParam = function(key, value) { + options.getWindowLocation().search = this.fullStringWithNewParam(key, value); + }; + + this.fullStringWithNewParam = function(key, value) { + var paramMap = queryStringToParamMap(); + paramMap[key] = value; + return toQueryString(paramMap); + }; + + this.getParam = function(key) { + return queryStringToParamMap()[key]; + }; + + return this; + + function toQueryString(paramMap) { + var qStrPairs = []; + for (var prop in paramMap) { + qStrPairs.push(encodeURIComponent(prop) + '=' + encodeURIComponent(paramMap[prop])); + } + return '?' + qStrPairs.join('&'); + } + + function queryStringToParamMap() { + var paramStr = options.getWindowLocation().search.substring(1), + params = [], + paramMap = {}; + + if (paramStr.length > 0) { + params = paramStr.split('&'); + for (var i = 0; i < params.length; i++) { + var p = params[i].split('='); + var value = decodeURIComponent(p[1]); + if (value === 'true' || value === 'false') { + value = JSON.parse(value); + } + paramMap[decodeURIComponent(p[0])] = value; + } + } + + return paramMap; + } + + } + + return QueryString; +}; diff --git a/.grunt/grunt-contrib-jasmine/jasmine.css b/.grunt/grunt-contrib-jasmine/jasmine.css new file mode 100644 index 0000000..5207c5b --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/jasmine.css @@ -0,0 +1,59 @@ +body { overflow-y: scroll; } + +.jasmine_html-reporter { background-color: #eee; padding: 5px; margin: -8px; font-size: 11px; font-family: Monaco, "Lucida Console", monospace; line-height: 14px; color: #333; } +.jasmine_html-reporter a { text-decoration: none; } +.jasmine_html-reporter a:hover { text-decoration: underline; } +.jasmine_html-reporter p, .jasmine_html-reporter h1, .jasmine_html-reporter h2, .jasmine_html-reporter h3, .jasmine_html-reporter h4, .jasmine_html-reporter h5, .jasmine_html-reporter h6 { margin: 0; line-height: 14px; } +.jasmine_html-reporter .jasmine-banner, .jasmine_html-reporter .jasmine-symbol-summary, .jasmine_html-reporter .jasmine-summary, .jasmine_html-reporter .jasmine-result-message, .jasmine_html-reporter .jasmine-spec .jasmine-description, .jasmine_html-reporter .jasmine-spec-detail .jasmine-description, .jasmine_html-reporter .jasmine-alert .jasmine-bar, .jasmine_html-reporter .jasmine-stack-trace { padding-left: 9px; padding-right: 9px; } +.jasmine_html-reporter .jasmine-banner { position: relative; } +.jasmine_html-reporter .jasmine-banner .jasmine-title { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAZCAMAAACGusnyAAACdlBMVEX/////AP+AgICqVaqAQICZM5mAVYCSSZKAQICOOY6ATYCLRouAQICJO4mSSYCIRIiPQICHPIeOR4CGQ4aMQICGPYaLRoCFQ4WKQICPPYWJRYCOQoSJQICNPoSIRICMQoSHQICHRICKQoOHQICKPoOJO4OJQYOMQICMQ4CIQYKLQICIPoKLQ4CKQICNPoKJQISMQ4KJQoSLQYKJQISLQ4KIQoSKQYKIQICIQISMQoSKQYKLQIOLQoOJQYGLQIOKQIOMQoGKQYOLQYGKQIOLQoGJQYOJQIOKQYGJQIOKQoGKQIGLQIKLQ4KKQoGLQYKJQIGKQYKJQIGKQIKJQoGKQYKLQIGKQYKLQIOJQoKKQoOJQYKKQIOJQoKKQoOKQIOLQoKKQYOLQYKJQIOKQoKKQYKKQoKJQYOKQYKLQIOKQoKLQYOKQYKLQIOJQoGKQYKJQYGJQoGKQYKLQoGLQYGKQoGJQYKKQYGJQIKKQoGJQYKLQIKKQYGLQYKKQYGKQYGKQYKJQYOKQoKJQYOKQYKLQYOLQYOKQYKLQYOKQoKKQYKKQYOKQYOJQYKKQYKLQYKKQIKKQoKKQYKKQYKKQoKJQIKKQYKLQYKKQYKKQIKKQYKKQYKKQYKKQIKKQYKJQYGLQYGKQYKKQYKKQYGKQIKKQYGKQYOJQoKKQYOLQYKKQYOKQoKKQYKKQoKKQYKKQYKJQYKLQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKJQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKLQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKKQYKmIDpEAAAA0XRSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAiIyQlJycoKissLS4wMTQ1Njc4OTo7PDw+P0BCQ0RISUpLTE1OUFNUVVdYWFlaW15fYGFiY2ZnaGlqa2xtb3BxcnN0dnh5ent8fX5/gIGChIWIioyNjo+QkZOUlZaYmZqbnJ2eoKGio6WmqKmsra6vsLGztre4ubq7vL2+wMHDxMjJysvNzs/Q0dLU1tfY2dvc3t/g4eLj5ebn6Onq6+zt7u/w8vP09fb3+Pn6+/z9/vkVQXAAAAMaSURBVHhe5dXxV1N1GMfxz2ABbDgIAm5VDJOyVDIJLUMaVpBWUZUaGbmqoGpZRSiGiRWp6KoZ5AB0ZY50RImZQIlahKkMYXv/R90dBvET/rJfOr3Ouc8v99zPec59zvf56j+vYKlViSf7250X4Mr3O29Tgq08BdGB4DhcekEJ5YkQKFsgWZdtj9JpV+I8xPjLFqkrsEIqO8PHSpis36jWazcqjEsfJjkvRssVU37SdIOu4XCf5vEJPsnwJpnRNU9JmxhMk8l1gehIrq7hTFjzOD+Vf88629qKMJVNltInFeRexRQyJlNeqd1iGDlSzrIUIyXbyFfm3RYprcQRe7lqtWyGYbfc6dT0R2vmdOOkX3u55C1rP37ftiH+tDby4r/RBT0w8TyEkr+epB9XgPDmSYYWbrhCuFYaIyw3fDQAXTnSkh+ANofiHmWf9l+FY1I90FdQTetstO00o23novzVsJ7uB3/C5TkbjRwZ5JerwV4iRWq9HFbFMaK/d0TYqayRiQPuIxxS3Bu8JWU90/60tKi7vkhaznez0a/TbVOKj5CaOZh6fWG6/Lyv9B/ZLR1gw/S/fpbeVD3MCW1li6SvWDOn65tr99/uvWtBS0XDm4s1t+sOHpG0kpBKx/l77wOSnxLpcx6TXmXLTPQOKYOf9Q1dfr8/SJ2mFdCvl1Yl93DiHUZvXeLJbGSzYu5gVJ2slbSakOR8dxCq5adQ2oFLqsE9Ex3L4qQO0eOPeU5x56bypXp4onSEb5OkICX6lDat55TeoztNKQcJaakrz9KCb95oD69IKq+yKW4XPjknaS52V0TZqE2cTtXjcHSCRmUO88e+85hj3EP74i9p8pylw7lxgMDyyl6OV7ZejnjNMfatu87LxRbH0IS35gt2a4ZjmGpVBdKK3Wr6INk8jWWSGqbA55CKgjBRC6E9w78ydTg3ABS3AFV1QN0Y4Aa2pgEjWnQURj9L0ayK6R2ysEqxHUKzYnLvvyU+i9KM2JHJzE4vyZOyDcOwOsySajeLPc8sNvPJkFlyJd20wpqAzZeAfZ3oWybxd+P/3j+SG3uSBdf2VQAAAABJRU5ErkJggg==') no-repeat; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICB3aWR0aD0iNjgxLjk2MjUyIgogICBoZWlnaHQ9IjE4Ny41IgogICBpZD0ic3ZnMiIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhOCI+PHJkZjpSREY+PGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGRlZnMKICAgICBpZD0iZGVmczYiPjxjbGlwUGF0aAogICAgICAgaWQ9ImNsaXBQYXRoMTgiPjxwYXRoCiAgICAgICAgIGQ9Ik0gMCwxNTAwIDAsMCBsIDU0NTUuNzQsMCAwLDE1MDAgTCAwLDE1MDAgeiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgaWQ9InBhdGgyMCIgLz48L2NsaXBQYXRoPjwvZGVmcz48ZwogICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMjUsMCwwLC0xLjI1LDAsMTg3LjUpIgogICAgIGlkPSJnMTAiPjxnCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuMSwwLjEpIgogICAgICAgaWQ9ImcxMiI+PGcKICAgICAgICAgaWQ9ImcxNCI+PGcKICAgICAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxOCkiCiAgICAgICAgICAgaWQ9ImcxNiI+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTU0NCw1OTkuNDM0IGMgMC45MiwtNDAuMzUyIDI1LjY4LC04MS42MDIgNzEuNTMsLTgxLjYwMiAyNy41MSwwIDQ3LjY4LDEyLjgzMiA2MS40NCwzNS43NTQgMTIuODMsMjIuOTMgMTIuODMsNTYuODUyIDEyLjgzLDgyLjUyNyBsIDAsMzI5LjE4NCAtNzEuNTIsMCAwLDEwNC41NDMgMjY2LjgzLDAgMCwtMTA0LjU0MyAtNzAuNiwwIDAsLTM0NC43NyBjIDAsLTU4LjY5MSAtMy42OCwtMTA0LjUzMSAtNDQuOTMsLTE1Mi4yMTggLTM2LjY4LC00Mi4xOCAtOTYuMjgsLTY2LjAyIC0xNTMuMTQsLTY2LjAyIC0xMTcuMzcsMCAtMjA3LjI0LDc3Ljk0MSAtMjAyLjY0LDE5Ny4xNDUgbCAxMzAuMiwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMjIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDIzMDEuNCw2NjIuNjk1IGMgMCw4MC43MDMgLTY2Ljk0LDE0NS44MTMgLTE0Ny42MywxNDUuODEzIC04My40NCwwIC0xNDcuNjMsLTY4Ljc4MSAtMTQ3LjYzLC0xNTEuMzAxIDAsLTc5Ljc4NSA2Ni45NCwtMTQ1LjgwMSAxNDUuOCwtMTQ1LjgwMSA4NC4zNSwwIDE0OS40Niw2Ny44NTIgMTQ5LjQ2LDE1MS4yODkgeiBtIC0xLjgzLC0xODEuNTQ3IGMgLTM1Ljc3LC01NC4wOTcgLTkzLjUzLC03OC44NTkgLTE1Ny43MiwtNzguODU5IC0xNDAuMywwIC0yNTEuMjQsMTE2LjQ0OSAtMjUxLjI0LDI1NC45MTggMCwxNDIuMTI5IDExMy43LDI2MC40MSAyNTYuNzQsMjYwLjQxIDYzLjI3LDAgMTE4LjI5LC0yOS4zMzYgMTUyLjIyLC04Mi41MjMgbCAwLDY5LjY4NyAxNzUuMTQsMCAwLC0xMDQuNTI3IC02MS40NCwwIDAsLTI4MC41OTggNjEuNDQsMCAwLC0xMDQuNTI3IC0xNzUuMTQsMCAwLDY2LjAxOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAyNjIyLjMzLDU1Ny4yNTggYyAzLjY3LC00NC4wMTYgMzMuMDEsLTczLjM0OCA3OC44NiwtNzMuMzQ4IDMzLjkzLDAgNjYuOTMsMjMuODI0IDY2LjkzLDYwLjUwNCAwLDQ4LjYwNiAtNDUuODQsNTYuODU2IC04My40NCw2Ni45NDEgLTg1LjI4LDIyLjAwNCAtMTc4LjgxLDQ4LjYwNiAtMTc4LjgxLDE1NS44NzkgMCw5My41MzYgNzguODYsMTQ3LjYzMyAxNjUuOTgsMTQ3LjYzMyA0NCwwIDgzLjQzLC05LjE3NiAxMTAuOTQsLTQ0LjAwOCBsIDAsMzMuOTIyIDgyLjUzLDAgMCwtMTMyLjk2NSAtMTA4LjIxLDAgYyAtMS44MywzNC44NTYgLTI4LjQyLDU3Ljc3NCAtNjMuMjYsNTcuNzc0IC0zMC4yNiwwIC02Mi4zNSwtMTcuNDIyIC02Mi4zNSwtNTEuMzQ4IDAsLTQ1Ljg0NyA0NC45MywtNTUuOTMgODAuNjksLTY0LjE4IDg4LjAyLC0yMC4xNzUgMTgyLjQ3LC00Ny42OTUgMTgyLjQ3LC0xNTcuNzM0IDAsLTk5LjAyNyAtODMuNDQsLTE1NC4wMzkgLTE3NS4xMywtMTU0LjAzOSAtNDkuNTMsMCAtOTQuNDYsMTUuNTgyIC0xMjYuNTUsNTMuMTggbCAwLC00MC4zNCAtODUuMjcsMCAwLDE0Mi4xMjkgMTE0LjYyLDAiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGgyNiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMjk4OC4xOCw4MDAuMjU0IC02My4yNiwwIDAsMTA0LjUyNyAxNjUuMDUsMCAwLC03My4zNTUgYyAzMS4xOCw1MS4zNDcgNzguODYsODUuMjc3IDE0MS4yMSw4NS4yNzcgNjcuODUsMCAxMjQuNzEsLTQxLjI1OCAxNTIuMjEsLTEwMi42OTkgMjYuNiw2Mi4zNTEgOTIuNjIsMTAyLjY5OSAxNjAuNDcsMTAyLjY5OSA1My4xOSwwIDEwNS40NiwtMjIgMTQxLjIxLC02Mi4zNTEgMzguNTIsLTQ0LjkzOCAzOC41MiwtOTMuNTMyIDM4LjUyLC0xNDkuNDU3IGwgMCwtMTg1LjIzOSA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40MiwwIDAsMTA0LjUyNyA2My4yOCwwIDAsMTU3LjcxNSBjIDAsMzIuMTAyIDAsNjAuNTI3IC0xNC42Nyw4OC45NTcgLTE4LjM0LDI2LjU4MiAtNDguNjEsNDAuMzQ0IC03OS43Nyw0MC4zNDQgLTMwLjI2LDAgLTYzLjI4LC0xMi44NDQgLTgyLjUzLC0zNi42NzIgLTIyLjkzLC0yOS4zNTUgLTIyLjkzLC01Ni44NjMgLTIyLjkzLC05Mi42MjkgbCAwLC0xNTcuNzE1IDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM4LjQxLDAgMCwxMDQuNTI3IDYzLjI4LDAgMCwxNTAuMzgzIGMgMCwyOS4zNDggMCw2Ni4wMjMgLTE0LjY3LDkxLjY5OSAtMTUuNTksMjkuMzM2IC00Ny42OSw0NC45MzQgLTgwLjcsNDQuOTM0IC0zMS4xOCwwIC01Ny43NywtMTEuMDA4IC03Ny45NCwtMzUuNzc0IC0yNC43NywtMzAuMjUzIC0yNi42LC02Mi4zNDMgLTI2LjYsLTk5Ljk0MSBsIDAsLTE1MS4zMDEgNjMuMjcsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNiwwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAzOTk4LjY2LDk1MS41NDcgLTExMS44NywwIDAsMTE4LjI5MyAxMTEuODcsMCAwLC0xMTguMjkzIHogbSAwLC00MzEuODkxIDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM5LjMzLDAgMCwxMDQuNTI3IDY0LjE5LDAgMCwyODAuNTk4IC02My4yNywwIDAsMTA0LjUyNyAxNzUuMTQsMCAwLC0zODUuMTI1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzAiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDQxNTkuMTIsODAwLjI1NCAtNjMuMjcsMCAwLDEwNC41MjcgMTc1LjE0LDAgMCwtNjkuNjg3IGMgMjkuMzUsNTQuMTAxIDg0LjM2LDgwLjY5OSAxNDQuODcsODAuNjk5IDUzLjE5LDAgMTA1LjQ1LC0yMi4wMTYgMTQxLjIyLC02MC41MjcgNDAuMzQsLTQ0LjkzNCA0MS4yNiwtODguMDMyIDQxLjI2LC0xNDMuOTU3IGwgMCwtMTkxLjY1MyA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40LDAgMCwxMDQuNTI3IDYzLjI2LDAgMCwxNTguNjM3IGMgMCwzMC4yNjIgMCw2MS40MzQgLTE5LjI2LDg4LjAzNSAtMjAuMTcsMjYuNTgyIC01My4xOCwzOS40MTQgLTg2LjE5LDM5LjQxNCAtMzMuOTMsMCAtNjguNzcsLTEzLjc1IC04OC45NCwtNDEuMjUgLTIxLjA5LC0yNy41IC0yMS4wOSwtNjkuNjg3IC0yMS4wOSwtMTAyLjcwNyBsIDAsLTE0Mi4xMjkgNjMuMjYsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNywwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDMyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA1MDgyLjQ4LDcwMy45NjUgYyAtMTkuMjQsNzAuNjA1IC04MS42LDExNS41NDcgLTE1NC4wNCwxMTUuNTQ3IC02Ni4wNCwwIC0xMjkuMywtNTEuMzQ4IC0xNDMuMDUsLTExNS41NDcgbCAyOTcuMDksMCB6IG0gODUuMjcsLTE0NC44ODMgYyAtMzguNTEsLTkzLjUyMyAtMTI5LjI3LC0xNTYuNzkzIC0yMzEuMDUsLTE1Ni43OTMgLTE0My4wNywwIC0yNTcuNjgsMTExLjg3MSAtMjU3LjY4LDI1NS44MzYgMCwxNDQuODgzIDEwOS4xMiwyNjEuMzI4IDI1NC45MSwyNjEuMzI4IDY3Ljg3LDAgMTM1LjcyLC0zMC4yNTggMTgzLjM5LC03OC44NjMgNDguNjIsLTUxLjM0NCA2OC43OSwtMTEzLjY5NSA2OC43OSwtMTgzLjM4MyBsIC0zLjY3LC0zOS40MzQgLTM5Ni4xMywwIGMgMTQuNjcsLTY3Ljg2MyA3Ny4wMywtMTE3LjM2MyAxNDYuNzIsLTExNy4zNjMgNDguNTksMCA5MC43NiwxOC4zMjggMTE4LjI4LDU4LjY3MiBsIDExNi40NCwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDY5MC44OTUsODUwLjcwMyA5MC43NSwwIDIyLjU0MywzMS4wMzUgMCwyNDMuMTIyIC0xMzUuODI5LDAgMCwtMjQzLjE0MSAyMi41MzYsLTMxLjAxNiIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDM2IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA2MzIuMzk1LDc0Mi4yNTggMjguMDM5LDg2LjMwNCAtMjIuNTUxLDMxLjA0IC0yMzEuMjIzLDc1LjEyOCAtNDEuOTc2LC0xMjkuMTgzIDIzMS4yNTcsLTc1LjEzNyAzNi40NTQsMTEuODQ4IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzgiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDcxNy40NDksNjUzLjEwNSAtNzMuNDEsNTMuMzYgLTM2LjQ4OCwtMTEuODc1IC0xNDIuOTAzLC0xOTYuNjkyIDEwOS44ODMsLTc5LjgyOCAxNDIuOTE4LDE5Ni43MDMgMCwzOC4zMzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0MCIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gODI4LjUyLDcwNi40NjUgLTczLjQyNiwtNTMuMzQgMC4wMTEsLTM4LjM1OSBMIDg5OC4wMDQsNDE4LjA3IDEwMDcuOSw0OTcuODk4IDg2NC45NzMsNjk0LjYwOSA4MjguNTIsNzA2LjQ2NSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA4MTIuMDg2LDgyOC41ODYgMjguMDU1LC04Ni4zMiAzNi40ODQsLTExLjgzNiAyMzEuMjI1LDc1LjExNyAtNDEuOTcsMTI5LjE4MyAtMjMxLjIzOSwtNzUuMTQgLTIyLjU1NSwtMzEuMDA0IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNDQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDczNi4zMDEsMTMzNS44OCBjIC0zMjMuMDQ3LDAgLTU4NS44NzUsLTI2Mi43OCAtNTg1Ljg3NSwtNTg1Ljc4MiAwLC0zMjMuMTE4IDI2Mi44MjgsLTU4NS45NzcgNTg1Ljg3NSwtNTg1Ljk3NyAzMjMuMDE5LDAgNTg1LjgwOSwyNjIuODU5IDU4NS44MDksNTg1Ljk3NyAwLDMyMy4wMDIgLTI2Mi43OSw1ODUuNzgyIC01ODUuODA5LDU4NS43ODIgbCAwLDAgeiBtIDAsLTExOC42MSBjIDI1Ny45NzIsMCA0NjcuMTg5LC0yMDkuMTMgNDY3LjE4OSwtNDY3LjE3MiAwLC0yNTguMTI5IC0yMDkuMjE3LC00NjcuMzQ4IC00NjcuMTg5LC00NjcuMzQ4IC0yNTguMDc0LDAgLTQ2Ny4yNTQsMjA5LjIxOSAtNDY3LjI1NCw0NjcuMzQ4IDAsMjU4LjA0MiAyMDkuMTgsNDY3LjE3MiA0NjcuMjU0LDQ2Ny4xNzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0NiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTA5MS4xMyw2MTkuODgzIC0xNzUuNzcxLDU3LjEyMSAxMS42MjksMzUuODA4IDE3NS43NjIsLTU3LjEyMSAtMTEuNjIsLTM1LjgwOCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQ4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA4NjYuOTU3LDkwMi4wNzQgODM2LjUsOTI0LjE5OSA5NDUuMTIxLDEwNzMuNzMgOTc1LjU4NiwxMDUxLjYxIDg2Ni45NTcsOTAyLjA3NCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDUwIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA2MDcuNDY1LDkwMy40NDUgNDk4Ljg1NSwxMDUyLjk3IDUyOS4zMiwxMDc1LjEgNjM3LjkzLDkyNS41NjYgNjA3LjQ2NSw5MDMuNDQ1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDM4MC42ODgsNjIyLjEyOSAtMTEuNjI2LDM1LjgwMSAxNzUuNzU4LDU3LjA5IDExLjYyMSwtMzUuODAxIC0xNzUuNzUzLC01Ny4wOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDU0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA3MTYuMjg5LDM3Ni41OSAzNy42NDA2LDAgMCwxODQuODE2IC0zNy42NDA2LDAgMCwtMTg0LjgxNiB6IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTYiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=') no-repeat, none; -moz-background-size: 100%; -o-background-size: 100%; -webkit-background-size: 100%; background-size: 100%; display: block; float: left; width: 90px; height: 25px; } +.jasmine_html-reporter .jasmine-banner .jasmine-version { margin-left: 14px; position: relative; top: 6px; } +.jasmine_html-reporter #jasmine_content { position: fixed; right: 100%; } +.jasmine_html-reporter .jasmine-version { color: #aaa; } +.jasmine_html-reporter .jasmine-banner { margin-top: 14px; } +.jasmine_html-reporter .jasmine-duration { color: #fff; float: right; line-height: 28px; padding-right: 9px; } +.jasmine_html-reporter .jasmine-symbol-summary { overflow: hidden; *zoom: 1; margin: 14px 0; } +.jasmine_html-reporter .jasmine-symbol-summary li { display: inline-block; height: 10px; width: 14px; font-size: 16px; } +.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-passed { font-size: 14px; } +.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-passed:before { color: #007069; content: "\02022"; } +.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-failed { line-height: 9px; } +.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-failed:before { color: #ca3a11; content: "\d7"; font-weight: bold; margin-left: -1px; } +.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-disabled { font-size: 14px; } +.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-disabled:before { color: #bababa; content: "\02022"; } +.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-pending { line-height: 17px; } +.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-pending:before { color: #ba9d37; content: "*"; } +.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-empty { font-size: 14px; } +.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-empty:before { color: #ba9d37; content: "\02022"; } +.jasmine_html-reporter .jasmine-run-options { float: right; margin-right: 5px; border: 1px solid #8a4182; color: #8a4182; position: relative; line-height: 20px; } +.jasmine_html-reporter .jasmine-run-options .jasmine-trigger { cursor: pointer; padding: 8px 16px; } +.jasmine_html-reporter .jasmine-run-options .jasmine-payload { position: absolute; display: none; right: -1px; border: 1px solid #8a4182; background-color: #eee; white-space: nowrap; padding: 4px 8px; } +.jasmine_html-reporter .jasmine-run-options .jasmine-payload.jasmine-open { display: block; } +.jasmine_html-reporter .jasmine-bar { line-height: 28px; font-size: 14px; display: block; color: #eee; } +.jasmine_html-reporter .jasmine-bar.jasmine-failed { background-color: #ca3a11; } +.jasmine_html-reporter .jasmine-bar.jasmine-passed { background-color: #007069; } +.jasmine_html-reporter .jasmine-bar.jasmine-skipped { background-color: #bababa; } +.jasmine_html-reporter .jasmine-bar.jasmine-errored { background-color: #ca3a11; } +.jasmine_html-reporter .jasmine-bar.jasmine-warning { background-color: #ba9d37; color: #333; } +.jasmine_html-reporter .jasmine-bar.jasmine-menu { background-color: #fff; color: #aaa; } +.jasmine_html-reporter .jasmine-bar.jasmine-menu a { color: #333; } +.jasmine_html-reporter .jasmine-bar a { color: white; } +.jasmine_html-reporter.jasmine-spec-list .jasmine-bar.jasmine-menu.jasmine-failure-list, .jasmine_html-reporter.jasmine-spec-list .jasmine-results .jasmine-failures { display: none; } +.jasmine_html-reporter.jasmine-failure-list .jasmine-bar.jasmine-menu.jasmine-spec-list, .jasmine_html-reporter.jasmine-failure-list .jasmine-summary { display: none; } +.jasmine_html-reporter .jasmine-results { margin-top: 14px; } +.jasmine_html-reporter .jasmine-summary { margin-top: 14px; } +.jasmine_html-reporter .jasmine-summary ul { list-style-type: none; margin-left: 14px; padding-top: 0; padding-left: 0; } +.jasmine_html-reporter .jasmine-summary ul.jasmine-suite { margin-top: 7px; margin-bottom: 7px; } +.jasmine_html-reporter .jasmine-summary li.jasmine-passed a { color: #007069; } +.jasmine_html-reporter .jasmine-summary li.jasmine-failed a { color: #ca3a11; } +.jasmine_html-reporter .jasmine-summary li.jasmine-empty a { color: #ba9d37; } +.jasmine_html-reporter .jasmine-summary li.jasmine-pending a { color: #ba9d37; } +.jasmine_html-reporter .jasmine-summary li.jasmine-disabled a { color: #bababa; } +.jasmine_html-reporter .jasmine-description + .jasmine-suite { margin-top: 0; } +.jasmine_html-reporter .jasmine-suite { margin-top: 14px; } +.jasmine_html-reporter .jasmine-suite a { color: #333; } +.jasmine_html-reporter .jasmine-failures .jasmine-spec-detail { margin-bottom: 28px; } +.jasmine_html-reporter .jasmine-failures .jasmine-spec-detail .jasmine-description { background-color: #ca3a11; } +.jasmine_html-reporter .jasmine-failures .jasmine-spec-detail .jasmine-description a { color: white; } +.jasmine_html-reporter .jasmine-result-message { padding-top: 14px; color: #333; white-space: pre; } +.jasmine_html-reporter .jasmine-result-message span.jasmine-result { display: block; } +.jasmine_html-reporter .jasmine-stack-trace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #666; border: 1px solid #ddd; background: white; white-space: pre; } diff --git a/.grunt/grunt-contrib-jasmine/jasmine.js b/.grunt/grunt-contrib-jasmine/jasmine.js new file mode 100644 index 0000000..5580539 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/jasmine.js @@ -0,0 +1,5586 @@ +/* +Copyright (c) 2008-2018 Pivotal Labs + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +var getJasmineRequireObj = (function (jasmineGlobal) { + var jasmineRequire; + + if (typeof module !== 'undefined' && module.exports && typeof exports !== 'undefined') { + if (typeof global !== 'undefined') { + jasmineGlobal = global; + } else { + jasmineGlobal = {}; + } + jasmineRequire = exports; + } else { + if (typeof window !== 'undefined' && typeof window.toString === 'function' && window.toString() === '[object GjsGlobal]') { + jasmineGlobal = window; + } + jasmineRequire = jasmineGlobal.jasmineRequire = {}; + } + + function getJasmineRequire() { + return jasmineRequire; + } + + getJasmineRequire().core = function(jRequire) { + var j$ = {}; + + jRequire.base(j$, jasmineGlobal); + j$.util = jRequire.util(j$); + j$.errors = jRequire.errors(); + j$.formatErrorMsg = jRequire.formatErrorMsg(); + j$.Any = jRequire.Any(j$); + j$.Anything = jRequire.Anything(j$); + j$.CallTracker = jRequire.CallTracker(j$); + j$.MockDate = jRequire.MockDate(); + j$.getClearStack = jRequire.clearStack(j$); + j$.Clock = jRequire.Clock(); + j$.DelayedFunctionScheduler = jRequire.DelayedFunctionScheduler(j$); + j$.Env = jRequire.Env(j$); + j$.ExceptionFormatter = jRequire.ExceptionFormatter(); + j$.Expectation = jRequire.Expectation(); + j$.buildExpectationResult = jRequire.buildExpectationResult(); + j$.JsApiReporter = jRequire.JsApiReporter(); + j$.matchersUtil = jRequire.matchersUtil(j$); + j$.ObjectContaining = jRequire.ObjectContaining(j$); + j$.ArrayContaining = jRequire.ArrayContaining(j$); + j$.ArrayWithExactContents = jRequire.ArrayWithExactContents(j$); + j$.pp = jRequire.pp(j$); + j$.QueueRunner = jRequire.QueueRunner(j$); + j$.ReportDispatcher = jRequire.ReportDispatcher(j$); + j$.Spec = jRequire.Spec(j$); + j$.Spy = jRequire.Spy(j$); + j$.SpyRegistry = jRequire.SpyRegistry(j$); + j$.SpyStrategy = jRequire.SpyStrategy(j$); + j$.StringMatching = jRequire.StringMatching(j$); + j$.UserContext = jRequire.UserContext(j$); + j$.Suite = jRequire.Suite(j$); + j$.Timer = jRequire.Timer(); + j$.TreeProcessor = jRequire.TreeProcessor(); + j$.version = jRequire.version(); + j$.Order = jRequire.Order(); + j$.DiffBuilder = jRequire.DiffBuilder(j$); + j$.NullDiffBuilder = jRequire.NullDiffBuilder(j$); + j$.ObjectPath = jRequire.ObjectPath(j$); + j$.GlobalErrors = jRequire.GlobalErrors(j$); + + j$.matchers = jRequire.requireMatchers(jRequire, j$); + + return j$; + }; + + return getJasmineRequire; +})(this); + +getJasmineRequireObj().requireMatchers = function(jRequire, j$) { + var availableMatchers = [ + 'nothing', + 'toBe', + 'toBeCloseTo', + 'toBeDefined', + 'toBeFalsy', + 'toBeGreaterThan', + 'toBeGreaterThanOrEqual', + 'toBeLessThan', + 'toBeLessThanOrEqual', + 'toBeNaN', + 'toBeNegativeInfinity', + 'toBeNull', + 'toBePositiveInfinity', + 'toBeTruthy', + 'toBeUndefined', + 'toContain', + 'toEqual', + 'toHaveBeenCalled', + 'toHaveBeenCalledBefore', + 'toHaveBeenCalledTimes', + 'toHaveBeenCalledWith', + 'toMatch', + 'toThrow', + 'toThrowError' + ], + matchers = {}; + + for (var i = 0; i < availableMatchers.length; i++) { + var name = availableMatchers[i]; + matchers[name] = jRequire[name](j$); + } + + return matchers; +}; + +getJasmineRequireObj().base = function(j$, jasmineGlobal) { + j$.unimplementedMethod_ = function() { + throw new Error('unimplemented method'); + }; + + /** + * Maximum object depth the pretty printer will print to. + * Set this to a lower value to speed up pretty printing if you have large objects. + * @name jasmine.MAX_PRETTY_PRINT_DEPTH + */ + j$.MAX_PRETTY_PRINT_DEPTH = 8; + /** + * Maximum number of array elements to display when pretty printing objects. + * This will also limit the number of keys and values displayed for an object. + * Elements past this number will be ellipised. + * @name jasmine.MAX_PRETTY_PRINT_ARRAY_LENGTH + */ + j$.MAX_PRETTY_PRINT_ARRAY_LENGTH = 50; + /** + * Maximum number of charasters to display when pretty printing objects. + * Characters past this number will be ellipised. + * @name jasmine.MAX_PRETTY_PRINT_CHARS + */ + j$.MAX_PRETTY_PRINT_CHARS = 1000; + /** + * Default number of milliseconds Jasmine will wait for an asynchronous spec to complete. + * @name jasmine.DEFAULT_TIMEOUT_INTERVAL + */ + j$.DEFAULT_TIMEOUT_INTERVAL = 5000; + + j$.getGlobal = function() { + return jasmineGlobal; + }; + + /** + * Get the currently booted Jasmine Environment. + * + * @name jasmine.getEnv + * @function + * @return {Env} + */ + j$.getEnv = function(options) { + var env = j$.currentEnv_ = j$.currentEnv_ || new j$.Env(options); + //jasmine. singletons in here (setTimeout blah blah). + return env; + }; + + j$.isArray_ = function(value) { + return j$.isA_('Array', value); + }; + + j$.isObject_ = function(value) { + return !j$.util.isUndefined(value) && value !== null && j$.isA_('Object', value); + }; + + j$.isString_ = function(value) { + return j$.isA_('String', value); + }; + + j$.isNumber_ = function(value) { + return j$.isA_('Number', value); + }; + + j$.isFunction_ = function(value) { + return j$.isA_('Function', value); + }; + + j$.isAsyncFunction_ = function(value) { + return j$.isA_('AsyncFunction', value); + }; + + j$.isTypedArray_ = function(value) { + return j$.isA_('Float32Array', value) || + j$.isA_('Float64Array', value) || + j$.isA_('Int16Array', value) || + j$.isA_('Int32Array', value) || + j$.isA_('Int8Array', value) || + j$.isA_('Uint16Array', value) || + j$.isA_('Uint32Array', value) || + j$.isA_('Uint8Array', value) || + j$.isA_('Uint8ClampedArray', value); + }; + + j$.isA_ = function(typeName, value) { + return j$.getType_(value) === '[object ' + typeName + ']'; + }; + + j$.getType_ = function(value) { + return Object.prototype.toString.apply(value); + }; + + j$.isDomNode = function(obj) { + return obj.nodeType > 0; + }; + + j$.isMap = function(obj) { + return typeof jasmineGlobal.Map !== 'undefined' && obj.constructor === jasmineGlobal.Map; + }; + + j$.isSet = function(obj) { + return typeof jasmineGlobal.Set !== 'undefined' && obj.constructor === jasmineGlobal.Set; + }; + + j$.isPromise = function(obj) { + return typeof jasmineGlobal.Promise !== 'undefined' && obj.constructor === jasmineGlobal.Promise; + }; + + j$.fnNameFor = function(func) { + if (func.name) { + return func.name; + } + + var matches = func.toString().match(/^\s*function\s*(\w*)\s*\(/) || + func.toString().match(/^\s*\[object\s*(\w*)Constructor\]/); + + return matches ? matches[1] : ''; + }; + + /** + * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}), + * that will succeed if the actual value being compared is an instance of the specified class/constructor. + * @name jasmine.any + * @function + * @param {Constructor} clazz - The constructor to check against. + */ + j$.any = function(clazz) { + return new j$.Any(clazz); + }; + + /** + * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}), + * that will succeed if the actual value being compared is not `null` and not `undefined`. + * @name jasmine.anything + * @function + */ + j$.anything = function() { + return new j$.Anything(); + }; + + /** + * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}), + * that will succeed if the actual value being compared contains at least the keys and values. + * @name jasmine.objectContaining + * @function + * @param {Object} sample - The subset of properties that _must_ be in the actual. + */ + j$.objectContaining = function(sample) { + return new j$.ObjectContaining(sample); + }; + + /** + * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}), + * that will succeed if the actual value is a `String` that matches the `RegExp` or `String`. + * @name jasmine.stringMatching + * @function + * @param {RegExp|String} expected + */ + j$.stringMatching = function(expected) { + return new j$.StringMatching(expected); + }; + + /** + * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}), + * that will succeed if the actual value is an `Array` that contains at least the elements in the sample. + * @name jasmine.arrayContaining + * @function + * @param {Array} sample + */ + j$.arrayContaining = function(sample) { + return new j$.ArrayContaining(sample); + }; + + /** + * Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}), + * that will succeed if the actual value is an `Array` that contains all of the elements in the sample in any order. + * @name jasmine.arrayWithExactContents + * @function + * @param {Array} sample + */ + j$.arrayWithExactContents = function(sample) { + return new j$.ArrayWithExactContents(sample); + }; + + /** + * Create a bare {@link Spy} object. This won't be installed anywhere and will not have any implementation behind it. + * @name jasmine.createSpy + * @function + * @param {String} [name] - Name to give the spy. This will be displayed in failure messages. + * @param {Function} [originalFn] - Function to act as the real implementation. + * @return {Spy} + */ + j$.createSpy = function(name, originalFn) { + return j$.Spy(name, originalFn); + }; + + j$.isSpy = function(putativeSpy) { + if (!putativeSpy) { + return false; + } + return putativeSpy.and instanceof j$.SpyStrategy && + putativeSpy.calls instanceof j$.CallTracker; + }; + + /** + * Create an object with multiple {@link Spy}s as its members. + * @name jasmine.createSpyObj + * @function + * @param {String} [baseName] - Base name for the spies in the object. + * @param {String[]|Object} methodNames - Array of method names to create spies for, or Object whose keys will be method names and values the {@link Spy#and#returnValue|returnValue}. + * @return {Object} + */ + j$.createSpyObj = function(baseName, methodNames) { + var baseNameIsCollection = j$.isObject_(baseName) || j$.isArray_(baseName); + + if (baseNameIsCollection && j$.util.isUndefined(methodNames)) { + methodNames = baseName; + baseName = 'unknown'; + } + + var obj = {}; + var spiesWereSet = false; + + if (j$.isArray_(methodNames)) { + for (var i = 0; i < methodNames.length; i++) { + obj[methodNames[i]] = j$.createSpy(baseName + '.' + methodNames[i]); + spiesWereSet = true; + } + } else if (j$.isObject_(methodNames)) { + for (var key in methodNames) { + if (methodNames.hasOwnProperty(key)) { + obj[key] = j$.createSpy(baseName + '.' + key); + obj[key].and.returnValue(methodNames[key]); + spiesWereSet = true; + } + } + } + + if (!spiesWereSet) { + throw 'createSpyObj requires a non-empty array or object of method names to create spies for'; + } + + return obj; + }; +}; + +getJasmineRequireObj().util = function(j$) { + + var util = {}; + + util.inherit = function(childClass, parentClass) { + var Subclass = function() { + }; + Subclass.prototype = parentClass.prototype; + childClass.prototype = new Subclass(); + }; + + util.htmlEscape = function(str) { + if (!str) { + return str; + } + return str.replace(/&/g, '&') + .replace(//g, '>'); + }; + + util.argsToArray = function(args) { + var arrayOfArgs = []; + for (var i = 0; i < args.length; i++) { + arrayOfArgs.push(args[i]); + } + return arrayOfArgs; + }; + + util.isUndefined = function(obj) { + return obj === void 0; + }; + + util.arrayContains = function(array, search) { + var i = array.length; + while (i--) { + if (array[i] === search) { + return true; + } + } + return false; + }; + + util.clone = function(obj) { + if (Object.prototype.toString.apply(obj) === '[object Array]') { + return obj.slice(); + } + + var cloned = {}; + for (var prop in obj) { + if (obj.hasOwnProperty(prop)) { + cloned[prop] = obj[prop]; + } + } + + return cloned; + }; + + util.cloneArgs = function(args) { + var clonedArgs = []; + var argsAsArray = j$.util.argsToArray(args); + for(var i = 0; i < argsAsArray.length; i++) { + var str = Object.prototype.toString.apply(argsAsArray[i]), + primitives = /^\[object (Boolean|String|RegExp|Number)/; + + // All falsey values are either primitives, `null`, or `undefined. + if (!argsAsArray[i] || str.match(primitives)) { + clonedArgs.push(argsAsArray[i]); + } else { + clonedArgs.push(j$.util.clone(argsAsArray[i])); + } + } + return clonedArgs; + }; + + util.getPropertyDescriptor = function(obj, methodName) { + var descriptor, + proto = obj; + + do { + descriptor = Object.getOwnPropertyDescriptor(proto, methodName); + proto = Object.getPrototypeOf(proto); + } while (!descriptor && proto); + + return descriptor; + }; + + util.objectDifference = function(obj, toRemove) { + var diff = {}; + + for (var key in obj) { + if (util.has(obj, key) && !util.has(toRemove, key)) { + diff[key] = obj[key]; + } + } + + return diff; + }; + + util.has = function(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); + }; + + return util; +}; + +getJasmineRequireObj().Spec = function(j$) { + function Spec(attrs) { + this.expectationFactory = attrs.expectationFactory; + this.resultCallback = attrs.resultCallback || function() {}; + this.id = attrs.id; + this.description = attrs.description || ''; + this.queueableFn = attrs.queueableFn; + this.beforeAndAfterFns = attrs.beforeAndAfterFns || function() { return {befores: [], afters: []}; }; + this.userContext = attrs.userContext || function() { return {}; }; + this.onStart = attrs.onStart || function() {}; + this.getSpecName = attrs.getSpecName || function() { return ''; }; + this.expectationResultFactory = attrs.expectationResultFactory || function() { }; + this.queueRunnerFactory = attrs.queueRunnerFactory || function() {}; + this.catchingExceptions = attrs.catchingExceptions || function() { return true; }; + this.throwOnExpectationFailure = !!attrs.throwOnExpectationFailure; + + if (!this.queueableFn.fn) { + this.pend(); + } + + /** + * @typedef SpecResult + * @property {Int} id - The unique id of this spec. + * @property {String} description - The description passed to the {@link it} that created this spec. + * @property {String} fullName - The full description including all ancestors of this spec. + * @property {Expectation[]} failedExpectations - The list of expectations that failed during execution of this spec. + * @property {Expectation[]} passedExpectations - The list of expectations that passed during execution of this spec. + * @property {Expectation[]} deprecationWarnings - The list of deprecation warnings that occurred during execution this spec. + * @property {String} pendingReason - If the spec is {@link pending}, this will be the reason. + * @property {String} status - Once the spec has completed, this string represents the pass/fail status of this spec. + */ + this.result = { + id: this.id, + description: this.description, + fullName: this.getFullName(), + failedExpectations: [], + passedExpectations: [], + deprecationWarnings: [], + pendingReason: '' + }; + } + + Spec.prototype.addExpectationResult = function(passed, data, isError) { + var expectationResult = this.expectationResultFactory(data); + if (passed) { + this.result.passedExpectations.push(expectationResult); + } else { + this.result.failedExpectations.push(expectationResult); + + if (this.throwOnExpectationFailure && !isError) { + throw new j$.errors.ExpectationFailed(); + } + } + }; + + Spec.prototype.expect = function(actual) { + return this.expectationFactory(actual, this); + }; + + Spec.prototype.execute = function(onComplete, enabled) { + var self = this; + + this.onStart(this); + + var fns = this.beforeAndAfterFns(); + var regularFns = fns.befores.concat(this.queueableFn); + + var runnerConfig = { + isLeaf: true, + queueableFns: regularFns, + cleanupFns: fns.afters, + onException: function() { self.onException.apply(self, arguments); }, + onComplete: complete, + userContext: this.userContext() + }; + + if (!this.isExecutable() || this.markedPending || enabled === false) { + runnerConfig.queueableFns = []; + runnerConfig.cleanupFns = []; + runnerConfig.onComplete = function() { complete(enabled); }; + } + + this.queueRunnerFactory(runnerConfig); + + function complete(enabledAgain) { + self.result.status = self.status(enabledAgain); + self.resultCallback(self.result); + + if (onComplete) { + onComplete(); + } + } + }; + + Spec.prototype.onException = function onException(e) { + if (Spec.isPendingSpecException(e)) { + this.pend(extractCustomPendingMessage(e)); + return; + } + + if (e instanceof j$.errors.ExpectationFailed) { + return; + } + + this.addExpectationResult(false, { + matcherName: '', + passed: false, + expected: '', + actual: '', + error: e + }, true); + }; + + Spec.prototype.disable = function() { + this.disabled = true; + }; + + Spec.prototype.pend = function(message) { + this.markedPending = true; + if (message) { + this.result.pendingReason = message; + } + }; + + Spec.prototype.getResult = function() { + this.result.status = this.status(); + return this.result; + }; + + Spec.prototype.status = function(enabled) { + if (this.disabled || enabled === false) { + return 'disabled'; + } + + if (this.markedPending) { + return 'pending'; + } + + if (this.result.failedExpectations.length > 0) { + return 'failed'; + } else { + return 'passed'; + } + }; + + Spec.prototype.isExecutable = function() { + return !this.disabled; + }; + + Spec.prototype.getFullName = function() { + return this.getSpecName(this); + }; + + Spec.prototype.addDeprecationWarning = function(msg) { + this.result.deprecationWarnings.push(this.expectationResultFactory({ message: msg })); + }; + + var extractCustomPendingMessage = function(e) { + var fullMessage = e.toString(), + boilerplateStart = fullMessage.indexOf(Spec.pendingSpecExceptionMessage), + boilerplateEnd = boilerplateStart + Spec.pendingSpecExceptionMessage.length; + + return fullMessage.substr(boilerplateEnd); + }; + + Spec.pendingSpecExceptionMessage = '=> marked Pending'; + + Spec.isPendingSpecException = function(e) { + return !!(e && e.toString && e.toString().indexOf(Spec.pendingSpecExceptionMessage) !== -1); + }; + + return Spec; +}; + +if (typeof window == void 0 && typeof exports == 'object') { + exports.Spec = jasmineRequire.Spec; +} + +/*jshint bitwise: false*/ + +getJasmineRequireObj().Order = function() { + function Order(options) { + this.random = 'random' in options ? options.random : true; + var seed = this.seed = options.seed || generateSeed(); + this.sort = this.random ? randomOrder : naturalOrder; + + function naturalOrder(items) { + return items; + } + + function randomOrder(items) { + var copy = items.slice(); + copy.sort(function(a, b) { + return jenkinsHash(seed + a.id) - jenkinsHash(seed + b.id); + }); + return copy; + } + + function generateSeed() { + return String(Math.random()).slice(-5); + } + + // Bob Jenkins One-at-a-Time Hash algorithm is a non-cryptographic hash function + // used to get a different output when the key changes slighly. + // We use your return to sort the children randomly in a consistent way when + // used in conjunction with a seed + + function jenkinsHash(key) { + var hash, i; + for(hash = i = 0; i < key.length; ++i) { + hash += key.charCodeAt(i); + hash += (hash << 10); + hash ^= (hash >> 6); + } + hash += (hash << 3); + hash ^= (hash >> 11); + hash += (hash << 15); + return hash; + } + + } + + return Order; +}; + +getJasmineRequireObj().Env = function(j$) { + /** + * _Note:_ Do not construct this directly, Jasmine will make one during booting. + * @name Env + * @classdesc The Jasmine environment + * @constructor + */ + function Env(options) { + options = options || {}; + + var self = this; + var global = options.global || j$.getGlobal(); + + var hasExecuted = false; + + var totalSpecsDefined = 0; + + var catchExceptions = true; + + var realSetTimeout = j$.getGlobal().setTimeout; + var realClearTimeout = j$.getGlobal().clearTimeout; + var clearStack = j$.getClearStack(j$.getGlobal()); + this.clock = new j$.Clock(global, function () { return new j$.DelayedFunctionScheduler(); }, new j$.MockDate(global)); + + var runnableResources = {}; + + var currentSpec = null; + var currentlyExecutingSuites = []; + var currentDeclarationSuite = null; + var throwOnExpectationFailure = false; + var random = false; + var seed = null; + + var currentSuite = function() { + return currentlyExecutingSuites[currentlyExecutingSuites.length - 1]; + }; + + var currentRunnable = function() { + return currentSpec || currentSuite(); + }; + + /** + * This represents the available reporter callback for an object passed to {@link Env#addReporter}. + * @interface Reporter + */ + var reporter = new j$.ReportDispatcher([ + /** + * `jasmineStarted` is called after all of the specs have been loaded, but just before execution starts. + * @function + * @name Reporter#jasmineStarted + * @param {JasmineStartedInfo} suiteInfo Information about the full Jasmine suite that is being run + */ + 'jasmineStarted', + /** + * When the entire suite has finished execution `jasmineDone` is called + * @function + * @name Reporter#jasmineDone + * @param {JasmineDoneInfo} suiteInfo Information about the full Jasmine suite that just finished running. + */ + 'jasmineDone', + /** + * `suiteStarted` is invoked when a `describe` starts to run + * @function + * @name Reporter#suiteStarted + * @param {SuiteResult} result Information about the individual {@link describe} being run + */ + 'suiteStarted', + /** + * `suiteDone` is invoked when all of the child specs and suites for a given suite have been run + * + * While jasmine doesn't require any specific functions, not defining a `suiteDone` will make it impossible for a reporter to know when a suite has failures in an `afterAll`. + * @function + * @name Reporter#suiteDone + * @param {SuiteResult} result + */ + 'suiteDone', + /** + * `specStarted` is invoked when an `it` starts to run (including associated `beforeEach` functions) + * @function + * @name Reporter#specStarted + * @param {SpecResult} result Information about the individual {@link it} being run + */ + 'specStarted', + /** + * `specDone` is invoked when an `it` and its associated `beforeEach` and `afterEach` functions have been run. + * + * While jasmine doesn't require any specific functions, not defining a `specDone` will make it impossible for a reporter to know when a spec has failed. + * @function + * @name Reporter#specDone + * @param {SpecResult} result + */ + 'specDone' + ]); + + var globalErrors = new j$.GlobalErrors(); + + this.specFilter = function() { + return true; + }; + + this.addCustomEqualityTester = function(tester) { + if(!currentRunnable()) { + throw new Error('Custom Equalities must be added in a before function or a spec'); + } + runnableResources[currentRunnable().id].customEqualityTesters.push(tester); + }; + + this.addMatchers = function(matchersToAdd) { + if(!currentRunnable()) { + throw new Error('Matchers must be added in a before function or a spec'); + } + var customMatchers = runnableResources[currentRunnable().id].customMatchers; + for (var matcherName in matchersToAdd) { + customMatchers[matcherName] = matchersToAdd[matcherName]; + } + }; + + j$.Expectation.addCoreMatchers(j$.matchers); + + var nextSpecId = 0; + var getNextSpecId = function() { + return 'spec' + nextSpecId++; + }; + + var nextSuiteId = 0; + var getNextSuiteId = function() { + return 'suite' + nextSuiteId++; + }; + + var expectationFactory = function(actual, spec) { + return j$.Expectation.Factory({ + util: j$.matchersUtil, + customEqualityTesters: runnableResources[spec.id].customEqualityTesters, + customMatchers: runnableResources[spec.id].customMatchers, + actual: actual, + addExpectationResult: addExpectationResult + }); + + function addExpectationResult(passed, result) { + return spec.addExpectationResult(passed, result); + } + }; + + var defaultResourcesForRunnable = function(id, parentRunnableId) { + var resources = {spies: [], customEqualityTesters: [], customMatchers: {}}; + + if(runnableResources[parentRunnableId]){ + resources.customEqualityTesters = j$.util.clone(runnableResources[parentRunnableId].customEqualityTesters); + resources.customMatchers = j$.util.clone(runnableResources[parentRunnableId].customMatchers); + } + + runnableResources[id] = resources; + }; + + var clearResourcesForRunnable = function(id) { + spyRegistry.clearSpies(); + delete runnableResources[id]; + }; + + var beforeAndAfterFns = function(suite) { + return function() { + var befores = [], + afters = []; + + while(suite) { + befores = befores.concat(suite.beforeFns); + afters = afters.concat(suite.afterFns); + + suite = suite.parentSuite; + } + + return { + befores: befores.reverse(), + afters: afters + }; + }; + }; + + var getSpecName = function(spec, suite) { + var fullName = [spec.description], + suiteFullName = suite.getFullName(); + + if (suiteFullName !== '') { + fullName.unshift(suiteFullName); + } + return fullName.join(' '); + }; + + // TODO: we may just be able to pass in the fn instead of wrapping here + var buildExpectationResult = j$.buildExpectationResult, + exceptionFormatter = new j$.ExceptionFormatter(), + expectationResultFactory = function(attrs) { + attrs.messageFormatter = exceptionFormatter.message; + attrs.stackFormatter = exceptionFormatter.stack; + + return buildExpectationResult(attrs); + }; + + // TODO: fix this naming, and here's where the value comes in + this.catchExceptions = function(value) { + catchExceptions = !!value; + if (!catchExceptions) { + this.deprecated('The catchExceptions option is deprecated and will be replaced with stopOnSpecFailure in Jasmine 3.0'); + } + return catchExceptions; + }; + + this.catchingExceptions = function() { + return catchExceptions; + }; + + var maximumSpecCallbackDepth = 20; + var currentSpecCallbackDepth = 0; + + var catchException = function(e) { + return j$.Spec.isPendingSpecException(e) || catchExceptions; + }; + + this.throwOnExpectationFailure = function(value) { + throwOnExpectationFailure = !!value; + }; + + this.throwingExpectationFailures = function() { + return throwOnExpectationFailure; + }; + + this.randomizeTests = function(value) { + random = !!value; + }; + + this.randomTests = function() { + return random; + }; + + this.seed = function(value) { + if (value) { + seed = value; + } + return seed; + }; + + this.deprecated = function(msg) { + var runnable = currentRunnable() || topSuite; + runnable.addDeprecationWarning(msg); + if(typeof console !== 'undefined' && typeof console.warn !== 'undefined') { + console.error('DEPRECATION: ' + msg); + } + }; + + var queueRunnerFactory = function(options) { + options.catchException = catchException; + options.clearStack = options.clearStack || clearStack; + options.timeout = {setTimeout: realSetTimeout, clearTimeout: realClearTimeout}; + options.fail = self.fail; + options.globalErrors = globalErrors; + options.completeOnFirstError = throwOnExpectationFailure && options.isLeaf; + options.deprecated = self.deprecated; + + new j$.QueueRunner(options).execute(); + }; + + var topSuite = new j$.Suite({ + env: this, + id: getNextSuiteId(), + description: 'Jasmine__TopLevel__Suite', + expectationFactory: expectationFactory, + expectationResultFactory: expectationResultFactory + }); + defaultResourcesForRunnable(topSuite.id); + currentDeclarationSuite = topSuite; + + this.topSuite = function() { + return topSuite; + }; + + this.execute = function(runnablesToRun) { + if (hasExecuted) { + this.deprecated('Executing the same Jasmine multiple times will no longer work in Jasmine 3.0'); + } + + hasExecuted = true; + + if(!runnablesToRun) { + if (focusedRunnables.length) { + runnablesToRun = focusedRunnables; + } else { + runnablesToRun = [topSuite.id]; + } + } + + var order = new j$.Order({ + random: random, + seed: seed + }); + + var processor = new j$.TreeProcessor({ + tree: topSuite, + runnableIds: runnablesToRun, + queueRunnerFactory: queueRunnerFactory, + nodeStart: function(suite) { + currentlyExecutingSuites.push(suite); + defaultResourcesForRunnable(suite.id, suite.parentSuite.id); + reporter.suiteStarted(suite.result); + }, + nodeComplete: function(suite, result) { + if (suite !== currentSuite()) { + throw new Error('Tried to complete the wrong suite'); + } + + if (!suite.markedPending) { + clearResourcesForRunnable(suite.id); + } + currentlyExecutingSuites.pop(); + reporter.suiteDone(result); + }, + orderChildren: function(node) { + return order.sort(node.children); + } + }); + + if(!processor.processTree().valid) { + throw new Error('Invalid order: would cause a beforeAll or afterAll to be run multiple times'); + } + + /** + * Information passed to the {@link Reporter#jasmineStarted} event. + * @typedef JasmineStartedInfo + * @property {Int} totalSpecsDefined - The total number of specs defined in this suite. + * @property {Order} order - Information about the ordering (random or not) of this execution of the suite. + */ + reporter.jasmineStarted({ + totalSpecsDefined: totalSpecsDefined, + order: order + }); + + currentlyExecutingSuites.push(topSuite); + + globalErrors.install(); + processor.execute(function() { + clearResourcesForRunnable(topSuite.id); + currentlyExecutingSuites.pop(); + globalErrors.uninstall(); + + /** + * Information passed to the {@link Reporter#jasmineDone} event. + * @typedef JasmineDoneInfo + * @property {Order} order - Information about the ordering (random or not) of this execution of the suite. + * @property {Expectation[]} failedExpectations - List of expectations that failed in an {@link afterAll} at the global level. + * @property {Expectation[]} deprecationWarnings - List of deprecation warnings that occurred at the global level. + */ + reporter.jasmineDone({ + order: order, + failedExpectations: topSuite.result.failedExpectations, + deprecationWarnings: topSuite.result.deprecationWarnings + }); + }); + }; + + /** + * Add a custom reporter to the Jasmine environment. + * @name Env#addReporter + * @function + * @param {Reporter} reporterToAdd The reporter to be added. + * @see custom_reporter + */ + this.addReporter = function(reporterToAdd) { + reporter.addReporter(reporterToAdd); + }; + + this.provideFallbackReporter = function(reporterToAdd) { + reporter.provideFallbackReporter(reporterToAdd); + }; + + this.clearReporters = function() { + reporter.clearReporters(); + }; + + var spyRegistry = new j$.SpyRegistry({currentSpies: function() { + if(!currentRunnable()) { + throw new Error('Spies must be created in a before function or a spec'); + } + return runnableResources[currentRunnable().id].spies; + }}); + + this.allowRespy = function(allow){ + spyRegistry.allowRespy(allow); + }; + + this.spyOn = function() { + return spyRegistry.spyOn.apply(spyRegistry, arguments); + }; + + this.spyOnProperty = function() { + return spyRegistry.spyOnProperty.apply(spyRegistry, arguments); + }; + + var ensureIsFunction = function(fn, caller) { + if (!j$.isFunction_(fn)) { + throw new Error(caller + ' expects a function argument; received ' + j$.getType_(fn)); + } + }; + + var ensureIsFunctionOrAsync = function(fn, caller) { + if (!j$.isFunction_(fn) && !j$.isAsyncFunction_(fn)) { + throw new Error(caller + ' expects a function argument; received ' + j$.getType_(fn)); + } + }; + + function ensureIsNotNested(method) { + var runnable = currentRunnable(); + if (runnable !== null && runnable !== undefined) { + throw new Error('\'' + method + '\' should only be used in \'describe\' function'); + } + } + + var suiteFactory = function(description) { + var suite = new j$.Suite({ + env: self, + id: getNextSuiteId(), + description: description, + parentSuite: currentDeclarationSuite, + expectationFactory: expectationFactory, + expectationResultFactory: expectationResultFactory, + throwOnExpectationFailure: throwOnExpectationFailure + }); + + return suite; + }; + + this.describe = function(description, specDefinitions) { + ensureIsNotNested('describe'); + ensureIsFunction(specDefinitions, 'describe'); + var suite = suiteFactory(description); + if (specDefinitions.length > 0) { + throw new Error('describe does not expect any arguments'); + } + if (currentDeclarationSuite.markedPending) { + suite.pend(); + } + addSpecsToSuite(suite, specDefinitions); + return suite; + }; + + this.xdescribe = function(description, specDefinitions) { + ensureIsNotNested('xdescribe'); + ensureIsFunction(specDefinitions, 'xdescribe'); + var suite = suiteFactory(description); + suite.pend(); + addSpecsToSuite(suite, specDefinitions); + return suite; + }; + + var focusedRunnables = []; + + this.fdescribe = function(description, specDefinitions) { + this.deprecated('fit and fdescribe will cause your suite to report an \'incomplete\' status in Jasmine 3.0'); + ensureIsNotNested('fdescribe'); + ensureIsFunction(specDefinitions, 'fdescribe'); + var suite = suiteFactory(description); + suite.isFocused = true; + + focusedRunnables.push(suite.id); + unfocusAncestor(); + addSpecsToSuite(suite, specDefinitions); + + return suite; + }; + + function addSpecsToSuite(suite, specDefinitions) { + var parentSuite = currentDeclarationSuite; + parentSuite.addChild(suite); + currentDeclarationSuite = suite; + + var declarationError = null; + try { + specDefinitions.call(suite); + } catch (e) { + declarationError = e; + } + + if (declarationError) { + self.it('encountered a declaration exception', function() { + throw declarationError; + }); + } + + currentDeclarationSuite = parentSuite; + } + + function findFocusedAncestor(suite) { + while (suite) { + if (suite.isFocused) { + return suite.id; + } + suite = suite.parentSuite; + } + + return null; + } + + function unfocusAncestor() { + var focusedAncestor = findFocusedAncestor(currentDeclarationSuite); + if (focusedAncestor) { + for (var i = 0; i < focusedRunnables.length; i++) { + if (focusedRunnables[i] === focusedAncestor) { + focusedRunnables.splice(i, 1); + break; + } + } + } + } + + var specFactory = function(description, fn, suite, timeout) { + totalSpecsDefined++; + var spec = new j$.Spec({ + id: getNextSpecId(), + beforeAndAfterFns: beforeAndAfterFns(suite), + expectationFactory: expectationFactory, + resultCallback: specResultCallback, + getSpecName: function(spec) { + return getSpecName(spec, suite); + }, + onStart: specStarted, + description: description, + expectationResultFactory: expectationResultFactory, + queueRunnerFactory: queueRunnerFactory, + userContext: function() { return suite.clonedSharedUserContext(); }, + queueableFn: { + fn: fn, + timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } + }, + throwOnExpectationFailure: throwOnExpectationFailure + }); + + if (!self.specFilter(spec)) { + spec.disable(); + } + + return spec; + + function specResultCallback(result) { + clearResourcesForRunnable(spec.id); + currentSpec = null; + reporter.specDone(result); + } + + function specStarted(spec) { + currentSpec = spec; + defaultResourcesForRunnable(spec.id, suite.id); + reporter.specStarted(spec.result); + } + }; + + this.it = function(description, fn, timeout) { + ensureIsNotNested('it'); + // it() sometimes doesn't have a fn argument, so only check the type if + // it's given. + if (arguments.length > 1 && typeof fn !== 'undefined') { + ensureIsFunctionOrAsync(fn, 'it'); + } + var spec = specFactory(description, fn, currentDeclarationSuite, timeout); + if (currentDeclarationSuite.markedPending) { + spec.pend(); + } + currentDeclarationSuite.addChild(spec); + return spec; + }; + + this.xit = function(description, fn, timeout) { + ensureIsNotNested('xit'); + // xit(), like it(), doesn't always have a fn argument, so only check the + // type when needed. + if (arguments.length > 1 && typeof fn !== 'undefined') { + ensureIsFunctionOrAsync(fn, 'xit'); + } + var spec = this.it.apply(this, arguments); + spec.pend('Temporarily disabled with xit'); + return spec; + }; + + this.fit = function(description, fn, timeout){ + this.deprecated('fit and fdescribe will cause your suite to report an \'incomplete\' status in Jasmine 3.0'); + ensureIsNotNested('fit'); + ensureIsFunctionOrAsync(fn, 'fit'); + var spec = specFactory(description, fn, currentDeclarationSuite, timeout); + currentDeclarationSuite.addChild(spec); + focusedRunnables.push(spec.id); + unfocusAncestor(); + return spec; + }; + + this.expect = function(actual) { + if (!currentRunnable()) { + throw new Error('\'expect\' was used when there was no current spec, this could be because an asynchronous test timed out'); + } + + return currentRunnable().expect(actual); + }; + + this.beforeEach = function(beforeEachFunction, timeout) { + ensureIsNotNested('beforeEach'); + ensureIsFunctionOrAsync(beforeEachFunction, 'beforeEach'); + currentDeclarationSuite.beforeEach({ + fn: beforeEachFunction, + timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } + }); + }; + + this.beforeAll = function(beforeAllFunction, timeout) { + ensureIsNotNested('beforeAll'); + ensureIsFunctionOrAsync(beforeAllFunction, 'beforeAll'); + currentDeclarationSuite.beforeAll({ + fn: beforeAllFunction, + timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } + }); + }; + + this.afterEach = function(afterEachFunction, timeout) { + ensureIsNotNested('afterEach'); + ensureIsFunctionOrAsync(afterEachFunction, 'afterEach'); + afterEachFunction.isCleanup = true; + currentDeclarationSuite.afterEach({ + fn: afterEachFunction, + timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } + }); + }; + + this.afterAll = function(afterAllFunction, timeout) { + ensureIsNotNested('afterAll'); + ensureIsFunctionOrAsync(afterAllFunction, 'afterAll'); + currentDeclarationSuite.afterAll({ + fn: afterAllFunction, + timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } + }); + }; + + this.pending = function(message) { + var fullMessage = j$.Spec.pendingSpecExceptionMessage; + if(message) { + fullMessage += message; + } + throw fullMessage; + }; + + this.fail = function(error) { + if (!currentRunnable()) { + throw new Error('\'fail\' was used when there was no current spec, this could be because an asynchronous test timed out'); + } + + var message = 'Failed'; + if (error) { + message += ': '; + if (error.message) { + message += error.message; + } else if (jasmine.isString_(error)) { + message += error; + } else { + // pretty print all kind of objects. This includes arrays. + message += jasmine.pp(error); + } + } + + currentRunnable().addExpectationResult(false, { + matcherName: '', + passed: false, + expected: '', + actual: '', + message: message, + error: error && error.message ? error : null + }); + + if (self.throwingExpectationFailures()) { + throw new Error(message); + } + }; + } + + return Env; +}; + +getJasmineRequireObj().JsApiReporter = function() { + + var noopTimer = { + start: function(){}, + elapsed: function(){ return 0; } + }; + + /** + * @name jsApiReporter + * @classdesc {@link Reporter} added by default in `boot.js` to record results for retrieval in javascript code. An instance is made available as `jsApiReporter` on the global object. + * @class + * @hideconstructor + */ + function JsApiReporter(options) { + var timer = options.timer || noopTimer, + status = 'loaded'; + + this.started = false; + this.finished = false; + this.runDetails = {}; + + this.jasmineStarted = function() { + this.started = true; + status = 'started'; + timer.start(); + }; + + var executionTime; + + this.jasmineDone = function(runDetails) { + this.finished = true; + this.runDetails = runDetails; + executionTime = timer.elapsed(); + status = 'done'; + }; + + /** + * Get the current status for the Jasmine environment. + * @name jsApiReporter#status + * @function + * @return {String} - One of `loaded`, `started`, or `done` + */ + this.status = function() { + return status; + }; + + var suites = [], + suites_hash = {}; + + this.suiteStarted = function(result) { + suites_hash[result.id] = result; + }; + + this.suiteDone = function(result) { + storeSuite(result); + }; + + /** + * Get the results for a set of suites. + * + * Retrievable in slices for easier serialization. + * @name jsApiReporter#suiteResults + * @function + * @param {Number} index - The position in the suites list to start from. + * @param {Number} length - Maximum number of suite results to return. + * @return {SuiteResult[]} + */ + this.suiteResults = function(index, length) { + return suites.slice(index, index + length); + }; + + function storeSuite(result) { + suites.push(result); + suites_hash[result.id] = result; + } + + /** + * Get all of the suites in a single object, with their `id` as the key. + * @name jsApiReporter#suites + * @function + * @return {Object} - Map of suite id to {@link SuiteResult} + */ + this.suites = function() { + return suites_hash; + }; + + var specs = []; + + this.specDone = function(result) { + specs.push(result); + }; + + /** + * Get the results for a set of specs. + * + * Retrievable in slices for easier serialization. + * @name jsApiReporter#specResults + * @function + * @param {Number} index - The position in the specs list to start from. + * @param {Number} length - Maximum number of specs results to return. + * @return {SpecResult[]} + */ + this.specResults = function(index, length) { + return specs.slice(index, index + length); + }; + + /** + * Get all spec results. + * @name jsApiReporter#specs + * @function + * @return {SpecResult[]} + */ + this.specs = function() { + return specs; + }; + + /** + * Get the number of milliseconds it took for the full Jasmine suite to run. + * @name jsApiReporter#executionTime + * @function + * @return {Number} + */ + this.executionTime = function() { + return executionTime; + }; + + } + + return JsApiReporter; +}; + +getJasmineRequireObj().Any = function(j$) { + + function Any(expectedObject) { + if (typeof expectedObject === 'undefined') { + throw new TypeError( + 'jasmine.any() expects to be passed a constructor function. ' + + 'Please pass one or use jasmine.anything() to match any object.' + ); + } + this.expectedObject = expectedObject; + } + + Any.prototype.asymmetricMatch = function(other) { + if (this.expectedObject == String) { + return typeof other == 'string' || other instanceof String; + } + + if (this.expectedObject == Number) { + return typeof other == 'number' || other instanceof Number; + } + + if (this.expectedObject == Function) { + return typeof other == 'function' || other instanceof Function; + } + + if (this.expectedObject == Object) { + if (other === null) { + j$.getEnv().deprecated('jasmine.Any(Object) will no longer match null in Jasmine 3.0'); + } + return typeof other == 'object'; + } + + if (this.expectedObject == Boolean) { + return typeof other == 'boolean'; + } + + /* jshint -W122 */ + if (typeof Symbol != 'undefined' && this.expectedObject == Symbol) { + return typeof other == 'symbol'; + } + /* jshint +W122 */ + + return other instanceof this.expectedObject; + }; + + Any.prototype.jasmineToString = function() { + return ''; + }; + + return Any; +}; + +getJasmineRequireObj().Anything = function(j$) { + + function Anything() {} + + Anything.prototype.asymmetricMatch = function(other) { + return !j$.util.isUndefined(other) && other !== null; + }; + + Anything.prototype.jasmineToString = function() { + return ''; + }; + + return Anything; +}; + +getJasmineRequireObj().ArrayContaining = function(j$) { + function ArrayContaining(sample) { + this.sample = sample; + } + + ArrayContaining.prototype.asymmetricMatch = function(other, customTesters) { + if (!j$.isArray_(this.sample)) { + throw new Error('You must provide an array to arrayContaining, not ' + j$.pp(this.sample) + '.'); + } + + for (var i = 0; i < this.sample.length; i++) { + var item = this.sample[i]; + if (!j$.matchersUtil.contains(other, item, customTesters)) { + return false; + } + } + + return true; + }; + + ArrayContaining.prototype.jasmineToString = function () { + return ''; + }; + + return ArrayContaining; +}; + +getJasmineRequireObj().ArrayWithExactContents = function(j$) { + + function ArrayWithExactContents(sample) { + this.sample = sample; + } + + ArrayWithExactContents.prototype.asymmetricMatch = function(other, customTesters) { + if (!j$.isArray_(this.sample)) { + throw new Error('You must provide an array to arrayWithExactContents, not ' + j$.pp(this.sample) + '.'); + } + + if (this.sample.length !== other.length) { + return false; + } + + for (var i = 0; i < this.sample.length; i++) { + var item = this.sample[i]; + if (!j$.matchersUtil.contains(other, item, customTesters)) { + return false; + } + } + + return true; + }; + + ArrayWithExactContents.prototype.jasmineToString = function() { + return ''; + }; + + return ArrayWithExactContents; +}; + +getJasmineRequireObj().ObjectContaining = function(j$) { + + function ObjectContaining(sample) { + this.sample = sample; + } + + function getPrototype(obj) { + if (Object.getPrototypeOf) { + return Object.getPrototypeOf(obj); + } + + if (obj.constructor.prototype == obj) { + return null; + } + + return obj.constructor.prototype; + } + + function hasProperty(obj, property) { + if (!obj) { + return false; + } + + if (Object.prototype.hasOwnProperty.call(obj, property)) { + return true; + } + + return hasProperty(getPrototype(obj), property); + } + + ObjectContaining.prototype.asymmetricMatch = function(other, customTesters) { + if (typeof(this.sample) !== 'object') { throw new Error('You must provide an object to objectContaining, not \''+this.sample+'\'.'); } + + for (var property in this.sample) { + if (!hasProperty(other, property) || + !j$.matchersUtil.equals(this.sample[property], other[property], customTesters)) { + return false; + } + } + + return true; + }; + + ObjectContaining.prototype.jasmineToString = function() { + return ''; + }; + + return ObjectContaining; +}; + +getJasmineRequireObj().StringMatching = function(j$) { + + function StringMatching(expected) { + if (!j$.isString_(expected) && !j$.isA_('RegExp', expected)) { + throw new Error('Expected is not a String or a RegExp'); + } + + this.regexp = new RegExp(expected); + } + + StringMatching.prototype.asymmetricMatch = function(other) { + return this.regexp.test(other); + }; + + StringMatching.prototype.jasmineToString = function() { + return ''; + }; + + return StringMatching; +}; + +getJasmineRequireObj().CallTracker = function(j$) { + + /** + * @namespace Spy#calls + */ + function CallTracker() { + var calls = []; + var opts = {}; + + this.track = function(context) { + if(opts.cloneArgs) { + context.args = j$.util.cloneArgs(context.args); + } + calls.push(context); + }; + + /** + * Check whether this spy has been invoked. + * @name Spy#calls#any + * @function + * @return {Boolean} + */ + this.any = function() { + return !!calls.length; + }; + + /** + * Get the number of invocations of this spy. + * @name Spy#calls#count + * @function + * @return {Integer} + */ + this.count = function() { + return calls.length; + }; + + /** + * Get the arguments that were passed to a specific invocation of this spy. + * @name Spy#calls#argsFor + * @function + * @param {Integer} index The 0-based invocation index. + * @return {Array} + */ + this.argsFor = function(index) { + var call = calls[index]; + return call ? call.args : []; + }; + + /** + * Get the raw calls array for this spy. + * @name Spy#calls#all + * @function + * @return {Spy.callData[]} + */ + this.all = function() { + return calls; + }; + + /** + * Get all of the arguments for each invocation of this spy in the order they were received. + * @name Spy#calls#allArgs + * @function + * @return {Array} + */ + this.allArgs = function() { + var callArgs = []; + for(var i = 0; i < calls.length; i++){ + callArgs.push(calls[i].args); + } + + return callArgs; + }; + + /** + * Get the first invocation of this spy. + * @name Spy#calls#first + * @function + * @return {ObjecSpy.callData} + */ + this.first = function() { + return calls[0]; + }; + + /** + * Get the most recent invocation of this spy. + * @name Spy#calls#mostRecent + * @function + * @return {ObjecSpy.callData} + */ + this.mostRecent = function() { + return calls[calls.length - 1]; + }; + + /** + * Reset this spy as if it has never been called. + * @name Spy#calls#reset + * @function + */ + this.reset = function() { + calls = []; + }; + + /** + * Set this spy to do a shallow clone of arguments passed to each invocation. + * @name Spy#calls#saveArgumentsByValue + * @function + */ + this.saveArgumentsByValue = function() { + opts.cloneArgs = true; + }; + + } + + return CallTracker; +}; + +getJasmineRequireObj().clearStack = function(j$) { + var maxInlineCallCount = 10; + + function messageChannelImpl(global, setTimeout) { + var channel = new global.MessageChannel(), + head = {}, + tail = head; + + var taskRunning = false; + channel.port1.onmessage = function() { + head = head.next; + var task = head.task; + delete head.task; + + if (taskRunning) { + global.setTimeout(task, 0); + } else { + try { + taskRunning = true; + task(); + } finally { + taskRunning = false; + } + } + }; + + var currentCallCount = 0; + return function clearStack(fn) { + currentCallCount++; + + if (currentCallCount < maxInlineCallCount) { + tail = tail.next = { task: fn }; + channel.port2.postMessage(0); + } else { + currentCallCount = 0; + setTimeout(fn); + } + }; + } + + function getClearStack(global) { + var currentCallCount = 0; + var realSetTimeout = global.setTimeout; + var setTimeoutImpl = function clearStack(fn) { + Function.prototype.apply.apply(realSetTimeout, [global, [fn, 0]]); + }; + + if (j$.isFunction_(global.setImmediate)) { + var realSetImmediate = global.setImmediate; + return function(fn) { + currentCallCount++; + + if (currentCallCount < maxInlineCallCount) { + realSetImmediate(fn); + } else { + currentCallCount = 0; + + setTimeoutImpl(fn); + } + }; + } else if (!j$.util.isUndefined(global.MessageChannel)) { + return messageChannelImpl(global, setTimeoutImpl); + } else { + return setTimeoutImpl; + } + } + + return getClearStack; +}; + +getJasmineRequireObj().Clock = function() { + + var NODE_JS = typeof process !== 'undefined' && process.versions && typeof process.versions.node === 'string'; + + /** + * _Note:_ Do not construct this directly, Jasmine will make one during booting. You can get the current clock with {@link jasmine.clock}. + * @class Clock + * @classdesc Jasmine's mock clock is used when testing time dependent code. + */ + function Clock(global, delayedFunctionSchedulerFactory, mockDate) { + var self = this, + realTimingFunctions = { + setTimeout: global.setTimeout, + clearTimeout: global.clearTimeout, + setInterval: global.setInterval, + clearInterval: global.clearInterval + }, + fakeTimingFunctions = { + setTimeout: setTimeout, + clearTimeout: clearTimeout, + setInterval: setInterval, + clearInterval: clearInterval + }, + installed = false, + delayedFunctionScheduler, + timer; + + self.FakeTimeout = FakeTimeout; + + /** + * Install the mock clock over the built-in methods. + * @name Clock#install + * @function + * @return {Clock} + */ + self.install = function() { + if(!originalTimingFunctionsIntact()) { + throw new Error('Jasmine Clock was unable to install over custom global timer functions. Is the clock already installed?'); + } + replace(global, fakeTimingFunctions); + timer = fakeTimingFunctions; + delayedFunctionScheduler = delayedFunctionSchedulerFactory(); + installed = true; + + return self; + }; + + /** + * Uninstall the mock clock, returning the built-in methods to their places. + * @name Clock#uninstall + * @function + */ + self.uninstall = function() { + delayedFunctionScheduler = null; + mockDate.uninstall(); + replace(global, realTimingFunctions); + + timer = realTimingFunctions; + installed = false; + }; + + /** + * Execute a function with a mocked Clock + * + * The clock will be {@link Clock#install|install}ed before the function is called and {@link Clock#uninstall|uninstall}ed in a `finally` after the function completes. + * @name Clock#withMock + * @function + * @param {closure} Function The function to be called. + */ + self.withMock = function(closure) { + this.install(); + try { + closure(); + } finally { + this.uninstall(); + } + }; + + /** + * Instruct the installed Clock to also mock the date returned by `new Date()` + * @name Clock#mockDate + * @function + * @param {Date} [initialDate=now] The `Date` to provide. + */ + self.mockDate = function(initialDate) { + mockDate.install(initialDate); + }; + + self.setTimeout = function(fn, delay, params) { + if (legacyIE()) { + if (arguments.length > 2) { + throw new Error('IE < 9 cannot support extra params to setTimeout without a polyfill'); + } + return timer.setTimeout(fn, delay); + } + return Function.prototype.apply.apply(timer.setTimeout, [global, arguments]); + }; + + self.setInterval = function(fn, delay, params) { + if (legacyIE()) { + if (arguments.length > 2) { + throw new Error('IE < 9 cannot support extra params to setInterval without a polyfill'); + } + return timer.setInterval(fn, delay); + } + return Function.prototype.apply.apply(timer.setInterval, [global, arguments]); + }; + + self.clearTimeout = function(id) { + return Function.prototype.call.apply(timer.clearTimeout, [global, id]); + }; + + self.clearInterval = function(id) { + return Function.prototype.call.apply(timer.clearInterval, [global, id]); + }; + + /** + * Tick the Clock forward, running any enqueued timeouts along the way + * @name Clock#tick + * @function + * @param {int} millis The number of milliseconds to tick. + */ + self.tick = function(millis) { + if (installed) { + delayedFunctionScheduler.tick(millis, function(millis) { mockDate.tick(millis); }); + } else { + throw new Error('Mock clock is not installed, use jasmine.clock().install()'); + } + }; + + return self; + + function originalTimingFunctionsIntact() { + return global.setTimeout === realTimingFunctions.setTimeout && + global.clearTimeout === realTimingFunctions.clearTimeout && + global.setInterval === realTimingFunctions.setInterval && + global.clearInterval === realTimingFunctions.clearInterval; + } + + function legacyIE() { + //if these methods are polyfilled, apply will be present + return !(realTimingFunctions.setTimeout || realTimingFunctions.setInterval).apply; + } + + function replace(dest, source) { + for (var prop in source) { + dest[prop] = source[prop]; + } + } + + function setTimeout(fn, delay) { + if (!NODE_JS) { + return delayedFunctionScheduler.scheduleFunction(fn, delay, argSlice(arguments, 2)); + } + + var timeout = new FakeTimeout(); + + delayedFunctionScheduler.scheduleFunction(fn, delay, argSlice(arguments, 2), false, timeout); + + return timeout; + } + + function clearTimeout(id) { + return delayedFunctionScheduler.removeFunctionWithId(id); + } + + function setInterval(fn, interval) { + if (!NODE_JS) { + return delayedFunctionScheduler.scheduleFunction(fn, interval, argSlice(arguments, 2), true); + } + + var timeout = new FakeTimeout(); + + delayedFunctionScheduler.scheduleFunction(fn, interval, argSlice(arguments, 2), true, timeout); + + return timeout; + } + + function clearInterval(id) { + return delayedFunctionScheduler.removeFunctionWithId(id); + } + + function argSlice(argsObj, n) { + return Array.prototype.slice.call(argsObj, n); + } + } + + /** + * Mocks Node.js Timeout class + */ + function FakeTimeout() {} + + FakeTimeout.prototype.ref = function () { + return this; + }; + + FakeTimeout.prototype.unref = function () { + return this; + }; + + return Clock; +}; + +getJasmineRequireObj().DelayedFunctionScheduler = function(j$) { + function DelayedFunctionScheduler() { + var self = this; + var scheduledLookup = []; + var scheduledFunctions = {}; + var currentTime = 0; + var delayedFnCount = 0; + var deletedKeys = []; + + self.tick = function(millis, tickDate) { + millis = millis || 0; + var endTime = currentTime + millis; + + runScheduledFunctions(endTime, tickDate); + currentTime = endTime; + }; + + self.scheduleFunction = function(funcToCall, millis, params, recurring, timeoutKey, runAtMillis) { + var f; + if (typeof(funcToCall) === 'string') { + /* jshint evil: true */ + f = function() { return eval(funcToCall); }; + /* jshint evil: false */ + } else { + f = funcToCall; + } + + millis = millis || 0; + timeoutKey = timeoutKey || ++delayedFnCount; + runAtMillis = runAtMillis || (currentTime + millis); + + var funcToSchedule = { + runAtMillis: runAtMillis, + funcToCall: f, + recurring: recurring, + params: params, + timeoutKey: timeoutKey, + millis: millis + }; + + if (runAtMillis in scheduledFunctions) { + scheduledFunctions[runAtMillis].push(funcToSchedule); + } else { + scheduledFunctions[runAtMillis] = [funcToSchedule]; + scheduledLookup.push(runAtMillis); + scheduledLookup.sort(function (a, b) { + return a - b; + }); + } + + return timeoutKey; + }; + + self.removeFunctionWithId = function(timeoutKey) { + deletedKeys.push(timeoutKey); + + for (var runAtMillis in scheduledFunctions) { + var funcs = scheduledFunctions[runAtMillis]; + var i = indexOfFirstToPass(funcs, function (func) { + return func.timeoutKey === timeoutKey; + }); + + if (i > -1) { + if (funcs.length === 1) { + delete scheduledFunctions[runAtMillis]; + deleteFromLookup(runAtMillis); + } else { + funcs.splice(i, 1); + } + + // intervals get rescheduled when executed, so there's never more + // than a single scheduled function with a given timeoutKey + break; + } + } + }; + + return self; + + function indexOfFirstToPass(array, testFn) { + var index = -1; + + for (var i = 0; i < array.length; ++i) { + if (testFn(array[i])) { + index = i; + break; + } + } + + return index; + } + + function deleteFromLookup(key) { + var value = Number(key); + var i = indexOfFirstToPass(scheduledLookup, function (millis) { + return millis === value; + }); + + if (i > -1) { + scheduledLookup.splice(i, 1); + } + } + + function reschedule(scheduledFn) { + self.scheduleFunction(scheduledFn.funcToCall, + scheduledFn.millis, + scheduledFn.params, + true, + scheduledFn.timeoutKey, + scheduledFn.runAtMillis + scheduledFn.millis); + } + + function forEachFunction(funcsToRun, callback) { + for (var i = 0; i < funcsToRun.length; ++i) { + callback(funcsToRun[i]); + } + } + + function runScheduledFunctions(endTime, tickDate) { + tickDate = tickDate || function() {}; + if (scheduledLookup.length === 0 || scheduledLookup[0] > endTime) { + tickDate(endTime - currentTime); + return; + } + + do { + deletedKeys = []; + var newCurrentTime = scheduledLookup.shift(); + tickDate(newCurrentTime - currentTime); + + currentTime = newCurrentTime; + + var funcsToRun = scheduledFunctions[currentTime]; + + delete scheduledFunctions[currentTime]; + + forEachFunction(funcsToRun, function(funcToRun) { + if (funcToRun.recurring) { + reschedule(funcToRun); + } + }); + + forEachFunction(funcsToRun, function(funcToRun) { + if (j$.util.arrayContains(deletedKeys, funcToRun.timeoutKey)) { + // skip a timeoutKey deleted whilst we were running + return; + } + funcToRun.funcToCall.apply(null, funcToRun.params || []); + }); + } while (scheduledLookup.length > 0 && + // checking first if we're out of time prevents setTimeout(0) + // scheduled in a funcToRun from forcing an extra iteration + currentTime !== endTime && + scheduledLookup[0] <= endTime); + + // ran out of functions to call, but still time left on the clock + if (currentTime !== endTime) { + tickDate(endTime - currentTime); + } + } + } + + return DelayedFunctionScheduler; +}; + +getJasmineRequireObj().errors = function() { + function ExpectationFailed() {} + + ExpectationFailed.prototype = new Error(); + ExpectationFailed.prototype.constructor = ExpectationFailed; + + return { + ExpectationFailed: ExpectationFailed + }; +}; +getJasmineRequireObj().ExceptionFormatter = function() { + function ExceptionFormatter() { + this.message = function(error) { + var message = ''; + + if (error.name && error.message) { + message += error.name + ': ' + error.message; + } else { + message += error.toString() + ' thrown'; + } + + if (error.fileName || error.sourceURL) { + message += ' in ' + (error.fileName || error.sourceURL); + } + + if (error.line || error.lineNumber) { + message += ' (line ' + (error.line || error.lineNumber) + ')'; + } + + return message; + }; + + this.stack = function(error) { + return error ? error.stack : null; + }; + } + + return ExceptionFormatter; +}; + +getJasmineRequireObj().Expectation = function() { + + /** + * Matchers that come with Jasmine out of the box. + * @namespace matchers + */ + function Expectation(options) { + this.util = options.util || { buildFailureMessage: function() {} }; + this.customEqualityTesters = options.customEqualityTesters || []; + this.actual = options.actual; + this.addExpectationResult = options.addExpectationResult || function(){}; + this.isNot = options.isNot; + + var customMatchers = options.customMatchers || {}; + for (var matcherName in customMatchers) { + this[matcherName] = Expectation.prototype.wrapCompare(matcherName, customMatchers[matcherName]); + } + } + + Expectation.prototype.wrapCompare = function(name, matcherFactory) { + return function() { + var args = Array.prototype.slice.call(arguments, 0), + expected = args.slice(0), + message = ''; + + args.unshift(this.actual); + + var matcher = matcherFactory(this.util, this.customEqualityTesters), + matcherCompare = matcher.compare; + + function defaultNegativeCompare() { + var result = matcher.compare.apply(null, args); + result.pass = !result.pass; + return result; + } + + if (this.isNot) { + matcherCompare = matcher.negativeCompare || defaultNegativeCompare; + } + + var result = matcherCompare.apply(null, args); + + if (!result.pass) { + if (!result.message) { + args.unshift(this.isNot); + args.unshift(name); + message = this.util.buildFailureMessage.apply(null, args); + } else { + if (Object.prototype.toString.apply(result.message) === '[object Function]') { + message = result.message(); + } else { + message = result.message; + } + } + } + + if (expected.length == 1) { + expected = expected[0]; + } + + // TODO: how many of these params are needed? + this.addExpectationResult( + result.pass, + { + matcherName: name, + passed: result.pass, + message: message, + error: result.error, + actual: this.actual, + expected: expected // TODO: this may need to be arrayified/sliced + } + ); + }; + }; + + Expectation.addCoreMatchers = function(matchers) { + var prototype = Expectation.prototype; + for (var matcherName in matchers) { + var matcher = matchers[matcherName]; + prototype[matcherName] = prototype.wrapCompare(matcherName, matcher); + } + }; + + Expectation.Factory = function(options) { + options = options || {}; + + var expect = new Expectation(options); + + // TODO: this would be nice as its own Object - NegativeExpectation + // TODO: copy instead of mutate options + options.isNot = true; + expect.not = new Expectation(options); + + return expect; + }; + + return Expectation; +}; + +//TODO: expectation result may make more sense as a presentation of an expectation. +getJasmineRequireObj().buildExpectationResult = function() { + function buildExpectationResult(options) { + var messageFormatter = options.messageFormatter || function() {}, + stackFormatter = options.stackFormatter || function() {}; + + /** + * @typedef Expectation + * @property {String} matcherName - The name of the matcher that was executed for this expectation. + * @property {String} message - The failure message for the expectation. + * @property {String} stack - The stack trace for the failure if available. + * @property {Boolean} passed - Whether the expectation passed or failed. + * @property {Object} expected - If the expectation failed, what was the expected value. + * @property {Object} actual - If the expectation failed, what actual value was produced. + */ + var result = { + matcherName: options.matcherName, + message: message(), + stack: stack(), + passed: options.passed + }; + + if(!result.passed) { + result.expected = options.expected; + result.actual = options.actual; + } + + return result; + + function message() { + if (options.passed) { + return 'Passed.'; + } else if (options.message) { + return options.message; + } else if (options.error) { + return messageFormatter(options.error); + } + return ''; + } + + function stack() { + if (options.passed) { + return ''; + } + + var error = options.error; + if (!error) { + try { + throw new Error(message()); + } catch (e) { + error = e; + } + } + return stackFormatter(error); + } + } + + return buildExpectationResult; +}; + +getJasmineRequireObj().formatErrorMsg = function() { + function generateErrorMsg(domain, usage) { + var usageDefinition = usage ? '\nUsage: ' + usage : ''; + + return function errorMsg(msg) { + return domain + ' : ' + msg + usageDefinition; + }; + } + + return generateErrorMsg; +}; + +getJasmineRequireObj().GlobalErrors = function(j$) { + function GlobalErrors(global) { + var handlers = []; + global = global || j$.getGlobal(); + + var onerror = function onerror() { + var handler = handlers[handlers.length - 1]; + + if (handler) { + handler.apply(null, Array.prototype.slice.call(arguments, 0)); + } else { + throw arguments[0]; + } + }; + + this.uninstall = function noop() {}; + + this.install = function install() { + if (global.process && global.process.listeners && j$.isFunction_(global.process.on)) { + var originalHandlers = global.process.listeners('uncaughtException'); + global.process.removeAllListeners('uncaughtException'); + global.process.on('uncaughtException', onerror); + + this.uninstall = function uninstall() { + global.process.removeListener('uncaughtException', onerror); + for (var i = 0; i < originalHandlers.length; i++) { + global.process.on('uncaughtException', originalHandlers[i]); + } + }; + } else { + var originalHandler = global.onerror; + global.onerror = onerror; + + this.uninstall = function uninstall() { + global.onerror = originalHandler; + }; + } + }; + + this.pushListener = function pushListener(listener) { + handlers.push(listener); + }; + + this.popListener = function popListener() { + handlers.pop(); + }; + } + + return GlobalErrors; +}; + +getJasmineRequireObj().DiffBuilder = function(j$) { + return function DiffBuilder() { + var path = new j$.ObjectPath(), + mismatches = []; + + return { + record: function (actual, expected, formatter) { + formatter = formatter || defaultFormatter; + mismatches.push(formatter(actual, expected, path)); + }, + + getMessage: function () { + return mismatches.join('\n'); + }, + + withPath: function (pathComponent, block) { + var oldPath = path; + path = path.add(pathComponent); + block(); + path = oldPath; + } + }; + + function defaultFormatter (actual, expected, path) { + return 'Expected ' + + path + (path.depth() ? ' = ' : '') + + j$.pp(actual) + + ' to equal ' + + j$.pp(expected) + + '.'; + } + }; +}; + +getJasmineRequireObj().matchersUtil = function(j$) { + // TODO: what to do about jasmine.pp not being inject? move to JSON.stringify? gut PrettyPrinter? + + return { + equals: equals, + + contains: function(haystack, needle, customTesters) { + customTesters = customTesters || []; + + if ((Object.prototype.toString.apply(haystack) === '[object Set]')) { + return haystack.has(needle); + } + + if ((Object.prototype.toString.apply(haystack) === '[object Array]') || + (!!haystack && !haystack.indexOf)) + { + for (var i = 0; i < haystack.length; i++) { + if (equals(haystack[i], needle, customTesters)) { + return true; + } + } + return false; + } + + return !!haystack && haystack.indexOf(needle) >= 0; + }, + + buildFailureMessage: function() { + var args = Array.prototype.slice.call(arguments, 0), + matcherName = args[0], + isNot = args[1], + actual = args[2], + expected = args.slice(3), + englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); }); + + var message = 'Expected ' + + j$.pp(actual) + + (isNot ? ' not ' : ' ') + + englishyPredicate; + + if (expected.length > 0) { + for (var i = 0; i < expected.length; i++) { + if (i > 0) { + message += ','; + } + message += ' ' + j$.pp(expected[i]); + } + } + + return message + '.'; + } + }; + + function isAsymmetric(obj) { + return obj && j$.isA_('Function', obj.asymmetricMatch); + } + + function asymmetricMatch(a, b, customTesters, diffBuilder) { + var asymmetricA = isAsymmetric(a), + asymmetricB = isAsymmetric(b), + result; + + if (asymmetricA && asymmetricB) { + return undefined; + } + + if (asymmetricA) { + result = a.asymmetricMatch(b, customTesters); + if (!result) { + diffBuilder.record(a, b); + } + return result; + } + + if (asymmetricB) { + result = b.asymmetricMatch(a, customTesters); + if (!result) { + diffBuilder.record(a, b); + } + return result; + } + } + + function equals(a, b, customTesters, diffBuilder) { + customTesters = customTesters || []; + diffBuilder = diffBuilder || j$.NullDiffBuilder(); + + return eq(a, b, [], [], customTesters, diffBuilder); + } + + // Equality function lovingly adapted from isEqual in + // [Underscore](http://underscorejs.org) + function eq(a, b, aStack, bStack, customTesters, diffBuilder) { + var result = true, i; + + var asymmetricResult = asymmetricMatch(a, b, customTesters, diffBuilder); + if (!j$.util.isUndefined(asymmetricResult)) { + return asymmetricResult; + } + + for (i = 0; i < customTesters.length; i++) { + var customTesterResult = customTesters[i](a, b); + if (!j$.util.isUndefined(customTesterResult)) { + if (!customTesterResult) { + diffBuilder.record(a, b); + } + return customTesterResult; + } + } + + if (a instanceof Error && b instanceof Error) { + result = a.message == b.message; + if (!result) { + diffBuilder.record(a, b); + } + return result; + } + + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) { + result = a !== 0 || 1 / a == 1 / b; + if (!result) { + diffBuilder.record(a, b); + } + return result; + } + // A strict comparison is necessary because `null == undefined`. + if (a === null || b === null) { + result = a === b; + if (!result) { + diffBuilder.record(a, b); + } + return result; + } + var className = Object.prototype.toString.call(a); + if (className != Object.prototype.toString.call(b)) { + diffBuilder.record(a, b); + return false; + } + switch (className) { + // Strings, numbers, dates, and booleans are compared by value. + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + result = a == String(b); + if (!result) { + diffBuilder.record(a, b); + } + return result; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for + // other numeric values. + result = a != +a ? b != +b : (a === 0 ? 1 / a == 1 / b : a == +b); + if (!result) { + diffBuilder.record(a, b); + } + return result; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + result = +a == +b; + if (!result) { + diffBuilder.record(a, b); + } + return result; + // RegExps are compared by their source patterns and flags. + case '[object RegExp]': + return a.source == b.source && + a.global == b.global && + a.multiline == b.multiline && + a.ignoreCase == b.ignoreCase; + } + if (typeof a != 'object' || typeof b != 'object') { + diffBuilder.record(a, b); + return false; + } + + var aIsDomNode = j$.isDomNode(a); + var bIsDomNode = j$.isDomNode(b); + if (aIsDomNode && bIsDomNode) { + // At first try to use DOM3 method isEqualNode + if (a.isEqualNode) { + result = a.isEqualNode(b); + if (!result) { + diffBuilder.record(a, b); + } + return result; + } + // IE8 doesn't support isEqualNode, try to use outerHTML && innerText + var aIsElement = a instanceof Element; + var bIsElement = b instanceof Element; + if (aIsElement && bIsElement) { + result = a.outerHTML == b.outerHTML; + if (!result) { + diffBuilder.record(a, b); + } + return result; + } + if (aIsElement || bIsElement) { + diffBuilder.record(a, b); + return false; + } + result = a.innerText == b.innerText && a.textContent == b.textContent; + if (!result) { + diffBuilder.record(a, b); + } + return result; + } + if (aIsDomNode || bIsDomNode) { + diffBuilder.record(a, b); + return false; + } + + var aIsPromise = j$.isPromise(a); + var bIsPromise = j$.isPromise(b); + if (aIsPromise && bIsPromise) { + return a === b; + } + + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] == a) { return bStack[length] == b; } + } + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + var size = 0; + // Recursively compare objects and arrays. + // Compare array lengths to determine if a deep comparison is necessary. + if (className == '[object Array]') { + var aLength = a.length; + var bLength = b.length; + + diffBuilder.withPath('length', function() { + if (aLength !== bLength) { + diffBuilder.record(aLength, bLength); + result = false; + } + }); + + for (i = 0; i < aLength || i < bLength; i++) { + diffBuilder.withPath(i, function() { + result = eq(i < aLength ? a[i] : void 0, i < bLength ? b[i] : void 0, aStack, bStack, customTesters, diffBuilder) && result; + }); + } + if (!result) { + return false; + } + } else if (j$.isMap(a) && j$.isMap(b)) { + if (a.size != b.size) { + diffBuilder.record(a, b); + return false; + } + + var keysA = []; + var keysB = []; + a.forEach( function( valueA, keyA ) { + keysA.push( keyA ); + }); + b.forEach( function( valueB, keyB ) { + keysB.push( keyB ); + }); + + // For both sets of keys, check they map to equal values in both maps. + // Keep track of corresponding keys (in insertion order) in order to handle asymmetric obj keys. + var mapKeys = [keysA, keysB]; + var cmpKeys = [keysB, keysA]; + var mapIter, mapKey, mapValueA, mapValueB; + var cmpIter, cmpKey; + for (i = 0; result && i < mapKeys.length; i++) { + mapIter = mapKeys[i]; + cmpIter = cmpKeys[i]; + + for (var j = 0; result && j < mapIter.length; j++) { + mapKey = mapIter[j]; + cmpKey = cmpIter[j]; + mapValueA = a.get(mapKey); + + // Only use the cmpKey when one of the keys is asymmetric and the corresponding key matches, + // otherwise explicitly look up the mapKey in the other Map since we want keys with unique + // obj identity (that are otherwise equal) to not match. + if (isAsymmetric(mapKey) || isAsymmetric(cmpKey) && + eq(mapKey, cmpKey, aStack, bStack, customTesters, j$.NullDiffBuilder())) { + mapValueB = b.get(cmpKey); + } else { + mapValueB = b.get(mapKey); + } + result = eq(mapValueA, mapValueB, aStack, bStack, customTesters, j$.NullDiffBuilder()); + } + } + + if (!result) { + diffBuilder.record(a, b); + return false; + } + } else if (j$.isSet(a) && j$.isSet(b)) { + if (a.size != b.size) { + diffBuilder.record(a, b); + return false; + } + + var valuesA = []; + a.forEach( function( valueA ) { + valuesA.push( valueA ); + }); + var valuesB = []; + b.forEach( function( valueB ) { + valuesB.push( valueB ); + }); + + // For both sets, check they are all contained in the other set + var setPairs = [[valuesA, valuesB], [valuesB, valuesA]]; + var stackPairs = [[aStack, bStack], [bStack, aStack]]; + var baseValues, baseValue, baseStack; + var otherValues, otherValue, otherStack; + var found; + var prevStackSize; + for (i = 0; result && i < setPairs.length; i++) { + baseValues = setPairs[i][0]; + otherValues = setPairs[i][1]; + baseStack = stackPairs[i][0]; + otherStack = stackPairs[i][1]; + // For each value in the base set... + for (var k = 0; result && k < baseValues.length; k++) { + baseValue = baseValues[k]; + found = false; + // ... test that it is present in the other set + for (var l = 0; !found && l < otherValues.length; l++) { + otherValue = otherValues[l]; + prevStackSize = baseStack.length; + // compare by value equality + found = eq(baseValue, otherValue, baseStack, otherStack, customTesters, j$.NullDiffBuilder()); + if (!found && prevStackSize !== baseStack.length) { + baseStack.splice(prevStackSize); + otherStack.splice(prevStackSize); + } + } + result = result && found; + } + } + + if (!result) { + diffBuilder.record(a, b); + return false; + } + } else { + + // Objects with different constructors are not equivalent, but `Object`s + // or `Array`s from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && + isFunction(aCtor) && isFunction(bCtor) && + a instanceof aCtor && b instanceof bCtor && + !(aCtor instanceof aCtor && bCtor instanceof bCtor)) { + + diffBuilder.record(a, b, constructorsAreDifferentFormatter); + return false; + } + } + + // Deep compare objects. + var aKeys = keys(a, className == '[object Array]'), key; + size = aKeys.length; + + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (keys(b, className == '[object Array]').length !== size) { + diffBuilder.record(a, b, objectKeysAreDifferentFormatter); + return false; + } + + for (i = 0; i < size; i++) { + key = aKeys[i]; + // Deep compare each member + if (!j$.util.has(b, key)) { + diffBuilder.record(a, b, objectKeysAreDifferentFormatter); + result = false; + continue; + } + + diffBuilder.withPath(key, function() { + if(!eq(a[key], b[key], aStack, bStack, customTesters, diffBuilder)) { + result = false; + } + }); + } + + if (!result) { + return false; + } + + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + + return result; + } + + function keys(obj, isArray) { + var allKeys = Object.keys ? Object.keys(obj) : + (function(o) { + var keys = []; + for (var key in o) { + if (j$.util.has(o, key)) { + keys.push(key); + } + } + return keys; + })(obj); + + if (!isArray) { + return allKeys; + } + + if (allKeys.length === 0) { + return allKeys; + } + + var extraKeys = []; + for (var i = 0; i < allKeys.length; i++) { + if (!/^[0-9]+$/.test(allKeys[i])) { + extraKeys.push(allKeys[i]); + } + } + + return extraKeys; + } + + function has(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); + } + + function isFunction(obj) { + return typeof obj === 'function'; + } + + function objectKeysAreDifferentFormatter(actual, expected, path) { + var missingProperties = j$.util.objectDifference(expected, actual), + extraProperties = j$.util.objectDifference(actual, expected), + missingPropertiesMessage = formatKeyValuePairs(missingProperties), + extraPropertiesMessage = formatKeyValuePairs(extraProperties), + messages = []; + + if (!path.depth()) { + path = 'object'; + } + + if (missingPropertiesMessage.length) { + messages.push('Expected ' + path + ' to have properties' + missingPropertiesMessage); + } + + if (extraPropertiesMessage.length) { + messages.push('Expected ' + path + ' not to have properties' + extraPropertiesMessage); + } + + return messages.join('\n'); + } + + function constructorsAreDifferentFormatter(actual, expected, path) { + if (!path.depth()) { + path = 'object'; + } + + return 'Expected ' + + path + ' to be a kind of ' + + j$.fnNameFor(expected.constructor) + + ', but was ' + j$.pp(actual) + '.'; + } + + function formatKeyValuePairs(obj) { + var formatted = ''; + for (var key in obj) { + formatted += '\n ' + key + ': ' + j$.pp(obj[key]); + } + return formatted; + } +}; + +getJasmineRequireObj().nothing = function() { + /** + * {@link expect} nothing explicitly. + * @function + * @name matchers#nothing + * @example + * expect().nothing(); + */ + function nothing() { + return { + compare: function() { + return { + pass: true + }; + } + }; + } + + return nothing; +}; + +getJasmineRequireObj().NullDiffBuilder = function(j$) { + return function() { + return { + withPath: function(_, block) { + block(); + }, + record: function() {} + }; + }; +}; + +getJasmineRequireObj().ObjectPath = function(j$) { + function ObjectPath(components) { + this.components = components || []; + } + + ObjectPath.prototype.toString = function() { + if (this.components.length) { + return '$' + map(this.components, formatPropertyAccess).join(''); + } else { + return ''; + } + }; + + ObjectPath.prototype.add = function(component) { + return new ObjectPath(this.components.concat([component])); + }; + + ObjectPath.prototype.depth = function() { + return this.components.length; + }; + + function formatPropertyAccess(prop) { + if (typeof prop === 'number') { + return '[' + prop + ']'; + } + + if (isValidIdentifier(prop)) { + return '.' + prop; + } + + return '[\'' + prop + '\']'; + } + + function map(array, fn) { + var results = []; + for (var i = 0; i < array.length; i++) { + results.push(fn(array[i])); + } + return results; + } + + function isValidIdentifier(string) { + return /^[A-Za-z\$_][A-Za-z0-9\$_]*$/.test(string); + } + + return ObjectPath; +}; + +getJasmineRequireObj().toBe = function() { + /** + * {@link expect} the actual value to be `===` to the expected value. + * @function + * @name matchers#toBe + * @param {Object} expected - The expected value to compare against. + * @example + * expect(thing).toBe(realThing); + */ + function toBe() { + return { + compare: function(actual, expected) { + return { + pass: actual === expected + }; + } + }; + } + + return toBe; +}; + +getJasmineRequireObj().toBeCloseTo = function() { + /** + * {@link expect} the actual value to be within a specified precision of the expected value. + * @function + * @name matchers#toBeCloseTo + * @param {Object} expected - The expected value to compare against. + * @param {Number} [precision=2] - The number of decimal points to check. + * @example + * expect(number).toBeCloseTo(42.2, 3); + */ + function toBeCloseTo() { + return { + compare: function(actual, expected, precision) { + if (precision !== 0) { + precision = precision || 2; + } + + if (expected === null || actual === null) { + throw new Error('Cannot use toBeCloseTo with null. Arguments evaluated to: ' + + 'expect(' + actual + ').toBeCloseTo(' + expected + ').' + ); + } + + var pow = Math.pow(10, precision + 1); + var delta = Math.abs(expected - actual); + var maxDelta = Math.pow(10, -precision) / 2; + + return { + pass: Math.round(delta * pow) / pow <= maxDelta + }; + } + }; + } + + return toBeCloseTo; +}; + +getJasmineRequireObj().toBeDefined = function() { + /** + * {@link expect} the actual value to be defined. (Not `undefined`) + * @function + * @name matchers#toBeDefined + * @example + * expect(result).toBeDefined(); + */ + function toBeDefined() { + return { + compare: function(actual) { + return { + pass: (void 0 !== actual) + }; + } + }; + } + + return toBeDefined; +}; + +getJasmineRequireObj().toBeFalsy = function() { + /** + * {@link expect} the actual value to be falsy + * @function + * @name matchers#toBeFalsy + * @example + * expect(result).toBeFalsy(); + */ + function toBeFalsy() { + return { + compare: function(actual) { + return { + pass: !!!actual + }; + } + }; + } + + return toBeFalsy; +}; + +getJasmineRequireObj().toBeGreaterThan = function() { + /** + * {@link expect} the actual value to be greater than the expected value. + * @function + * @name matchers#toBeGreaterThan + * @param {Number} expected - The value to compare against. + * @example + * expect(result).toBeGreaterThan(3); + */ + function toBeGreaterThan() { + return { + compare: function(actual, expected) { + return { + pass: actual > expected + }; + } + }; + } + + return toBeGreaterThan; +}; + + +getJasmineRequireObj().toBeGreaterThanOrEqual = function() { + /** + * {@link expect} the actual value to be greater than or equal to the expected value. + * @function + * @name matchers#toBeGreaterThanOrEqual + * @param {Number} expected - The expected value to compare against. + * @example + * expect(result).toBeGreaterThanOrEqual(25); + */ + function toBeGreaterThanOrEqual() { + return { + compare: function(actual, expected) { + return { + pass: actual >= expected + }; + } + }; + } + + return toBeGreaterThanOrEqual; +}; + +getJasmineRequireObj().toBeLessThan = function() { + /** + * {@link expect} the actual value to be less than the expected value. + * @function + * @name matchers#toBeLessThan + * @param {Number} expected - The expected value to compare against. + * @example + * expect(result).toBeLessThan(0); + */ + function toBeLessThan() { + return { + + compare: function(actual, expected) { + return { + pass: actual < expected + }; + } + }; + } + + return toBeLessThan; +}; + +getJasmineRequireObj().toBeLessThanOrEqual = function() { + /** + * {@link expect} the actual value to be less than or equal to the expected value. + * @function + * @name matchers#toBeLessThanOrEqual + * @param {Number} expected - The expected value to compare against. + * @example + * expect(result).toBeLessThanOrEqual(123); + */ + function toBeLessThanOrEqual() { + return { + + compare: function(actual, expected) { + return { + pass: actual <= expected + }; + } + }; + } + + return toBeLessThanOrEqual; +}; + +getJasmineRequireObj().toBeNaN = function(j$) { + /** + * {@link expect} the actual value to be `NaN` (Not a Number). + * @function + * @name matchers#toBeNaN + * @example + * expect(thing).toBeNaN(); + */ + function toBeNaN() { + return { + compare: function(actual) { + var result = { + pass: (actual !== actual) + }; + + if (result.pass) { + result.message = 'Expected actual not to be NaN.'; + } else { + result.message = function() { return 'Expected ' + j$.pp(actual) + ' to be NaN.'; }; + } + + return result; + } + }; + } + + return toBeNaN; +}; + +getJasmineRequireObj().toBeNegativeInfinity = function(j$) { + /** + * {@link expect} the actual value to be `-Infinity` (-infinity). + * @function + * @name matchers#toBeNegativeInfinity + * @example + * expect(thing).toBeNegativeInfinity(); + */ + function toBeNegativeInfinity() { + return { + compare: function(actual) { + var result = { + pass: (actual === Number.NEGATIVE_INFINITY) + }; + + if (result.pass) { + result.message = 'Expected actual to be -Infinity.'; + } else { + result.message = function() { return 'Expected ' + j$.pp(actual) + ' not to be -Infinity.'; }; + } + + return result; + } + }; + } + + return toBeNegativeInfinity; +}; + +getJasmineRequireObj().toBeNull = function() { + /** + * {@link expect} the actual value to be `null`. + * @function + * @name matchers#toBeNull + * @example + * expect(result).toBeNull(); + */ + function toBeNull() { + return { + compare: function(actual) { + return { + pass: actual === null + }; + } + }; + } + + return toBeNull; +}; + +getJasmineRequireObj().toBePositiveInfinity = function(j$) { + /** + * {@link expect} the actual value to be `Infinity` (infinity). + * @function + * @name matchers#toBePositiveInfinity + * @example + * expect(thing).toBePositiveInfinity(); + */ + function toBePositiveInfinity() { + return { + compare: function(actual) { + var result = { + pass: (actual === Number.POSITIVE_INFINITY) + }; + + if (result.pass) { + result.message = 'Expected actual to be Infinity.'; + } else { + result.message = function() { return 'Expected ' + j$.pp(actual) + ' not to be Infinity.'; }; + } + + return result; + } + }; + } + + return toBePositiveInfinity; +}; + +getJasmineRequireObj().toBeTruthy = function() { + /** + * {@link expect} the actual value to be truthy. + * @function + * @name matchers#toBeTruthy + * @example + * expect(thing).toBeTruthy(); + */ + function toBeTruthy() { + return { + compare: function(actual) { + return { + pass: !!actual + }; + } + }; + } + + return toBeTruthy; +}; + +getJasmineRequireObj().toBeUndefined = function() { + /** + * {@link expect} the actual value to be `undefined`. + * @function + * @name matchers#toBeUndefined + * @example + * expect(result).toBeUndefined(): + */ + function toBeUndefined() { + return { + compare: function(actual) { + return { + pass: void 0 === actual + }; + } + }; + } + + return toBeUndefined; +}; + +getJasmineRequireObj().toContain = function() { + /** + * {@link expect} the actual value to contain a specific value. + * @function + * @name matchers#toContain + * @param {Object} expected - The value to look for. + * @example + * expect(array).toContain(anElement); + * expect(string).toContain(substring); + */ + function toContain(util, customEqualityTesters) { + customEqualityTesters = customEqualityTesters || []; + + return { + compare: function(actual, expected) { + + return { + pass: util.contains(actual, expected, customEqualityTesters) + }; + } + }; + } + + return toContain; +}; + +getJasmineRequireObj().toEqual = function(j$) { + /** + * {@link expect} the actual value to be equal to the expected, using deep equality comparison. + * @function + * @name matchers#toEqual + * @param {Object} expected - Expected value + * @example + * expect(bigObject).toEqual({"foo": ['bar', 'baz']}); + */ + function toEqual(util, customEqualityTesters) { + customEqualityTesters = customEqualityTesters || []; + + return { + compare: function(actual, expected) { + var result = { + pass: false + }, + diffBuilder = j$.DiffBuilder(); + + result.pass = util.equals(actual, expected, customEqualityTesters, diffBuilder); + + // TODO: only set error message if test fails + result.message = diffBuilder.getMessage(); + + return result; + } + }; + } + + return toEqual; +}; + +getJasmineRequireObj().toHaveBeenCalled = function(j$) { + + var getErrorMsg = j$.formatErrorMsg('', 'expect().toHaveBeenCalled()'); + + /** + * {@link expect} the actual (a {@link Spy}) to have been called. + * @function + * @name matchers#toHaveBeenCalled + * @example + * expect(mySpy).toHaveBeenCalled(); + * expect(mySpy).not.toHaveBeenCalled(); + */ + function toHaveBeenCalled() { + return { + compare: function(actual) { + var result = {}; + + if (!j$.isSpy(actual)) { + throw new Error(getErrorMsg('Expected a spy, but got ' + j$.pp(actual) + '.')); + } + + if (arguments.length > 1) { + throw new Error(getErrorMsg('Does not take arguments, use toHaveBeenCalledWith')); + } + + result.pass = actual.calls.any(); + + result.message = result.pass ? + 'Expected spy ' + actual.and.identity() + ' not to have been called.' : + 'Expected spy ' + actual.and.identity() + ' to have been called.'; + + return result; + } + }; + } + + return toHaveBeenCalled; +}; + +getJasmineRequireObj().toHaveBeenCalledBefore = function(j$) { + + var getErrorMsg = j$.formatErrorMsg('', 'expect().toHaveBeenCalledBefore()'); + + /** + * {@link expect} the actual value (a {@link Spy}) to have been called before another {@link Spy}. + * @function + * @name matchers#toHaveBeenCalledBefore + * @param {Spy} expected - {@link Spy} that should have been called after the `actual` {@link Spy}. + * @example + * expect(mySpy).toHaveBeenCalledBefore(otherSpy); + */ + function toHaveBeenCalledBefore() { + return { + compare: function(firstSpy, latterSpy) { + if (!j$.isSpy(firstSpy)) { + throw new Error(getErrorMsg('Expected a spy, but got ' + j$.pp(firstSpy) + '.')); + } + if (!j$.isSpy(latterSpy)) { + throw new Error(getErrorMsg('Expected a spy, but got ' + j$.pp(latterSpy) + '.')); + } + + var result = { pass: false }; + + if (!firstSpy.calls.count()) { + result.message = 'Expected spy ' + firstSpy.and.identity() + ' to have been called.'; + return result; + } + if (!latterSpy.calls.count()) { + result.message = 'Expected spy ' + latterSpy.and.identity() + ' to have been called.'; + return result; + } + + var latest1stSpyCall = firstSpy.calls.mostRecent().invocationOrder; + var first2ndSpyCall = latterSpy.calls.first().invocationOrder; + + result.pass = latest1stSpyCall < first2ndSpyCall; + + if (result.pass) { + result.message = 'Expected spy ' + firstSpy.and.identity() + ' to not have been called before spy ' + latterSpy.and.identity() + ', but it was'; + } else { + var first1stSpyCall = firstSpy.calls.first().invocationOrder; + var latest2ndSpyCall = latterSpy.calls.mostRecent().invocationOrder; + + if(first1stSpyCall < first2ndSpyCall) { + result.message = 'Expected latest call to spy ' + firstSpy.and.identity() + ' to have been called before first call to spy ' + latterSpy.and.identity() + ' (no interleaved calls)'; + } else if (latest2ndSpyCall > latest1stSpyCall) { + result.message = 'Expected first call to spy ' + latterSpy.and.identity() + ' to have been called after latest call to spy ' + firstSpy.and.identity() + ' (no interleaved calls)'; + } else { + result.message = 'Expected spy ' + firstSpy.and.identity() + ' to have been called before spy ' + latterSpy.and.identity(); + } + } + + return result; + } + }; + } + + return toHaveBeenCalledBefore; +}; + +getJasmineRequireObj().toHaveBeenCalledTimes = function(j$) { + + var getErrorMsg = j$.formatErrorMsg('', 'expect().toHaveBeenCalledTimes()'); + + /** + * {@link expect} the actual (a {@link Spy}) to have been called the specified number of times. + * @function + * @name matchers#toHaveBeenCalledTimes + * @param {Number} expected - The number of invocations to look for. + * @example + * expect(mySpy).toHaveBeenCalledTimes(3); + */ + function toHaveBeenCalledTimes() { + return { + compare: function(actual, expected) { + if (!j$.isSpy(actual)) { + throw new Error(getErrorMsg('Expected a spy, but got ' + j$.pp(actual) + '.')); + } + + var args = Array.prototype.slice.call(arguments, 0), + result = { pass: false }; + + if (!j$.isNumber_(expected)){ + throw new Error(getErrorMsg('The expected times failed is a required argument and must be a number.')); + } + + actual = args[0]; + var calls = actual.calls.count(); + var timesMessage = expected === 1 ? 'once' : expected + ' times'; + result.pass = calls === expected; + result.message = result.pass ? + 'Expected spy ' + actual.and.identity() + ' not to have been called ' + timesMessage + '. It was called ' + calls + ' times.' : + 'Expected spy ' + actual.and.identity() + ' to have been called ' + timesMessage + '. It was called ' + calls + ' times.'; + return result; + } + }; + } + + return toHaveBeenCalledTimes; +}; + +getJasmineRequireObj().toHaveBeenCalledWith = function(j$) { + + var getErrorMsg = j$.formatErrorMsg('', 'expect().toHaveBeenCalledWith(...arguments)'); + + /** + * {@link expect} the actual (a {@link Spy}) to have been called with particular arguments at least once. + * @function + * @name matchers#toHaveBeenCalledWith + * @param {...Object} - The arguments to look for + * @example + * expect(mySpy).toHaveBeenCalledWith('foo', 'bar', 2); + */ + function toHaveBeenCalledWith(util, customEqualityTesters) { + return { + compare: function() { + var args = Array.prototype.slice.call(arguments, 0), + actual = args[0], + expectedArgs = args.slice(1), + result = { pass: false }; + + if (!j$.isSpy(actual)) { + throw new Error(getErrorMsg('Expected a spy, but got ' + j$.pp(actual) + '.')); + } + + if (!actual.calls.any()) { + result.message = function() { return 'Expected spy ' + actual.and.identity() + ' to have been called with ' + j$.pp(expectedArgs) + ' but it was never called.'; }; + return result; + } + + if (util.contains(actual.calls.allArgs(), expectedArgs, customEqualityTesters)) { + result.pass = true; + result.message = function() { return 'Expected spy ' + actual.and.identity() + ' not to have been called with ' + j$.pp(expectedArgs) + ' but it was.'; }; + } else { + result.message = function() { return 'Expected spy ' + actual.and.identity() + ' to have been called with ' + j$.pp(expectedArgs) + ' but actual calls were ' + j$.pp(actual.calls.allArgs()).replace(/^\[ | \]$/g, '') + '.'; }; + } + + return result; + } + }; + } + + return toHaveBeenCalledWith; +}; + +getJasmineRequireObj().toMatch = function(j$) { + + var getErrorMsg = j$.formatErrorMsg('', 'expect().toMatch( || )'); + + /** + * {@link expect} the actual value to match a regular expression + * @function + * @name matchers#toMatch + * @param {RegExp|String} expected - Value to look for in the string. + * @example + * expect("my string").toMatch(/string$/); + * expect("other string").toMatch("her"); + */ + function toMatch() { + return { + compare: function(actual, expected) { + if (!j$.isString_(expected) && !j$.isA_('RegExp', expected)) { + throw new Error(getErrorMsg('Expected is not a String or a RegExp')); + } + + var regexp = new RegExp(expected); + + return { + pass: regexp.test(actual) + }; + } + }; + } + + return toMatch; +}; + +getJasmineRequireObj().toThrow = function(j$) { + + var getErrorMsg = j$.formatErrorMsg('', 'expect(function() {}).toThrow()'); + + /** + * {@link expect} a function to `throw` something. + * @function + * @name matchers#toThrow + * @param {Object} [expected] - Value that should be thrown. If not provided, simply the fact that something was thrown will be checked. + * @example + * expect(function() { return 'things'; }).toThrow('foo'); + * expect(function() { return 'stuff'; }).toThrow(); + */ + function toThrow(util) { + return { + compare: function(actual, expected) { + var result = { pass: false }, + threw = false, + thrown; + + if (typeof actual != 'function') { + throw new Error(getErrorMsg('Actual is not a Function')); + } + + try { + actual(); + } catch (e) { + threw = true; + thrown = e; + } + + if (!threw) { + result.message = 'Expected function to throw an exception.'; + return result; + } + + if (arguments.length == 1) { + result.pass = true; + result.message = function() { return 'Expected function not to throw, but it threw ' + j$.pp(thrown) + '.'; }; + + return result; + } + + if (util.equals(thrown, expected)) { + result.pass = true; + result.message = function() { return 'Expected function not to throw ' + j$.pp(expected) + '.'; }; + } else { + result.message = function() { return 'Expected function to throw ' + j$.pp(expected) + ', but it threw ' + j$.pp(thrown) + '.'; }; + } + + return result; + } + }; + } + + return toThrow; +}; + +getJasmineRequireObj().toThrowError = function(j$) { + + var getErrorMsg = j$.formatErrorMsg('', 'expect(function() {}).toThrowError(, )'); + + /** + * {@link expect} a function to `throw` an `Error`. + * @function + * @name matchers#toThrowError + * @param {Error} [expected] - `Error` constructor the object that was thrown needs to be an instance of. If not provided, `Error` will be used. + * @param {RegExp|String} [message] - The message that should be set on the thrown `Error` + * @example + * expect(function() { return 'things'; }).toThrowError(MyCustomError, 'message'); + * expect(function() { return 'things'; }).toThrowError(MyCustomError, /bar/); + * expect(function() { return 'stuff'; }).toThrowError(MyCustomError); + * expect(function() { return 'other'; }).toThrowError(/foo/); + * expect(function() { return 'other'; }).toThrowError(); + */ + function toThrowError () { + return { + compare: function(actual) { + var threw = false, + pass = {pass: true}, + fail = {pass: false}, + thrown; + + if (typeof actual != 'function') { + throw new Error(getErrorMsg('Actual is not a Function')); + } + + var errorMatcher = getMatcher.apply(null, arguments); + + try { + actual(); + } catch (e) { + threw = true; + thrown = e; + } + + if (!threw) { + fail.message = 'Expected function to throw an Error.'; + return fail; + } + + // Get Error constructor of thrown + if (!isErrorObject(thrown)) { + fail.message = function() { return 'Expected function to throw an Error, but it threw ' + j$.pp(thrown) + '.'; }; + return fail; + } + + if (errorMatcher.hasNoSpecifics()) { + pass.message = 'Expected function not to throw an Error, but it threw ' + j$.fnNameFor(thrown) + '.'; + return pass; + } + + if (errorMatcher.matches(thrown)) { + pass.message = function() { + return 'Expected function not to throw ' + errorMatcher.errorTypeDescription + errorMatcher.messageDescription() + '.'; + }; + return pass; + } else { + fail.message = function() { + return 'Expected function to throw ' + errorMatcher.errorTypeDescription + errorMatcher.messageDescription() + + ', but it threw ' + errorMatcher.thrownDescription(thrown) + '.'; + }; + return fail; + } + } + }; + + function getMatcher() { + var expected = null, + errorType = null; + + if (arguments.length == 2) { + expected = arguments[1]; + if (isAnErrorType(expected)) { + errorType = expected; + expected = null; + } + } else if (arguments.length > 2) { + errorType = arguments[1]; + expected = arguments[2]; + if (!isAnErrorType(errorType)) { + throw new Error(getErrorMsg('Expected error type is not an Error.')); + } + } + + if (expected && !isStringOrRegExp(expected)) { + if (errorType) { + throw new Error(getErrorMsg('Expected error message is not a string or RegExp.')); + } else { + throw new Error(getErrorMsg('Expected is not an Error, string, or RegExp.')); + } + } + + function messageMatch(message) { + if (typeof expected == 'string') { + return expected == message; + } else { + return expected.test(message); + } + } + + return { + errorTypeDescription: errorType ? j$.fnNameFor(errorType) : 'an exception', + thrownDescription: function(thrown) { + var thrownName = errorType ? j$.fnNameFor(thrown.constructor) : 'an exception', + thrownMessage = ''; + + if (expected) { + thrownMessage = ' with message ' + j$.pp(thrown.message); + } + + return thrownName + thrownMessage; + }, + messageDescription: function() { + if (expected === null) { + return ''; + } else if (expected instanceof RegExp) { + return ' with a message matching ' + j$.pp(expected); + } else { + return ' with message ' + j$.pp(expected); + } + }, + hasNoSpecifics: function() { + return expected === null && errorType === null; + }, + matches: function(error) { + return (errorType === null || error instanceof errorType) && + (expected === null || messageMatch(error.message)); + } + }; + } + + function isStringOrRegExp(potential) { + return potential instanceof RegExp || (typeof potential == 'string'); + } + + function isAnErrorType(type) { + if (typeof type !== 'function') { + return false; + } + + var Surrogate = function() {}; + Surrogate.prototype = type.prototype; + return isErrorObject(new Surrogate()); + } + + function isErrorObject(thrown) { + if (thrown instanceof Error) { + return true; + } + if (thrown && thrown.constructor && thrown.constructor.constructor && + (thrown instanceof (thrown.constructor.constructor('return this')()).Error)) { + return true; + } + return false; + } + } + + return toThrowError; +}; + +getJasmineRequireObj().MockDate = function() { + function MockDate(global) { + var self = this; + var currentTime = 0; + + if (!global || !global.Date) { + self.install = function() {}; + self.tick = function() {}; + self.uninstall = function() {}; + return self; + } + + var GlobalDate = global.Date; + + self.install = function(mockDate) { + if (mockDate instanceof GlobalDate) { + currentTime = mockDate.getTime(); + } else { + currentTime = new GlobalDate().getTime(); + } + + global.Date = FakeDate; + }; + + self.tick = function(millis) { + millis = millis || 0; + currentTime = currentTime + millis; + }; + + self.uninstall = function() { + currentTime = 0; + global.Date = GlobalDate; + }; + + createDateProperties(); + + return self; + + function FakeDate() { + switch(arguments.length) { + case 0: + return new GlobalDate(currentTime); + case 1: + return new GlobalDate(arguments[0]); + case 2: + return new GlobalDate(arguments[0], arguments[1]); + case 3: + return new GlobalDate(arguments[0], arguments[1], arguments[2]); + case 4: + return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3]); + case 5: + return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3], + arguments[4]); + case 6: + return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3], + arguments[4], arguments[5]); + default: + return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3], + arguments[4], arguments[5], arguments[6]); + } + } + + function createDateProperties() { + FakeDate.prototype = GlobalDate.prototype; + + FakeDate.now = function() { + if (GlobalDate.now) { + return currentTime; + } else { + throw new Error('Browser does not support Date.now()'); + } + }; + + FakeDate.toSource = GlobalDate.toSource; + FakeDate.toString = GlobalDate.toString; + FakeDate.parse = GlobalDate.parse; + FakeDate.UTC = GlobalDate.UTC; + } + } + + return MockDate; +}; + +getJasmineRequireObj().pp = function(j$) { + + function PrettyPrinter() { + this.ppNestLevel_ = 0; + this.seen = []; + this.length = 0; + this.stringParts = []; + } + + function hasCustomToString(value) { + // value.toString !== Object.prototype.toString if value has no custom toString but is from another context (e.g. + // iframe, web worker) + return j$.isFunction_(value.toString) && value.toString !== Object.prototype.toString && (value.toString() !== Object.prototype.toString.call(value)); + } + + PrettyPrinter.prototype.format = function(value) { + this.ppNestLevel_++; + try { + if (j$.util.isUndefined(value)) { + this.emitScalar('undefined'); + } else if (value === null) { + this.emitScalar('null'); + } else if (value === 0 && 1/value === -Infinity) { + this.emitScalar('-0'); + } else if (value === j$.getGlobal()) { + this.emitScalar(''); + } else if (value.jasmineToString) { + this.emitScalar(value.jasmineToString()); + } else if (typeof value === 'string') { + this.emitString(value); + } else if (j$.isSpy(value)) { + this.emitScalar('spy on ' + value.and.identity()); + } else if (value instanceof RegExp) { + this.emitScalar(value.toString()); + } else if (typeof value === 'function') { + this.emitScalar('Function'); + } else if (typeof value.nodeType === 'number') { + this.emitScalar('HTMLNode'); + } else if (value instanceof Date) { + this.emitScalar('Date(' + value + ')'); + } else if (j$.isSet(value)) { + this.emitSet(value); + } else if (j$.isMap(value)) { + this.emitMap(value); + } else if (j$.isTypedArray_(value)) { + this.emitTypedArray(value); + } else if (value.toString && typeof value === 'object' && !j$.isArray_(value) && hasCustomToString(value)) { + this.emitScalar(value.toString()); + } else if (j$.util.arrayContains(this.seen, value)) { + this.emitScalar(''); + } else if (j$.isArray_(value) || j$.isA_('Object', value)) { + this.seen.push(value); + if (j$.isArray_(value)) { + this.emitArray(value); + } else { + this.emitObject(value); + } + this.seen.pop(); + } else { + this.emitScalar(value.toString()); + } + } catch (e) { + if (this.ppNestLevel_ > 1 || !(e instanceof MaxCharsReachedError)) { + throw e; + } + } finally { + this.ppNestLevel_--; + } + }; + + PrettyPrinter.prototype.iterateObject = function(obj, fn) { + var objKeys = keys(obj, j$.isArray_(obj)); + var isGetter = function isGetter(prop) {}; + + if (obj.__lookupGetter__) { + isGetter = function isGetter(prop) { + var getter = obj.__lookupGetter__(prop); + return !j$.util.isUndefined(getter) && getter !== null; + }; + + } + var length = Math.min(objKeys.length, j$.MAX_PRETTY_PRINT_ARRAY_LENGTH); + for (var i = 0; i < length; i++) { + var property = objKeys[i]; + fn(property, isGetter(property)); + } + + return objKeys.length > length; + }; + + PrettyPrinter.prototype.emitScalar = function(value) { + this.append(value); + }; + + PrettyPrinter.prototype.emitString = function(value) { + this.append('\'' + value + '\''); + }; + + PrettyPrinter.prototype.emitArray = function(array) { + if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) { + this.append('Array'); + return; + } + var length = Math.min(array.length, j$.MAX_PRETTY_PRINT_ARRAY_LENGTH); + this.append('[ '); + for (var i = 0; i < length; i++) { + if (i > 0) { + this.append(', '); + } + this.format(array[i]); + } + if(array.length > length){ + this.append(', ...'); + } + + var self = this; + var first = array.length === 0; + var truncated = this.iterateObject(array, function(property, isGetter) { + if (first) { + first = false; + } else { + self.append(', '); + } + + self.formatProperty(array, property, isGetter); + }); + + if (truncated) { this.append(', ...'); } + + this.append(' ]'); + }; + + PrettyPrinter.prototype.emitSet = function(set) { + if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) { + this.append('Set'); + return; + } + this.append('Set( '); + var size = Math.min(set.size, j$.MAX_PRETTY_PRINT_ARRAY_LENGTH); + var i = 0; + set.forEach( function( value, key ) { + if (i >= size) { + return; + } + if (i > 0) { + this.append(', '); + } + this.format(value); + + i++; + }, this ); + if (set.size > size){ + this.append(', ...'); + } + this.append(' )'); + }; + + PrettyPrinter.prototype.emitMap = function(map) { + if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) { + this.append('Map'); + return; + } + this.append('Map( '); + var size = Math.min(map.size, j$.MAX_PRETTY_PRINT_ARRAY_LENGTH); + var i = 0; + map.forEach( function( value, key ) { + if (i >= size) { + return; + } + if (i > 0) { + this.append(', '); + } + this.format([key,value]); + + i++; + }, this ); + if (map.size > size){ + this.append(', ...'); + } + this.append(' )'); + }; + + PrettyPrinter.prototype.emitObject = function(obj) { + var ctor = obj.constructor, + constructorName; + + constructorName = typeof ctor === 'function' && obj instanceof ctor ? + j$.fnNameFor(obj.constructor) : + 'null'; + + this.append(constructorName); + + if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) { + return; + } + + var self = this; + this.append('({ '); + var first = true; + + var truncated = this.iterateObject(obj, function(property, isGetter) { + if (first) { + first = false; + } else { + self.append(', '); + } + + self.formatProperty(obj, property, isGetter); + }); + + if (truncated) { this.append(', ...'); } + + this.append(' })'); + }; + + PrettyPrinter.prototype.emitTypedArray = function(arr) { + var constructorName = j$.fnNameFor(arr.constructor), + limitedArray = Array.prototype.slice.call(arr, 0, j$.MAX_PRETTY_PRINT_ARRAY_LENGTH), + itemsString = Array.prototype.join.call(limitedArray, ', '); + + if (limitedArray.length !== arr.length) { + itemsString += ', ...'; + } + + this.append(constructorName + ' [ ' + itemsString + ' ]'); + }; + + PrettyPrinter.prototype.formatProperty = function(obj, property, isGetter) { + this.append(property); + this.append(': '); + if (isGetter) { + this.append(''); + } else { + this.format(obj[property]); + } + }; + + PrettyPrinter.prototype.append = function(value) { + var result = truncate(value, j$.MAX_PRETTY_PRINT_CHARS - this.length); + this.length += result.value.length; + this.stringParts.push(result.value); + + if (result.truncated) { + throw new MaxCharsReachedError(); + } + }; + + + function truncate(s, maxlen) { + if (s.length <= maxlen) { + return { value: s, truncated: false }; + } + + s = s.substring(0, maxlen - 4) + ' ...'; + return { value: s, truncated: true }; + } + + function MaxCharsReachedError() { + this.message = 'Exceeded ' + j$.MAX_PRETTY_PRINT_CHARS + + ' characters while pretty-printing a value'; + } + + MaxCharsReachedError.prototype = new Error(); + + function keys(obj, isArray) { + var allKeys = Object.keys ? Object.keys(obj) : + (function(o) { + var keys = []; + for (var key in o) { + if (j$.util.has(o, key)) { + keys.push(key); + } + } + return keys; + })(obj); + + if (!isArray) { + return allKeys; + } + + if (allKeys.length === 0) { + return allKeys; + } + + var extraKeys = []; + for (var i = 0; i < allKeys.length; i++) { + if (!/^[0-9]+$/.test(allKeys[i])) { + extraKeys.push(allKeys[i]); + } + } + + return extraKeys; + } + return function(value) { + var prettyPrinter = new PrettyPrinter(); + prettyPrinter.format(value); + return prettyPrinter.stringParts.join(''); + }; +}; + +getJasmineRequireObj().QueueRunner = function(j$) { + + function once(fn) { + var called = false; + return function() { + if (!called) { + called = true; + fn.apply(null, arguments); + } + return null; + }; + } + + function QueueRunner(attrs) { + var queueableFns = attrs.queueableFns || []; + this.queueableFns = queueableFns.concat(attrs.cleanupFns || []); + this.firstCleanupIx = queueableFns.length; + this.onComplete = attrs.onComplete || function() {}; + this.clearStack = attrs.clearStack || function(fn) {fn();}; + this.onException = attrs.onException || function() {}; + this.catchException = attrs.catchException || function() { return true; }; + this.userContext = attrs.userContext || new j$.UserContext(); + this.timeout = attrs.timeout || {setTimeout: setTimeout, clearTimeout: clearTimeout}; + this.fail = attrs.fail || function() {}; + this.globalErrors = attrs.globalErrors || { pushListener: function() {}, popListener: function() {} }; + this.completeOnFirstError = !!attrs.completeOnFirstError; + this.deprecated = attrs.deprecated; + } + + QueueRunner.prototype.execute = function() { + var self = this; + this.handleFinalError = function(error) { + self.onException(error); + }; + this.globalErrors.pushListener(this.handleFinalError); + this.run(0); + }; + + QueueRunner.prototype.skipToCleanup = function(lastRanIndex) { + if (lastRanIndex < this.firstCleanupIx) { + this.run(this.firstCleanupIx); + } else { + this.run(lastRanIndex + 1); + } + }; + + QueueRunner.prototype.run = function(recursiveIndex) { + var length = this.queueableFns.length, + self = this, + iterativeIndex; + + + for(iterativeIndex = recursiveIndex; iterativeIndex < length; iterativeIndex++) { + var result = attempt(iterativeIndex); + + if (!result.completedSynchronously) { + return; + } + + if (this.completeOnFirstError && result.errored) { + this.skipToCleanup(iterativeIndex); + return; + } + } + + this.clearStack(function() { + self.globalErrors.popListener(self.handleFinalError); + self.onComplete(); + }); + + function attempt() { + var clearTimeout = function () { + Function.prototype.apply.apply(self.timeout.clearTimeout, [j$.getGlobal(), [timeoutId]]); + }, + setTimeout = function(delayedFn, delay) { + return Function.prototype.apply.apply(self.timeout.setTimeout, [j$.getGlobal(), [delayedFn, delay]]); + }, + completedSynchronously = true, + handleError = function(error) { + onException(error); + next(); + }, + cleanup = once(function() { + clearTimeout(timeoutId); + self.globalErrors.popListener(handleError); + }), + next = once(function (err) { + cleanup(); + + if (err instanceof Error) { + self.deprecated('done callback received an Error object. Jasmine 3.0 will treat this as a failure'); + } + + function runNext() { + if (self.completeOnFirstError && errored) { + self.skipToCleanup(iterativeIndex); + } else { + self.run(iterativeIndex + 1); + } + } + + if (completedSynchronously) { + setTimeout(runNext); + } else { + runNext(); + } + }), + errored = false, + queueableFn = self.queueableFns[iterativeIndex], + timeoutId; + + next.fail = function() { + self.fail.apply(null, arguments); + errored = true; + next(); + }; + + self.globalErrors.pushListener(handleError); + + if (queueableFn.timeout) { + timeoutId = setTimeout(function() { + var error = new Error('Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.'); + onException(error); + next(); + }, queueableFn.timeout()); + } + + try { + if (queueableFn.fn.length === 0) { + var maybeThenable = queueableFn.fn.call(self.userContext); + + if (maybeThenable && j$.isFunction_(maybeThenable.then)) { + maybeThenable.then(next, onPromiseRejection); + completedSynchronously = false; + return { completedSynchronously: false }; + } + } else { + queueableFn.fn.call(self.userContext, next); + completedSynchronously = false; + return { completedSynchronously: false }; + } + } catch (e) { + handleException(e, queueableFn); + errored = true; + } + + cleanup(); + return { completedSynchronously: true, errored: errored }; + + function onException(e) { + self.onException(e); + errored = true; + } + + function onPromiseRejection(e) { + onException(e); + next(); + } + + function handleException(e, queueableFn) { + onException(e); + if (!self.catchException(e)) { + //TODO: set a var when we catch an exception and + //use a finally block to close the loop in a nice way.. + throw e; + } + } + } + }; + + return QueueRunner; +}; + +getJasmineRequireObj().ReportDispatcher = function(j$) { + function ReportDispatcher(methods) { + + var dispatchedMethods = methods || []; + + for (var i = 0; i < dispatchedMethods.length; i++) { + var method = dispatchedMethods[i]; + this[method] = (function(m) { + return function() { + dispatch(m, arguments); + }; + }(method)); + } + + var reporters = []; + var fallbackReporter = null; + + this.addReporter = function(reporter) { + reporters.push(reporter); + }; + + this.provideFallbackReporter = function(reporter) { + fallbackReporter = reporter; + }; + + this.clearReporters = function() { + reporters = []; + }; + + return this; + + function dispatch(method, args) { + if (reporters.length === 0 && fallbackReporter !== null) { + reporters.push(fallbackReporter); + } + for (var i = 0; i < reporters.length; i++) { + var reporter = reporters[i]; + if (reporter[method]) { + reporter[method].apply(reporter, j$.util.cloneArgs(args)); + } + } + } + } + + return ReportDispatcher; +}; + + +getJasmineRequireObj().interface = function(jasmine, env) { + var jasmineInterface = { + /** + * Callback passed to parts of the Jasmine base interface. + * + * By default Jasmine assumes this function completes synchronously. + * If you have code that you need to test asynchronously, you can declare that you receive a `done` callback, return a Promise, or use the `async` keyword if it is supported in your environment. + * @callback implementationCallback + * @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on. + * @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion. + */ + + /** + * Create a group of specs (often called a suite). + * + * Calls to `describe` can be nested within other calls to compose your suite as a tree. + * @name describe + * @function + * @global + * @param {String} description Textual description of the group + * @param {Function} specDefinitions Function for Jasmine to invoke that will define inner suites and specs + */ + describe: function(description, specDefinitions) { + return env.describe(description, specDefinitions); + }, + + /** + * A temporarily disabled [`describe`]{@link describe} + * + * Specs within an `xdescribe` will be marked pending and not executed + * @name xdescribe + * @function + * @global + * @param {String} description Textual description of the group + * @param {Function} specDefinitions Function for Jasmine to invoke that will define inner suites and specs + */ + xdescribe: function(description, specDefinitions) { + return env.xdescribe(description, specDefinitions); + }, + + /** + * A focused [`describe`]{@link describe} + * + * If suites or specs are focused, only those that are focused will be executed + * @see fit + * @name fdescribe + * @function + * @global + * @param {String} description Textual description of the group + * @param {Function} specDefinitions Function for Jasmine to invoke that will define inner suites and specs + */ + fdescribe: function(description, specDefinitions) { + return env.fdescribe(description, specDefinitions); + }, + + /** + * Define a single spec. A spec should contain one or more {@link expect|expectations} that test the state of the code. + * + * A spec whose expectations all succeed will be passing and a spec with any failures will fail. + * @name it + * @function + * @global + * @param {String} description Textual description of what this spec is checking + * @param {implementationCallback} [testFunction] Function that contains the code of your test. If not provided the test will be `pending`. + * @param {Int} [timeout={@link jasmine.DEFAULT_TIMEOUT_INTERVAL}] Custom timeout for an async spec. + */ + it: function() { + return env.it.apply(env, arguments); + }, + + /** + * A temporarily disabled [`it`]{@link it} + * + * The spec will report as `pending` and will not be executed. + * @name xit + * @function + * @global + * @param {String} description Textual description of what this spec is checking. + * @param {implementationCallback} [testFunction] Function that contains the code of your test. Will not be executed. + */ + xit: function() { + return env.xit.apply(env, arguments); + }, + + /** + * A focused [`it`]{@link it} + * + * If suites or specs are focused, only those that are focused will be executed. + * @name fit + * @function + * @global + * @param {String} description Textual description of what this spec is checking. + * @param {implementationCallback} testFunction Function that contains the code of your test. + * @param {Int} [timeout={@link jasmine.DEFAULT_TIMEOUT_INTERVAL}] Custom timeout for an async spec. + */ + fit: function() { + return env.fit.apply(env, arguments); + }, + + /** + * Run some shared setup before each of the specs in the {@link describe} in which it is called. + * @name beforeEach + * @function + * @global + * @param {implementationCallback} [function] Function that contains the code to setup your specs. + * @param {Int} [timeout={@link jasmine.DEFAULT_TIMEOUT_INTERVAL}] Custom timeout for an async beforeEach. + */ + beforeEach: function() { + return env.beforeEach.apply(env, arguments); + }, + + /** + * Run some shared teardown after each of the specs in the {@link describe} in which it is called. + * @name afterEach + * @function + * @global + * @param {implementationCallback} [function] Function that contains the code to teardown your specs. + * @param {Int} [timeout={@link jasmine.DEFAULT_TIMEOUT_INTERVAL}] Custom timeout for an async afterEach. + */ + afterEach: function() { + return env.afterEach.apply(env, arguments); + }, + + /** + * Run some shared setup once before all of the specs in the {@link describe} are run. + * + * _Note:_ Be careful, sharing the setup from a beforeAll makes it easy to accidentally leak state between your specs so that they erroneously pass or fail. + * @name beforeAll + * @function + * @global + * @param {implementationCallback} [function] Function that contains the code to setup your specs. + * @param {Int} [timeout={@link jasmine.DEFAULT_TIMEOUT_INTERVAL}] Custom timeout for an async beforeAll. + */ + beforeAll: function() { + return env.beforeAll.apply(env, arguments); + }, + + /** + * Run some shared teardown once after all of the specs in the {@link describe} are run. + * + * _Note:_ Be careful, sharing the teardown from a afterAll makes it easy to accidentally leak state between your specs so that they erroneously pass or fail. + * @name afterAll + * @function + * @global + * @param {implementationCallback} [function] Function that contains the code to teardown your specs. + * @param {Int} [timeout={@link jasmine.DEFAULT_TIMEOUT_INTERVAL}] Custom timeout for an async afterAll. + */ + afterAll: function() { + return env.afterAll.apply(env, arguments); + }, + + /** + * Create an expectation for a spec. + * @name expect + * @function + * @global + * @param {Object} actual - Actual computed value to test expectations against. + * @return {matchers} + */ + expect: function(actual) { + return env.expect(actual); + }, + + /** + * Mark a spec as pending, expectation results will be ignored. + * @name pending + * @function + * @global + * @param {String} [message] - Reason the spec is pending. + */ + pending: function() { + return env.pending.apply(env, arguments); + }, + + /** + * Explicitly mark a spec as failed. + * @name fail + * @function + * @global + * @param {String|Error} [error] - Reason for the failure. + */ + fail: function() { + return env.fail.apply(env, arguments); + }, + + /** + * Install a spy onto an existing object. + * @name spyOn + * @function + * @global + * @param {Object} obj - The object upon which to install the {@link Spy}. + * @param {String} methodName - The name of the method to replace with a {@link Spy}. + * @returns {Spy} + */ + spyOn: function(obj, methodName) { + return env.spyOn(obj, methodName); + }, + + /** + * Install a spy on a property installed with `Object.defineProperty` onto an existing object. + * @name spyOnProperty + * @function + * @global + * @param {Object} obj - The object upon which to install the {@link Spy} + * @param {String} propertyName - The name of the property to replace with a {@link Spy}. + * @param {String} [accessType=get] - The access type (get|set) of the property to {@link Spy} on. + * @returns {Spy} + */ + spyOnProperty: function(obj, methodName, accessType) { + return env.spyOnProperty(obj, methodName, accessType); + }, + + jsApiReporter: new jasmine.JsApiReporter({ + timer: new jasmine.Timer() + }), + + /** + * @namespace jasmine + */ + jasmine: jasmine + }; + + /** + * Add a custom equality tester for the current scope of specs. + * + * _Note:_ This is only callable from within a {@link beforeEach}, {@link it}, or {@link beforeAll}. + * @name jasmine.addCustomEqualityTester + * @function + * @param {Function} tester - A function which takes two arguments to compare and returns a `true` or `false` comparison result if it knows how to compare them, and `undefined` otherwise. + * @see custom_equality + */ + jasmine.addCustomEqualityTester = function(tester) { + env.addCustomEqualityTester(tester); + }; + + /** + * Add custom matchers for the current scope of specs. + * + * _Note:_ This is only callable from within a {@link beforeEach}, {@link it}, or {@link beforeAll}. + * @name jasmine.addMatchers + * @function + * @param {Object} matchers - Keys from this object will be the new matcher names. + * @see custom_matcher + */ + jasmine.addMatchers = function(matchers) { + return env.addMatchers(matchers); + }; + + /** + * Get the currently booted mock {Clock} for this Jasmine environment. + * @name jasmine.clock + * @function + * @returns {Clock} + */ + jasmine.clock = function() { + return env.clock; + }; + + return jasmineInterface; +}; + +getJasmineRequireObj().Spy = function (j$) { + + var nextOrder = (function() { + var order = 0; + + return function() { + return order++; + }; + })(); + + /** + * _Note:_ Do not construct this directly, use {@link spyOn}, {@link spyOnProperty}, {@link jasmine.createSpy}, or {@link jasmine.createSpyObj} + * @constructor + * @name Spy + */ + function Spy(name, originalFn) { + var numArgs = (typeof originalFn === 'function' ? originalFn.length : 0), + wrapper = makeFunc(numArgs, function () { + return spy.apply(this, Array.prototype.slice.call(arguments)); + }), + spyStrategy = new j$.SpyStrategy({ + name: name, + fn: originalFn, + getSpy: function () { + return wrapper; + } + }), + callTracker = new j$.CallTracker(), + spy = function () { + /** + * @name Spy.callData + * @property {object} object - `this` context for the invocation. + * @property {number} invocationOrder - Order of the invocation. + * @property {Array} args - The arguments passed for this invocation. + */ + var callData = { + object: this, + invocationOrder: nextOrder(), + args: Array.prototype.slice.apply(arguments) + }; + + callTracker.track(callData); + var returnValue = spyStrategy.exec.apply(this, arguments); + callData.returnValue = returnValue; + + return returnValue; + }; + + function makeFunc(length, fn) { + switch (length) { + case 1 : return function (a) { return fn.apply(this, arguments); }; + case 2 : return function (a,b) { return fn.apply(this, arguments); }; + case 3 : return function (a,b,c) { return fn.apply(this, arguments); }; + case 4 : return function (a,b,c,d) { return fn.apply(this, arguments); }; + case 5 : return function (a,b,c,d,e) { return fn.apply(this, arguments); }; + case 6 : return function (a,b,c,d,e,f) { return fn.apply(this, arguments); }; + case 7 : return function (a,b,c,d,e,f,g) { return fn.apply(this, arguments); }; + case 8 : return function (a,b,c,d,e,f,g,h) { return fn.apply(this, arguments); }; + case 9 : return function (a,b,c,d,e,f,g,h,i) { return fn.apply(this, arguments); }; + default : return function () { return fn.apply(this, arguments); }; + } + } + + for (var prop in originalFn) { + if (prop === 'and' || prop === 'calls') { + throw new Error('Jasmine spies would overwrite the \'and\' and \'calls\' properties on the object being spied upon'); + } + + wrapper[prop] = originalFn[prop]; + } + + wrapper.and = spyStrategy; + wrapper.calls = callTracker; + + return wrapper; + } + + return Spy; +}; + +getJasmineRequireObj().SpyRegistry = function(j$) { + + var getErrorMsg = j$.formatErrorMsg('', 'spyOn(, )'); + + function SpyRegistry(options) { + options = options || {}; + var global = options.global || j$.getGlobal(); + var currentSpies = options.currentSpies || function() { return []; }; + + this.allowRespy = function(allow){ + this.respy = allow; + }; + + this.spyOn = function(obj, methodName) { + + if (j$.util.isUndefined(obj) || obj === null) { + throw new Error(getErrorMsg('could not find an object to spy upon for ' + methodName + '()')); + } + + if (j$.util.isUndefined(methodName) || methodName === null) { + throw new Error(getErrorMsg('No method name supplied')); + } + + if (j$.util.isUndefined(obj[methodName])) { + throw new Error(getErrorMsg(methodName + '() method does not exist')); + } + + if (obj[methodName] && j$.isSpy(obj[methodName]) ) { + if ( !!this.respy ){ + return obj[methodName]; + }else { + throw new Error(getErrorMsg(methodName + ' has already been spied upon')); + } + } + + var descriptor; + try { + descriptor = Object.getOwnPropertyDescriptor(obj, methodName); + } catch(e) { + // IE 8 doesn't support `definePropery` on non-DOM nodes + } + + if (descriptor && !(descriptor.writable || descriptor.set)) { + throw new Error(getErrorMsg(methodName + ' is not declared writable or has no setter')); + } + + var originalMethod = obj[methodName], + spiedMethod = j$.createSpy(methodName, originalMethod), + restoreStrategy; + + if (Object.prototype.hasOwnProperty.call(obj, methodName) || (obj === global && methodName === 'onerror')) { + restoreStrategy = function() { + obj[methodName] = originalMethod; + }; + } else { + restoreStrategy = function() { + if (!delete obj[methodName]) { + obj[methodName] = originalMethod; + } + }; + } + + currentSpies().push({ + restoreObjectToOriginalState: restoreStrategy + }); + + obj[methodName] = spiedMethod; + + return spiedMethod; + }; + + this.spyOnProperty = function (obj, propertyName, accessType) { + accessType = accessType || 'get'; + + if (j$.util.isUndefined(obj)) { + throw new Error('spyOn could not find an object to spy upon for ' + propertyName + ''); + } + + if (j$.util.isUndefined(propertyName)) { + throw new Error('No property name supplied'); + } + + var descriptor; + try { + descriptor = j$.util.getPropertyDescriptor(obj, propertyName); + } catch(e) { + // IE 8 doesn't support `definePropery` on non-DOM nodes + } + + if (!descriptor) { + throw new Error(propertyName + ' property does not exist'); + } + + if (!descriptor.configurable) { + throw new Error(propertyName + ' is not declared configurable'); + } + + if(!descriptor[accessType]) { + throw new Error('Property ' + propertyName + ' does not have access type ' + accessType); + } + + if (j$.isSpy(descriptor[accessType])) { + //TODO?: should this return the current spy? Downside: may cause user confusion about spy state + throw new Error(propertyName + ' has already been spied upon'); + } + + var originalDescriptor = j$.util.clone(descriptor), + spy = j$.createSpy(propertyName, descriptor[accessType]), + restoreStrategy; + + if (Object.prototype.hasOwnProperty.call(obj, propertyName)) { + restoreStrategy = function() { + Object.defineProperty(obj, propertyName, originalDescriptor); + }; + } else { + restoreStrategy = function() { + delete obj[propertyName]; + }; + } + + currentSpies().push({ + restoreObjectToOriginalState: restoreStrategy + }); + + descriptor[accessType] = spy; + + Object.defineProperty(obj, propertyName, descriptor); + + return spy; + }; + + this.clearSpies = function() { + var spies = currentSpies(); + for (var i = spies.length - 1; i >= 0; i--) { + var spyEntry = spies[i]; + spyEntry.restoreObjectToOriginalState(); + } + }; + } + + return SpyRegistry; +}; + +getJasmineRequireObj().SpyStrategy = function(j$) { + + /** + * @namespace Spy#and + */ + function SpyStrategy(options) { + options = options || {}; + + var identity = options.name || 'unknown', + originalFn = options.fn || function() {}, + getSpy = options.getSpy || function() {}, + plan = function() {}; + + /** + * Return the identifying information for the spy. + * @name Spy#and#identity + * @function + * @returns {String} + */ + this.identity = function() { + return identity; + }; + + /** + * Execute the current spy strategy. + * @name Spy#and#exec + * @function + */ + this.exec = function() { + return plan.apply(this, arguments); + }; + + /** + * Tell the spy to call through to the real implementation when invoked. + * @name Spy#and#callThrough + * @function + */ + this.callThrough = function() { + plan = originalFn; + return getSpy(); + }; + + /** + * Tell the spy to return the value when invoked. + * @name Spy#and#returnValue + * @function + * @param {*} value The value to return. + */ + this.returnValue = function(value) { + plan = function() { + return value; + }; + return getSpy(); + }; + + /** + * Tell the spy to return one of the specified values (sequentially) each time the spy is invoked. + * @name Spy#and#returnValues + * @function + * @param {...*} values - Values to be returned on subsequent calls to the spy. + */ + this.returnValues = function() { + var values = Array.prototype.slice.call(arguments); + plan = function () { + return values.shift(); + }; + return getSpy(); + }; + + /** + * Tell the spy to throw an error when invoked. + * @name Spy#and#throwError + * @function + * @param {Error|String} something Thing to throw + */ + this.throwError = function(something) { + var error = (something instanceof Error) ? something : new Error(something); + plan = function() { + throw error; + }; + return getSpy(); + }; + + /** + * Tell the spy to call a fake implementation when invoked. + * @name Spy#and#callFake + * @function + * @param {Function} fn The function to invoke with the passed parameters. + */ + this.callFake = function(fn) { + if(!(j$.isFunction_(fn) || j$.isAsyncFunction_(fn))) { + throw new Error('Argument passed to callFake should be a function, got ' + fn); + } + plan = fn; + return getSpy(); + }; + + /** + * Tell the spy to do nothing when invoked. This is the default. + * @name Spy#and#stub + * @function + */ + this.stub = function(fn) { + plan = function() {}; + return getSpy(); + }; + } + + return SpyStrategy; +}; + +getJasmineRequireObj().Suite = function(j$) { + function Suite(attrs) { + this.env = attrs.env; + this.id = attrs.id; + this.parentSuite = attrs.parentSuite; + this.description = attrs.description; + this.expectationFactory = attrs.expectationFactory; + this.expectationResultFactory = attrs.expectationResultFactory; + this.throwOnExpectationFailure = !!attrs.throwOnExpectationFailure; + + this.beforeFns = []; + this.afterFns = []; + this.beforeAllFns = []; + this.afterAllFns = []; + + this.children = []; + + /** + * @typedef SuiteResult + * @property {Int} id - The unique id of this suite. + * @property {String} description - The description text passed to the {@link describe} that made this suite. + * @property {String} fullName - The full description including all ancestors of this suite. + * @property {Expectation[]} failedExpectations - The list of expectations that failed in an {@link afterAll} for this suite. + * @property {Expectation[]} deprecationWarnings - The list of deprecation warnings that occurred on this suite. + * @property {String} status - Once the suite has completed, this string represents the pass/fail status of this suite. + */ + this.result = { + id: this.id, + description: this.description, + fullName: this.getFullName(), + failedExpectations: [], + deprecationWarnings: [] + }; + } + + Suite.prototype.expect = function(actual) { + return this.expectationFactory(actual, this); + }; + + Suite.prototype.getFullName = function() { + var fullName = []; + for (var parentSuite = this; parentSuite; parentSuite = parentSuite.parentSuite) { + if (parentSuite.parentSuite) { + fullName.unshift(parentSuite.description); + } + } + return fullName.join(' '); + }; + + Suite.prototype.pend = function() { + this.markedPending = true; + }; + + Suite.prototype.beforeEach = function(fn) { + this.beforeFns.unshift(fn); + }; + + Suite.prototype.beforeAll = function(fn) { + this.beforeAllFns.push(fn); + }; + + Suite.prototype.afterEach = function(fn) { + this.afterFns.unshift(fn); + }; + + Suite.prototype.afterAll = function(fn) { + this.afterAllFns.unshift(fn); + }; + + Suite.prototype.addChild = function(child) { + this.children.push(child); + }; + + Suite.prototype.status = function() { + if (this.markedPending) { + return 'pending'; + } + + if (this.result.failedExpectations.length > 0) { + return 'failed'; + } else { + return 'finished'; + } + }; + + Suite.prototype.isExecutable = function() { + return !this.markedPending; + }; + + Suite.prototype.canBeReentered = function() { + return this.beforeAllFns.length === 0 && this.afterAllFns.length === 0; + }; + + Suite.prototype.getResult = function() { + this.result.status = this.status(); + return this.result; + }; + + Suite.prototype.sharedUserContext = function() { + if (!this.sharedContext) { + this.sharedContext = this.parentSuite ? this.parentSuite.clonedSharedUserContext() : new j$.UserContext(); + } + + return this.sharedContext; + }; + + Suite.prototype.clonedSharedUserContext = function() { + return j$.UserContext.fromExisting(this.sharedUserContext()); + }; + + Suite.prototype.onException = function() { + if (arguments[0] instanceof j$.errors.ExpectationFailed) { + return; + } + + if(isAfterAll(this.children)) { + var data = { + matcherName: '', + passed: false, + expected: '', + actual: '', + error: arguments[0] + }; + this.result.failedExpectations.push(this.expectationResultFactory(data)); + } else { + for (var i = 0; i < this.children.length; i++) { + var child = this.children[i]; + child.onException.apply(child, arguments); + } + } + }; + + Suite.prototype.addExpectationResult = function () { + if(isAfterAll(this.children) && isFailure(arguments)){ + var data = arguments[1]; + this.result.failedExpectations.push(this.expectationResultFactory(data)); + if(this.throwOnExpectationFailure) { + throw new j$.errors.ExpectationFailed(); + } + } else { + for (var i = 0; i < this.children.length; i++) { + var child = this.children[i]; + try { + child.addExpectationResult.apply(child, arguments); + } catch(e) { + // keep going + } + } + } + }; + + Suite.prototype.addDeprecationWarning = function(msg) { + this.result.deprecationWarnings.push(this.expectationResultFactory({ message: msg })); + }; + + function isAfterAll(children) { + return children && children[0].result.status; + } + + function isFailure(args) { + return !args[0]; + } + + return Suite; +}; + +if (typeof window == void 0 && typeof exports == 'object') { + exports.Suite = jasmineRequire.Suite; +} + +getJasmineRequireObj().Timer = function() { + var defaultNow = (function(Date) { + return function() { return new Date().getTime(); }; + })(Date); + + function Timer(options) { + options = options || {}; + + var now = options.now || defaultNow, + startTime; + + this.start = function() { + startTime = now(); + }; + + this.elapsed = function() { + return now() - startTime; + }; + } + + return Timer; +}; + +getJasmineRequireObj().TreeProcessor = function() { + function TreeProcessor(attrs) { + var tree = attrs.tree, + runnableIds = attrs.runnableIds, + queueRunnerFactory = attrs.queueRunnerFactory, + nodeStart = attrs.nodeStart || function() {}, + nodeComplete = attrs.nodeComplete || function() {}, + orderChildren = attrs.orderChildren || function(node) { return node.children; }, + stats = { valid: true }, + processed = false, + defaultMin = Infinity, + defaultMax = 1 - Infinity; + + this.processTree = function() { + processNode(tree, false); + processed = true; + return stats; + }; + + this.execute = function(done) { + if (!processed) { + this.processTree(); + } + + if (!stats.valid) { + throw 'invalid order'; + } + + var childFns = wrapChildren(tree, 0); + + queueRunnerFactory({ + queueableFns: childFns, + userContext: tree.sharedUserContext(), + onException: function() { + tree.onException.apply(tree, arguments); + }, + onComplete: done + }); + }; + + function runnableIndex(id) { + for (var i = 0; i < runnableIds.length; i++) { + if (runnableIds[i] === id) { + return i; + } + } + } + + function processNode(node, parentEnabled) { + var executableIndex = runnableIndex(node.id); + + if (executableIndex !== undefined) { + parentEnabled = true; + } + + parentEnabled = parentEnabled && node.isExecutable(); + + if (!node.children) { + stats[node.id] = { + executable: parentEnabled && node.isExecutable(), + segments: [{ + index: 0, + owner: node, + nodes: [node], + min: startingMin(executableIndex), + max: startingMax(executableIndex) + }] + }; + } else { + var hasExecutableChild = false; + + var orderedChildren = orderChildren(node); + + for (var i = 0; i < orderedChildren.length; i++) { + var child = orderedChildren[i]; + + processNode(child, parentEnabled); + + if (!stats.valid) { + return; + } + + var childStats = stats[child.id]; + + hasExecutableChild = hasExecutableChild || childStats.executable; + } + + stats[node.id] = { + executable: hasExecutableChild + }; + + segmentChildren(node, orderedChildren, stats[node.id], executableIndex); + + if (!node.canBeReentered() && stats[node.id].segments.length > 1) { + stats = { valid: false }; + } + } + } + + function startingMin(executableIndex) { + return executableIndex === undefined ? defaultMin : executableIndex; + } + + function startingMax(executableIndex) { + return executableIndex === undefined ? defaultMax : executableIndex; + } + + function segmentChildren(node, orderedChildren, nodeStats, executableIndex) { + var currentSegment = { index: 0, owner: node, nodes: [], min: startingMin(executableIndex), max: startingMax(executableIndex) }, + result = [currentSegment], + lastMax = defaultMax, + orderedChildSegments = orderChildSegments(orderedChildren); + + function isSegmentBoundary(minIndex) { + return lastMax !== defaultMax && minIndex !== defaultMin && lastMax < minIndex - 1; + } + + for (var i = 0; i < orderedChildSegments.length; i++) { + var childSegment = orderedChildSegments[i], + maxIndex = childSegment.max, + minIndex = childSegment.min; + + if (isSegmentBoundary(minIndex)) { + currentSegment = {index: result.length, owner: node, nodes: [], min: defaultMin, max: defaultMax}; + result.push(currentSegment); + } + + currentSegment.nodes.push(childSegment); + currentSegment.min = Math.min(currentSegment.min, minIndex); + currentSegment.max = Math.max(currentSegment.max, maxIndex); + lastMax = maxIndex; + } + + nodeStats.segments = result; + } + + function orderChildSegments(children) { + var specifiedOrder = [], + unspecifiedOrder = []; + + for (var i = 0; i < children.length; i++) { + var child = children[i], + segments = stats[child.id].segments; + + for (var j = 0; j < segments.length; j++) { + var seg = segments[j]; + + if (seg.min === defaultMin) { + unspecifiedOrder.push(seg); + } else { + specifiedOrder.push(seg); + } + } + } + + specifiedOrder.sort(function(a, b) { + return a.min - b.min; + }); + + return specifiedOrder.concat(unspecifiedOrder); + } + + function executeNode(node, segmentNumber) { + if (node.children) { + return { + fn: function(done) { + nodeStart(node); + + queueRunnerFactory({ + onComplete: function() { + nodeComplete(node, node.getResult()); + done(); + }, + queueableFns: wrapChildren(node, segmentNumber), + userContext: node.sharedUserContext(), + onException: function() { + node.onException.apply(node, arguments); + } + }); + } + }; + } else { + return { + fn: function(done) { node.execute(done, stats[node.id].executable); } + }; + } + } + + function wrapChildren(node, segmentNumber) { + var result = [], + segmentChildren = stats[node.id].segments[segmentNumber].nodes; + + for (var i = 0; i < segmentChildren.length; i++) { + result.push(executeNode(segmentChildren[i].owner, segmentChildren[i].index)); + } + + if (!stats[node.id].executable) { + return result; + } + + return node.beforeAllFns.concat(result).concat(node.afterAllFns); + } + } + + return TreeProcessor; +}; + +getJasmineRequireObj().UserContext = function(j$) { + function UserContext() { + } + + UserContext.fromExisting = function(oldContext) { + var context = new UserContext(); + + for (var prop in oldContext) { + if (oldContext.hasOwnProperty(prop)) { + context[prop] = oldContext[prop]; + } + } + + return context; + }; + + return UserContext; +}; + +getJasmineRequireObj().version = function() { + return '2.99.0'; +}; diff --git a/.grunt/grunt-contrib-jasmine/jasmine_favicon.png b/.grunt/grunt-contrib-jasmine/jasmine_favicon.png new file mode 100644 index 0000000..3b84583 Binary files /dev/null and b/.grunt/grunt-contrib-jasmine/jasmine_favicon.png differ diff --git a/.grunt/grunt-contrib-jasmine/json2.js b/.grunt/grunt-contrib-jasmine/json2.js new file mode 100644 index 0000000..deb88ec --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/json2.js @@ -0,0 +1,489 @@ +/* + json2.js + 2014-02-04 + + Public Domain. + + NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. + + See http://www.JSON.org/js.html + + + This code should be minified before deployment. + See http://javascript.crockford.com/jsmin.html + + USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO + NOT CONTROL. + + + This file creates a global JSON object containing two methods: stringify + and parse. + + JSON.stringify(value, replacer, space) + value any JavaScript value, usually an object or array. + + replacer an optional parameter that determines how object + values are stringified for objects. It can be a + function or an array of strings. + + space an optional parameter that specifies the indentation + of nested structures. If it is omitted, the text will + be packed without extra whitespace. If it is a number, + it will specify the number of spaces to indent at each + level. If it is a string (such as '\t' or ' '), + it contains the characters used to indent at each level. + + This method produces a JSON text from a JavaScript value. + + When an object value is found, if the object contains a toJSON + method, its toJSON method will be called and the result will be + stringified. A toJSON method does not serialize: it returns the + value represented by the name/value pair that should be serialized, + or undefined if nothing should be serialized. The toJSON method + will be passed the key associated with the value, and this will be + bound to the value + + For example, this would serialize Dates as ISO strings. + + Date.prototype.toJSON = function (key) { + function f(n) { + // Format integers to have at least two digits. + return n < 10 ? '0' + n : n; + } + + return this.getUTCFullYear() + '-' + + f(this.getUTCMonth() + 1) + '-' + + f(this.getUTCDate()) + 'T' + + f(this.getUTCHours()) + ':' + + f(this.getUTCMinutes()) + ':' + + f(this.getUTCSeconds()) + 'Z'; + }; + + You can provide an optional replacer method. It will be passed the + key and value of each member, with this bound to the containing + object. The value that is returned from your method will be + serialized. If your method returns undefined, then the member will + be excluded from the serialization. + + If the replacer parameter is an array of strings, then it will be + used to select the members to be serialized. It filters the results + such that only members with keys listed in the replacer array are + stringified. + + Values that do not have JSON representations, such as undefined or + functions, will not be serialized. Such values in objects will be + dropped; in arrays they will be replaced with null. You can use + a replacer function to replace those with JSON values. + JSON.stringify(undefined) returns undefined. + + The optional space parameter produces a stringification of the + value that is filled with line breaks and indentation to make it + easier to read. + + If the space parameter is a non-empty string, then that string will + be used for indentation. If the space parameter is a number, then + the indentation will be that many spaces. + + Example: + + text = JSON.stringify(['e', {pluribus: 'unum'}]); + // text is '["e",{"pluribus":"unum"}]' + + + text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t'); + // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]' + + text = JSON.stringify([new Date()], function (key, value) { + return this[key] instanceof Date ? + 'Date(' + this[key] + ')' : value; + }); + // text is '["Date(---current time---)"]' + + + JSON.parse(text, reviver) + This method parses a JSON text to produce an object or array. + It can throw a SyntaxError exception. + + The optional reviver parameter is a function that can filter and + transform the results. It receives each of the keys and values, + and its return value is used instead of the original value. + If it returns what it received, then the structure is not modified. + If it returns undefined then the member is deleted. + + Example: + + // Parse the text. Values that look like ISO date strings will + // be converted to Date objects. + + myData = JSON.parse(text, function (key, value) { + var a; + if (typeof value === 'string') { + a = +/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value); + if (a) { + return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], + +a[5], +a[6])); + } + } + return value; + }); + + myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) { + var d; + if (typeof value === 'string' && + value.slice(0, 5) === 'Date(' && + value.slice(-1) === ')') { + d = new Date(value.slice(5, -1)); + if (d) { + return d; + } + } + return value; + }); + + + This is a reference implementation. You are free to copy, modify, or + redistribute. +*/ + +/*jslint evil: true, regexp: true */ + +/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply, + call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours, + getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join, + lastIndex, length, parse, prototype, push, replace, slice, stringify, + test, toJSON, toString, valueOf +*/ + + +// Create a JSON object only if one does not already exist. We create the +// methods in a closure to avoid creating global variables. + +if (typeof JSON !== 'object') { + JSON = {}; +} + +(function () { + 'use strict'; + + function f(n) { + // Format integers to have at least two digits. + return n < 10 ? '0' + n : n; + } + + if (typeof Date.prototype.toJSON !== 'function') { + + Date.prototype.toJSON = function () { + + return isFinite(this.valueOf()) + ? this.getUTCFullYear() + '-' + + f(this.getUTCMonth() + 1) + '-' + + f(this.getUTCDate()) + 'T' + + f(this.getUTCHours()) + ':' + + f(this.getUTCMinutes()) + ':' + + f(this.getUTCSeconds()) + 'Z' + : null; + }; + + String.prototype.toJSON = + Number.prototype.toJSON = + Boolean.prototype.toJSON = function () { + return this.valueOf(); + }; + } + + var cx, + escapable, + gap, + indent, + meta, + rep; + + + function quote(string) { + +// If the string contains no control characters, no quote characters, and no +// backslash characters, then we can safely slap some quotes around it. +// Otherwise we must also replace the offending characters with safe escape +// sequences. + + escapable.lastIndex = 0; + return escapable.test(string) ? '"' + string.replace(escapable, function (a) { + var c = meta[a]; + return typeof c === 'string' + ? c + : '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }) + '"' : '"' + string + '"'; + } + + + function str(key, holder) { + +// Produce a string from holder[key]. + + var i, // The loop counter. + k, // The member key. + v, // The member value. + length, + mind = gap, + partial, + value = holder[key]; + +// If the value has a toJSON method, call it to obtain a replacement value. + + if (value && typeof value === 'object' && + typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + +// If we were called with a replacer function, then call the replacer to +// obtain a replacement value. + + if (typeof rep === 'function') { + value = rep.call(holder, key, value); + } + +// What happens next depends on the value's type. + + switch (typeof value) { + case 'string': + return quote(value); + + case 'number': + +// JSON numbers must be finite. Encode non-finite numbers as null. + + return isFinite(value) ? String(value) : 'null'; + + case 'boolean': + case 'null': + +// If the value is a boolean or null, convert it to a string. Note: +// typeof null does not produce 'null'. The case is included here in +// the remote chance that this gets fixed someday. + + return String(value); + +// If the type is 'object', we might be dealing with an object or an array or +// null. + + case 'object': + +// Due to a specification blunder in ECMAScript, typeof null is 'object', +// so watch out for that case. + + if (!value) { + return 'null'; + } + +// Make an array to hold the partial results of stringifying this object value. + + gap += indent; + partial = []; + +// Is the value an array? + + if (Object.prototype.toString.apply(value) === '[object Array]') { + +// The value is an array. Stringify every element. Use null as a placeholder +// for non-JSON values. + + length = value.length; + for (i = 0; i < length; i += 1) { + partial[i] = str(i, value) || 'null'; + } + +// Join all of the elements together, separated with commas, and wrap them in +// brackets. + + v = partial.length === 0 + ? '[]' + : gap + ? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']' + : '[' + partial.join(',') + ']'; + gap = mind; + return v; + } + +// If the replacer is an array, use it to select the members to be stringified. + + if (rep && typeof rep === 'object') { + length = rep.length; + for (i = 0; i < length; i += 1) { + if (typeof rep[i] === 'string') { + k = rep[i]; + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } else { + +// Otherwise, iterate through all of the keys in the object. + + for (k in value) { + if (Object.prototype.hasOwnProperty.call(value, k)) { + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } + +// Join all of the member texts together, separated with commas, +// and wrap them in braces. + + v = partial.length === 0 + ? '{}' + : gap + ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}' + : '{' + partial.join(',') + '}'; + gap = mind; + return v; + } + } + +// If the JSON object does not yet have a stringify method, give it one. + + if (typeof JSON.stringify !== 'function') { + escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; + meta = { // table of character substitutions + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '"' : '\\"', + '\\': '\\\\' + }; + JSON.stringify = function (value, replacer, space) { + +// The stringify method takes a value and an optional replacer, and an optional +// space parameter, and returns a JSON text. The replacer can be a function +// that can replace values, or an array of strings that will select the keys. +// A default replacer method can be provided. Use of the space parameter can +// produce text that is more easily readable. + + var i; + gap = ''; + indent = ''; + +// If the space parameter is a number, make an indent string containing that +// many spaces. + + if (typeof space === 'number') { + for (i = 0; i < space; i += 1) { + indent += ' '; + } + +// If the space parameter is a string, it will be used as the indent string. + + } else if (typeof space === 'string') { + indent = space; + } + +// If there is a replacer, it must be a function or an array. +// Otherwise, throw an error. + + rep = replacer; + if (replacer && typeof replacer !== 'function' && + (typeof replacer !== 'object' || + typeof replacer.length !== 'number')) { + throw new Error('JSON.stringify'); + } + +// Make a fake root object containing our value under the key of ''. +// Return the result of stringifying the value. + + return str('', {'': value}); + }; + } + + +// If the JSON object does not yet have a parse method, give it one. + + if (typeof JSON.parse !== 'function') { + cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; + JSON.parse = function (text, reviver) { + +// The parse method takes a text and an optional reviver function, and returns +// a JavaScript value if the text is a valid JSON text. + + var j; + + function walk(holder, key) { + +// The walk method is used to recursively walk the resulting structure so +// that modifications can be made. + + var k, v, value = holder[key]; + if (value && typeof value === 'object') { + for (k in value) { + if (Object.prototype.hasOwnProperty.call(value, k)) { + v = walk(value, k); + if (v !== undefined) { + value[k] = v; + } else { + delete value[k]; + } + } + } + } + return reviver.call(holder, key, value); + } + + +// Parsing happens in four stages. In the first stage, we replace certain +// Unicode characters with escape sequences. JavaScript handles many characters +// incorrectly, either silently deleting them, or treating them as line endings. + + text = String(text); + cx.lastIndex = 0; + if (cx.test(text)) { + text = text.replace(cx, function (a) { + return '\\u' + + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }); + } + +// In the second stage, we run the text against regular expressions that look +// for non-JSON patterns. We are especially concerned with '()' and 'new' +// because they can cause invocation, and '=' because it can cause mutation. +// But just to be safe, we want to reject all unexpected forms. + +// We split the second stage into 4 regexp operations in order to work around +// crippling inefficiencies in IE's and Safari's regexp engines. First we +// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we +// replace all simple value tokens with ']' characters. Third, we delete all +// open brackets that follow a colon or comma or that begin the text. Finally, +// we look to see that the remaining characters are only whitespace or ']' or +// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval. + + if (/^[\],:{}\s]*$/ + .test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@') + .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') + .replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { + +// In the third stage we use the eval function to compile the text into a +// JavaScript structure. The '{' operator is subject to a syntactic ambiguity +// in JavaScript: it can begin a block or an object literal. We wrap the text +// in parens to eliminate the ambiguity. + + j = eval('(' + text + ')'); + +// In the optional fourth stage, we recursively walk the new structure, passing +// each name/value pair to a reviver function for possible transformation. + + return typeof reviver === 'function' + ? walk({'': j}, '') + : j; + } + +// If the text is not JSON parseable, then a SyntaxError is thrown. + + throw new SyntaxError('JSON.parse'); + }; + } +}()); diff --git a/.grunt/grunt-contrib-jasmine/reporter.js b/.grunt/grunt-contrib-jasmine/reporter.js new file mode 100644 index 0000000..0e1f57d --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/reporter.js @@ -0,0 +1,132 @@ +/* global window:true, alert:true, jasmine:true, Node:true */ + +'use strict'; + +var phantom = {}; + +if (window._phantom) { + console.log = function() { + phantom.sendMessage('console', Array.prototype.slice.apply(arguments).join(', ')); + }; +} + + +(function() { + phantom.sendMessage = function() { + var args = [].slice.call(arguments); + var payload = stringify(args); + if (window._phantom) { + // alerts are the communication bridge to grunt + alert(payload); + } + }; + + function PhantomReporter() { + this.started = false; + this.finished = false; + this.suites_ = []; + this.results_ = {}; + this.buffer = ''; + } + + PhantomReporter.prototype.jasmineStarted = function() { + this.started = true; + phantom.sendMessage('jasmine.jasmineStarted'); + }; + + PhantomReporter.prototype.specStarted = function(specMetadata) { + specMetadata.startTime = (new Date()).getTime(); + phantom.sendMessage('jasmine.specStarted', specMetadata); + }; + + PhantomReporter.prototype.suiteStarted = function(suiteMetadata) { + suiteMetadata.startTime = (new Date()).getTime(); + phantom.sendMessage('jasmine.suiteStarted', suiteMetadata); + }; + + PhantomReporter.prototype.jasmineDone = function() { + this.finished = true; + phantom.sendMessage('jasmine.jasmineDone'); + phantom.sendMessage('jasmine.done.PhantomReporter'); + }; + + PhantomReporter.prototype.suiteDone = function(suiteMetadata) { + suiteMetadata.duration = (new Date()).getTime() - suiteMetadata.startTime; + phantom.sendMessage('jasmine.suiteDone', suiteMetadata); + }; + + PhantomReporter.prototype.specDone = function(specMetadata) { + specMetadata.duration = (new Date()).getTime() - specMetadata.startTime; + this.results_[specMetadata.id] = specMetadata; + + // Quick hack to alleviate cyclical object breaking JSONification. + for (var ii = 0; ii < specMetadata.failedExpectations.length; ii++) { + var item = specMetadata.failedExpectations[ii]; + if (item.expected) { + item.expected = stringify(item.expected); + } + if (item.actual) { + item.actual = stringify(item.actual); + } + } + + phantom.sendMessage('jasmine.specDone', specMetadata); + }; + + function stringify(obj) { + if (typeof obj !== 'object') { + return obj; + } + + var cache = [], keyMap = []; + + var string = JSON.stringify(obj, function(key, value) { + // Let json stringify falsy values + if (!value) { + return value; + } + + try { + // If we're a node + if (typeof Node !== 'undefined' && value instanceof Node) { + return '[ Node ]'; + } + + // jasmine-given has expectations on Specs. We intercept to return a + // String to avoid stringifying the entire Jasmine environment, which + // results in exponential string growth + if (value instanceof jasmine.Spec) { + return '[ Spec: ' + value.description + ' ]'; + } + + // If we're a window (logic stolen from jQuery) + if (value.window && value.window === value.window.window) { + return '[ Window ]'; + } + + // Simple function reporting + if (typeof value === 'function') { + return '[ Function ]'; + } + + if (typeof value === 'object' && value !== null) { + + var index = cache.indexOf(value); + + if (index !== -1) { + // If we have it in cache, report the circle with the key we first found it in + return '[ Circular {' + (keyMap[index] || 'root') + '} ]'; + } + cache.push(value); + keyMap.push(key); + } + } catch (e) { + return '[Object]'; + } + return value; + }); + return string; + } + + jasmine.getEnv().addReporter(new PhantomReporter()); +}()); diff --git a/.grunt/grunt-contrib-jasmine/src/js/core.js b/.grunt/grunt-contrib-jasmine/src/js/core.js new file mode 100644 index 0000000..3bb61f2 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/core.js @@ -0,0 +1,9 @@ + +var __cov_waiiHJM_H0jZC_ZF24NjDw = (Function('return this'))(); +if (!__cov_waiiHJM_H0jZC_ZF24NjDw.__coverage__) { __cov_waiiHJM_H0jZC_ZF24NjDw.__coverage__ = {}; } +__cov_waiiHJM_H0jZC_ZF24NjDw = __cov_waiiHJM_H0jZC_ZF24NjDw.__coverage__; +if (!(__cov_waiiHJM_H0jZC_ZF24NjDw['src/js/core.js'])) { + __cov_waiiHJM_H0jZC_ZF24NjDw['src/js/core.js'] = {"path":"src/js/core.js","s":{"1":0,"2":1,"3":0,"4":0,"5":0,"6":1,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":1,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":1,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":1,"71":0,"72":0,"73":0,"74":1,"75":0,"76":0,"77":0,"78":0,"79":0,"80":1,"81":0,"82":0,"83":0,"84":1,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":1,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":1,"107":0,"108":0,"109":0,"110":0,"111":1,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":1,"120":0,"121":0,"122":0,"123":0,"124":1,"125":0,"126":0,"127":0,"128":1,"129":0,"130":1,"131":0,"132":1,"133":0,"134":1,"135":0,"136":1,"137":0,"138":1,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":1,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":1,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":1,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":1,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":1,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":1,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":0,"336":0,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":0,"356":0,"357":0,"358":0,"359":0,"360":0,"361":0,"362":0,"363":0,"364":0,"365":0,"366":0,"367":0,"368":0,"369":0,"370":0,"371":0,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":0,"387":0,"388":0,"389":0,"390":0,"391":0,"392":0,"393":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"400":0,"401":0,"402":0,"403":0,"404":0,"405":0,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":0,"434":0,"435":0,"436":0,"437":0,"438":0,"439":0,"440":0,"441":0,"442":0,"443":0,"444":0,"445":0,"446":0,"447":0,"448":0,"449":0,"450":0,"451":0,"452":0,"453":0,"454":0,"455":0,"456":0,"457":0,"458":0,"459":0,"460":0,"461":0,"462":0,"463":0,"464":0,"465":0,"466":0,"467":0,"468":0,"469":0,"470":0,"471":0,"472":0,"473":0,"474":0,"475":0,"476":0,"477":0,"478":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":0,"485":0,"486":0,"487":0,"488":0,"489":0,"490":0,"491":0,"492":0,"493":0,"494":0,"495":0,"496":0,"497":0,"498":0,"499":0,"500":0,"501":0,"502":0,"503":0,"504":0,"505":0,"506":0,"507":0,"508":0,"509":0,"510":0,"511":0,"512":0,"513":0,"514":0,"515":0,"516":0,"517":0,"518":0,"519":0},"b":{"1":[0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0,0,0,0,0],"21":[0,0],"22":[0,0,0,0,0,0,0],"23":[0,0],"24":[0,0,0],"25":[0,0],"26":[0,0,0],"27":[0,0],"28":[0,0,0,0,0],"29":[0,0],"30":[0,0],"31":[0,0,0],"32":[0,0],"33":[0,0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0],"98":[0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0],"104":[0,0],"105":[0,0],"106":[0,0],"107":[0,0],"108":[0,0],"109":[0,0],"110":[0,0],"111":[0,0],"112":[0,0],"113":[0,0],"114":[0,0],"115":[0,0],"116":[0,0,0,0,0,0,0,0,0,0],"117":[0,0],"118":[0,0],"119":[0,0],"120":[0,0],"121":[0,0],"122":[0,0],"123":[0,0],"124":[0,0],"125":[0,0],"126":[0,0],"127":[0,0],"128":[0,0],"129":[0,0],"130":[0,0],"131":[0,0],"132":[0,0],"133":[0,0],"134":[0,0],"135":[0,0],"136":[0,0],"137":[0,0],"138":[0,0],"139":[0,0],"140":[0,0],"141":[0,0],"142":[0,0,0,0],"143":[0,0],"144":[0,0,0],"145":[0,0],"146":[0,0],"147":[0,0],"148":[0,0],"149":[0,0],"150":[0,0],"151":[0,0],"152":[0,0],"153":[0,0],"154":[0,0,0],"155":[0,0],"156":[0,0],"157":[0,0],"158":[0,0],"159":[0,0],"160":[0,0],"161":[0,0],"162":[0,0],"163":[0,0],"164":[0,0],"165":[0,0],"166":[0,0],"167":[0,0,0,0],"168":[0,0],"169":[0,0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"handleDisableExtraSpaces","line":6,"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":45}}},"3":{"name":"handleDisabledEnterKeydown","line":16,"loc":{"start":{"line":16,"column":4},"end":{"line":16,"column":56}}},"4":{"name":"handleTabKeydown","line":31,"loc":{"start":{"line":31,"column":4},"end":{"line":31,"column":37}}},"5":{"name":"handleBlockDeleteKeydowns","line":54,"loc":{"start":{"line":54,"column":4},"end":{"line":54,"column":46}}},"6":{"name":"handleKeyup","line":169,"loc":{"start":{"line":169,"column":4},"end":{"line":169,"column":32}}},"7":{"name":"handleEditableInput","line":200,"loc":{"start":{"line":200,"column":4},"end":{"line":200,"column":50}}},"8":{"name":"addToEditors","line":209,"loc":{"start":{"line":209,"column":4},"end":{"line":209,"column":31}}},"9":{"name":"removeFromEditors","line":225,"loc":{"start":{"line":225,"column":4},"end":{"line":225,"column":36}}},"10":{"name":"createElementsArray","line":240,"loc":{"start":{"line":240,"column":4},"end":{"line":240,"column":70}}},"11":{"name":"cleanupTextareaElement","line":274,"loc":{"start":{"line":274,"column":4},"end":{"line":274,"column":45}}},"12":{"name":"setExtensionDefaults","line":286,"loc":{"start":{"line":286,"column":4},"end":{"line":286,"column":55}}},"13":{"name":"(anonymous_13)","line":287,"loc":{"start":{"line":287,"column":38},"end":{"line":287,"column":54}}},"14":{"name":"initExtension","line":295,"loc":{"start":{"line":295,"column":4},"end":{"line":295,"column":54}}},"15":{"name":"isToolbarEnabled","line":317,"loc":{"start":{"line":317,"column":4},"end":{"line":317,"column":32}}},"16":{"name":"(anonymous_16)","line":320,"loc":{"start":{"line":320,"column":32},"end":{"line":320,"column":51}}},"17":{"name":"isAnchorPreviewEnabled","line":329,"loc":{"start":{"line":329,"column":4},"end":{"line":329,"column":38}}},"18":{"name":"isPlaceholderEnabled","line":338,"loc":{"start":{"line":338,"column":4},"end":{"line":338,"column":36}}},"19":{"name":"isAutoLinkEnabled","line":342,"loc":{"start":{"line":342,"column":4},"end":{"line":342,"column":33}}},"20":{"name":"isImageDraggingEnabled","line":346,"loc":{"start":{"line":346,"column":4},"end":{"line":346,"column":38}}},"21":{"name":"isKeyboardCommandsEnabled","line":350,"loc":{"start":{"line":350,"column":4},"end":{"line":350,"column":41}}},"22":{"name":"shouldUseFileDraggingExtension","line":354,"loc":{"start":{"line":354,"column":4},"end":{"line":354,"column":46}}},"23":{"name":"createContentEditable","line":361,"loc":{"start":{"line":361,"column":4},"end":{"line":361,"column":45}}},"24":{"name":"(anonymous_24)","line":391,"loc":{"start":{"line":391,"column":44},"end":{"line":391,"column":61}}},"25":{"name":"initElement","line":407,"loc":{"start":{"line":407,"column":4},"end":{"line":407,"column":44}}},"26":{"name":"attachHandlers","line":457,"loc":{"start":{"line":457,"column":4},"end":{"line":457,"column":30}}},"27":{"name":"initExtensions","line":480,"loc":{"start":{"line":480,"column":4},"end":{"line":480,"column":30}}},"28":{"name":"(anonymous_28)","line":485,"loc":{"start":{"line":485,"column":53},"end":{"line":485,"column":69}}},"29":{"name":"(anonymous_29)","line":524,"loc":{"start":{"line":524,"column":38},"end":{"line":524,"column":54}}},"30":{"name":"mergeOptions","line":549,"loc":{"start":{"line":549,"column":4},"end":{"line":549,"column":45}}},"31":{"name":"(anonymous_31)","line":555,"loc":{"start":{"line":555,"column":41},"end":{"line":555,"column":57}}},"32":{"name":"execActionInternal","line":565,"loc":{"start":{"line":565,"column":4},"end":{"line":565,"column":46}}},"33":{"name":"cleanupJustifyDivFragments","line":632,"loc":{"start":{"line":632,"column":4},"end":{"line":632,"column":56}}},"34":{"name":"(anonymous_34)","line":638,"loc":{"start":{"line":638,"column":85},"end":{"line":638,"column":104}}},"35":{"name":"(anonymous_35)","line":656,"loc":{"start":{"line":656,"column":30},"end":{"line":656,"column":45}}},"36":{"name":"(anonymous_36)","line":677,"loc":{"start":{"line":677,"column":14},"end":{"line":677,"column":43}}},"37":{"name":"(anonymous_37)","line":688,"loc":{"start":{"line":688,"column":15},"end":{"line":688,"column":27}}},"38":{"name":"(anonymous_38)","line":710,"loc":{"start":{"line":710,"column":17},"end":{"line":710,"column":29}}},"39":{"name":"(anonymous_39)","line":717,"loc":{"start":{"line":717,"column":36},"end":{"line":717,"column":57}}},"40":{"name":"(anonymous_40)","line":725,"loc":{"start":{"line":725,"column":34},"end":{"line":725,"column":53}}},"41":{"name":"(anonymous_41)","line":753,"loc":{"start":{"line":753,"column":12},"end":{"line":753,"column":59}}},"42":{"name":"(anonymous_42)","line":759,"loc":{"start":{"line":759,"column":13},"end":{"line":759,"column":60}}},"43":{"name":"(anonymous_43)","line":765,"loc":{"start":{"line":765,"column":19},"end":{"line":765,"column":46}}},"44":{"name":"(anonymous_44)","line":771,"loc":{"start":{"line":771,"column":21},"end":{"line":771,"column":48}}},"45":{"name":"(anonymous_45)","line":777,"loc":{"start":{"line":777,"column":17},"end":{"line":777,"column":49}}},"46":{"name":"(anonymous_46)","line":783,"loc":{"start":{"line":783,"column":15},"end":{"line":783,"column":29}}},"47":{"name":"(anonymous_47)","line":785,"loc":{"start":{"line":785,"column":30},"end":{"line":785,"column":42}}},"48":{"name":"(anonymous_48)","line":792,"loc":{"start":{"line":792,"column":19},"end":{"line":792,"column":31}}},"49":{"name":"(anonymous_49)","line":807,"loc":{"start":{"line":807,"column":28},"end":{"line":807,"column":44}}},"50":{"name":"(anonymous_50)","line":810,"loc":{"start":{"line":810,"column":37},"end":{"line":810,"column":52}}},"51":{"name":"(anonymous_51)","line":824,"loc":{"start":{"line":824,"column":29},"end":{"line":824,"column":51}}},"52":{"name":"(anonymous_52)","line":880,"loc":{"start":{"line":880,"column":30},"end":{"line":880,"column":42}}},"53":{"name":"(anonymous_53)","line":884,"loc":{"start":{"line":884,"column":31},"end":{"line":884,"column":43}}},"54":{"name":"(anonymous_54)","line":888,"loc":{"start":{"line":888,"column":24},"end":{"line":888,"column":36}}},"55":{"name":"(anonymous_55)","line":898,"loc":{"start":{"line":898,"column":27},"end":{"line":898,"column":45}}},"56":{"name":"(anonymous_56)","line":918,"loc":{"start":{"line":918,"column":20},"end":{"line":918,"column":44}}},"57":{"name":"(anonymous_57)","line":949,"loc":{"start":{"line":949,"column":34},"end":{"line":949,"column":51}}},"58":{"name":"(anonymous_58)","line":956,"loc":{"start":{"line":956,"column":27},"end":{"line":956,"column":39}}},"59":{"name":"(anonymous_59)","line":969,"loc":{"start":{"line":969,"column":23},"end":{"line":969,"column":42}}},"60":{"name":"(anonymous_60)","line":978,"loc":{"start":{"line":978,"column":27},"end":{"line":978,"column":39}}},"61":{"name":"(anonymous_61)","line":980,"loc":{"start":{"line":980,"column":31},"end":{"line":980,"column":50}}},"62":{"name":"(anonymous_62)","line":995,"loc":{"start":{"line":995,"column":25},"end":{"line":995,"column":37}}},"63":{"name":"(anonymous_63)","line":1011,"loc":{"start":{"line":1011,"column":23},"end":{"line":1011,"column":35}}},"64":{"name":"(anonymous_64)","line":1017,"loc":{"start":{"line":1017,"column":25},"end":{"line":1017,"column":78}}},"65":{"name":"(anonymous_65)","line":1026,"loc":{"start":{"line":1026,"column":26},"end":{"line":1026,"column":38}}},"66":{"name":"(anonymous_66)","line":1030,"loc":{"start":{"line":1030,"column":20},"end":{"line":1030,"column":36}}},"67":{"name":"(anonymous_67)","line":1180,"loc":{"start":{"line":1180,"column":20},"end":{"line":1180,"column":36}}},"68":{"name":"(anonymous_68)","line":1184,"loc":{"start":{"line":1184,"column":19},"end":{"line":1184,"column":44}}},"69":{"name":"(anonymous_69)","line":1188,"loc":{"start":{"line":1188,"column":20},"end":{"line":1188,"column":43}}},"70":{"name":"(anonymous_70)","line":1198,"loc":{"start":{"line":1198,"column":20},"end":{"line":1198,"column":37}}},"71":{"name":"(anonymous_71)","line":1207,"loc":{"start":{"line":1207,"column":29},"end":{"line":1207,"column":49}}},"72":{"name":"(anonymous_72)","line":1212,"loc":{"start":{"line":1212,"column":22},"end":{"line":1212,"column":41}}},"73":{"name":"(anonymous_73)","line":1225,"loc":{"start":{"line":1225,"column":34},"end":{"line":1225,"column":53}}},"74":{"name":"(anonymous_74)","line":1230,"loc":{"start":{"line":1230,"column":21},"end":{"line":1230,"column":41}}},"75":{"name":"(anonymous_75)","line":1239,"loc":{"start":{"line":1239,"column":29},"end":{"line":1239,"column":48}}},"76":{"name":"(anonymous_76)","line":1251,"loc":{"start":{"line":1251,"column":24},"end":{"line":1251,"column":44}}},"77":{"name":"(anonymous_77)","line":1254,"loc":{"start":{"line":1254,"column":40},"end":{"line":1254,"column":54}}},"78":{"name":"(anonymous_78)","line":1263,"loc":{"start":{"line":1263,"column":49},"end":{"line":1263,"column":68}}},"79":{"name":"(anonymous_79)","line":1279,"loc":{"start":{"line":1279,"column":40},"end":{"line":1279,"column":59}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1287,"column":5}},"2":{"start":{"line":6,"column":4},"end":{"line":14,"column":5}},"3":{"start":{"line":7,"column":8},"end":{"line":9,"column":74}},"4":{"start":{"line":11,"column":8},"end":{"line":13,"column":9}},"5":{"start":{"line":12,"column":12},"end":{"line":12,"column":35}},"6":{"start":{"line":16,"column":4},"end":{"line":29,"column":5}},"7":{"start":{"line":17,"column":8},"end":{"line":28,"column":9}},"8":{"start":{"line":18,"column":12},"end":{"line":18,"column":35}},"9":{"start":{"line":19,"column":15},"end":{"line":28,"column":9}},"10":{"start":{"line":20,"column":12},"end":{"line":20,"column":92}},"11":{"start":{"line":23,"column":12},"end":{"line":27,"column":13}},"12":{"start":{"line":26,"column":16},"end":{"line":26,"column":39}},"13":{"start":{"line":31,"column":4},"end":{"line":52,"column":5}},"14":{"start":{"line":33,"column":8},"end":{"line":34,"column":54}},"15":{"start":{"line":36,"column":8},"end":{"line":39,"column":9}},"16":{"start":{"line":37,"column":12},"end":{"line":37,"column":35}},"17":{"start":{"line":38,"column":12},"end":{"line":38,"column":84}},"18":{"start":{"line":42,"column":8},"end":{"line":51,"column":9}},"19":{"start":{"line":43,"column":12},"end":{"line":43,"column":35}},"20":{"start":{"line":46,"column":12},"end":{"line":50,"column":13}},"21":{"start":{"line":47,"column":16},"end":{"line":47,"column":79}},"22":{"start":{"line":49,"column":16},"end":{"line":49,"column":78}},"23":{"start":{"line":54,"column":4},"end":{"line":167,"column":5}},"24":{"start":{"line":55,"column":8},"end":{"line":58,"column":30}},"25":{"start":{"line":60,"column":8},"end":{"line":166,"column":9}},"26":{"start":{"line":67,"column":12},"end":{"line":80,"column":13}},"27":{"start":{"line":71,"column":16},"end":{"line":71,"column":96}},"28":{"start":{"line":72,"column":16},"end":{"line":72,"column":39}},"29":{"start":{"line":73,"column":19},"end":{"line":80,"column":13}},"30":{"start":{"line":76,"column":16},"end":{"line":76,"column":66}},"31":{"start":{"line":77,"column":16},"end":{"line":77,"column":37}},"32":{"start":{"line":78,"column":16},"end":{"line":78,"column":77}},"33":{"start":{"line":79,"column":16},"end":{"line":79,"column":39}},"34":{"start":{"line":81,"column":15},"end":{"line":166,"column":9}},"35":{"start":{"line":97,"column":12},"end":{"line":97,"column":99}},"36":{"start":{"line":99,"column":12},"end":{"line":99,"column":69}},"37":{"start":{"line":101,"column":12},"end":{"line":101,"column":35}},"38":{"start":{"line":102,"column":15},"end":{"line":166,"column":9}},"39":{"start":{"line":122,"column":12},"end":{"line":122,"column":62}},"40":{"start":{"line":123,"column":12},"end":{"line":123,"column":33}},"41":{"start":{"line":124,"column":12},"end":{"line":124,"column":81}},"42":{"start":{"line":127,"column":12},"end":{"line":127,"column":77}},"43":{"start":{"line":130,"column":12},"end":{"line":130,"column":49}},"44":{"start":{"line":132,"column":12},"end":{"line":132,"column":35}},"45":{"start":{"line":133,"column":15},"end":{"line":166,"column":9}},"46":{"start":{"line":139,"column":12},"end":{"line":139,"column":35}},"47":{"start":{"line":140,"column":12},"end":{"line":140,"column":79}},"48":{"start":{"line":141,"column":15},"end":{"line":166,"column":9}},"49":{"start":{"line":147,"column":12},"end":{"line":147,"column":62}},"50":{"start":{"line":148,"column":12},"end":{"line":148,"column":33}},"51":{"start":{"line":149,"column":12},"end":{"line":149,"column":65}},"52":{"start":{"line":152,"column":12},"end":{"line":152,"column":77}},"53":{"start":{"line":154,"column":12},"end":{"line":154,"column":35}},"54":{"start":{"line":155,"column":15},"end":{"line":166,"column":9}},"55":{"start":{"line":163,"column":12},"end":{"line":163,"column":35}},"56":{"start":{"line":164,"column":12},"end":{"line":164,"column":92}},"57":{"start":{"line":165,"column":12},"end":{"line":165,"column":49}},"58":{"start":{"line":169,"column":4},"end":{"line":198,"column":5}},"59":{"start":{"line":170,"column":8},"end":{"line":171,"column":20}},"60":{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},"61":{"start":{"line":174,"column":12},"end":{"line":174,"column":19}},"62":{"start":{"line":179,"column":8},"end":{"line":181,"column":9}},"63":{"start":{"line":180,"column":12},"end":{"line":180,"column":78}},"64":{"start":{"line":186,"column":8},"end":{"line":197,"column":9}},"65":{"start":{"line":190,"column":12},"end":{"line":190,"column":50}},"66":{"start":{"line":192,"column":12},"end":{"line":196,"column":13}},"67":{"start":{"line":193,"column":16},"end":{"line":193,"column":78}},"68":{"start":{"line":194,"column":19},"end":{"line":196,"column":13}},"69":{"start":{"line":195,"column":16},"end":{"line":195,"column":82}},"70":{"start":{"line":200,"column":4},"end":{"line":205,"column":5}},"71":{"start":{"line":201,"column":8},"end":{"line":201,"column":157}},"72":{"start":{"line":202,"column":8},"end":{"line":204,"column":9}},"73":{"start":{"line":203,"column":12},"end":{"line":203,"column":55}},"74":{"start":{"line":209,"column":4},"end":{"line":223,"column":5}},"75":{"start":{"line":210,"column":8},"end":{"line":215,"column":9}},"76":{"start":{"line":214,"column":12},"end":{"line":214,"column":40}},"77":{"start":{"line":218,"column":8},"end":{"line":220,"column":9}},"78":{"start":{"line":219,"column":12},"end":{"line":219,"column":48}},"79":{"start":{"line":222,"column":8},"end":{"line":222,"column":43}},"80":{"start":{"line":225,"column":4},"end":{"line":238,"column":5}},"81":{"start":{"line":226,"column":8},"end":{"line":228,"column":9}},"82":{"start":{"line":227,"column":12},"end":{"line":227,"column":19}},"83":{"start":{"line":237,"column":8},"end":{"line":237,"column":43}},"84":{"start":{"line":240,"column":4},"end":{"line":272,"column":5}},"85":{"start":{"line":241,"column":8},"end":{"line":241,"column":26}},"86":{"start":{"line":243,"column":8},"end":{"line":245,"column":9}},"87":{"start":{"line":244,"column":12},"end":{"line":244,"column":26}},"88":{"start":{"line":247,"column":8},"end":{"line":249,"column":9}},"89":{"start":{"line":248,"column":12},"end":{"line":248,"column":54}},"90":{"start":{"line":251,"column":8},"end":{"line":253,"column":9}},"91":{"start":{"line":252,"column":12},"end":{"line":252,"column":34}},"92":{"start":{"line":255,"column":8},"end":{"line":269,"column":9}},"93":{"start":{"line":258,"column":12},"end":{"line":265,"column":13}},"94":{"start":{"line":259,"column":16},"end":{"line":259,"column":37}},"95":{"start":{"line":260,"column":16},"end":{"line":264,"column":17}},"96":{"start":{"line":263,"column":20},"end":{"line":263,"column":38}},"97":{"start":{"line":268,"column":12},"end":{"line":268,"column":61}},"98":{"start":{"line":271,"column":8},"end":{"line":271,"column":24}},"99":{"start":{"line":274,"column":4},"end":{"line":284,"column":5}},"100":{"start":{"line":275,"column":8},"end":{"line":275,"column":155}},"101":{"start":{"line":276,"column":8},"end":{"line":280,"column":9}},"102":{"start":{"line":278,"column":12},"end":{"line":278,"column":62}},"103":{"start":{"line":279,"column":12},"end":{"line":279,"column":66}},"104":{"start":{"line":281,"column":8},"end":{"line":283,"column":9}},"105":{"start":{"line":282,"column":12},"end":{"line":282,"column":52}},"106":{"start":{"line":286,"column":4},"end":{"line":293,"column":5}},"107":{"start":{"line":287,"column":8},"end":{"line":291,"column":11}},"108":{"start":{"line":288,"column":12},"end":{"line":290,"column":13}},"109":{"start":{"line":289,"column":16},"end":{"line":289,"column":49}},"110":{"start":{"line":292,"column":8},"end":{"line":292,"column":25}},"111":{"start":{"line":295,"column":4},"end":{"line":315,"column":5}},"112":{"start":{"line":296,"column":8},"end":{"line":300,"column":10}},"113":{"start":{"line":303,"column":8},"end":{"line":303,"column":71}},"114":{"start":{"line":306,"column":8},"end":{"line":308,"column":9}},"115":{"start":{"line":307,"column":12},"end":{"line":307,"column":29}},"116":{"start":{"line":311,"column":8},"end":{"line":313,"column":9}},"117":{"start":{"line":312,"column":12},"end":{"line":312,"column":34}},"118":{"start":{"line":314,"column":8},"end":{"line":314,"column":25}},"119":{"start":{"line":317,"column":4},"end":{"line":327,"column":5}},"120":{"start":{"line":320,"column":8},"end":{"line":324,"column":9}},"121":{"start":{"line":321,"column":16},"end":{"line":321,"column":70}},"122":{"start":{"line":323,"column":12},"end":{"line":323,"column":25}},"123":{"start":{"line":326,"column":8},"end":{"line":326,"column":46}},"124":{"start":{"line":329,"column":4},"end":{"line":336,"column":5}},"125":{"start":{"line":331,"column":8},"end":{"line":333,"column":9}},"126":{"start":{"line":332,"column":12},"end":{"line":332,"column":25}},"127":{"start":{"line":335,"column":8},"end":{"line":335,"column":52}},"128":{"start":{"line":338,"column":4},"end":{"line":340,"column":5}},"129":{"start":{"line":339,"column":8},"end":{"line":339,"column":50}},"130":{"start":{"line":342,"column":4},"end":{"line":344,"column":5}},"131":{"start":{"line":343,"column":8},"end":{"line":343,"column":47}},"132":{"start":{"line":346,"column":4},"end":{"line":348,"column":5}},"133":{"start":{"line":347,"column":8},"end":{"line":347,"column":52}},"134":{"start":{"line":350,"column":4},"end":{"line":352,"column":5}},"135":{"start":{"line":351,"column":8},"end":{"line":351,"column":55}},"136":{"start":{"line":354,"column":4},"end":{"line":359,"column":5}},"137":{"start":{"line":358,"column":8},"end":{"line":358,"column":57}},"138":{"start":{"line":361,"column":4},"end":{"line":405,"column":5}},"139":{"start":{"line":362,"column":8},"end":{"line":365,"column":39}},"140":{"start":{"line":369,"column":8},"end":{"line":372,"column":9}},"141":{"start":{"line":370,"column":12},"end":{"line":370,"column":18}},"142":{"start":{"line":371,"column":12},"end":{"line":371,"column":46}},"143":{"start":{"line":374,"column":8},"end":{"line":374,"column":43}},"144":{"start":{"line":375,"column":8},"end":{"line":375,"column":26}},"145":{"start":{"line":376,"column":8},"end":{"line":376,"column":39}},"146":{"start":{"line":378,"column":8},"end":{"line":378,"column":69}},"147":{"start":{"line":381,"column":8},"end":{"line":386,"column":9}},"148":{"start":{"line":383,"column":12},"end":{"line":385,"column":13}},"149":{"start":{"line":384,"column":16},"end":{"line":384,"column":66}},"150":{"start":{"line":390,"column":8},"end":{"line":396,"column":9}},"151":{"start":{"line":391,"column":12},"end":{"line":395,"column":26}},"152":{"start":{"line":392,"column":16},"end":{"line":394,"column":17}},"153":{"start":{"line":393,"column":20},"end":{"line":393,"column":91}},"154":{"start":{"line":398,"column":8},"end":{"line":398,"column":55}},"155":{"start":{"line":399,"column":8},"end":{"line":402,"column":10}},"156":{"start":{"line":404,"column":8},"end":{"line":404,"column":19}},"157":{"start":{"line":407,"column":4},"end":{"line":455,"column":5}},"158":{"start":{"line":408,"column":8},"end":{"line":452,"column":9}},"159":{"start":{"line":409,"column":12},"end":{"line":417,"column":13}},"160":{"start":{"line":410,"column":16},"end":{"line":410,"column":68}},"161":{"start":{"line":413,"column":16},"end":{"line":416,"column":17}},"162":{"start":{"line":414,"column":20},"end":{"line":414,"column":86}},"163":{"start":{"line":415,"column":20},"end":{"line":415,"column":86}},"164":{"start":{"line":419,"column":12},"end":{"line":422,"column":13}},"165":{"start":{"line":420,"column":16},"end":{"line":420,"column":62}},"166":{"start":{"line":421,"column":16},"end":{"line":421,"column":76}},"167":{"start":{"line":425,"column":12},"end":{"line":430,"column":13}},"168":{"start":{"line":426,"column":16},"end":{"line":429,"column":17}},"169":{"start":{"line":427,"column":20},"end":{"line":427,"column":100}},"170":{"start":{"line":428,"column":20},"end":{"line":428,"column":100}},"171":{"start":{"line":434,"column":12},"end":{"line":436,"column":13}},"172":{"start":{"line":435,"column":16},"end":{"line":435,"column":66}},"173":{"start":{"line":438,"column":12},"end":{"line":438,"column":53}},"174":{"start":{"line":440,"column":12},"end":{"line":440,"column":69}},"175":{"start":{"line":441,"column":12},"end":{"line":441,"column":59}},"176":{"start":{"line":442,"column":12},"end":{"line":442,"column":52}},"177":{"start":{"line":443,"column":12},"end":{"line":443,"column":57}},"178":{"start":{"line":444,"column":12},"end":{"line":444,"column":78}},"179":{"start":{"line":448,"column":12},"end":{"line":448,"column":67}},"180":{"start":{"line":449,"column":12},"end":{"line":449,"column":58}},"181":{"start":{"line":451,"column":12},"end":{"line":451,"column":58}},"182":{"start":{"line":454,"column":8},"end":{"line":454,"column":23}},"183":{"start":{"line":457,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":459,"column":8},"end":{"line":459,"column":74}},"185":{"start":{"line":462,"column":8},"end":{"line":462,"column":86}},"186":{"start":{"line":463,"column":8},"end":{"line":463,"column":85}},"187":{"start":{"line":466,"column":8},"end":{"line":468,"column":9}},"188":{"start":{"line":467,"column":12},"end":{"line":467,"column":88}},"189":{"start":{"line":471,"column":8},"end":{"line":477,"column":9}},"190":{"start":{"line":473,"column":12},"end":{"line":476,"column":13}},"191":{"start":{"line":474,"column":16},"end":{"line":474,"column":96}},"192":{"start":{"line":475,"column":16},"end":{"line":475,"column":96}},"193":{"start":{"line":480,"column":4},"end":{"line":547,"column":5}},"194":{"start":{"line":482,"column":8},"end":{"line":482,"column":29}},"195":{"start":{"line":485,"column":8},"end":{"line":490,"column":17}},"196":{"start":{"line":487,"column":12},"end":{"line":489,"column":13}},"197":{"start":{"line":488,"column":16},"end":{"line":488,"column":95}},"198":{"start":{"line":502,"column":8},"end":{"line":514,"column":9}},"199":{"start":{"line":503,"column":12},"end":{"line":503,"column":49}},"200":{"start":{"line":504,"column":12},"end":{"line":512,"column":13}},"201":{"start":{"line":505,"column":16},"end":{"line":505,"column":26}},"202":{"start":{"line":509,"column":16},"end":{"line":511,"column":17}},"203":{"start":{"line":510,"column":20},"end":{"line":510,"column":43}},"204":{"start":{"line":513,"column":12},"end":{"line":513,"column":59}},"205":{"start":{"line":517,"column":8},"end":{"line":523,"column":10}},"206":{"start":{"line":524,"column":8},"end":{"line":528,"column":17}},"207":{"start":{"line":525,"column":12},"end":{"line":527,"column":13}},"208":{"start":{"line":526,"column":16},"end":{"line":526,"column":47}},"209":{"start":{"line":533,"column":8},"end":{"line":533,"column":66}},"210":{"start":{"line":534,"column":8},"end":{"line":540,"column":9}},"211":{"start":{"line":536,"column":12},"end":{"line":538,"column":15}},"212":{"start":{"line":539,"column":12},"end":{"line":539,"column":83}},"213":{"start":{"line":544,"column":8},"end":{"line":546,"column":9}},"214":{"start":{"line":545,"column":12},"end":{"line":545,"column":83}},"215":{"start":{"line":549,"column":4},"end":{"line":563,"column":5}},"216":{"start":{"line":550,"column":8},"end":{"line":552,"column":10}},"217":{"start":{"line":554,"column":8},"end":{"line":560,"column":9}},"218":{"start":{"line":555,"column":12},"end":{"line":559,"column":15}},"219":{"start":{"line":556,"column":16},"end":{"line":558,"column":17}},"220":{"start":{"line":557,"column":20},"end":{"line":557,"column":77}},"221":{"start":{"line":562,"column":8},"end":{"line":562,"column":65}},"222":{"start":{"line":565,"column":4},"end":{"line":626,"column":5}},"223":{"start":{"line":567,"column":8},"end":{"line":570,"column":29}},"224":{"start":{"line":575,"column":8},"end":{"line":575,"column":42}},"225":{"start":{"line":576,"column":8},"end":{"line":578,"column":9}},"226":{"start":{"line":577,"column":12},"end":{"line":577,"column":91}},"227":{"start":{"line":580,"column":8},"end":{"line":587,"column":9}},"228":{"start":{"line":582,"column":12},"end":{"line":584,"column":13}},"229":{"start":{"line":583,"column":16},"end":{"line":583,"column":101}},"230":{"start":{"line":585,"column":12},"end":{"line":585,"column":55}},"231":{"start":{"line":586,"column":12},"end":{"line":586,"column":95}},"232":{"start":{"line":589,"column":8},"end":{"line":596,"column":9}},"233":{"start":{"line":591,"column":12},"end":{"line":593,"column":13}},"234":{"start":{"line":592,"column":16},"end":{"line":592,"column":101}},"235":{"start":{"line":594,"column":12},"end":{"line":594,"column":55}},"236":{"start":{"line":595,"column":12},"end":{"line":595,"column":95}},"237":{"start":{"line":598,"column":8},"end":{"line":600,"column":9}},"238":{"start":{"line":599,"column":12},"end":{"line":599,"column":41}},"239":{"start":{"line":602,"column":8},"end":{"line":605,"column":9}},"240":{"start":{"line":603,"column":12},"end":{"line":603,"column":82}},"241":{"start":{"line":604,"column":12},"end":{"line":604,"column":85}},"242":{"start":{"line":607,"column":8},"end":{"line":610,"column":9}},"243":{"start":{"line":608,"column":12},"end":{"line":608,"column":83}},"244":{"start":{"line":609,"column":12},"end":{"line":609,"column":89}},"245":{"start":{"line":614,"column":8},"end":{"line":622,"column":9}},"246":{"start":{"line":615,"column":12},"end":{"line":616,"column":147}},"247":{"start":{"line":617,"column":12},"end":{"line":619,"column":13}},"248":{"start":{"line":618,"column":16},"end":{"line":618,"column":106}},"249":{"start":{"line":621,"column":12},"end":{"line":621,"column":26}},"250":{"start":{"line":624,"column":8},"end":{"line":624,"column":46}},"251":{"start":{"line":625,"column":8},"end":{"line":625,"column":87}},"252":{"start":{"line":632,"column":4},"end":{"line":671,"column":5}},"253":{"start":{"line":633,"column":8},"end":{"line":635,"column":9}},"254":{"start":{"line":634,"column":12},"end":{"line":634,"column":19}},"255":{"start":{"line":637,"column":8},"end":{"line":644,"column":15}},"256":{"start":{"line":639,"column":16},"end":{"line":639,"column":69}},"257":{"start":{"line":640,"column":16},"end":{"line":642,"column":17}},"258":{"start":{"line":641,"column":20},"end":{"line":641,"column":56}},"259":{"start":{"line":643,"column":16},"end":{"line":643,"column":29}},"260":{"start":{"line":653,"column":8},"end":{"line":670,"column":9}},"261":{"start":{"line":655,"column":12},"end":{"line":655,"column":33}},"262":{"start":{"line":656,"column":12},"end":{"line":666,"column":21}},"263":{"start":{"line":657,"column":16},"end":{"line":665,"column":17}},"264":{"start":{"line":658,"column":20},"end":{"line":658,"column":50}},"265":{"start":{"line":659,"column":20},"end":{"line":664,"column":21}},"266":{"start":{"line":661,"column":24},"end":{"line":661,"column":82}},"267":{"start":{"line":662,"column":24},"end":{"line":662,"column":80}},"268":{"start":{"line":663,"column":24},"end":{"line":663,"column":85}},"269":{"start":{"line":667,"column":12},"end":{"line":667,"column":55}},"270":{"start":{"line":669,"column":12},"end":{"line":669,"column":36}},"271":{"start":{"line":673,"column":4},"end":{"line":673,"column":28}},"272":{"start":{"line":675,"column":4},"end":{"line":1277,"column":6}},"273":{"start":{"line":678,"column":12},"end":{"line":678,"column":75}},"274":{"start":{"line":679,"column":12},"end":{"line":679,"column":41}},"275":{"start":{"line":681,"column":12},"end":{"line":683,"column":13}},"276":{"start":{"line":682,"column":16},"end":{"line":682,"column":81}},"277":{"start":{"line":685,"column":12},"end":{"line":685,"column":32}},"278":{"start":{"line":689,"column":12},"end":{"line":691,"column":13}},"279":{"start":{"line":690,"column":16},"end":{"line":690,"column":23}},"280":{"start":{"line":693,"column":12},"end":{"line":693,"column":64}},"281":{"start":{"line":694,"column":12},"end":{"line":694,"column":56}},"282":{"start":{"line":695,"column":12},"end":{"line":695,"column":31}},"283":{"start":{"line":697,"column":12},"end":{"line":697,"column":48}},"284":{"start":{"line":699,"column":12},"end":{"line":701,"column":13}},"285":{"start":{"line":700,"column":16},"end":{"line":700,"column":23}},"286":{"start":{"line":703,"column":12},"end":{"line":703,"column":33}},"287":{"start":{"line":706,"column":12},"end":{"line":706,"column":38}},"288":{"start":{"line":707,"column":12},"end":{"line":707,"column":38}},"289":{"start":{"line":711,"column":12},"end":{"line":713,"column":13}},"290":{"start":{"line":712,"column":16},"end":{"line":712,"column":23}},"291":{"start":{"line":715,"column":12},"end":{"line":715,"column":34}},"292":{"start":{"line":717,"column":12},"end":{"line":721,"column":21}},"293":{"start":{"line":718,"column":16},"end":{"line":720,"column":17}},"294":{"start":{"line":719,"column":20},"end":{"line":719,"column":40}},"295":{"start":{"line":723,"column":12},"end":{"line":723,"column":34}},"296":{"start":{"line":725,"column":12},"end":{"line":745,"column":21}},"297":{"start":{"line":727,"column":16},"end":{"line":729,"column":17}},"298":{"start":{"line":728,"column":20},"end":{"line":728,"column":58}},"299":{"start":{"line":732,"column":16},"end":{"line":732,"column":59}},"300":{"start":{"line":733,"column":16},"end":{"line":733,"column":54}},"301":{"start":{"line":734,"column":16},"end":{"line":734,"column":70}},"302":{"start":{"line":735,"column":16},"end":{"line":735,"column":66}},"303":{"start":{"line":736,"column":16},"end":{"line":736,"column":48}},"304":{"start":{"line":737,"column":16},"end":{"line":737,"column":58}},"305":{"start":{"line":738,"column":16},"end":{"line":738,"column":63}},"306":{"start":{"line":739,"column":16},"end":{"line":739,"column":75}},"307":{"start":{"line":742,"column":16},"end":{"line":744,"column":17}},"308":{"start":{"line":743,"column":20},"end":{"line":743,"column":52}},"309":{"start":{"line":746,"column":12},"end":{"line":746,"column":31}},"310":{"start":{"line":747,"column":12},"end":{"line":747,"column":59}},"311":{"start":{"line":748,"column":12},"end":{"line":748,"column":52}},"312":{"start":{"line":750,"column":12},"end":{"line":750,"column":69}},"313":{"start":{"line":754,"column":12},"end":{"line":754,"column":76}},"314":{"start":{"line":756,"column":12},"end":{"line":756,"column":24}},"315":{"start":{"line":760,"column":12},"end":{"line":760,"column":76}},"316":{"start":{"line":762,"column":12},"end":{"line":762,"column":24}},"317":{"start":{"line":766,"column":12},"end":{"line":766,"column":59}},"318":{"start":{"line":768,"column":12},"end":{"line":768,"column":24}},"319":{"start":{"line":772,"column":12},"end":{"line":772,"column":59}},"320":{"start":{"line":774,"column":12},"end":{"line":774,"column":24}},"321":{"start":{"line":778,"column":12},"end":{"line":778,"column":65}},"322":{"start":{"line":780,"column":12},"end":{"line":780,"column":24}},"323":{"start":{"line":784,"column":12},"end":{"line":784,"column":28}},"324":{"start":{"line":785,"column":12},"end":{"line":789,"column":35}},"325":{"start":{"line":786,"column":16},"end":{"line":788,"column":17}},"326":{"start":{"line":787,"column":20},"end":{"line":787,"column":25}},"327":{"start":{"line":793,"column":12},"end":{"line":796,"column":43}},"328":{"start":{"line":798,"column":12},"end":{"line":803,"column":13}},"329":{"start":{"line":799,"column":16},"end":{"line":799,"column":96}},"330":{"start":{"line":800,"column":16},"end":{"line":802,"column":18}},"331":{"start":{"line":804,"column":12},"end":{"line":804,"column":27}},"332":{"start":{"line":808,"column":12},"end":{"line":808,"column":26}},"333":{"start":{"line":809,"column":12},"end":{"line":817,"column":13}},"334":{"start":{"line":810,"column":16},"end":{"line":816,"column":19}},"335":{"start":{"line":811,"column":20},"end":{"line":814,"column":21}},"336":{"start":{"line":812,"column":24},"end":{"line":812,"column":40}},"337":{"start":{"line":813,"column":24},"end":{"line":813,"column":36}},"338":{"start":{"line":815,"column":20},"end":{"line":815,"column":33}},"339":{"start":{"line":818,"column":12},"end":{"line":818,"column":29}},"340":{"start":{"line":825,"column":12},"end":{"line":826,"column":23}},"341":{"start":{"line":827,"column":12},"end":{"line":829,"column":13}},"342":{"start":{"line":828,"column":16},"end":{"line":828,"column":33}},"343":{"start":{"line":831,"column":12},"end":{"line":871,"column":13}},"344":{"start":{"line":833,"column":20},"end":{"line":833,"column":85}},"345":{"start":{"line":834,"column":20},"end":{"line":834,"column":75}},"346":{"start":{"line":835,"column":20},"end":{"line":835,"column":26}},"347":{"start":{"line":837,"column":20},"end":{"line":837,"column":102}},"348":{"start":{"line":838,"column":20},"end":{"line":838,"column":26}},"349":{"start":{"line":840,"column":20},"end":{"line":840,"column":71}},"350":{"start":{"line":841,"column":20},"end":{"line":841,"column":26}},"351":{"start":{"line":843,"column":20},"end":{"line":843,"column":79}},"352":{"start":{"line":844,"column":20},"end":{"line":844,"column":26}},"353":{"start":{"line":846,"column":20},"end":{"line":846,"column":92}},"354":{"start":{"line":847,"column":20},"end":{"line":847,"column":26}},"355":{"start":{"line":849,"column":20},"end":{"line":849,"column":75}},"356":{"start":{"line":850,"column":20},"end":{"line":850,"column":26}},"357":{"start":{"line":852,"column":20},"end":{"line":852,"column":108}},"358":{"start":{"line":853,"column":20},"end":{"line":853,"column":26}},"359":{"start":{"line":855,"column":20},"end":{"line":855,"column":86}},"360":{"start":{"line":856,"column":20},"end":{"line":856,"column":26}},"361":{"start":{"line":858,"column":20},"end":{"line":858,"column":98}},"362":{"start":{"line":859,"column":20},"end":{"line":859,"column":26}},"363":{"start":{"line":863,"column":20},"end":{"line":870,"column":21}},"364":{"start":{"line":864,"column":24},"end":{"line":869,"column":25}},"365":{"start":{"line":865,"column":28},"end":{"line":865,"column":131}},"366":{"start":{"line":866,"column":28},"end":{"line":866,"column":83}},"367":{"start":{"line":868,"column":28},"end":{"line":868,"column":81}},"368":{"start":{"line":873,"column":12},"end":{"line":875,"column":13}},"369":{"start":{"line":874,"column":16},"end":{"line":874,"column":75}},"370":{"start":{"line":877,"column":12},"end":{"line":877,"column":29}},"371":{"start":{"line":881,"column":12},"end":{"line":881,"column":48}},"372":{"start":{"line":885,"column":12},"end":{"line":885,"column":49}},"373":{"start":{"line":889,"column":12},"end":{"line":889,"column":61}},"374":{"start":{"line":890,"column":12},"end":{"line":892,"column":13}},"375":{"start":{"line":891,"column":16},"end":{"line":891,"column":37}},"376":{"start":{"line":893,"column":12},"end":{"line":893,"column":24}},"377":{"start":{"line":899,"column":12},"end":{"line":901,"column":34}},"378":{"start":{"line":904,"column":12},"end":{"line":904,"column":44}},"379":{"start":{"line":905,"column":12},"end":{"line":907,"column":13}},"380":{"start":{"line":906,"column":16},"end":{"line":906,"column":34}},"381":{"start":{"line":909,"column":12},"end":{"line":913,"column":13}},"382":{"start":{"line":910,"column":16},"end":{"line":910,"column":82}},"383":{"start":{"line":912,"column":16},"end":{"line":912,"column":34}},"384":{"start":{"line":915,"column":12},"end":{"line":915,"column":30}},"385":{"start":{"line":920,"column":12},"end":{"line":922,"column":23}},"386":{"start":{"line":927,"column":12},"end":{"line":927,"column":44}},"387":{"start":{"line":928,"column":12},"end":{"line":938,"column":13}},"388":{"start":{"line":930,"column":16},"end":{"line":930,"column":37}},"389":{"start":{"line":932,"column":16},"end":{"line":932,"column":41}},"390":{"start":{"line":933,"column":16},"end":{"line":933,"column":71}},"391":{"start":{"line":935,"column":16},"end":{"line":935,"column":40}},"392":{"start":{"line":937,"column":16},"end":{"line":937,"column":69}},"393":{"start":{"line":941,"column":12},"end":{"line":943,"column":13}},"394":{"start":{"line":942,"column":16},"end":{"line":942,"column":108}},"395":{"start":{"line":945,"column":12},"end":{"line":945,"column":34}},"396":{"start":{"line":946,"column":12},"end":{"line":946,"column":26}},"397":{"start":{"line":950,"column":12},"end":{"line":952,"column":13}},"398":{"start":{"line":951,"column":16},"end":{"line":951,"column":80}},"399":{"start":{"line":953,"column":12},"end":{"line":953,"column":74}},"400":{"start":{"line":957,"column":12},"end":{"line":957,"column":98}},"401":{"start":{"line":959,"column":12},"end":{"line":966,"column":13}},"402":{"start":{"line":961,"column":16},"end":{"line":963,"column":17}},"403":{"start":{"line":962,"column":20},"end":{"line":962,"column":52}},"404":{"start":{"line":965,"column":16},"end":{"line":965,"column":45}},"405":{"start":{"line":970,"column":12},"end":{"line":970,"column":83}},"406":{"start":{"line":972,"column":12},"end":{"line":972,"column":100}},"407":{"start":{"line":973,"column":12},"end":{"line":975,"column":13}},"408":{"start":{"line":974,"column":16},"end":{"line":974,"column":53}},"409":{"start":{"line":979,"column":12},"end":{"line":979,"column":24}},"410":{"start":{"line":980,"column":12},"end":{"line":988,"column":21}},"411":{"start":{"line":982,"column":16},"end":{"line":984,"column":17}},"412":{"start":{"line":983,"column":20},"end":{"line":983,"column":38}},"413":{"start":{"line":987,"column":16},"end":{"line":987,"column":33}},"414":{"start":{"line":990,"column":12},"end":{"line":990,"column":27}},"415":{"start":{"line":996,"column":12},"end":{"line":998,"column":38}},"416":{"start":{"line":1000,"column":12},"end":{"line":1002,"column":13}},"417":{"start":{"line":1001,"column":16},"end":{"line":1001,"column":118}},"418":{"start":{"line":1004,"column":12},"end":{"line":1006,"column":13}},"419":{"start":{"line":1005,"column":16},"end":{"line":1005,"column":75}},"420":{"start":{"line":1008,"column":12},"end":{"line":1008,"column":34}},"421":{"start":{"line":1012,"column":12},"end":{"line":1012,"column":57}},"422":{"start":{"line":1018,"column":12},"end":{"line":1020,"column":13}},"423":{"start":{"line":1019,"column":16},"end":{"line":1019,"column":23}},"424":{"start":{"line":1022,"column":12},"end":{"line":1022,"column":90}},"425":{"start":{"line":1023,"column":12},"end":{"line":1023,"column":139}},"426":{"start":{"line":1027,"column":12},"end":{"line":1027,"column":54}},"427":{"start":{"line":1031,"column":12},"end":{"line":1033,"column":26}},"428":{"start":{"line":1036,"column":12},"end":{"line":1038,"column":13}},"429":{"start":{"line":1037,"column":16},"end":{"line":1037,"column":23}},"430":{"start":{"line":1040,"column":12},"end":{"line":1175,"column":13}},"431":{"start":{"line":1041,"column":16},"end":{"line":1041,"column":64}},"432":{"start":{"line":1043,"column":16},"end":{"line":1045,"column":17}},"433":{"start":{"line":1044,"column":20},"end":{"line":1044,"column":98}},"434":{"start":{"line":1046,"column":16},"end":{"line":1046,"column":51}},"435":{"start":{"line":1047,"column":16},"end":{"line":1164,"column":17}},"436":{"start":{"line":1048,"column":20},"end":{"line":1048,"column":85}},"437":{"start":{"line":1049,"column":20},"end":{"line":1163,"column":21}},"438":{"start":{"line":1050,"column":24},"end":{"line":1055,"column":38}},"439":{"start":{"line":1063,"column":24},"end":{"line":1068,"column":25}},"440":{"start":{"line":1067,"column":28},"end":{"line":1067,"column":77}},"441":{"start":{"line":1070,"column":24},"end":{"line":1070,"column":123}},"442":{"start":{"line":1071,"column":24},"end":{"line":1071,"column":119}},"443":{"start":{"line":1077,"column":24},"end":{"line":1152,"column":25}},"444":{"start":{"line":1078,"column":28},"end":{"line":1079,"column":95}},"445":{"start":{"line":1084,"column":28},"end":{"line":1084,"column":54}},"446":{"start":{"line":1086,"column":28},"end":{"line":1086,"column":71}},"447":{"start":{"line":1087,"column":28},"end":{"line":1087,"column":80}},"448":{"start":{"line":1089,"column":28},"end":{"line":1116,"column":29}},"449":{"start":{"line":1100,"column":32},"end":{"line":1107,"column":34}},"450":{"start":{"line":1109,"column":32},"end":{"line":1115,"column":34}},"451":{"start":{"line":1118,"column":28},"end":{"line":1118,"column":83}},"452":{"start":{"line":1120,"column":28},"end":{"line":1128,"column":30}},"453":{"start":{"line":1132,"column":28},"end":{"line":1136,"column":29}},"454":{"start":{"line":1133,"column":32},"end":{"line":1133,"column":95}},"455":{"start":{"line":1134,"column":32},"end":{"line":1134,"column":94}},"456":{"start":{"line":1135,"column":32},"end":{"line":1135,"column":108}},"457":{"start":{"line":1139,"column":28},"end":{"line":1139,"column":114}},"458":{"start":{"line":1142,"column":28},"end":{"line":1142,"column":122}},"459":{"start":{"line":1145,"column":28},"end":{"line":1145,"column":143}},"460":{"start":{"line":1146,"column":28},"end":{"line":1146,"column":79}},"461":{"start":{"line":1147,"column":28},"end":{"line":1147,"column":77}},"462":{"start":{"line":1149,"column":28},"end":{"line":1149,"column":68}},"463":{"start":{"line":1151,"column":28},"end":{"line":1151,"column":99}},"464":{"start":{"line":1154,"column":24},"end":{"line":1158,"column":25}},"465":{"start":{"line":1155,"column":28},"end":{"line":1155,"column":142}},"466":{"start":{"line":1157,"column":28},"end":{"line":1157,"column":145}},"467":{"start":{"line":1160,"column":24},"end":{"line":1162,"column":25}},"468":{"start":{"line":1161,"column":28},"end":{"line":1161,"column":152}},"469":{"start":{"line":1166,"column":16},"end":{"line":1172,"column":17}},"470":{"start":{"line":1167,"column":20},"end":{"line":1167,"column":87}},"471":{"start":{"line":1168,"column":20},"end":{"line":1168,"column":91}},"472":{"start":{"line":1169,"column":20},"end":{"line":1171,"column":21}},"473":{"start":{"line":1170,"column":24},"end":{"line":1170,"column":68}},"474":{"start":{"line":1174,"column":16},"end":{"line":1174,"column":63}},"475":{"start":{"line":1177,"column":12},"end":{"line":1177,"column":88}},"476":{"start":{"line":1181,"column":12},"end":{"line":1181,"column":62}},"477":{"start":{"line":1185,"column":12},"end":{"line":1185,"column":70}},"478":{"start":{"line":1189,"column":12},"end":{"line":1189,"column":31}},"479":{"start":{"line":1191,"column":12},"end":{"line":1195,"column":13}},"480":{"start":{"line":1192,"column":16},"end":{"line":1192,"column":50}},"481":{"start":{"line":1193,"column":16},"end":{"line":1193,"column":40}},"482":{"start":{"line":1194,"column":16},"end":{"line":1194,"column":49}},"483":{"start":{"line":1199,"column":12},"end":{"line":1199,"column":31}},"484":{"start":{"line":1201,"column":12},"end":{"line":1203,"column":13}},"485":{"start":{"line":1202,"column":16},"end":{"line":1202,"column":61}},"486":{"start":{"line":1204,"column":12},"end":{"line":1204,"column":24}},"487":{"start":{"line":1208,"column":12},"end":{"line":1208,"column":106}},"488":{"start":{"line":1209,"column":12},"end":{"line":1209,"column":93}},"489":{"start":{"line":1217,"column":12},"end":{"line":1223,"column":13}},"490":{"start":{"line":1218,"column":16},"end":{"line":1218,"column":59}},"491":{"start":{"line":1219,"column":16},"end":{"line":1221,"column":17}},"492":{"start":{"line":1220,"column":20},"end":{"line":1220,"column":104}},"493":{"start":{"line":1222,"column":16},"end":{"line":1222,"column":23}},"494":{"start":{"line":1225,"column":12},"end":{"line":1227,"column":21}},"495":{"start":{"line":1226,"column":16},"end":{"line":1226,"column":93}},"496":{"start":{"line":1232,"column":12},"end":{"line":1232,"column":91}},"497":{"start":{"line":1235,"column":12},"end":{"line":1237,"column":13}},"498":{"start":{"line":1236,"column":16},"end":{"line":1236,"column":29}},"499":{"start":{"line":1239,"column":12},"end":{"line":1248,"column":21}},"500":{"start":{"line":1241,"column":16},"end":{"line":1241,"column":67}},"501":{"start":{"line":1244,"column":16},"end":{"line":1244,"column":44}},"502":{"start":{"line":1247,"column":16},"end":{"line":1247,"column":97}},"503":{"start":{"line":1253,"column":12},"end":{"line":1261,"column":19}},"504":{"start":{"line":1256,"column":20},"end":{"line":1260,"column":21}},"505":{"start":{"line":1257,"column":24},"end":{"line":1257,"column":148}},"506":{"start":{"line":1259,"column":24},"end":{"line":1259,"column":34}},"507":{"start":{"line":1263,"column":12},"end":{"line":1275,"column":21}},"508":{"start":{"line":1265,"column":16},"end":{"line":1273,"column":17}},"509":{"start":{"line":1266,"column":20},"end":{"line":1266,"column":56}},"510":{"start":{"line":1267,"column":20},"end":{"line":1269,"column":21}},"511":{"start":{"line":1268,"column":24},"end":{"line":1268,"column":56}},"512":{"start":{"line":1271,"column":20},"end":{"line":1271,"column":104}},"513":{"start":{"line":1272,"column":20},"end":{"line":1272,"column":33}},"514":{"start":{"line":1274,"column":16},"end":{"line":1274,"column":28}},"515":{"start":{"line":1279,"column":4},"end":{"line":1286,"column":6}},"516":{"start":{"line":1280,"column":8},"end":{"line":1281,"column":128}},"517":{"start":{"line":1282,"column":8},"end":{"line":1284,"column":9}},"518":{"start":{"line":1283,"column":12},"end":{"line":1283,"column":45}},"519":{"start":{"line":1285,"column":8},"end":{"line":1285,"column":20}}},"branchMap":{"1":{"line":11,"type":"if","locations":[{"start":{"line":11,"column":8},"end":{"line":11,"column":8}},{"start":{"line":11,"column":8},"end":{"line":11,"column":8}}]},"2":{"line":11,"type":"binary-expr","locations":[{"start":{"line":11,"column":13},"end":{"line":11,"column":63}},{"start":{"line":11,"column":69},"end":{"line":11,"column":119}},{"start":{"line":11,"column":125},"end":{"line":11,"column":171}},{"start":{"line":11,"column":175},"end":{"line":11,"column":221}}]},"3":{"line":17,"type":"if","locations":[{"start":{"line":17,"column":8},"end":{"line":17,"column":8}},{"start":{"line":17,"column":8},"end":{"line":17,"column":8}}]},"4":{"line":17,"type":"binary-expr","locations":[{"start":{"line":17,"column":12},"end":{"line":17,"column":38}},{"start":{"line":17,"column":42},"end":{"line":17,"column":85}}]},"5":{"line":19,"type":"if","locations":[{"start":{"line":19,"column":15},"end":{"line":19,"column":15}},{"start":{"line":19,"column":15},"end":{"line":19,"column":15}}]},"6":{"line":19,"type":"binary-expr","locations":[{"start":{"line":19,"column":19},"end":{"line":19,"column":51}},{"start":{"line":19,"column":55},"end":{"line":19,"column":105}}]},"7":{"line":23,"type":"if","locations":[{"start":{"line":23,"column":12},"end":{"line":23,"column":12}},{"start":{"line":23,"column":12},"end":{"line":23,"column":12}}]},"8":{"line":23,"type":"binary-expr","locations":[{"start":{"line":23,"column":17},"end":{"line":23,"column":21}},{"start":{"line":23,"column":25},"end":{"line":23,"column":55}},{"start":{"line":23,"column":59},"end":{"line":23,"column":95}},{"start":{"line":24,"column":17},"end":{"line":24,"column":44}},{"start":{"line":24,"column":48},"end":{"line":24,"column":107}},{"start":{"line":25,"column":17},"end":{"line":25,"column":70}}]},"9":{"line":34,"type":"binary-expr","locations":[{"start":{"line":34,"column":18},"end":{"line":34,"column":22}},{"start":{"line":34,"column":26},"end":{"line":34,"column":53}}]},"10":{"line":36,"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":8}},{"start":{"line":36,"column":8},"end":{"line":36,"column":8}}]},"11":{"line":42,"type":"if","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":8}},{"start":{"line":42,"column":8},"end":{"line":42,"column":8}}]},"12":{"line":46,"type":"if","locations":[{"start":{"line":46,"column":12},"end":{"line":46,"column":12}},{"start":{"line":46,"column":12},"end":{"line":46,"column":12}}]},"13":{"line":60,"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":8}},{"start":{"line":60,"column":8},"end":{"line":60,"column":8}}]},"14":{"line":60,"type":"binary-expr","locations":[{"start":{"line":60,"column":12},"end":{"line":60,"column":114}},{"start":{"line":62,"column":16},"end":{"line":62,"column":43}},{"start":{"line":64,"column":16},"end":{"line":64,"column":38}},{"start":{"line":66,"column":16},"end":{"line":66,"column":71}}]},"15":{"line":67,"type":"if","locations":[{"start":{"line":67,"column":12},"end":{"line":67,"column":12}},{"start":{"line":67,"column":12},"end":{"line":67,"column":12}}]},"16":{"line":67,"type":"binary-expr","locations":[{"start":{"line":67,"column":16},"end":{"line":67,"column":83}},{"start":{"line":67,"column":87},"end":{"line":67,"column":138}}]},"17":{"line":73,"type":"if","locations":[{"start":{"line":73,"column":19},"end":{"line":73,"column":19}},{"start":{"line":73,"column":19},"end":{"line":73,"column":19}}]},"18":{"line":73,"type":"binary-expr","locations":[{"start":{"line":73,"column":23},"end":{"line":73,"column":56}},{"start":{"line":73,"column":60},"end":{"line":73,"column":123}}]},"19":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":15},"end":{"line":81,"column":15}},{"start":{"line":81,"column":15},"end":{"line":81,"column":15}}]},"20":{"line":81,"type":"binary-expr","locations":[{"start":{"line":81,"column":19},"end":{"line":81,"column":83}},{"start":{"line":83,"column":20},"end":{"line":83,"column":43}},{"start":{"line":84,"column":20},"end":{"line":84,"column":47}},{"start":{"line":86,"column":20},"end":{"line":86,"column":43}},{"start":{"line":88,"column":20},"end":{"line":88,"column":48}},{"start":{"line":90,"column":20},"end":{"line":90,"column":81}}]},"21":{"line":102,"type":"if","locations":[{"start":{"line":102,"column":15},"end":{"line":102,"column":15}},{"start":{"line":102,"column":15},"end":{"line":102,"column":15}}]},"22":{"line":102,"type":"binary-expr","locations":[{"start":{"line":102,"column":19},"end":{"line":102,"column":86}},{"start":{"line":103,"column":16},"end":{"line":103,"column":32}},{"start":{"line":105,"column":16},"end":{"line":105,"column":44}},{"start":{"line":107,"column":16},"end":{"line":107,"column":44}},{"start":{"line":109,"column":16},"end":{"line":109,"column":58}},{"start":{"line":111,"column":16},"end":{"line":111,"column":39}},{"start":{"line":112,"column":16},"end":{"line":112,"column":71}}]},"23":{"line":133,"type":"if","locations":[{"start":{"line":133,"column":15},"end":{"line":133,"column":15}},{"start":{"line":133,"column":15},"end":{"line":133,"column":15}}]},"24":{"line":133,"type":"binary-expr","locations":[{"start":{"line":133,"column":19},"end":{"line":133,"column":86}},{"start":{"line":134,"column":17},"end":{"line":134,"column":78}},{"start":{"line":135,"column":16},"end":{"line":135,"column":71}}]},"25":{"line":141,"type":"if","locations":[{"start":{"line":141,"column":15},"end":{"line":141,"column":15}},{"start":{"line":141,"column":15},"end":{"line":141,"column":15}}]},"26":{"line":141,"type":"binary-expr","locations":[{"start":{"line":141,"column":19},"end":{"line":141,"column":82}},{"start":{"line":142,"column":17},"end":{"line":142,"column":78}},{"start":{"line":143,"column":16},"end":{"line":143,"column":72}}]},"27":{"line":155,"type":"if","locations":[{"start":{"line":155,"column":15},"end":{"line":155,"column":15}},{"start":{"line":155,"column":15},"end":{"line":155,"column":15}}]},"28":{"line":155,"type":"binary-expr","locations":[{"start":{"line":155,"column":19},"end":{"line":155,"column":86}},{"start":{"line":156,"column":16},"end":{"line":156,"column":75}},{"start":{"line":157,"column":16},"end":{"line":157,"column":44}},{"start":{"line":158,"column":16},"end":{"line":158,"column":39}},{"start":{"line":159,"column":16},"end":{"line":159,"column":44}}]},"29":{"line":173,"type":"if","locations":[{"start":{"line":173,"column":8},"end":{"line":173,"column":8}},{"start":{"line":173,"column":8},"end":{"line":173,"column":8}}]},"30":{"line":179,"type":"if","locations":[{"start":{"line":179,"column":8},"end":{"line":179,"column":8}},{"start":{"line":179,"column":8},"end":{"line":179,"column":8}}]},"31":{"line":179,"type":"binary-expr","locations":[{"start":{"line":179,"column":12},"end":{"line":179,"column":57}},{"start":{"line":179,"column":61},"end":{"line":179,"column":87}},{"start":{"line":179,"column":91},"end":{"line":179,"column":132}}]},"32":{"line":186,"type":"if","locations":[{"start":{"line":186,"column":8},"end":{"line":186,"column":8}},{"start":{"line":186,"column":8},"end":{"line":186,"column":8}}]},"33":{"line":186,"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":75}},{"start":{"line":187,"column":12},"end":{"line":187,"column":47}},{"start":{"line":188,"column":12},"end":{"line":188,"column":53}}]},"34":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":12},"end":{"line":192,"column":12}},{"start":{"line":192,"column":12},"end":{"line":192,"column":12}}]},"35":{"line":194,"type":"if","locations":[{"start":{"line":194,"column":19},"end":{"line":194,"column":19}},{"start":{"line":194,"column":19},"end":{"line":194,"column":19}}]},"36":{"line":194,"type":"binary-expr","locations":[{"start":{"line":194,"column":23},"end":{"line":194,"column":38}},{"start":{"line":194,"column":42},"end":{"line":194,"column":56}}]},"37":{"line":202,"type":"if","locations":[{"start":{"line":202,"column":8},"end":{"line":202,"column":8}},{"start":{"line":202,"column":8},"end":{"line":202,"column":8}}]},"38":{"line":210,"type":"if","locations":[{"start":{"line":210,"column":8},"end":{"line":210,"column":8}},{"start":{"line":210,"column":8},"end":{"line":210,"column":8}}]},"39":{"line":218,"type":"if","locations":[{"start":{"line":218,"column":8},"end":{"line":218,"column":8}},{"start":{"line":218,"column":8},"end":{"line":218,"column":8}}]},"40":{"line":226,"type":"if","locations":[{"start":{"line":226,"column":8},"end":{"line":226,"column":8}},{"start":{"line":226,"column":8},"end":{"line":226,"column":8}}]},"41":{"line":226,"type":"binary-expr","locations":[{"start":{"line":226,"column":12},"end":{"line":226,"column":31}},{"start":{"line":226,"column":35},"end":{"line":226,"column":63}}]},"42":{"line":243,"type":"if","locations":[{"start":{"line":243,"column":8},"end":{"line":243,"column":8}},{"start":{"line":243,"column":8},"end":{"line":243,"column":8}}]},"43":{"line":247,"type":"if","locations":[{"start":{"line":247,"column":8},"end":{"line":247,"column":8}},{"start":{"line":247,"column":8},"end":{"line":247,"column":8}}]},"44":{"line":251,"type":"if","locations":[{"start":{"line":251,"column":8},"end":{"line":251,"column":8}},{"start":{"line":251,"column":8},"end":{"line":251,"column":8}}]},"45":{"line":255,"type":"if","locations":[{"start":{"line":255,"column":8},"end":{"line":255,"column":8}},{"start":{"line":255,"column":8},"end":{"line":255,"column":8}}]},"46":{"line":260,"type":"if","locations":[{"start":{"line":260,"column":16},"end":{"line":260,"column":16}},{"start":{"line":260,"column":16},"end":{"line":260,"column":16}}]},"47":{"line":260,"type":"binary-expr","locations":[{"start":{"line":260,"column":20},"end":{"line":260,"column":51}},{"start":{"line":261,"column":20},"end":{"line":261,"column":66}},{"start":{"line":262,"column":20},"end":{"line":262,"column":65}}]},"48":{"line":276,"type":"if","locations":[{"start":{"line":276,"column":8},"end":{"line":276,"column":8}},{"start":{"line":276,"column":8},"end":{"line":276,"column":8}}]},"49":{"line":281,"type":"if","locations":[{"start":{"line":281,"column":8},"end":{"line":281,"column":8}},{"start":{"line":281,"column":8},"end":{"line":281,"column":8}}]},"50":{"line":288,"type":"if","locations":[{"start":{"line":288,"column":12},"end":{"line":288,"column":12}},{"start":{"line":288,"column":12},"end":{"line":288,"column":12}}]},"51":{"line":306,"type":"if","locations":[{"start":{"line":306,"column":8},"end":{"line":306,"column":8}},{"start":{"line":306,"column":8},"end":{"line":306,"column":8}}]},"52":{"line":311,"type":"if","locations":[{"start":{"line":311,"column":8},"end":{"line":311,"column":8}},{"start":{"line":311,"column":8},"end":{"line":311,"column":8}}]},"53":{"line":320,"type":"if","locations":[{"start":{"line":320,"column":8},"end":{"line":320,"column":8}},{"start":{"line":320,"column":8},"end":{"line":320,"column":8}}]},"54":{"line":331,"type":"if","locations":[{"start":{"line":331,"column":8},"end":{"line":331,"column":8}},{"start":{"line":331,"column":8},"end":{"line":331,"column":8}}]},"55":{"line":383,"type":"if","locations":[{"start":{"line":383,"column":12},"end":{"line":383,"column":12}},{"start":{"line":383,"column":12},"end":{"line":383,"column":12}}]},"56":{"line":390,"type":"if","locations":[{"start":{"line":390,"column":8},"end":{"line":390,"column":8}},{"start":{"line":390,"column":8},"end":{"line":390,"column":8}}]},"57":{"line":392,"type":"if","locations":[{"start":{"line":392,"column":16},"end":{"line":392,"column":16}},{"start":{"line":392,"column":16},"end":{"line":392,"column":16}}]},"58":{"line":408,"type":"if","locations":[{"start":{"line":408,"column":8},"end":{"line":408,"column":8}},{"start":{"line":408,"column":8},"end":{"line":408,"column":8}}]},"59":{"line":409,"type":"if","locations":[{"start":{"line":409,"column":12},"end":{"line":409,"column":12}},{"start":{"line":409,"column":12},"end":{"line":409,"column":12}}]},"60":{"line":413,"type":"if","locations":[{"start":{"line":413,"column":16},"end":{"line":413,"column":16}},{"start":{"line":413,"column":16},"end":{"line":413,"column":16}}]},"61":{"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}}]},"62":{"line":419,"type":"binary-expr","locations":[{"start":{"line":419,"column":16},"end":{"line":419,"column":44}},{"start":{"line":419,"column":48},"end":{"line":419,"column":93}}]},"63":{"line":425,"type":"if","locations":[{"start":{"line":425,"column":12},"end":{"line":425,"column":12}},{"start":{"line":425,"column":12},"end":{"line":425,"column":12}}]},"64":{"line":426,"type":"if","locations":[{"start":{"line":426,"column":16},"end":{"line":426,"column":16}},{"start":{"line":426,"column":16},"end":{"line":426,"column":16}}]},"65":{"line":426,"type":"binary-expr","locations":[{"start":{"line":426,"column":20},"end":{"line":426,"column":63}},{"start":{"line":426,"column":67},"end":{"line":426,"column":117}}]},"66":{"line":434,"type":"if","locations":[{"start":{"line":434,"column":12},"end":{"line":434,"column":12}},{"start":{"line":434,"column":12},"end":{"line":434,"column":12}}]},"67":{"line":434,"type":"binary-expr","locations":[{"start":{"line":434,"column":16},"end":{"line":434,"column":43}},{"start":{"line":434,"column":47},"end":{"line":434,"column":91}}]},"68":{"line":466,"type":"if","locations":[{"start":{"line":466,"column":8},"end":{"line":466,"column":8}},{"start":{"line":466,"column":8},"end":{"line":466,"column":8}}]},"69":{"line":471,"type":"if","locations":[{"start":{"line":471,"column":8},"end":{"line":471,"column":8}},{"start":{"line":471,"column":8},"end":{"line":471,"column":8}}]},"70":{"line":473,"type":"if","locations":[{"start":{"line":473,"column":12},"end":{"line":473,"column":12}},{"start":{"line":473,"column":12},"end":{"line":473,"column":12}}]},"71":{"line":473,"type":"binary-expr","locations":[{"start":{"line":473,"column":16},"end":{"line":473,"column":42}},{"start":{"line":473,"column":46},"end":{"line":473,"column":78}}]},"72":{"line":487,"type":"if","locations":[{"start":{"line":487,"column":12},"end":{"line":487,"column":12}},{"start":{"line":487,"column":12},"end":{"line":487,"column":12}}]},"73":{"line":487,"type":"binary-expr","locations":[{"start":{"line":487,"column":16},"end":{"line":487,"column":34}},{"start":{"line":487,"column":38},"end":{"line":487,"column":67}}]},"74":{"line":502,"type":"if","locations":[{"start":{"line":502,"column":8},"end":{"line":502,"column":8}},{"start":{"line":502,"column":8},"end":{"line":502,"column":8}}]},"75":{"line":504,"type":"if","locations":[{"start":{"line":504,"column":12},"end":{"line":504,"column":12}},{"start":{"line":504,"column":12},"end":{"line":504,"column":12}}]},"76":{"line":509,"type":"if","locations":[{"start":{"line":509,"column":16},"end":{"line":509,"column":16}},{"start":{"line":509,"column":16},"end":{"line":509,"column":16}}]},"77":{"line":525,"type":"if","locations":[{"start":{"line":525,"column":12},"end":{"line":525,"column":12}},{"start":{"line":525,"column":12},"end":{"line":525,"column":12}}]},"78":{"line":534,"type":"if","locations":[{"start":{"line":534,"column":8},"end":{"line":534,"column":8}},{"start":{"line":534,"column":8},"end":{"line":534,"column":8}}]},"79":{"line":534,"type":"binary-expr","locations":[{"start":{"line":534,"column":12},"end":{"line":534,"column":29}},{"start":{"line":534,"column":33},"end":{"line":534,"column":60}}]},"80":{"line":544,"type":"if","locations":[{"start":{"line":544,"column":8},"end":{"line":544,"column":8}},{"start":{"line":544,"column":8},"end":{"line":544,"column":8}}]},"81":{"line":554,"type":"if","locations":[{"start":{"line":554,"column":8},"end":{"line":554,"column":8}},{"start":{"line":554,"column":8},"end":{"line":554,"column":8}}]},"82":{"line":556,"type":"if","locations":[{"start":{"line":556,"column":16},"end":{"line":556,"column":16}},{"start":{"line":556,"column":16},"end":{"line":556,"column":16}}]},"83":{"line":556,"type":"binary-expr","locations":[{"start":{"line":556,"column":20},"end":{"line":556,"column":51}},{"start":{"line":556,"column":55},"end":{"line":556,"column":85}}]},"84":{"line":576,"type":"if","locations":[{"start":{"line":576,"column":8},"end":{"line":576,"column":8}},{"start":{"line":576,"column":8},"end":{"line":576,"column":8}}]},"85":{"line":580,"type":"if","locations":[{"start":{"line":580,"column":8},"end":{"line":580,"column":8}},{"start":{"line":580,"column":8},"end":{"line":580,"column":8}}]},"86":{"line":582,"type":"if","locations":[{"start":{"line":582,"column":12},"end":{"line":582,"column":12}},{"start":{"line":582,"column":12},"end":{"line":582,"column":12}}]},"87":{"line":585,"type":"binary-expr","locations":[{"start":{"line":585,"column":31},"end":{"line":585,"column":41}},{"start":{"line":585,"column":45},"end":{"line":585,"column":54}}]},"88":{"line":589,"type":"if","locations":[{"start":{"line":589,"column":8},"end":{"line":589,"column":8}},{"start":{"line":589,"column":8},"end":{"line":589,"column":8}}]},"89":{"line":591,"type":"if","locations":[{"start":{"line":591,"column":12},"end":{"line":591,"column":12}},{"start":{"line":591,"column":12},"end":{"line":591,"column":12}}]},"90":{"line":594,"type":"binary-expr","locations":[{"start":{"line":594,"column":31},"end":{"line":594,"column":41}},{"start":{"line":594,"column":45},"end":{"line":594,"column":54}}]},"91":{"line":598,"type":"if","locations":[{"start":{"line":598,"column":8},"end":{"line":598,"column":8}},{"start":{"line":598,"column":8},"end":{"line":598,"column":8}}]},"92":{"line":602,"type":"if","locations":[{"start":{"line":602,"column":8},"end":{"line":602,"column":8}},{"start":{"line":602,"column":8},"end":{"line":602,"column":8}}]},"93":{"line":607,"type":"if","locations":[{"start":{"line":607,"column":8},"end":{"line":607,"column":8}},{"start":{"line":607,"column":8},"end":{"line":607,"column":8}}]},"94":{"line":614,"type":"if","locations":[{"start":{"line":614,"column":8},"end":{"line":614,"column":8}},{"start":{"line":614,"column":8},"end":{"line":614,"column":8}}]},"95":{"line":617,"type":"if","locations":[{"start":{"line":617,"column":12},"end":{"line":617,"column":12}},{"start":{"line":617,"column":12},"end":{"line":617,"column":12}}]},"96":{"line":624,"type":"binary-expr","locations":[{"start":{"line":624,"column":27},"end":{"line":624,"column":31}},{"start":{"line":624,"column":35},"end":{"line":624,"column":45}}]},"97":{"line":633,"type":"if","locations":[{"start":{"line":633,"column":8},"end":{"line":633,"column":8}},{"start":{"line":633,"column":8},"end":{"line":633,"column":8}}]},"98":{"line":640,"type":"if","locations":[{"start":{"line":640,"column":16},"end":{"line":640,"column":16}},{"start":{"line":640,"column":16},"end":{"line":640,"column":16}}]},"99":{"line":640,"type":"binary-expr","locations":[{"start":{"line":640,"column":20},"end":{"line":640,"column":25}},{"start":{"line":640,"column":29},"end":{"line":640,"column":39}}]},"100":{"line":653,"type":"if","locations":[{"start":{"line":653,"column":8},"end":{"line":653,"column":8}},{"start":{"line":653,"column":8},"end":{"line":653,"column":8}}]},"101":{"line":657,"type":"if","locations":[{"start":{"line":657,"column":16},"end":{"line":657,"column":16}},{"start":{"line":657,"column":16},"end":{"line":657,"column":16}}]},"102":{"line":659,"type":"if","locations":[{"start":{"line":659,"column":20},"end":{"line":659,"column":20}},{"start":{"line":659,"column":20},"end":{"line":659,"column":20}}]},"103":{"line":681,"type":"if","locations":[{"start":{"line":681,"column":12},"end":{"line":681,"column":12}},{"start":{"line":681,"column":12},"end":{"line":681,"column":12}}]},"104":{"line":689,"type":"if","locations":[{"start":{"line":689,"column":12},"end":{"line":689,"column":12}},{"start":{"line":689,"column":12},"end":{"line":689,"column":12}}]},"105":{"line":699,"type":"if","locations":[{"start":{"line":699,"column":12},"end":{"line":699,"column":12}},{"start":{"line":699,"column":12},"end":{"line":699,"column":12}}]},"106":{"line":711,"type":"if","locations":[{"start":{"line":711,"column":12},"end":{"line":711,"column":12}},{"start":{"line":711,"column":12},"end":{"line":711,"column":12}}]},"107":{"line":718,"type":"if","locations":[{"start":{"line":718,"column":16},"end":{"line":718,"column":16}},{"start":{"line":718,"column":16},"end":{"line":718,"column":16}}]},"108":{"line":727,"type":"if","locations":[{"start":{"line":727,"column":16},"end":{"line":727,"column":16}},{"start":{"line":727,"column":16},"end":{"line":727,"column":16}}]},"109":{"line":742,"type":"if","locations":[{"start":{"line":742,"column":16},"end":{"line":742,"column":16}},{"start":{"line":742,"column":16},"end":{"line":742,"column":16}}]},"110":{"line":786,"type":"if","locations":[{"start":{"line":786,"column":16},"end":{"line":786,"column":16}},{"start":{"line":786,"column":16},"end":{"line":786,"column":16}}]},"111":{"line":799,"type":"cond-expr","locations":[{"start":{"line":799,"column":59},"end":{"line":799,"column":78}},{"start":{"line":799,"column":81},"end":{"line":799,"column":95}}]},"112":{"line":809,"type":"if","locations":[{"start":{"line":809,"column":12},"end":{"line":809,"column":12}},{"start":{"line":809,"column":12},"end":{"line":809,"column":12}}]},"113":{"line":809,"type":"binary-expr","locations":[{"start":{"line":809,"column":16},"end":{"line":809,"column":31}},{"start":{"line":809,"column":35},"end":{"line":809,"column":57}}]},"114":{"line":811,"type":"if","locations":[{"start":{"line":811,"column":20},"end":{"line":811,"column":20}},{"start":{"line":811,"column":20},"end":{"line":811,"column":20}}]},"115":{"line":827,"type":"if","locations":[{"start":{"line":827,"column":12},"end":{"line":827,"column":12}},{"start":{"line":827,"column":12},"end":{"line":827,"column":12}}]},"116":{"line":831,"type":"switch","locations":[{"start":{"line":832,"column":16},"end":{"line":835,"column":26}},{"start":{"line":836,"column":16},"end":{"line":838,"column":26}},{"start":{"line":839,"column":16},"end":{"line":841,"column":26}},{"start":{"line":842,"column":16},"end":{"line":844,"column":26}},{"start":{"line":845,"column":16},"end":{"line":847,"column":26}},{"start":{"line":848,"column":16},"end":{"line":850,"column":26}},{"start":{"line":851,"column":16},"end":{"line":853,"column":26}},{"start":{"line":854,"column":16},"end":{"line":856,"column":26}},{"start":{"line":857,"column":16},"end":{"line":859,"column":26}},{"start":{"line":860,"column":16},"end":{"line":870,"column":21}}]},"117":{"line":863,"type":"if","locations":[{"start":{"line":863,"column":20},"end":{"line":863,"column":20}},{"start":{"line":863,"column":20},"end":{"line":863,"column":20}}]},"118":{"line":864,"type":"if","locations":[{"start":{"line":864,"column":24},"end":{"line":864,"column":24}},{"start":{"line":864,"column":24},"end":{"line":864,"column":24}}]},"119":{"line":873,"type":"if","locations":[{"start":{"line":873,"column":12},"end":{"line":873,"column":12}},{"start":{"line":873,"column":12},"end":{"line":873,"column":12}}]},"120":{"line":890,"type":"if","locations":[{"start":{"line":890,"column":12},"end":{"line":890,"column":12}},{"start":{"line":890,"column":12},"end":{"line":890,"column":12}}]},"121":{"line":905,"type":"if","locations":[{"start":{"line":905,"column":12},"end":{"line":905,"column":12}},{"start":{"line":905,"column":12},"end":{"line":905,"column":12}}]},"122":{"line":928,"type":"if","locations":[{"start":{"line":928,"column":12},"end":{"line":928,"column":12}},{"start":{"line":928,"column":12},"end":{"line":928,"column":12}}]},"123":{"line":941,"type":"if","locations":[{"start":{"line":941,"column":12},"end":{"line":941,"column":12}},{"start":{"line":941,"column":12},"end":{"line":941,"column":12}}]},"124":{"line":941,"type":"binary-expr","locations":[{"start":{"line":941,"column":16},"end":{"line":941,"column":48}},{"start":{"line":941,"column":52},"end":{"line":941,"column":82}}]},"125":{"line":950,"type":"if","locations":[{"start":{"line":950,"column":12},"end":{"line":950,"column":12}},{"start":{"line":950,"column":12},"end":{"line":950,"column":12}}]},"126":{"line":959,"type":"if","locations":[{"start":{"line":959,"column":12},"end":{"line":959,"column":12}},{"start":{"line":959,"column":12},"end":{"line":959,"column":12}}]},"127":{"line":973,"type":"if","locations":[{"start":{"line":973,"column":12},"end":{"line":973,"column":12}},{"start":{"line":973,"column":12},"end":{"line":973,"column":12}}]},"128":{"line":982,"type":"if","locations":[{"start":{"line":982,"column":16},"end":{"line":982,"column":16}},{"start":{"line":982,"column":16},"end":{"line":982,"column":16}}]},"129":{"line":982,"type":"binary-expr","locations":[{"start":{"line":982,"column":20},"end":{"line":982,"column":28}},{"start":{"line":982,"column":32},"end":{"line":982,"column":75}}]},"130":{"line":1000,"type":"if","locations":[{"start":{"line":1000,"column":12},"end":{"line":1000,"column":12}},{"start":{"line":1000,"column":12},"end":{"line":1000,"column":12}}]},"131":{"line":1004,"type":"if","locations":[{"start":{"line":1004,"column":12},"end":{"line":1004,"column":12}},{"start":{"line":1004,"column":12},"end":{"line":1004,"column":12}}]},"132":{"line":1004,"type":"binary-expr","locations":[{"start":{"line":1004,"column":16},"end":{"line":1004,"column":39}},{"start":{"line":1004,"column":43},"end":{"line":1004,"column":69}}]},"133":{"line":1018,"type":"if","locations":[{"start":{"line":1018,"column":12},"end":{"line":1018,"column":12}},{"start":{"line":1018,"column":12},"end":{"line":1018,"column":12}}]},"134":{"line":1022,"type":"binary-expr","locations":[{"start":{"line":1022,"column":48},"end":{"line":1022,"column":83}},{"start":{"line":1022,"column":87},"end":{"line":1022,"column":88}}]},"135":{"line":1036,"type":"if","locations":[{"start":{"line":1036,"column":12},"end":{"line":1036,"column":12}},{"start":{"line":1036,"column":12},"end":{"line":1036,"column":12}}]},"136":{"line":1043,"type":"if","locations":[{"start":{"line":1043,"column":16},"end":{"line":1043,"column":16}},{"start":{"line":1043,"column":16},"end":{"line":1043,"column":16}}]},"137":{"line":1046,"type":"binary-expr","locations":[{"start":{"line":1046,"column":28},"end":{"line":1046,"column":36}},{"start":{"line":1046,"column":40},"end":{"line":1046,"column":50}}]},"138":{"line":1047,"type":"if","locations":[{"start":{"line":1047,"column":16},"end":{"line":1047,"column":16}},{"start":{"line":1047,"column":16},"end":{"line":1047,"column":16}}]},"139":{"line":1047,"type":"binary-expr","locations":[{"start":{"line":1047,"column":20},"end":{"line":1047,"column":29}},{"start":{"line":1047,"column":33},"end":{"line":1047,"column":60}}]},"140":{"line":1049,"type":"if","locations":[{"start":{"line":1049,"column":20},"end":{"line":1049,"column":20}},{"start":{"line":1049,"column":20},"end":{"line":1049,"column":20}}]},"141":{"line":1063,"type":"if","locations":[{"start":{"line":1063,"column":24},"end":{"line":1063,"column":24}},{"start":{"line":1063,"column":24},"end":{"line":1063,"column":24}}]},"142":{"line":1063,"type":"binary-expr","locations":[{"start":{"line":1063,"column":28},"end":{"line":1063,"column":65}},{"start":{"line":1064,"column":28},"end":{"line":1064,"column":67}},{"start":{"line":1065,"column":28},"end":{"line":1065,"column":55}},{"start":{"line":1066,"column":28},"end":{"line":1066,"column":90}}]},"143":{"line":1077,"type":"if","locations":[{"start":{"line":1077,"column":24},"end":{"line":1077,"column":24}},{"start":{"line":1077,"column":24},"end":{"line":1077,"column":24}}]},"144":{"line":1077,"type":"binary-expr","locations":[{"start":{"line":1077,"column":28},"end":{"line":1077,"column":66}},{"start":{"line":1077,"column":70},"end":{"line":1077,"column":118}},{"start":{"line":1077,"column":122},"end":{"line":1077,"column":179}}]},"145":{"line":1078,"type":"binary-expr","locations":[{"start":{"line":1078,"column":49},"end":{"line":1078,"column":76}},{"start":{"line":1078,"column":80},"end":{"line":1078,"column":93}}]},"146":{"line":1089,"type":"if","locations":[{"start":{"line":1089,"column":28},"end":{"line":1089,"column":28}},{"start":{"line":1089,"column":28},"end":{"line":1089,"column":28}}]},"147":{"line":1105,"type":"cond-expr","locations":[{"start":{"line":1106,"column":36},"end":{"line":1106,"column":76}},{"start":{"line":1106,"column":79},"end":{"line":1106,"column":120}}]},"148":{"line":1132,"type":"if","locations":[{"start":{"line":1132,"column":28},"end":{"line":1132,"column":28}},{"start":{"line":1132,"column":28},"end":{"line":1132,"column":28}}]},"149":{"line":1142,"type":"binary-expr","locations":[{"start":{"line":1142,"column":59},"end":{"line":1142,"column":102}},{"start":{"line":1142,"column":106},"end":{"line":1142,"column":110}}]},"150":{"line":1154,"type":"if","locations":[{"start":{"line":1154,"column":24},"end":{"line":1154,"column":24}},{"start":{"line":1154,"column":24},"end":{"line":1154,"column":24}}]},"151":{"line":1154,"type":"binary-expr","locations":[{"start":{"line":1154,"column":28},"end":{"line":1154,"column":52}},{"start":{"line":1154,"column":56},"end":{"line":1154,"column":80}}]},"152":{"line":1160,"type":"if","locations":[{"start":{"line":1160,"column":24},"end":{"line":1160,"column":24}},{"start":{"line":1160,"column":24},"end":{"line":1160,"column":24}}]},"153":{"line":1166,"type":"if","locations":[{"start":{"line":1166,"column":16},"end":{"line":1166,"column":16}},{"start":{"line":1166,"column":16},"end":{"line":1166,"column":16}}]},"154":{"line":1166,"type":"binary-expr","locations":[{"start":{"line":1166,"column":20},"end":{"line":1166,"column":44}},{"start":{"line":1166,"column":48},"end":{"line":1166,"column":72}},{"start":{"line":1166,"column":76},"end":{"line":1166,"column":92}}]},"155":{"line":1189,"type":"binary-expr","locations":[{"start":{"line":1189,"column":20},"end":{"line":1189,"column":25}},{"start":{"line":1189,"column":29},"end":{"line":1189,"column":30}}]},"156":{"line":1191,"type":"if","locations":[{"start":{"line":1191,"column":12},"end":{"line":1191,"column":12}},{"start":{"line":1191,"column":12},"end":{"line":1191,"column":12}}]},"157":{"line":1199,"type":"binary-expr","locations":[{"start":{"line":1199,"column":20},"end":{"line":1199,"column":25}},{"start":{"line":1199,"column":29},"end":{"line":1199,"column":30}}]},"158":{"line":1201,"type":"if","locations":[{"start":{"line":1201,"column":12},"end":{"line":1201,"column":12}},{"start":{"line":1201,"column":12},"end":{"line":1201,"column":12}}]},"159":{"line":1208,"type":"binary-expr","locations":[{"start":{"line":1208,"column":23},"end":{"line":1208,"column":31}},{"start":{"line":1208,"column":35},"end":{"line":1208,"column":105}}]},"160":{"line":1217,"type":"if","locations":[{"start":{"line":1217,"column":12},"end":{"line":1217,"column":12}},{"start":{"line":1217,"column":12},"end":{"line":1217,"column":12}}]},"161":{"line":1219,"type":"if","locations":[{"start":{"line":1219,"column":16},"end":{"line":1219,"column":16}},{"start":{"line":1219,"column":16},"end":{"line":1219,"column":16}}]},"162":{"line":1235,"type":"if","locations":[{"start":{"line":1235,"column":12},"end":{"line":1235,"column":12}},{"start":{"line":1235,"column":12},"end":{"line":1235,"column":12}}]},"163":{"line":1256,"type":"if","locations":[{"start":{"line":1256,"column":20},"end":{"line":1256,"column":20}},{"start":{"line":1256,"column":20},"end":{"line":1256,"column":20}}]},"164":{"line":1256,"type":"binary-expr","locations":[{"start":{"line":1256,"column":24},"end":{"line":1256,"column":68}},{"start":{"line":1256,"column":72},"end":{"line":1256,"column":85}}]},"165":{"line":1265,"type":"if","locations":[{"start":{"line":1265,"column":16},"end":{"line":1265,"column":16}},{"start":{"line":1265,"column":16},"end":{"line":1265,"column":16}}]},"166":{"line":1267,"type":"if","locations":[{"start":{"line":1267,"column":20},"end":{"line":1267,"column":20}},{"start":{"line":1267,"column":20},"end":{"line":1267,"column":20}}]},"167":{"line":1281,"type":"binary-expr","locations":[{"start":{"line":1281,"column":18},"end":{"line":1281,"column":25}},{"start":{"line":1281,"column":29},"end":{"line":1281,"column":50}},{"start":{"line":1281,"column":55},"end":{"line":1281,"column":88}},{"start":{"line":1281,"column":92},"end":{"line":1281,"column":126}}]},"168":{"line":1282,"type":"if","locations":[{"start":{"line":1282,"column":8},"end":{"line":1282,"column":8}},{"start":{"line":1282,"column":8},"end":{"line":1282,"column":8}}]},"169":{"line":1282,"type":"binary-expr","locations":[{"start":{"line":1282,"column":12},"end":{"line":1282,"column":15}},{"start":{"line":1282,"column":19},"end":{"line":1282,"column":37}},{"start":{"line":1282,"column":41},"end":{"line":1282,"column":66}}]}}}; +} +__cov_waiiHJM_H0jZC_ZF24NjDw = __cov_waiiHJM_H0jZC_ZF24NjDw['src/js/core.js']; +__cov_waiiHJM_H0jZC_ZF24NjDw.s['1']++;(function(){'use strict';__cov_waiiHJM_H0jZC_ZF24NjDw.f['1']++;function handleDisableExtraSpaces(event){__cov_waiiHJM_H0jZC_ZF24NjDw.f['2']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['3']++;var node=MediumEditor.selection.getSelectionStart(this.options.ownerDocument),textContent=node.textContent,caretPositions=MediumEditor.selection.getCaretOffsets(node);__cov_waiiHJM_H0jZC_ZF24NjDw.s['4']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['2'][0]++,textContent[caretPositions.left-1]===undefined)||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['2'][1]++,textContent[caretPositions.left-1].trim()==='')||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['2'][2]++,textContent[caretPositions.left]!==undefined)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['2'][3]++,textContent[caretPositions.left].trim()==='')){__cov_waiiHJM_H0jZC_ZF24NjDw.b['1'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['5']++;event.preventDefault();}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['1'][1]++;}}function handleDisabledEnterKeydown(event,element){__cov_waiiHJM_H0jZC_ZF24NjDw.f['3']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['7']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['4'][0]++,this.options.disableReturn)||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['4'][1]++,element.getAttribute('data-disable-return'))){__cov_waiiHJM_H0jZC_ZF24NjDw.b['3'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['8']++;event.preventDefault();}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['3'][1]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['9']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['6'][0]++,this.options.disableDoubleReturn)||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['6'][1]++,element.getAttribute('data-disable-double-return'))){__cov_waiiHJM_H0jZC_ZF24NjDw.b['5'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['10']++;var node=MediumEditor.selection.getSelectionStart(this.options.ownerDocument);__cov_waiiHJM_H0jZC_ZF24NjDw.s['11']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['8'][0]++,node)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['8'][1]++,node.textContent.trim()==='')&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['8'][2]++,node.nodeName.toLowerCase()!=='li')||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['8'][3]++,node.previousElementSibling)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['8'][4]++,node.previousElementSibling.nodeName.toLowerCase()!=='br')&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['8'][5]++,node.previousElementSibling.textContent.trim()==='')){__cov_waiiHJM_H0jZC_ZF24NjDw.b['7'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['12']++;event.preventDefault();}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['7'][1]++;}}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['5'][1]++;}}}function handleTabKeydown(event){__cov_waiiHJM_H0jZC_ZF24NjDw.f['4']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['14']++;var node=MediumEditor.selection.getSelectionStart(this.options.ownerDocument),tag=(__cov_waiiHJM_H0jZC_ZF24NjDw.b['9'][0]++,node)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['9'][1]++,node.nodeName.toLowerCase());__cov_waiiHJM_H0jZC_ZF24NjDw.s['15']++;if(tag==='pre'){__cov_waiiHJM_H0jZC_ZF24NjDw.b['10'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['16']++;event.preventDefault();__cov_waiiHJM_H0jZC_ZF24NjDw.s['17']++;MediumEditor.util.insertHTMLCommand(this.options.ownerDocument,' ');}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['10'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['18']++;if(MediumEditor.util.isListItem(node)){__cov_waiiHJM_H0jZC_ZF24NjDw.b['11'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['19']++;event.preventDefault();__cov_waiiHJM_H0jZC_ZF24NjDw.s['20']++;if(event.shiftKey){__cov_waiiHJM_H0jZC_ZF24NjDw.b['12'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['21']++;this.options.ownerDocument.execCommand('outdent',false,null);}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['12'][1]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['22']++;this.options.ownerDocument.execCommand('indent',false,null);}}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['11'][1]++;}}function handleBlockDeleteKeydowns(event){__cov_waiiHJM_H0jZC_ZF24NjDw.f['5']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['24']++;var p,node=MediumEditor.selection.getSelectionStart(this.options.ownerDocument),tagName=node.nodeName.toLowerCase(),isEmpty=/^(\s+|)?$/i,isHeader=/h\d/i;__cov_waiiHJM_H0jZC_ZF24NjDw.s['25']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['14'][0]++,MediumEditor.util.isKey(event,[MediumEditor.util.keyCode.BACKSPACE,MediumEditor.util.keyCode.ENTER]))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['14'][1]++,node.previousElementSibling)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['14'][2]++,isHeader.test(tagName))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['14'][3]++,MediumEditor.selection.getCaretOffsets(node).left===0)){__cov_waiiHJM_H0jZC_ZF24NjDw.b['13'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['26']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['16'][0]++,MediumEditor.util.isKey(event,MediumEditor.util.keyCode.BACKSPACE))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['16'][1]++,isEmpty.test(node.previousElementSibling.innerHTML))){__cov_waiiHJM_H0jZC_ZF24NjDw.b['15'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['27']++;node.previousElementSibling.parentNode.removeChild(node.previousElementSibling);__cov_waiiHJM_H0jZC_ZF24NjDw.s['28']++;event.preventDefault();}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['15'][1]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['29']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['18'][0]++,!this.options.disableDoubleReturn)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['18'][1]++,MediumEditor.util.isKey(event,MediumEditor.util.keyCode.ENTER))){__cov_waiiHJM_H0jZC_ZF24NjDw.b['17'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['30']++;p=this.options.ownerDocument.createElement('p');__cov_waiiHJM_H0jZC_ZF24NjDw.s['31']++;p.innerHTML='
    ';__cov_waiiHJM_H0jZC_ZF24NjDw.s['32']++;node.previousElementSibling.parentNode.insertBefore(p,node);__cov_waiiHJM_H0jZC_ZF24NjDw.s['33']++;event.preventDefault();}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['17'][1]++;}}}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['13'][1]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['34']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['20'][0]++,MediumEditor.util.isKey(event,MediumEditor.util.keyCode.DELETE))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['20'][1]++,node.nextElementSibling)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['20'][2]++,node.previousElementSibling)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['20'][3]++,!isHeader.test(tagName))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['20'][4]++,isEmpty.test(node.innerHTML))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['20'][5]++,isHeader.test(node.nextElementSibling.nodeName.toLowerCase()))){__cov_waiiHJM_H0jZC_ZF24NjDw.b['19'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['35']++;MediumEditor.selection.moveCursor(this.options.ownerDocument,node.nextElementSibling);__cov_waiiHJM_H0jZC_ZF24NjDw.s['36']++;node.previousElementSibling.parentNode.removeChild(node);__cov_waiiHJM_H0jZC_ZF24NjDw.s['37']++;event.preventDefault();}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['19'][1]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['38']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['22'][0]++,MediumEditor.util.isKey(event,MediumEditor.util.keyCode.BACKSPACE))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['22'][1]++,tagName==='li')&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['22'][2]++,isEmpty.test(node.innerHTML))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['22'][3]++,!node.previousElementSibling)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['22'][4]++,!node.parentElement.previousElementSibling)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['22'][5]++,node.nextElementSibling)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['22'][6]++,node.nextElementSibling.nodeName.toLowerCase()==='li')){__cov_waiiHJM_H0jZC_ZF24NjDw.b['21'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['39']++;p=this.options.ownerDocument.createElement('p');__cov_waiiHJM_H0jZC_ZF24NjDw.s['40']++;p.innerHTML='
    ';__cov_waiiHJM_H0jZC_ZF24NjDw.s['41']++;node.parentElement.parentElement.insertBefore(p,node.parentElement);__cov_waiiHJM_H0jZC_ZF24NjDw.s['42']++;MediumEditor.selection.moveCursor(this.options.ownerDocument,p);__cov_waiiHJM_H0jZC_ZF24NjDw.s['43']++;node.parentElement.removeChild(node);__cov_waiiHJM_H0jZC_ZF24NjDw.s['44']++;event.preventDefault();}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['21'][1]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['45']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['24'][0]++,MediumEditor.util.isKey(event,MediumEditor.util.keyCode.BACKSPACE))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['24'][1]++,MediumEditor.util.getClosestTag(node,'blockquote')!==false)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['24'][2]++,MediumEditor.selection.getCaretOffsets(node).left===0)){__cov_waiiHJM_H0jZC_ZF24NjDw.b['23'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['46']++;event.preventDefault();__cov_waiiHJM_H0jZC_ZF24NjDw.s['47']++;MediumEditor.util.execFormatBlock(this.options.ownerDocument,'p');}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['23'][1]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['48']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['26'][0]++,MediumEditor.util.isKey(event,MediumEditor.util.keyCode.ENTER))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['26'][1]++,MediumEditor.util.getClosestTag(node,'blockquote')!==false)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['26'][2]++,MediumEditor.selection.getCaretOffsets(node).right===0)){__cov_waiiHJM_H0jZC_ZF24NjDw.b['25'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['49']++;p=this.options.ownerDocument.createElement('p');__cov_waiiHJM_H0jZC_ZF24NjDw.s['50']++;p.innerHTML='
    ';__cov_waiiHJM_H0jZC_ZF24NjDw.s['51']++;node.parentElement.insertBefore(p,node.nextSibling);__cov_waiiHJM_H0jZC_ZF24NjDw.s['52']++;MediumEditor.selection.moveCursor(this.options.ownerDocument,p);__cov_waiiHJM_H0jZC_ZF24NjDw.s['53']++;event.preventDefault();}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['25'][1]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['54']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['28'][0]++,MediumEditor.util.isKey(event,MediumEditor.util.keyCode.BACKSPACE))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['28'][1]++,MediumEditor.util.isMediumEditorElement(node.parentElement))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['28'][2]++,!node.previousElementSibling)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['28'][3]++,node.nextElementSibling)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['28'][4]++,isEmpty.test(node.innerHTML))){__cov_waiiHJM_H0jZC_ZF24NjDw.b['27'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['55']++;event.preventDefault();__cov_waiiHJM_H0jZC_ZF24NjDw.s['56']++;MediumEditor.selection.moveCursor(this.options.ownerDocument,node.nextSibling);__cov_waiiHJM_H0jZC_ZF24NjDw.s['57']++;node.parentElement.removeChild(node);}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['27'][1]++;}}}}}}}function handleKeyup(event){__cov_waiiHJM_H0jZC_ZF24NjDw.f['6']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['59']++;var node=MediumEditor.selection.getSelectionStart(this.options.ownerDocument),tagName;__cov_waiiHJM_H0jZC_ZF24NjDw.s['60']++;if(!node){__cov_waiiHJM_H0jZC_ZF24NjDw.b['29'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['61']++;return;}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['29'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['62']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['31'][0]++,MediumEditor.util.isMediumEditorElement(node))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['31'][1]++,node.children.length===0)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['31'][2]++,!MediumEditor.util.isBlockContainer(node))){__cov_waiiHJM_H0jZC_ZF24NjDw.b['30'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['63']++;this.options.ownerDocument.execCommand('formatBlock',false,'p');}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['30'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['64']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['33'][0]++,MediumEditor.util.isKey(event,MediumEditor.util.keyCode.ENTER))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['33'][1]++,!MediumEditor.util.isListItem(node))&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['33'][2]++,!MediumEditor.util.isBlockContainer(node))){__cov_waiiHJM_H0jZC_ZF24NjDw.b['32'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['65']++;tagName=node.nodeName.toLowerCase();__cov_waiiHJM_H0jZC_ZF24NjDw.s['66']++;if(tagName==='a'){__cov_waiiHJM_H0jZC_ZF24NjDw.b['34'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['67']++;this.options.ownerDocument.execCommand('unlink',false,null);}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['34'][1]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['68']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['36'][0]++,!event.shiftKey)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['36'][1]++,!event.ctrlKey)){__cov_waiiHJM_H0jZC_ZF24NjDw.b['35'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['69']++;this.options.ownerDocument.execCommand('formatBlock',false,'p');}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['35'][1]++;}}}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['32'][1]++;}}function handleEditableInput(event,editable){__cov_waiiHJM_H0jZC_ZF24NjDw.f['7']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['71']++;var textarea=editable.parentNode.querySelector('textarea[medium-editor-textarea-id="'+editable.getAttribute('medium-editor-textarea-id')+'"]');__cov_waiiHJM_H0jZC_ZF24NjDw.s['72']++;if(textarea){__cov_waiiHJM_H0jZC_ZF24NjDw.b['37'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['73']++;textarea.value=editable.innerHTML.trim();}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['37'][1]++;}}function addToEditors(win){__cov_waiiHJM_H0jZC_ZF24NjDw.f['8']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['75']++;if(!win._mediumEditors){__cov_waiiHJM_H0jZC_ZF24NjDw.b['38'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['76']++;win._mediumEditors=[null];}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['38'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['77']++;if(!this.id){__cov_waiiHJM_H0jZC_ZF24NjDw.b['39'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['78']++;this.id=win._mediumEditors.length;}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['39'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['79']++;win._mediumEditors[this.id]=this;}function removeFromEditors(win){__cov_waiiHJM_H0jZC_ZF24NjDw.f['9']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['81']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['41'][0]++,!win._mediumEditors)||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['41'][1]++,!win._mediumEditors[this.id])){__cov_waiiHJM_H0jZC_ZF24NjDw.b['40'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['82']++;return;}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['40'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['83']++;win._mediumEditors[this.id]=null;}function createElementsArray(selector,doc,filterEditorElements){__cov_waiiHJM_H0jZC_ZF24NjDw.f['10']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['85']++;var elements=[];__cov_waiiHJM_H0jZC_ZF24NjDw.s['86']++;if(!selector){__cov_waiiHJM_H0jZC_ZF24NjDw.b['42'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['87']++;selector=[];}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['42'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['88']++;if(typeof selector==='string'){__cov_waiiHJM_H0jZC_ZF24NjDw.b['43'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['89']++;selector=doc.querySelectorAll(selector);}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['43'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['90']++;if(MediumEditor.util.isElement(selector)){__cov_waiiHJM_H0jZC_ZF24NjDw.b['44'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['91']++;selector=[selector];}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['44'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['92']++;if(filterEditorElements){__cov_waiiHJM_H0jZC_ZF24NjDw.b['45'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['93']++;for(var i=0;i=0){__cov_waiiHJM_H0jZC_ZF24NjDw.b['130'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['417']++;selectionState=MediumEditor.selection.exportSelection(selectionElement,this.options.ownerDocument);}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['130'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['418']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['132'][0]++,selectionState!==null)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['132'][1]++,editableElementIndex!==0)){__cov_waiiHJM_H0jZC_ZF24NjDw.b['131'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['419']++;selectionState.editableElementIndex=editableElementIndex;}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['131'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['420']++;return selectionState;},saveSelection:function(){__cov_waiiHJM_H0jZC_ZF24NjDw.f['63']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['421']++;this.selectionState=this.exportSelection();},importSelection:function(selectionState,favorLaterSelectionAnchor){__cov_waiiHJM_H0jZC_ZF24NjDw.f['64']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['422']++;if(!selectionState){__cov_waiiHJM_H0jZC_ZF24NjDw.b['133'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['423']++;return;}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['133'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['424']++;var editableElement=this.elements[(__cov_waiiHJM_H0jZC_ZF24NjDw.b['134'][0]++,selectionState.editableElementIndex)||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['134'][1]++,0)];__cov_waiiHJM_H0jZC_ZF24NjDw.s['425']++;MediumEditor.selection.importSelection(selectionState,editableElement,this.options.ownerDocument,favorLaterSelectionAnchor);},restoreSelection:function(){__cov_waiiHJM_H0jZC_ZF24NjDw.f['65']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['426']++;this.importSelection(this.selectionState);},createLink:function(opts){__cov_waiiHJM_H0jZC_ZF24NjDw.f['66']++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['427']++;var currentEditor=MediumEditor.selection.getSelectionElement(this.options.contentWindow),customEvent={},targetUrl;__cov_waiiHJM_H0jZC_ZF24NjDw.s['428']++;if(this.elements.indexOf(currentEditor)===-1){__cov_waiiHJM_H0jZC_ZF24NjDw.b['135'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['429']++;return;}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['135'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['430']++;try{__cov_waiiHJM_H0jZC_ZF24NjDw.s['431']++;this.events.disableCustomEvent('editableInput');__cov_waiiHJM_H0jZC_ZF24NjDw.s['432']++;if(opts.url){__cov_waiiHJM_H0jZC_ZF24NjDw.b['136'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['433']++;MediumEditor.util.deprecated('.url option for createLink','.value','6.0.0');}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['136'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['434']++;targetUrl=(__cov_waiiHJM_H0jZC_ZF24NjDw.b['137'][0]++,opts.url)||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['137'][1]++,opts.value);__cov_waiiHJM_H0jZC_ZF24NjDw.s['435']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['139'][0]++,targetUrl)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['139'][1]++,targetUrl.trim().length>0)){__cov_waiiHJM_H0jZC_ZF24NjDw.b['138'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['436']++;var currentSelection=this.options.contentWindow.getSelection();__cov_waiiHJM_H0jZC_ZF24NjDw.s['437']++;if(currentSelection){__cov_waiiHJM_H0jZC_ZF24NjDw.b['140'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['438']++;var currRange=currentSelection.getRangeAt(0),commonAncestorContainer=currRange.commonAncestorContainer,exportedSelection,startContainerParentElement,endContainerParentElement,textNodes;__cov_waiiHJM_H0jZC_ZF24NjDw.s['439']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['142'][0]++,currRange.endContainer.nodeType===3)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['142'][1]++,currRange.startContainer.nodeType!==3)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['142'][2]++,currRange.startOffset===0)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['142'][3]++,currRange.startContainer.firstChild===currRange.endContainer)){__cov_waiiHJM_H0jZC_ZF24NjDw.b['141'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['440']++;commonAncestorContainer=currRange.endContainer;}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['141'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['441']++;startContainerParentElement=MediumEditor.util.getClosestBlockContainer(currRange.startContainer);__cov_waiiHJM_H0jZC_ZF24NjDw.s['442']++;endContainerParentElement=MediumEditor.util.getClosestBlockContainer(currRange.endContainer);__cov_waiiHJM_H0jZC_ZF24NjDw.s['443']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['144'][0]++,commonAncestorContainer.nodeType!==3)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['144'][1]++,commonAncestorContainer.textContent.length!==0)&&(__cov_waiiHJM_H0jZC_ZF24NjDw.b['144'][2]++,startContainerParentElement===endContainerParentElement)){__cov_waiiHJM_H0jZC_ZF24NjDw.b['143'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['444']++;var parentElement=(__cov_waiiHJM_H0jZC_ZF24NjDw.b['145'][0]++,startContainerParentElement)||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['145'][1]++,currentEditor),fragment=this.options.ownerDocument.createDocumentFragment();__cov_waiiHJM_H0jZC_ZF24NjDw.s['445']++;this.execAction('unlink');__cov_waiiHJM_H0jZC_ZF24NjDw.s['446']++;exportedSelection=this.exportSelection();__cov_waiiHJM_H0jZC_ZF24NjDw.s['447']++;fragment.appendChild(parentElement.cloneNode(true));__cov_waiiHJM_H0jZC_ZF24NjDw.s['448']++;if(currentEditor===parentElement){__cov_waiiHJM_H0jZC_ZF24NjDw.b['146'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['449']++;MediumEditor.selection.select(this.options.ownerDocument,parentElement.firstChild,0,parentElement.lastChild,parentElement.lastChild.nodeType===3?(__cov_waiiHJM_H0jZC_ZF24NjDw.b['147'][0]++,parentElement.lastChild.nodeValue.length):(__cov_waiiHJM_H0jZC_ZF24NjDw.b['147'][1]++,parentElement.lastChild.childNodes.length));}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['146'][1]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['450']++;MediumEditor.selection.select(this.options.ownerDocument,parentElement,0,parentElement,parentElement.childNodes.length);}__cov_waiiHJM_H0jZC_ZF24NjDw.s['451']++;var modifiedExportedSelection=this.exportSelection();__cov_waiiHJM_H0jZC_ZF24NjDw.s['452']++;textNodes=MediumEditor.util.findOrCreateMatchingTextNodes(this.options.ownerDocument,fragment,{start:exportedSelection.start-modifiedExportedSelection.start,end:exportedSelection.end-modifiedExportedSelection.start,editableElementIndex:exportedSelection.editableElementIndex});__cov_waiiHJM_H0jZC_ZF24NjDw.s['453']++;if(textNodes.length===0){__cov_waiiHJM_H0jZC_ZF24NjDw.b['148'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['454']++;fragment=this.options.ownerDocument.createDocumentFragment();__cov_waiiHJM_H0jZC_ZF24NjDw.s['455']++;fragment.appendChild(commonAncestorContainer.cloneNode(true));__cov_waiiHJM_H0jZC_ZF24NjDw.s['456']++;textNodes=[fragment.firstChild.firstChild,fragment.firstChild.lastChild];}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['148'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['457']++;MediumEditor.util.createLink(this.options.ownerDocument,textNodes,targetUrl.trim());__cov_waiiHJM_H0jZC_ZF24NjDw.s['458']++;var leadingWhitespacesCount=((__cov_waiiHJM_H0jZC_ZF24NjDw.b['149'][0]++,fragment.firstChild.innerHTML.match(/^\s+/))||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['149'][1]++,['']))[0].length;__cov_waiiHJM_H0jZC_ZF24NjDw.s['459']++;MediumEditor.util.insertHTMLCommand(this.options.ownerDocument,fragment.firstChild.innerHTML.replace(/^\s+/,''));__cov_waiiHJM_H0jZC_ZF24NjDw.s['460']++;exportedSelection.start-=leadingWhitespacesCount;__cov_waiiHJM_H0jZC_ZF24NjDw.s['461']++;exportedSelection.end-=leadingWhitespacesCount;__cov_waiiHJM_H0jZC_ZF24NjDw.s['462']++;this.importSelection(exportedSelection);}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['143'][1]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['463']++;this.options.ownerDocument.execCommand('createLink',false,targetUrl);}__cov_waiiHJM_H0jZC_ZF24NjDw.s['464']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['151'][0]++,this.options.targetBlank)||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['151'][1]++,opts.target==='_blank')){__cov_waiiHJM_H0jZC_ZF24NjDw.b['150'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['465']++;MediumEditor.util.setTargetBlank(MediumEditor.selection.getSelectionStart(this.options.ownerDocument),targetUrl);}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['150'][1]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['466']++;MediumEditor.util.removeTargetBlank(MediumEditor.selection.getSelectionStart(this.options.ownerDocument),targetUrl);}__cov_waiiHJM_H0jZC_ZF24NjDw.s['467']++;if(opts.buttonClass){__cov_waiiHJM_H0jZC_ZF24NjDw.b['152'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['468']++;MediumEditor.util.addClassToAnchors(MediumEditor.selection.getSelectionStart(this.options.ownerDocument),opts.buttonClass);}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['152'][1]++;}}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['140'][1]++;}}else{__cov_waiiHJM_H0jZC_ZF24NjDw.b['138'][1]++;}__cov_waiiHJM_H0jZC_ZF24NjDw.s['469']++;if((__cov_waiiHJM_H0jZC_ZF24NjDw.b['154'][0]++,this.options.targetBlank)||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['154'][1]++,opts.target==='_blank')||(__cov_waiiHJM_H0jZC_ZF24NjDw.b['154'][2]++,opts.buttonClass)){__cov_waiiHJM_H0jZC_ZF24NjDw.b['153'][0]++;__cov_waiiHJM_H0jZC_ZF24NjDw.s['470']++;customEvent=this.options.ownerDocument.createEvent('HTMLEvents');__cov_waiiHJM_H0jZC_ZF24NjDw.s['471']++;customEvent.initEvent('input',true,true,this.options.contentWindow);__cov_waiiHJM_H0jZC_ZF24NjDw.s['472']++;for(var i=0,len=this.elements.length;iB',contentFA:''},'italic':{name:'italic',action:'italic',aria:'italic',tagNames:['i','em'],style:{prop:'font-style',value:'italic'},useQueryState:true,contentDefault:'I',contentFA:''},'underline':{name:'underline',action:'underline',aria:'underline',tagNames:['u'],style:{prop:'text-decoration',value:'underline'},useQueryState:true,contentDefault:'U',contentFA:''},'strikethrough':{name:'strikethrough',action:'strikethrough',aria:'strike through',tagNames:['strike'],style:{prop:'text-decoration',value:'line-through'},useQueryState:true,contentDefault:'A',contentFA:''},'superscript':{name:'superscript',action:'superscript',aria:'superscript',tagNames:['sup'],contentDefault:'x1',contentFA:''},'subscript':{name:'subscript',action:'subscript',aria:'subscript',tagNames:['sub'],contentDefault:'x1',contentFA:''},'image':{name:'image',action:'image',aria:'image',tagNames:['img'],contentDefault:'image',contentFA:''},'html':{name:'html',action:'html',aria:'evaluate html',tagNames:['iframe','object'],contentDefault:'html',contentFA:''},'orderedlist':{name:'orderedlist',action:'insertorderedlist',aria:'ordered list',tagNames:['ol'],useQueryState:true,contentDefault:'1.',contentFA:''},'unorderedlist':{name:'unorderedlist',action:'insertunorderedlist',aria:'unordered list',tagNames:['ul'],useQueryState:true,contentDefault:'',contentFA:''},'indent':{name:'indent',action:'indent',aria:'indent',tagNames:[],contentDefault:'',contentFA:''},'outdent':{name:'outdent',action:'outdent',aria:'outdent',tagNames:[],contentDefault:'',contentFA:''},'justifyCenter':{name:'justifyCenter',action:'justifyCenter',aria:'center justify',tagNames:[],style:{prop:'text-align',value:'center'},contentDefault:'C',contentFA:''},'justifyFull':{name:'justifyFull',action:'justifyFull',aria:'full justify',tagNames:[],style:{prop:'text-align',value:'justify'},contentDefault:'J',contentFA:''},'justifyLeft':{name:'justifyLeft',action:'justifyLeft',aria:'left justify',tagNames:[],style:{prop:'text-align',value:'left'},contentDefault:'L',contentFA:''},'justifyRight':{name:'justifyRight',action:'justifyRight',aria:'right justify',tagNames:[],style:{prop:'text-align',value:'right'},contentDefault:'R',contentFA:''},'removeFormat':{name:'removeFormat',aria:'remove formatting',action:'removeFormat',contentDefault:'X',contentFA:''},'quote':{name:'quote',action:'append-blockquote',aria:'blockquote',tagNames:['blockquote'],contentDefault:'',contentFA:''},'pre':{name:'pre',action:'append-pre',aria:'preformatted text',tagNames:['pre'],contentDefault:'0101',contentFA:''},'h1':{name:'h1',action:'append-h1',aria:'header type one',tagNames:['h1'],contentDefault:'H1',contentFA:'1'},'h2':{name:'h2',action:'append-h2',aria:'header type two',tagNames:['h2'],contentDefault:'H2',contentFA:'2'},'h3':{name:'h3',action:'append-h3',aria:'header type three',tagNames:['h3'],contentDefault:'H3',contentFA:'3'},'h4':{name:'h4',action:'append-h4',aria:'header type four',tagNames:['h4'],contentDefault:'H4',contentFA:'4'},'h5':{name:'h5',action:'append-h5',aria:'header type five',tagNames:['h5'],contentDefault:'H5',contentFA:'5'},'h6':{name:'h6',action:'append-h6',aria:'header type six',tagNames:['h6'],contentDefault:'H6',contentFA:'6'}};}()); diff --git a/.grunt/grunt-contrib-jasmine/src/js/defaults/options.js b/.grunt/grunt-contrib-jasmine/src/js/defaults/options.js new file mode 100644 index 0000000..dafbf68 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/defaults/options.js @@ -0,0 +1,9 @@ + +var __cov_yc7TidNsSTqvyOKerAHPQg = (Function('return this'))(); +if (!__cov_yc7TidNsSTqvyOKerAHPQg.__coverage__) { __cov_yc7TidNsSTqvyOKerAHPQg.__coverage__ = {}; } +__cov_yc7TidNsSTqvyOKerAHPQg = __cov_yc7TidNsSTqvyOKerAHPQg.__coverage__; +if (!(__cov_yc7TidNsSTqvyOKerAHPQg['src/js/defaults/options.js'])) { + __cov_yc7TidNsSTqvyOKerAHPQg['src/js/defaults/options.js'] = {"path":"src/js/defaults/options.js","s":{"1":0,"2":0},"b":{},"f":{"1":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":20,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":19,"column":6}}},"branchMap":{}}; +} +__cov_yc7TidNsSTqvyOKerAHPQg = __cov_yc7TidNsSTqvyOKerAHPQg['src/js/defaults/options.js']; +__cov_yc7TidNsSTqvyOKerAHPQg.s['1']++;(function(){__cov_yc7TidNsSTqvyOKerAHPQg.f['1']++;__cov_yc7TidNsSTqvyOKerAHPQg.s['2']++;MediumEditor.prototype.defaults={activeButtonClass:'medium-editor-button-active',buttonLabels:false,delay:0,disableReturn:false,disableDoubleReturn:false,disableExtraSpaces:false,disableEditing:false,autoLink:false,elementsContainer:false,contentWindow:window,ownerDocument:document,targetBlank:false,extensions:{},spellcheck:true};}()); diff --git a/.grunt/grunt-contrib-jasmine/src/js/events.js b/.grunt/grunt-contrib-jasmine/src/js/events.js new file mode 100644 index 0000000..90cc245 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/events.js @@ -0,0 +1,9 @@ + +var __cov_iQGDPTsl0vOsU8hz3w$a9Q = (Function('return this'))(); +if (!__cov_iQGDPTsl0vOsU8hz3w$a9Q.__coverage__) { __cov_iQGDPTsl0vOsU8hz3w$a9Q.__coverage__ = {}; } +__cov_iQGDPTsl0vOsU8hz3w$a9Q = __cov_iQGDPTsl0vOsU8hz3w$a9Q.__coverage__; +if (!(__cov_iQGDPTsl0vOsU8hz3w$a9Q['src/js/events.js'])) { + __cov_iQGDPTsl0vOsU8hz3w$a9Q['src/js/events.js'] = {"path":"src/js/events.js","s":{"1":0,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0,0,0],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0,0,0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0,0],"63":[0,0],"64":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"isElementDescendantOfExtension","line":4,"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":65}}},"3":{"name":"(anonymous_3)","line":9,"loc":{"start":{"line":9,"column":31},"end":{"line":9,"column":52}}},"4":{"name":"(anonymous_4)","line":22,"loc":{"start":{"line":22,"column":42},"end":{"line":22,"column":56}}},"5":{"name":"(anonymous_5)","line":28,"loc":{"start":{"line":28,"column":17},"end":{"line":28,"column":37}}},"6":{"name":"(anonymous_6)","line":42,"loc":{"start":{"line":42,"column":24},"end":{"line":42,"column":72}}},"7":{"name":"(anonymous_7)","line":48,"loc":{"start":{"line":48,"column":50},"end":{"line":48,"column":68}}},"8":{"name":"(anonymous_8)","line":54,"loc":{"start":{"line":54,"column":24},"end":{"line":54,"column":72}}},"9":{"name":"(anonymous_9)","line":62,"loc":{"start":{"line":62,"column":54},"end":{"line":62,"column":72}}},"10":{"name":"(anonymous_10)","line":72,"loc":{"start":{"line":72,"column":25},"end":{"line":72,"column":72}}},"11":{"name":"(anonymous_11)","line":83,"loc":{"start":{"line":83,"column":28},"end":{"line":83,"column":40}}},"12":{"name":"(anonymous_12)","line":91,"loc":{"start":{"line":91,"column":36},"end":{"line":91,"column":55}}},"13":{"name":"(anonymous_13)","line":92,"loc":{"start":{"line":92,"column":46},"end":{"line":92,"column":59}}},"14":{"name":"(anonymous_14)","line":103,"loc":{"start":{"line":103,"column":34},"end":{"line":103,"column":53}}},"15":{"name":"(anonymous_15)","line":109,"loc":{"start":{"line":109,"column":41},"end":{"line":109,"column":54}}},"16":{"name":"(anonymous_16)","line":115,"loc":{"start":{"line":115,"column":27},"end":{"line":115,"column":44}}},"17":{"name":"(anonymous_17)","line":121,"loc":{"start":{"line":121,"column":28},"end":{"line":121,"column":45}}},"18":{"name":"(anonymous_18)","line":126,"loc":{"start":{"line":126,"column":27},"end":{"line":126,"column":54}}},"19":{"name":"(anonymous_19)","line":134,"loc":{"start":{"line":134,"column":27},"end":{"line":134,"column":54}}},"20":{"name":"(anonymous_20)","line":142,"loc":{"start":{"line":142,"column":31},"end":{"line":142,"column":58}}},"21":{"name":"(anonymous_21)","line":150,"loc":{"start":{"line":150,"column":31},"end":{"line":150,"column":43}}},"22":{"name":"(anonymous_22)","line":155,"loc":{"start":{"line":155,"column":28},"end":{"line":155,"column":60}}},"23":{"name":"(anonymous_23)","line":157,"loc":{"start":{"line":157,"column":48},"end":{"line":157,"column":68}}},"24":{"name":"(anonymous_24)","line":165,"loc":{"start":{"line":165,"column":17},"end":{"line":165,"column":29}}},"25":{"name":"(anonymous_25)","line":171,"loc":{"start":{"line":171,"column":43},"end":{"line":171,"column":62}}},"26":{"name":"(anonymous_26)","line":180,"loc":{"start":{"line":180,"column":29},"end":{"line":180,"column":41}}},"27":{"name":"(anonymous_27)","line":188,"loc":{"start":{"line":188,"column":39},"end":{"line":188,"column":59}}},"28":{"name":"(anonymous_28)","line":200,"loc":{"start":{"line":200,"column":27},"end":{"line":200,"column":39}}},"29":{"name":"(anonymous_29)","line":219,"loc":{"start":{"line":219,"column":25},"end":{"line":219,"column":37}}},"30":{"name":"(anonymous_30)","line":228,"loc":{"start":{"line":228,"column":32},"end":{"line":228,"column":56}}},"31":{"name":"(anonymous_31)","line":230,"loc":{"start":{"line":230,"column":54},"end":{"line":230,"column":74}}},"32":{"name":"(anonymous_32)","line":246,"loc":{"start":{"line":246,"column":26},"end":{"line":246,"column":38}}},"33":{"name":"(anonymous_33)","line":273,"loc":{"start":{"line":273,"column":27},"end":{"line":273,"column":39}}},"34":{"name":"(anonymous_34)","line":284,"loc":{"start":{"line":284,"column":23},"end":{"line":284,"column":39}}},"35":{"name":"(anonymous_35)","line":307,"loc":{"start":{"line":307,"column":47},"end":{"line":307,"column":66}}},"36":{"name":"(anonymous_36)","line":385,"loc":{"start":{"line":385,"column":29},"end":{"line":385,"column":54}}},"37":{"name":"(anonymous_37)","line":391,"loc":{"start":{"line":391,"column":39},"end":{"line":391,"column":58}}},"38":{"name":"(anonymous_38)","line":398,"loc":{"start":{"line":398,"column":24},"end":{"line":398,"column":43}}},"39":{"name":"(anonymous_39)","line":408,"loc":{"start":{"line":408,"column":22},"end":{"line":408,"column":41}}},"40":{"name":"(anonymous_40)","line":413,"loc":{"start":{"line":413,"column":21},"end":{"line":413,"column":49}}},"41":{"name":"(anonymous_41)","line":428,"loc":{"start":{"line":428,"column":40},"end":{"line":428,"column":59}}},"42":{"name":"(anonymous_42)","line":465,"loc":{"start":{"line":465,"column":21},"end":{"line":465,"column":49}}},"43":{"name":"(anonymous_43)","line":481,"loc":{"start":{"line":481,"column":39},"end":{"line":481,"column":56}}},"44":{"name":"(anonymous_44)","line":491,"loc":{"start":{"line":491,"column":40},"end":{"line":491,"column":59}}},"45":{"name":"(anonymous_45)","line":506,"loc":{"start":{"line":506,"column":35},"end":{"line":506,"column":47}}},"46":{"name":"(anonymous_46)","line":516,"loc":{"start":{"line":516,"column":25},"end":{"line":516,"column":42}}},"47":{"name":"(anonymous_47)","line":520,"loc":{"start":{"line":520,"column":25},"end":{"line":520,"column":42}}},"48":{"name":"(anonymous_48)","line":524,"loc":{"start":{"line":524,"column":29},"end":{"line":524,"column":46}}},"49":{"name":"(anonymous_49)","line":528,"loc":{"start":{"line":528,"column":21},"end":{"line":528,"column":38}}},"50":{"name":"(anonymous_50)","line":532,"loc":{"start":{"line":532,"column":21},"end":{"line":532,"column":38}}},"51":{"name":"(anonymous_51)","line":536,"loc":{"start":{"line":536,"column":20},"end":{"line":536,"column":37}}},"52":{"name":"(anonymous_52)","line":540,"loc":{"start":{"line":540,"column":24},"end":{"line":540,"column":41}}},"53":{"name":"(anonymous_53)","line":550,"loc":{"start":{"line":550,"column":27},"end":{"line":550,"column":39}}},"54":{"name":"(anonymous_54)","line":556,"loc":{"start":{"line":556,"column":21},"end":{"line":556,"column":38}}},"55":{"name":"(anonymous_55)","line":560,"loc":{"start":{"line":560,"column":25},"end":{"line":560,"column":42}}},"56":{"name":"(anonymous_56)","line":564,"loc":{"start":{"line":564,"column":24},"end":{"line":564,"column":41}}},"57":{"name":"(anonymous_57)","line":568,"loc":{"start":{"line":568,"column":20},"end":{"line":568,"column":37}}},"58":{"name":"(anonymous_58)","line":572,"loc":{"start":{"line":572,"column":21},"end":{"line":572,"column":38}}},"59":{"name":"(anonymous_59)","line":576,"loc":{"start":{"line":576,"column":23},"end":{"line":576,"column":40}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":598,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":26,"column":5}},"3":{"start":{"line":5,"column":8},"end":{"line":7,"column":9}},"4":{"start":{"line":6,"column":12},"end":{"line":6,"column":25}},"5":{"start":{"line":9,"column":8},"end":{"line":25,"column":11}},"6":{"start":{"line":10,"column":12},"end":{"line":12,"column":13}},"7":{"start":{"line":11,"column":16},"end":{"line":11,"column":29}},"8":{"start":{"line":14,"column":12},"end":{"line":14,"column":71}},"9":{"start":{"line":15,"column":12},"end":{"line":17,"column":13}},"10":{"start":{"line":16,"column":16},"end":{"line":16,"column":29}},"11":{"start":{"line":19,"column":12},"end":{"line":21,"column":13}},"12":{"start":{"line":20,"column":16},"end":{"line":20,"column":56}},"13":{"start":{"line":22,"column":12},"end":{"line":24,"column":15}},"14":{"start":{"line":23,"column":16},"end":{"line":23,"column":73}},"15":{"start":{"line":28,"column":4},"end":{"line":35,"column":6}},"16":{"start":{"line":29,"column":8},"end":{"line":29,"column":29}},"17":{"start":{"line":30,"column":8},"end":{"line":30,"column":41}},"18":{"start":{"line":31,"column":8},"end":{"line":31,"column":25}},"19":{"start":{"line":32,"column":8},"end":{"line":32,"column":33}},"20":{"start":{"line":33,"column":8},"end":{"line":33,"column":31}},"21":{"start":{"line":34,"column":8},"end":{"line":34,"column":28}},"22":{"start":{"line":37,"column":4},"end":{"line":595,"column":6}},"23":{"start":{"line":43,"column":12},"end":{"line":44,"column":54}},"24":{"start":{"line":46,"column":12},"end":{"line":46,"column":117}},"25":{"start":{"line":48,"column":12},"end":{"line":51,"column":26}},"26":{"start":{"line":49,"column":16},"end":{"line":49,"column":69}},"27":{"start":{"line":50,"column":16},"end":{"line":50,"column":72}},"28":{"start":{"line":55,"column":12},"end":{"line":57,"column":54}},"29":{"start":{"line":59,"column":12},"end":{"line":69,"column":13}},"30":{"start":{"line":60,"column":16},"end":{"line":60,"column":121}},"31":{"start":{"line":62,"column":16},"end":{"line":68,"column":30}},"32":{"start":{"line":63,"column":20},"end":{"line":63,"column":86}},"33":{"start":{"line":64,"column":20},"end":{"line":67,"column":21}},"34":{"start":{"line":65,"column":24},"end":{"line":65,"column":60}},"35":{"start":{"line":66,"column":24},"end":{"line":66,"column":67}},"36":{"start":{"line":73,"column":12},"end":{"line":73,"column":27}},"37":{"start":{"line":74,"column":12},"end":{"line":79,"column":13}},"38":{"start":{"line":75,"column":16},"end":{"line":75,"column":38}},"39":{"start":{"line":76,"column":16},"end":{"line":78,"column":17}},"40":{"start":{"line":77,"column":20},"end":{"line":77,"column":29}},"41":{"start":{"line":80,"column":12},"end":{"line":80,"column":22}},"42":{"start":{"line":84,"column":12},"end":{"line":84,"column":38}},"43":{"start":{"line":85,"column":12},"end":{"line":88,"column":13}},"44":{"start":{"line":86,"column":16},"end":{"line":86,"column":59}},"45":{"start":{"line":87,"column":16},"end":{"line":87,"column":38}},"46":{"start":{"line":92,"column":12},"end":{"line":94,"column":15}},"47":{"start":{"line":93,"column":16},"end":{"line":93,"column":138}},"48":{"start":{"line":96,"column":12},"end":{"line":99,"column":13}},"49":{"start":{"line":97,"column":16},"end":{"line":97,"column":36}},"50":{"start":{"line":98,"column":16},"end":{"line":98,"column":60}},"51":{"start":{"line":104,"column":12},"end":{"line":106,"column":13}},"52":{"start":{"line":105,"column":16},"end":{"line":105,"column":99}},"53":{"start":{"line":108,"column":12},"end":{"line":112,"column":13}},"54":{"start":{"line":109,"column":16},"end":{"line":111,"column":25}},"55":{"start":{"line":110,"column":20},"end":{"line":110,"column":85}},"56":{"start":{"line":116,"column":12},"end":{"line":118,"column":13}},"57":{"start":{"line":117,"column":16},"end":{"line":117,"column":50}},"58":{"start":{"line":122,"column":12},"end":{"line":122,"column":46}},"59":{"start":{"line":127,"column":12},"end":{"line":127,"column":38}},"60":{"start":{"line":128,"column":12},"end":{"line":130,"column":13}},"61":{"start":{"line":129,"column":16},"end":{"line":129,"column":46}},"62":{"start":{"line":131,"column":12},"end":{"line":131,"column":52}},"63":{"start":{"line":135,"column":12},"end":{"line":135,"column":68}},"64":{"start":{"line":136,"column":12},"end":{"line":139,"column":13}},"65":{"start":{"line":137,"column":16},"end":{"line":137,"column":58}},"66":{"start":{"line":143,"column":12},"end":{"line":145,"column":13}},"67":{"start":{"line":144,"column":16},"end":{"line":144,"column":26}},"68":{"start":{"line":147,"column":12},"end":{"line":147,"column":62}},"69":{"start":{"line":151,"column":12},"end":{"line":151,"column":35}},"70":{"start":{"line":156,"column":15},"end":{"line":160,"column":13}},"71":{"start":{"line":157,"column":16},"end":{"line":159,"column":19}},"72":{"start":{"line":158,"column":20},"end":{"line":158,"column":45}},"73":{"start":{"line":166,"column":12},"end":{"line":166,"column":38}},"74":{"start":{"line":167,"column":12},"end":{"line":167,"column":41}},"75":{"start":{"line":168,"column":12},"end":{"line":168,"column":37}},"76":{"start":{"line":170,"column":12},"end":{"line":174,"column":13}},"77":{"start":{"line":171,"column":16},"end":{"line":173,"column":19}},"78":{"start":{"line":172,"column":20},"end":{"line":172,"column":67}},"79":{"start":{"line":181,"column":12},"end":{"line":183,"column":13}},"80":{"start":{"line":182,"column":16},"end":{"line":182,"column":23}},"81":{"start":{"line":188,"column":12},"end":{"line":190,"column":25}},"82":{"start":{"line":189,"column":16},"end":{"line":189,"column":57}},"83":{"start":{"line":193,"column":12},"end":{"line":193,"column":35}},"84":{"start":{"line":196,"column":12},"end":{"line":196,"column":92}},"85":{"start":{"line":201,"column":12},"end":{"line":201,"column":49}},"86":{"start":{"line":202,"column":12},"end":{"line":204,"column":13}},"87":{"start":{"line":203,"column":16},"end":{"line":203,"column":23}},"88":{"start":{"line":207,"column":12},"end":{"line":207,"column":84}},"89":{"start":{"line":208,"column":12},"end":{"line":210,"column":13}},"90":{"start":{"line":209,"column":16},"end":{"line":209,"column":59}},"91":{"start":{"line":213,"column":12},"end":{"line":215,"column":13}},"92":{"start":{"line":214,"column":16},"end":{"line":214,"column":41}},"93":{"start":{"line":220,"column":12},"end":{"line":220,"column":49}},"94":{"start":{"line":223,"column":12},"end":{"line":225,"column":13}},"95":{"start":{"line":224,"column":16},"end":{"line":224,"column":23}},"96":{"start":{"line":228,"column":12},"end":{"line":257,"column":18}},"97":{"start":{"line":229,"column":16},"end":{"line":238,"column":17}},"98":{"start":{"line":230,"column":20},"end":{"line":237,"column":23}},"99":{"start":{"line":231,"column":24},"end":{"line":236,"column":27}},"100":{"start":{"line":247,"column":20},"end":{"line":247,"column":77}},"101":{"start":{"line":249,"column":20},"end":{"line":251,"column":21}},"102":{"start":{"line":250,"column":24},"end":{"line":250,"column":38}},"103":{"start":{"line":253,"column":20},"end":{"line":253,"column":69}},"104":{"start":{"line":254,"column":20},"end":{"line":254,"column":48}},"105":{"start":{"line":256,"column":20},"end":{"line":256,"column":34}},"106":{"start":{"line":260,"column":12},"end":{"line":260,"column":43}},"107":{"start":{"line":263,"column":12},"end":{"line":263,"column":35}},"108":{"start":{"line":266,"column":12},"end":{"line":266,"column":50}},"109":{"start":{"line":269,"column":12},"end":{"line":269,"column":38}},"110":{"start":{"line":274,"column":12},"end":{"line":274,"column":49}},"111":{"start":{"line":275,"column":12},"end":{"line":277,"column":13}},"112":{"start":{"line":276,"column":16},"end":{"line":276,"column":23}},"113":{"start":{"line":280,"column":12},"end":{"line":280,"column":51}},"114":{"start":{"line":285,"column":12},"end":{"line":287,"column":13}},"115":{"start":{"line":286,"column":16},"end":{"line":286,"column":23}},"116":{"start":{"line":289,"column":12},"end":{"line":381,"column":13}},"117":{"start":{"line":292,"column":20},"end":{"line":292,"column":129}},"118":{"start":{"line":293,"column":20},"end":{"line":293,"column":121}},"119":{"start":{"line":294,"column":20},"end":{"line":294,"column":121}},"120":{"start":{"line":295,"column":20},"end":{"line":295,"column":26}},"121":{"start":{"line":298,"column":20},"end":{"line":298,"column":62}},"122":{"start":{"line":299,"column":20},"end":{"line":299,"column":26}},"123":{"start":{"line":302,"column":20},"end":{"line":302,"column":62}},"124":{"start":{"line":303,"column":20},"end":{"line":303,"column":26}},"125":{"start":{"line":306,"column":20},"end":{"line":306,"column":43}},"126":{"start":{"line":307,"column":20},"end":{"line":309,"column":29}},"127":{"start":{"line":308,"column":24},"end":{"line":308,"column":107}},"128":{"start":{"line":312,"column":20},"end":{"line":314,"column":21}},"129":{"start":{"line":313,"column":24},"end":{"line":313,"column":76}},"130":{"start":{"line":318,"column":20},"end":{"line":324,"column":21}},"131":{"start":{"line":319,"column":24},"end":{"line":319,"column":63}},"132":{"start":{"line":320,"column":24},"end":{"line":320,"column":56}},"133":{"start":{"line":321,"column":24},"end":{"line":321,"column":120}},"134":{"start":{"line":323,"column":24},"end":{"line":323,"column":51}},"135":{"start":{"line":325,"column":20},"end":{"line":325,"column":26}},"136":{"start":{"line":328,"column":20},"end":{"line":328,"column":72}},"137":{"start":{"line":329,"column":20},"end":{"line":329,"column":26}},"138":{"start":{"line":332,"column":20},"end":{"line":332,"column":70}},"139":{"start":{"line":333,"column":20},"end":{"line":333,"column":26}},"140":{"start":{"line":336,"column":20},"end":{"line":336,"column":78}},"141":{"start":{"line":337,"column":20},"end":{"line":337,"column":26}},"142":{"start":{"line":340,"column":20},"end":{"line":340,"column":72}},"143":{"start":{"line":341,"column":20},"end":{"line":341,"column":26}},"144":{"start":{"line":344,"column":20},"end":{"line":344,"column":76}},"145":{"start":{"line":345,"column":20},"end":{"line":345,"column":26}},"146":{"start":{"line":348,"column":20},"end":{"line":348,"column":58}},"147":{"start":{"line":349,"column":20},"end":{"line":349,"column":26}},"148":{"start":{"line":352,"column":20},"end":{"line":352,"column":58}},"149":{"start":{"line":353,"column":20},"end":{"line":353,"column":26}},"150":{"start":{"line":356,"column":20},"end":{"line":356,"column":58}},"151":{"start":{"line":357,"column":20},"end":{"line":357,"column":26}},"152":{"start":{"line":360,"column":20},"end":{"line":360,"column":58}},"153":{"start":{"line":361,"column":20},"end":{"line":361,"column":26}},"154":{"start":{"line":364,"column":20},"end":{"line":364,"column":80}},"155":{"start":{"line":365,"column":20},"end":{"line":365,"column":26}},"156":{"start":{"line":370,"column":20},"end":{"line":370,"column":26}},"157":{"start":{"line":382,"column":12},"end":{"line":382,"column":40}},"158":{"start":{"line":387,"column":12},"end":{"line":389,"column":13}},"159":{"start":{"line":388,"column":16},"end":{"line":388,"column":38}},"160":{"start":{"line":391,"column":12},"end":{"line":393,"column":21}},"161":{"start":{"line":392,"column":16},"end":{"line":392,"column":71}},"162":{"start":{"line":395,"column":12},"end":{"line":395,"column":72}},"163":{"start":{"line":399,"column":12},"end":{"line":399,"column":68}},"164":{"start":{"line":400,"column":12},"end":{"line":405,"column":13}},"165":{"start":{"line":401,"column":16},"end":{"line":401,"column":57}},"166":{"start":{"line":402,"column":16},"end":{"line":404,"column":17}},"167":{"start":{"line":403,"column":20},"end":{"line":403,"column":52}},"168":{"start":{"line":409,"column":12},"end":{"line":409,"column":28}},"169":{"start":{"line":410,"column":12},"end":{"line":410,"column":74}},"170":{"start":{"line":414,"column":12},"end":{"line":415,"column":24}},"171":{"start":{"line":419,"column":12},"end":{"line":425,"column":13}},"172":{"start":{"line":424,"column":16},"end":{"line":424,"column":35}},"173":{"start":{"line":427,"column":12},"end":{"line":437,"column":13}},"174":{"start":{"line":428,"column":16},"end":{"line":436,"column":25}},"175":{"start":{"line":430,"column":20},"end":{"line":432,"column":21}},"176":{"start":{"line":431,"column":24},"end":{"line":431,"column":42}},"177":{"start":{"line":435,"column":20},"end":{"line":435,"column":37}},"178":{"start":{"line":440,"column":12},"end":{"line":441,"column":78}},"179":{"start":{"line":443,"column":12},"end":{"line":458,"column":13}},"180":{"start":{"line":446,"column":16},"end":{"line":450,"column":17}},"181":{"start":{"line":448,"column":20},"end":{"line":448,"column":68}},"182":{"start":{"line":449,"column":20},"end":{"line":449,"column":72}},"183":{"start":{"line":453,"column":16},"end":{"line":457,"column":17}},"184":{"start":{"line":455,"column":20},"end":{"line":455,"column":70}},"185":{"start":{"line":456,"column":20},"end":{"line":456,"column":72}},"186":{"start":{"line":460,"column":12},"end":{"line":462,"column":13}},"187":{"start":{"line":461,"column":16},"end":{"line":461,"column":73}},"188":{"start":{"line":466,"column":12},"end":{"line":468,"column":13}},"189":{"start":{"line":467,"column":16},"end":{"line":467,"column":23}},"190":{"start":{"line":471,"column":12},"end":{"line":472,"column":40}},"191":{"start":{"line":474,"column":12},"end":{"line":477,"column":13}},"192":{"start":{"line":476,"column":16},"end":{"line":476,"column":75}},"193":{"start":{"line":478,"column":12},"end":{"line":478,"column":44}},"194":{"start":{"line":486,"column":12},"end":{"line":503,"column":13}},"195":{"start":{"line":487,"column":16},"end":{"line":488,"column":34}},"196":{"start":{"line":491,"column":16},"end":{"line":497,"column":25}},"197":{"start":{"line":492,"column":20},"end":{"line":495,"column":21}},"198":{"start":{"line":493,"column":24},"end":{"line":493,"column":48}},"199":{"start":{"line":494,"column":24},"end":{"line":494,"column":36}},"200":{"start":{"line":496,"column":20},"end":{"line":496,"column":33}},"201":{"start":{"line":500,"column":16},"end":{"line":502,"column":17}},"202":{"start":{"line":501,"column":20},"end":{"line":501,"column":109}},"203":{"start":{"line":510,"column":12},"end":{"line":510,"column":55}},"204":{"start":{"line":511,"column":12},"end":{"line":513,"column":13}},"205":{"start":{"line":512,"column":16},"end":{"line":512,"column":84}},"206":{"start":{"line":517,"column":12},"end":{"line":517,"column":50}},"207":{"start":{"line":521,"column":12},"end":{"line":521,"column":50}},"208":{"start":{"line":525,"column":12},"end":{"line":525,"column":52}},"209":{"start":{"line":529,"column":12},"end":{"line":529,"column":57}},"210":{"start":{"line":533,"column":12},"end":{"line":533,"column":81}},"211":{"start":{"line":537,"column":12},"end":{"line":537,"column":80}},"212":{"start":{"line":541,"column":12},"end":{"line":541,"column":84}},"213":{"start":{"line":545,"column":12},"end":{"line":553,"column":13}},"214":{"start":{"line":546,"column":16},"end":{"line":546,"column":92}},"215":{"start":{"line":550,"column":16},"end":{"line":552,"column":33}},"216":{"start":{"line":551,"column":20},"end":{"line":551,"column":71}},"217":{"start":{"line":557,"column":12},"end":{"line":557,"column":81}},"218":{"start":{"line":561,"column":12},"end":{"line":561,"column":85}},"219":{"start":{"line":565,"column":12},"end":{"line":565,"column":80}},"220":{"start":{"line":569,"column":12},"end":{"line":569,"column":80}},"221":{"start":{"line":573,"column":12},"end":{"line":573,"column":81}},"222":{"start":{"line":577,"column":12},"end":{"line":577,"column":83}},"223":{"start":{"line":579,"column":12},"end":{"line":581,"column":13}},"224":{"start":{"line":580,"column":16},"end":{"line":580,"column":99}},"225":{"start":{"line":583,"column":12},"end":{"line":585,"column":13}},"226":{"start":{"line":584,"column":16},"end":{"line":584,"column":99}},"227":{"start":{"line":587,"column":12},"end":{"line":589,"column":13}},"228":{"start":{"line":588,"column":16},"end":{"line":588,"column":97}},"229":{"start":{"line":591,"column":12},"end":{"line":593,"column":13}},"230":{"start":{"line":592,"column":16},"end":{"line":592,"column":100}},"231":{"start":{"line":597,"column":4},"end":{"line":597,"column":33}}},"branchMap":{"1":{"line":5,"type":"if","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":8}},{"start":{"line":5,"column":8},"end":{"line":5,"column":8}}]},"2":{"line":10,"type":"if","locations":[{"start":{"line":10,"column":12},"end":{"line":10,"column":12}},{"start":{"line":10,"column":12},"end":{"line":10,"column":12}}]},"3":{"line":15,"type":"if","locations":[{"start":{"line":15,"column":12},"end":{"line":15,"column":12}},{"start":{"line":15,"column":12},"end":{"line":15,"column":12}}]},"4":{"line":19,"type":"if","locations":[{"start":{"line":19,"column":12},"end":{"line":19,"column":12}},{"start":{"line":19,"column":12},"end":{"line":19,"column":12}}]},"5":{"line":38,"type":"binary-expr","locations":[{"start":{"line":38,"column":46},"end":{"line":38,"column":69}},{"start":{"line":38,"column":73},"end":{"line":38,"column":98}}]},"6":{"line":46,"type":"cond-expr","locations":[{"start":{"line":46,"column":97},"end":{"line":46,"column":106}},{"start":{"line":46,"column":109},"end":{"line":46,"column":116}}]},"7":{"line":46,"type":"binary-expr","locations":[{"start":{"line":46,"column":22},"end":{"line":46,"column":58}},{"start":{"line":46,"column":62},"end":{"line":46,"column":94}}]},"8":{"line":59,"type":"if","locations":[{"start":{"line":59,"column":12},"end":{"line":59,"column":12}},{"start":{"line":59,"column":12},"end":{"line":59,"column":12}}]},"9":{"line":60,"type":"cond-expr","locations":[{"start":{"line":60,"column":101},"end":{"line":60,"column":110}},{"start":{"line":60,"column":113},"end":{"line":60,"column":120}}]},"10":{"line":60,"type":"binary-expr","locations":[{"start":{"line":60,"column":26},"end":{"line":60,"column":62}},{"start":{"line":60,"column":66},"end":{"line":60,"column":98}}]},"11":{"line":64,"type":"if","locations":[{"start":{"line":64,"column":20},"end":{"line":64,"column":20}},{"start":{"line":64,"column":20},"end":{"line":64,"column":20}}]},"12":{"line":76,"type":"if","locations":[{"start":{"line":76,"column":16},"end":{"line":76,"column":16}},{"start":{"line":76,"column":16},"end":{"line":76,"column":16}}]},"13":{"line":76,"type":"binary-expr","locations":[{"start":{"line":76,"column":20},"end":{"line":76,"column":38}},{"start":{"line":76,"column":42},"end":{"line":76,"column":59}},{"start":{"line":76,"column":63},"end":{"line":76,"column":83}},{"start":{"line":76,"column":87},"end":{"line":76,"column":109}}]},"14":{"line":93,"type":"binary-expr","locations":[{"start":{"line":93,"column":23},"end":{"line":93,"column":24}},{"start":{"line":93,"column":28},"end":{"line":93,"column":45}},{"start":{"line":93,"column":49},"end":{"line":93,"column":137}}]},"15":{"line":104,"type":"if","locations":[{"start":{"line":104,"column":12},"end":{"line":104,"column":12}},{"start":{"line":104,"column":12},"end":{"line":104,"column":12}}]},"16":{"line":108,"type":"if","locations":[{"start":{"line":108,"column":12},"end":{"line":108,"column":12}},{"start":{"line":108,"column":12},"end":{"line":108,"column":12}}]},"17":{"line":116,"type":"if","locations":[{"start":{"line":116,"column":12},"end":{"line":116,"column":12}},{"start":{"line":116,"column":12},"end":{"line":116,"column":12}}]},"18":{"line":128,"type":"if","locations":[{"start":{"line":128,"column":12},"end":{"line":128,"column":12}},{"start":{"line":128,"column":12},"end":{"line":128,"column":12}}]},"19":{"line":136,"type":"if","locations":[{"start":{"line":136,"column":12},"end":{"line":136,"column":12}},{"start":{"line":136,"column":12},"end":{"line":136,"column":12}}]},"20":{"line":143,"type":"if","locations":[{"start":{"line":143,"column":12},"end":{"line":143,"column":12}},{"start":{"line":143,"column":12},"end":{"line":143,"column":12}}]},"21":{"line":143,"type":"binary-expr","locations":[{"start":{"line":143,"column":16},"end":{"line":143,"column":41}},{"start":{"line":143,"column":45},"end":{"line":143,"column":77}}]},"22":{"line":156,"type":"if","locations":[{"start":{"line":156,"column":15},"end":{"line":156,"column":15}},{"start":{"line":156,"column":15},"end":{"line":156,"column":15}}]},"23":{"line":156,"type":"binary-expr","locations":[{"start":{"line":156,"column":19},"end":{"line":156,"column":42}},{"start":{"line":156,"column":46},"end":{"line":156,"column":72}}]},"24":{"line":170,"type":"if","locations":[{"start":{"line":170,"column":12},"end":{"line":170,"column":12}},{"start":{"line":170,"column":12},"end":{"line":170,"column":12}}]},"25":{"line":181,"type":"if","locations":[{"start":{"line":181,"column":12},"end":{"line":181,"column":12}},{"start":{"line":181,"column":12},"end":{"line":181,"column":12}}]},"26":{"line":202,"type":"if","locations":[{"start":{"line":202,"column":12},"end":{"line":202,"column":12}},{"start":{"line":202,"column":12},"end":{"line":202,"column":12}}]},"27":{"line":202,"type":"binary-expr","locations":[{"start":{"line":202,"column":16},"end":{"line":202,"column":41}},{"start":{"line":202,"column":45},"end":{"line":202,"column":71}}]},"28":{"line":208,"type":"if","locations":[{"start":{"line":208,"column":12},"end":{"line":208,"column":12}},{"start":{"line":208,"column":12},"end":{"line":208,"column":12}}]},"29":{"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}}]},"30":{"line":223,"type":"if","locations":[{"start":{"line":223,"column":12},"end":{"line":223,"column":12}},{"start":{"line":223,"column":12},"end":{"line":223,"column":12}}]},"31":{"line":229,"type":"if","locations":[{"start":{"line":229,"column":16},"end":{"line":229,"column":16}},{"start":{"line":229,"column":16},"end":{"line":229,"column":16}}]},"32":{"line":249,"type":"if","locations":[{"start":{"line":249,"column":20},"end":{"line":249,"column":20}},{"start":{"line":249,"column":20},"end":{"line":249,"column":20}}]},"33":{"line":275,"type":"if","locations":[{"start":{"line":275,"column":12},"end":{"line":275,"column":12}},{"start":{"line":275,"column":12},"end":{"line":275,"column":12}}]},"34":{"line":285,"type":"if","locations":[{"start":{"line":285,"column":12},"end":{"line":285,"column":12}},{"start":{"line":285,"column":12},"end":{"line":285,"column":12}}]},"35":{"line":289,"type":"switch","locations":[{"start":{"line":290,"column":16},"end":{"line":295,"column":26}},{"start":{"line":296,"column":16},"end":{"line":299,"column":26}},{"start":{"line":300,"column":16},"end":{"line":303,"column":26}},{"start":{"line":304,"column":16},"end":{"line":325,"column":26}},{"start":{"line":326,"column":16},"end":{"line":329,"column":26}},{"start":{"line":330,"column":16},"end":{"line":333,"column":26}},{"start":{"line":334,"column":16},"end":{"line":337,"column":26}},{"start":{"line":338,"column":16},"end":{"line":341,"column":26}},{"start":{"line":342,"column":16},"end":{"line":345,"column":26}},{"start":{"line":346,"column":16},"end":{"line":349,"column":26}},{"start":{"line":350,"column":16},"end":{"line":353,"column":26}},{"start":{"line":354,"column":16},"end":{"line":357,"column":26}},{"start":{"line":358,"column":16},"end":{"line":361,"column":26}},{"start":{"line":362,"column":16},"end":{"line":365,"column":26}},{"start":{"line":366,"column":16},"end":{"line":370,"column":26}}]},"36":{"line":312,"type":"if","locations":[{"start":{"line":312,"column":20},"end":{"line":312,"column":20}},{"start":{"line":312,"column":20},"end":{"line":312,"column":20}}]},"37":{"line":318,"type":"if","locations":[{"start":{"line":318,"column":20},"end":{"line":318,"column":20}},{"start":{"line":318,"column":20},"end":{"line":318,"column":20}}]},"38":{"line":387,"type":"if","locations":[{"start":{"line":387,"column":12},"end":{"line":387,"column":12}},{"start":{"line":387,"column":12},"end":{"line":387,"column":12}}]},"39":{"line":400,"type":"if","locations":[{"start":{"line":400,"column":12},"end":{"line":400,"column":12}},{"start":{"line":400,"column":12},"end":{"line":400,"column":12}}]},"40":{"line":402,"type":"if","locations":[{"start":{"line":402,"column":16},"end":{"line":402,"column":16}},{"start":{"line":402,"column":16},"end":{"line":402,"column":16}}]},"41":{"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}}]},"42":{"line":419,"type":"binary-expr","locations":[{"start":{"line":419,"column":16},"end":{"line":419,"column":24}},{"start":{"line":420,"column":16},"end":{"line":420,"column":41}},{"start":{"line":421,"column":16},"end":{"line":421,"column":40}},{"start":{"line":422,"column":17},"end":{"line":422,"column":89}},{"start":{"line":423,"column":20},"end":{"line":423,"column":98}}]},"43":{"line":427,"type":"if","locations":[{"start":{"line":427,"column":12},"end":{"line":427,"column":12}},{"start":{"line":427,"column":12},"end":{"line":427,"column":12}}]},"44":{"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}}]},"45":{"line":430,"type":"binary-expr","locations":[{"start":{"line":430,"column":24},"end":{"line":430,"column":32}},{"start":{"line":430,"column":37},"end":{"line":430,"column":90}}]},"46":{"line":440,"type":"binary-expr","locations":[{"start":{"line":440,"column":32},"end":{"line":440,"column":87}},{"start":{"line":441,"column":16},"end":{"line":441,"column":77}}]},"47":{"line":443,"type":"if","locations":[{"start":{"line":443,"column":12},"end":{"line":443,"column":12}},{"start":{"line":443,"column":12},"end":{"line":443,"column":12}}]},"48":{"line":446,"type":"if","locations":[{"start":{"line":446,"column":16},"end":{"line":446,"column":16}},{"start":{"line":446,"column":16},"end":{"line":446,"column":16}}]},"49":{"line":446,"type":"binary-expr","locations":[{"start":{"line":446,"column":20},"end":{"line":446,"column":28}},{"start":{"line":446,"column":32},"end":{"line":446,"column":45}}]},"50":{"line":453,"type":"if","locations":[{"start":{"line":453,"column":16},"end":{"line":453,"column":16}},{"start":{"line":453,"column":16},"end":{"line":453,"column":16}}]},"51":{"line":460,"type":"if","locations":[{"start":{"line":460,"column":12},"end":{"line":460,"column":12}},{"start":{"line":460,"column":12},"end":{"line":460,"column":12}}]},"52":{"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}}]},"53":{"line":474,"type":"if","locations":[{"start":{"line":474,"column":12},"end":{"line":474,"column":12}},{"start":{"line":474,"column":12},"end":{"line":474,"column":12}}]},"54":{"line":486,"type":"if","locations":[{"start":{"line":486,"column":12},"end":{"line":486,"column":12}},{"start":{"line":486,"column":12},"end":{"line":486,"column":12}}]},"55":{"line":486,"type":"binary-expr","locations":[{"start":{"line":486,"column":16},"end":{"line":486,"column":35}},{"start":{"line":486,"column":39},"end":{"line":486,"column":72}}]},"56":{"line":492,"type":"if","locations":[{"start":{"line":492,"column":20},"end":{"line":492,"column":20}},{"start":{"line":492,"column":20},"end":{"line":492,"column":20}}]},"57":{"line":500,"type":"if","locations":[{"start":{"line":500,"column":16},"end":{"line":500,"column":16}},{"start":{"line":500,"column":16},"end":{"line":500,"column":16}}]},"58":{"line":511,"type":"if","locations":[{"start":{"line":511,"column":12},"end":{"line":511,"column":12}},{"start":{"line":511,"column":12},"end":{"line":511,"column":12}}]},"59":{"line":545,"type":"if","locations":[{"start":{"line":545,"column":12},"end":{"line":545,"column":12}},{"start":{"line":545,"column":12},"end":{"line":545,"column":12}}]},"60":{"line":579,"type":"if","locations":[{"start":{"line":579,"column":12},"end":{"line":579,"column":12}},{"start":{"line":579,"column":12},"end":{"line":579,"column":12}}]},"61":{"line":583,"type":"if","locations":[{"start":{"line":583,"column":12},"end":{"line":583,"column":12}},{"start":{"line":583,"column":12},"end":{"line":583,"column":12}}]},"62":{"line":583,"type":"binary-expr","locations":[{"start":{"line":583,"column":16},"end":{"line":583,"column":79}},{"start":{"line":583,"column":84},"end":{"line":583,"column":97}},{"start":{"line":583,"column":101},"end":{"line":583,"column":160}}]},"63":{"line":587,"type":"if","locations":[{"start":{"line":587,"column":12},"end":{"line":587,"column":12}},{"start":{"line":587,"column":12},"end":{"line":587,"column":12}}]},"64":{"line":591,"type":"if","locations":[{"start":{"line":591,"column":12},"end":{"line":591,"column":12}},{"start":{"line":591,"column":12},"end":{"line":591,"column":12}}]}}}; +} +__cov_iQGDPTsl0vOsU8hz3w$a9Q = __cov_iQGDPTsl0vOsU8hz3w$a9Q['src/js/events.js']; +__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['1']++;(function(){'use strict';__cov_iQGDPTsl0vOsU8hz3w$a9Q.f['1']++;function isElementDescendantOfExtension(extensions,element){__cov_iQGDPTsl0vOsU8hz3w$a9Q.f['2']++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['3']++;if(!extensions){__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['1'][0]++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['4']++;return false;}else{__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['1'][1]++;}__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['5']++;return extensions.some(function(extension){__cov_iQGDPTsl0vOsU8hz3w$a9Q.f['3']++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['6']++;if(typeof extension.getInteractionElements!=='function'){__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['2'][0]++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['7']++;return false;}else{__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['2'][1]++;}__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['8']++;var extensionElements=extension.getInteractionElements();__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['9']++;if(!extensionElements){__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['3'][0]++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['10']++;return false;}else{__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['3'][1]++;}__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['11']++;if(!Array.isArray(extensionElements)){__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['4'][0]++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['12']++;extensionElements=[extensionElements];}else{__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['4'][1]++;}__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['13']++;return extensionElements.some(function(el){__cov_iQGDPTsl0vOsU8hz3w$a9Q.f['4']++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['14']++;return MediumEditor.util.isDescendant(el,element,true);});});}__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['15']++;var Events=function(instance){__cov_iQGDPTsl0vOsU8hz3w$a9Q.f['5']++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['16']++;this.base=instance;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['17']++;this.options=this.base.options;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['18']++;this.events=[];__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['19']++;this.disabledEvents={};__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['20']++;this.customEvents={};__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['21']++;this.listeners={};};__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['22']++;Events.prototype={InputEventOnContenteditableSupported:(__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['5'][0]++,!MediumEditor.util.isIE)&&(__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['5'][1]++,!MediumEditor.util.isEdge),attachDOMEvent:function(targets,event,listener,useCapture){__cov_iQGDPTsl0vOsU8hz3w$a9Q.f['6']++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['23']++;var win=this.base.options.contentWindow,doc=this.base.options.ownerDocument;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['24']++;targets=(__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['7'][0]++,MediumEditor.util.isElement(targets))||(__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['7'][1]++,[win,doc].indexOf(targets)>-1)?(__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['6'][0]++,[targets]):(__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['6'][1]++,targets);__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['25']++;Array.prototype.forEach.call(targets,function(target){__cov_iQGDPTsl0vOsU8hz3w$a9Q.f['7']++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['26']++;target.addEventListener(event,listener,useCapture);__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['27']++;this.events.push([target,event,listener,useCapture]);}.bind(this));},detachDOMEvent:function(targets,event,listener,useCapture){__cov_iQGDPTsl0vOsU8hz3w$a9Q.f['8']++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['28']++;var index,e,win=this.base.options.contentWindow,doc=this.base.options.ownerDocument;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['29']++;if(targets){__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['8'][0]++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['30']++;targets=(__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['10'][0]++,MediumEditor.util.isElement(targets))||(__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['10'][1]++,[win,doc].indexOf(targets)>-1)?(__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['9'][0]++,[targets]):(__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['9'][1]++,targets);__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['31']++;Array.prototype.forEach.call(targets,function(target){__cov_iQGDPTsl0vOsU8hz3w$a9Q.f['9']++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['32']++;index=this.indexOfListener(target,event,listener,useCapture);__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['33']++;if(index!==-1){__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['11'][0]++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['34']++;e=this.events.splice(index,1)[0];__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['35']++;e[0].removeEventListener(e[1],e[2],e[3]);}else{__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['11'][1]++;}}.bind(this));}else{__cov_iQGDPTsl0vOsU8hz3w$a9Q.b['8'][1]++;}},indexOfListener:function(target,event,listener,useCapture){__cov_iQGDPTsl0vOsU8hz3w$a9Q.f['10']++;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['36']++;var i,n,item;__cov_iQGDPTsl0vOsU8hz3w$a9Q.s['37']++;for(i=0,n=this.events.length;i0){__cov_gGImvJRCtzod10AKapnhdg.b['2'][0]++;__cov_gGImvJRCtzod10AKapnhdg.s['22']++;const captionTag=this.templates['src/js/templates/core-caption.hbs']({text:dt.data.alt,placeholder:null});__cov_gGImvJRCtzod10AKapnhdg.s['23']++;$('figure',node)[0].innerHTML+=captionTag;__cov_gGImvJRCtzod10AKapnhdg.s['24']++;let $el=$('figcaption',node);__cov_gGImvJRCtzod10AKapnhdg.s['25']++;$el.removeClass('medium-insert-caption-placeholder').removeAttr('data-placeholder');__cov_gGImvJRCtzod10AKapnhdg.s['26']++;$el[0].innerHTML=dt.data.alt;}else{__cov_gGImvJRCtzod10AKapnhdg.b['2'][1]++;}__cov_gGImvJRCtzod10AKapnhdg.s['27']++;let preElement=document.createElement('p');__cov_gGImvJRCtzod10AKapnhdg.s['28']++;preElement.innerHTML=dt.preText;__cov_gGImvJRCtzod10AKapnhdg.s['29']++;let lastElement=document.createElement('p');__cov_gGImvJRCtzod10AKapnhdg.s['30']++;lastElement.innerHTML=dt.lastText;__cov_gGImvJRCtzod10AKapnhdg.s['31']++;const newElement=preElement.outerHTML+node.outerHTML+lastElement.outerHTML;__cov_gGImvJRCtzod10AKapnhdg.s['32']++;return newElement;};__cov_gGImvJRCtzod10AKapnhdg.s['33']++;Extend.prototype.updateContent=function(el,element){__cov_gGImvJRCtzod10AKapnhdg.f['5']++;__cov_gGImvJRCtzod10AKapnhdg.s['34']++;var that=this,$image;__cov_gGImvJRCtzod10AKapnhdg.s['35']++;if(typeof element==='string'){__cov_gGImvJRCtzod10AKapnhdg.b['3'][0]++;__cov_gGImvJRCtzod10AKapnhdg.s['36']++;el.innerHTML=element;}else{__cov_gGImvJRCtzod10AKapnhdg.b['3'][1]++;__cov_gGImvJRCtzod10AKapnhdg.s['37']++;el.appendChild(element);}};__cov_gGImvJRCtzod10AKapnhdg.s['38']++;Extend.prototype.checkCustomPattern=function(){__cov_gGImvJRCtzod10AKapnhdg.f['6']++;__cov_gGImvJRCtzod10AKapnhdg.s['39']++;var an=window.getSelection().anchorNode;__cov_gGImvJRCtzod10AKapnhdg.s['40']++;var pe=an.parentElement;__cov_gGImvJRCtzod10AKapnhdg.s['41']++;var peC=pe.innerHTML;__cov_gGImvJRCtzod10AKapnhdg.s['42']++;const parseData=this.getFind(peC);__cov_gGImvJRCtzod10AKapnhdg.s['43']++;if(parseData){__cov_gGImvJRCtzod10AKapnhdg.b['4'][0]++;__cov_gGImvJRCtzod10AKapnhdg.s['44']++;const elements=this.createContent(parseData);__cov_gGImvJRCtzod10AKapnhdg.s['45']++;this.updateContent(pe,elements);}else{__cov_gGImvJRCtzod10AKapnhdg.b['4'][1]++;}};__cov_gGImvJRCtzod10AKapnhdg.s['46']++;Extend.prototype.capturePattern=function(){__cov_gGImvJRCtzod10AKapnhdg.f['7']++;__cov_gGImvJRCtzod10AKapnhdg.s['47']++;if(ctTime){__cov_gGImvJRCtzod10AKapnhdg.b['5'][0]++;__cov_gGImvJRCtzod10AKapnhdg.s['48']++;window.clearTimeout(ctTime);__cov_gGImvJRCtzod10AKapnhdg.s['49']++;ctTime=null;}else{__cov_gGImvJRCtzod10AKapnhdg.b['5'][1]++;__cov_gGImvJRCtzod10AKapnhdg.s['50']++;ctTime=window.setTimeout(()=>{__cov_gGImvJRCtzod10AKapnhdg.s['51']++;this.checkCustomPattern();},100);}};__cov_gGImvJRCtzod10AKapnhdg.s['52']++;window.Extend=Extend;}($,window,document)); diff --git a/.grunt/grunt-contrib-jasmine/src/js/extension.js b/.grunt/grunt-contrib-jasmine/src/js/extension.js new file mode 100644 index 0000000..d551722 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/extension.js @@ -0,0 +1,9 @@ + +var __cov_WV9MutRgrJW1TcyV_AXT2g = (Function('return this'))(); +if (!__cov_WV9MutRgrJW1TcyV_AXT2g.__coverage__) { __cov_WV9MutRgrJW1TcyV_AXT2g.__coverage__ = {}; } +__cov_WV9MutRgrJW1TcyV_AXT2g = __cov_WV9MutRgrJW1TcyV_AXT2g.__coverage__; +if (!(__cov_WV9MutRgrJW1TcyV_AXT2g['src/js/extension.js'])) { + __cov_WV9MutRgrJW1TcyV_AXT2g['src/js/extension.js'] = {"path":"src/js/extension.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":4,"loc":{"start":{"line":4,"column":20},"end":{"line":4,"column":39}}},"3":{"name":"(anonymous_3)","line":8,"loc":{"start":{"line":8,"column":23},"end":{"line":8,"column":45}}},"4":{"name":"(anonymous_4)","line":43,"loc":{"start":{"line":43,"column":20},"end":{"line":43,"column":32}}},"5":{"name":"(anonymous_5)","line":53,"loc":{"start":{"line":53,"column":24},"end":{"line":53,"column":36}}},"6":{"name":"(anonymous_6)","line":76,"loc":{"start":{"line":76,"column":14},"end":{"line":76,"column":26}}},"7":{"name":"(anonymous_7)","line":223,"loc":{"start":{"line":223,"column":27},"end":{"line":223,"column":39}}},"8":{"name":"(anonymous_8)","line":232,"loc":{"start":{"line":232,"column":21},"end":{"line":232,"column":33}}},"9":{"name":"(anonymous_9)","line":241,"loc":{"start":{"line":241,"column":25},"end":{"line":241,"column":43}}},"10":{"name":"(anonymous_10)","line":265,"loc":{"start":{"line":265,"column":14},"end":{"line":265,"column":32}}},"11":{"name":"(anonymous_11)","line":266,"loc":{"start":{"line":266,"column":38},"end":{"line":266,"column":50}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":272,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":6,"column":6}},"3":{"start":{"line":5,"column":8},"end":{"line":5,"column":48}},"4":{"start":{"line":8,"column":4},"end":{"line":66,"column":6}},"5":{"start":{"line":33,"column":8},"end":{"line":34,"column":18}},"6":{"start":{"line":40,"column":8},"end":{"line":46,"column":9}},"7":{"start":{"line":41,"column":12},"end":{"line":41,"column":43}},"8":{"start":{"line":43,"column":12},"end":{"line":45,"column":14}},"9":{"start":{"line":44,"column":16},"end":{"line":44,"column":53}},"10":{"start":{"line":49,"column":8},"end":{"line":49,"column":48}},"11":{"start":{"line":53,"column":8},"end":{"line":55,"column":10}},"12":{"start":{"line":54,"column":12},"end":{"line":54,"column":37}},"13":{"start":{"line":56,"column":8},"end":{"line":56,"column":47}},"14":{"start":{"line":57,"column":8},"end":{"line":57,"column":42}},"15":{"start":{"line":59,"column":8},"end":{"line":61,"column":9}},"16":{"start":{"line":60,"column":12},"end":{"line":60,"column":66}},"17":{"start":{"line":65,"column":8},"end":{"line":65,"column":21}},"18":{"start":{"line":68,"column":4},"end":{"line":244,"column":6}},"19":{"start":{"line":224,"column":12},"end":{"line":224,"column":38}},"20":{"start":{"line":233,"column":12},"end":{"line":233,"column":32}},"21":{"start":{"line":242,"column":12},"end":{"line":242,"column":45}},"22":{"start":{"line":255,"column":4},"end":{"line":269,"column":7}},"23":{"start":{"line":266,"column":8},"end":{"line":268,"column":10}},"24":{"start":{"line":267,"column":12},"end":{"line":267,"column":65}},"25":{"start":{"line":271,"column":4},"end":{"line":271,"column":39}}},"branchMap":{"1":{"line":40,"type":"if","locations":[{"start":{"line":40,"column":8},"end":{"line":40,"column":8}},{"start":{"line":40,"column":8},"end":{"line":40,"column":8}}]},"2":{"line":40,"type":"binary-expr","locations":[{"start":{"line":40,"column":12},"end":{"line":40,"column":22}},{"start":{"line":40,"column":26},"end":{"line":40,"column":66}}]},"3":{"line":59,"type":"if","locations":[{"start":{"line":59,"column":8},"end":{"line":59,"column":8}},{"start":{"line":59,"column":8},"end":{"line":59,"column":8}}]}}}; +} +__cov_WV9MutRgrJW1TcyV_AXT2g = __cov_WV9MutRgrJW1TcyV_AXT2g['src/js/extension.js']; +__cov_WV9MutRgrJW1TcyV_AXT2g.s['1']++;(function(){'use strict';__cov_WV9MutRgrJW1TcyV_AXT2g.f['1']++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['2']++;var Extension=function(options){__cov_WV9MutRgrJW1TcyV_AXT2g.f['2']++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['3']++;MediumEditor.util.extend(this,options);};__cov_WV9MutRgrJW1TcyV_AXT2g.s['4']++;Extension.extend=function(protoProps){__cov_WV9MutRgrJW1TcyV_AXT2g.f['3']++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['5']++;var parent=this,child;__cov_WV9MutRgrJW1TcyV_AXT2g.s['6']++;if((__cov_WV9MutRgrJW1TcyV_AXT2g.b['2'][0]++,protoProps)&&(__cov_WV9MutRgrJW1TcyV_AXT2g.b['2'][1]++,protoProps.hasOwnProperty('constructor'))){__cov_WV9MutRgrJW1TcyV_AXT2g.b['1'][0]++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['7']++;child=protoProps.constructor;}else{__cov_WV9MutRgrJW1TcyV_AXT2g.b['1'][1]++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['8']++;child=function(){__cov_WV9MutRgrJW1TcyV_AXT2g.f['4']++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['9']++;return parent.apply(this,arguments);};}__cov_WV9MutRgrJW1TcyV_AXT2g.s['10']++;MediumEditor.util.extend(child,parent);__cov_WV9MutRgrJW1TcyV_AXT2g.s['11']++;var Surrogate=function(){__cov_WV9MutRgrJW1TcyV_AXT2g.f['5']++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['12']++;this.constructor=child;};__cov_WV9MutRgrJW1TcyV_AXT2g.s['13']++;Surrogate.prototype=parent.prototype;__cov_WV9MutRgrJW1TcyV_AXT2g.s['14']++;child.prototype=new Surrogate();__cov_WV9MutRgrJW1TcyV_AXT2g.s['15']++;if(protoProps){__cov_WV9MutRgrJW1TcyV_AXT2g.b['3'][0]++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['16']++;MediumEditor.util.extend(child.prototype,protoProps);}else{__cov_WV9MutRgrJW1TcyV_AXT2g.b['3'][1]++;}__cov_WV9MutRgrJW1TcyV_AXT2g.s['17']++;return child;};__cov_WV9MutRgrJW1TcyV_AXT2g.s['18']++;Extension.prototype={init:function(){__cov_WV9MutRgrJW1TcyV_AXT2g.f['6']++;},base:undefined,name:undefined,checkState:undefined,destroy:undefined,queryCommandState:undefined,isActive:undefined,isAlreadyApplied:undefined,setActive:undefined,setInactive:undefined,getInteractionElements:undefined,'window':undefined,'document':undefined,getEditorElements:function(){__cov_WV9MutRgrJW1TcyV_AXT2g.f['7']++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['19']++;return this.base.elements;},getEditorId:function(){__cov_WV9MutRgrJW1TcyV_AXT2g.f['8']++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['20']++;return this.base.id;},getEditorOption:function(option){__cov_WV9MutRgrJW1TcyV_AXT2g.f['9']++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['21']++;return this.base.options[option];}};__cov_WV9MutRgrJW1TcyV_AXT2g.s['22']++;['execAction','on','off','subscribe','trigger'].forEach(function(helper){__cov_WV9MutRgrJW1TcyV_AXT2g.f['10']++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['23']++;Extension.prototype[helper]=function(){__cov_WV9MutRgrJW1TcyV_AXT2g.f['11']++;__cov_WV9MutRgrJW1TcyV_AXT2g.s['24']++;return this.base[helper].apply(this.base,arguments);};});__cov_WV9MutRgrJW1TcyV_AXT2g.s['25']++;MediumEditor.Extension=Extension;}()); diff --git a/.grunt/grunt-contrib-jasmine/src/js/extensions/anchor-preview.js b/.grunt/grunt-contrib-jasmine/src/js/extensions/anchor-preview.js new file mode 100644 index 0000000..c6d09c2 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/extensions/anchor-preview.js @@ -0,0 +1,9 @@ + +var __cov_5MBYVmLjpc2SxqYoSWu44w = (Function('return this'))(); +if (!__cov_5MBYVmLjpc2SxqYoSWu44w.__coverage__) { __cov_5MBYVmLjpc2SxqYoSWu44w.__coverage__ = {}; } +__cov_5MBYVmLjpc2SxqYoSWu44w = __cov_5MBYVmLjpc2SxqYoSWu44w.__coverage__; +if (!(__cov_5MBYVmLjpc2SxqYoSWu44w['src/js/extensions/anchor-preview.js'])) { + __cov_5MBYVmLjpc2SxqYoSWu44w['src/js/extensions/anchor-preview.js'] = {"path":"src/js/extensions/anchor-preview.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0,0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":29,"loc":{"start":{"line":29,"column":14},"end":{"line":29,"column":26}}},"3":{"name":"(anonymous_3)","line":37,"loc":{"start":{"line":37,"column":32},"end":{"line":37,"column":44}}},"4":{"name":"(anonymous_4)","line":42,"loc":{"start":{"line":42,"column":27},"end":{"line":42,"column":39}}},"5":{"name":"(anonymous_5)","line":46,"loc":{"start":{"line":46,"column":23},"end":{"line":46,"column":35}}},"6":{"name":"(anonymous_6)","line":58,"loc":{"start":{"line":58,"column":21},"end":{"line":58,"column":33}}},"7":{"name":"(anonymous_7)","line":64,"loc":{"start":{"line":64,"column":17},"end":{"line":64,"column":29}}},"8":{"name":"(anonymous_8)","line":73,"loc":{"start":{"line":73,"column":21},"end":{"line":73,"column":33}}},"9":{"name":"(anonymous_9)","line":80,"loc":{"start":{"line":80,"column":21},"end":{"line":80,"column":41}}},"10":{"name":"(anonymous_10)","line":106,"loc":{"start":{"line":106,"column":25},"end":{"line":106,"column":49}}},"11":{"name":"(anonymous_11)","line":129,"loc":{"start":{"line":129,"column":40},"end":{"line":129,"column":55}}},"12":{"name":"(anonymous_12)","line":163,"loc":{"start":{"line":163,"column":27},"end":{"line":163,"column":39}}},"13":{"name":"(anonymous_13)","line":168,"loc":{"start":{"line":168,"column":33},"end":{"line":168,"column":45}}},"14":{"name":"(anonymous_14)","line":176,"loc":{"start":{"line":176,"column":21},"end":{"line":176,"column":38}}},"15":{"name":"(anonymous_15)","line":187,"loc":{"start":{"line":187,"column":32},"end":{"line":187,"column":44}}},"16":{"name":"(anonymous_16)","line":203,"loc":{"start":{"line":203,"column":30},"end":{"line":203,"column":42}}},"17":{"name":"(anonymous_17)","line":209,"loc":{"start":{"line":209,"column":33},"end":{"line":209,"column":50}}},"18":{"name":"(anonymous_18)","line":242,"loc":{"start":{"line":242,"column":28},"end":{"line":242,"column":40}}},"19":{"name":"(anonymous_19)","line":249,"loc":{"start":{"line":249,"column":32},"end":{"line":249,"column":44}}},"20":{"name":"(anonymous_20)","line":254,"loc":{"start":{"line":254,"column":31},"end":{"line":254,"column":48}}},"21":{"name":"(anonymous_21)","line":260,"loc":{"start":{"line":260,"column":23},"end":{"line":260,"column":35}}},"22":{"name":"(anonymous_22)","line":271,"loc":{"start":{"line":271,"column":31},"end":{"line":271,"column":43}}},"23":{"name":"(anonymous_23)","line":289,"loc":{"start":{"line":289,"column":31},"end":{"line":289,"column":43}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":306,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":303,"column":7}},"3":{"start":{"line":30,"column":12},"end":{"line":30,"column":54}},"4":{"start":{"line":32,"column":12},"end":{"line":32,"column":86}},"5":{"start":{"line":34,"column":12},"end":{"line":34,"column":37}},"6":{"start":{"line":38,"column":12},"end":{"line":38,"column":44}},"7":{"start":{"line":43,"column":12},"end":{"line":43,"column":38}},"8":{"start":{"line":47,"column":12},"end":{"line":47,"column":56}},"9":{"start":{"line":49,"column":12},"end":{"line":49,"column":73}},"10":{"start":{"line":50,"column":12},"end":{"line":50,"column":58}},"11":{"start":{"line":51,"column":12},"end":{"line":51,"column":46}},"12":{"start":{"line":53,"column":12},"end":{"line":53,"column":62}},"13":{"start":{"line":55,"column":12},"end":{"line":55,"column":22}},"14":{"start":{"line":59,"column":12},"end":{"line":61,"column":25}},"15":{"start":{"line":65,"column":12},"end":{"line":70,"column":13}},"16":{"start":{"line":66,"column":16},"end":{"line":68,"column":17}},"17":{"start":{"line":67,"column":20},"end":{"line":67,"column":82}},"18":{"start":{"line":69,"column":16},"end":{"line":69,"column":42}},"19":{"start":{"line":74,"column":12},"end":{"line":76,"column":13}},"20":{"start":{"line":75,"column":16},"end":{"line":75,"column":91}},"21":{"start":{"line":77,"column":12},"end":{"line":77,"column":37}},"22":{"start":{"line":81,"column":12},"end":{"line":84,"column":13}},"23":{"start":{"line":83,"column":16},"end":{"line":83,"column":28}},"24":{"start":{"line":86,"column":12},"end":{"line":89,"column":13}},"25":{"start":{"line":87,"column":16},"end":{"line":87,"column":121}},"26":{"start":{"line":88,"column":16},"end":{"line":88,"column":114}},"27":{"start":{"line":91,"column":12},"end":{"line":91,"column":74}},"28":{"start":{"line":92,"column":12},"end":{"line":92,"column":78}},"29":{"start":{"line":94,"column":12},"end":{"line":96,"column":13}},"30":{"start":{"line":95,"column":16},"end":{"line":95,"column":88}},"31":{"start":{"line":98,"column":12},"end":{"line":98,"column":41}},"32":{"start":{"line":100,"column":12},"end":{"line":100,"column":35}},"33":{"start":{"line":101,"column":12},"end":{"line":101,"column":41}},"34":{"start":{"line":103,"column":12},"end":{"line":103,"column":24}},"35":{"start":{"line":107,"column":12},"end":{"line":107,"column":61}},"36":{"start":{"line":108,"column":12},"end":{"line":116,"column":93}},"37":{"start":{"line":118,"column":12},"end":{"line":118,"column":65}},"38":{"start":{"line":119,"column":12},"end":{"line":119,"column":75}},"39":{"start":{"line":120,"column":12},"end":{"line":123,"column":13}},"40":{"start":{"line":121,"column":16},"end":{"line":121,"column":53}},"41":{"start":{"line":122,"column":16},"end":{"line":122,"column":51}},"42":{"start":{"line":124,"column":12},"end":{"line":124,"column":53}},"43":{"start":{"line":127,"column":12},"end":{"line":144,"column":13}},"44":{"start":{"line":128,"column":16},"end":{"line":128,"column":86}},"45":{"start":{"line":129,"column":16},"end":{"line":131,"column":19}},"46":{"start":{"line":130,"column":20},"end":{"line":130,"column":91}},"47":{"start":{"line":133,"column":16},"end":{"line":133,"column":56}},"48":{"start":{"line":134,"column":16},"end":{"line":134,"column":58}},"49":{"start":{"line":135,"column":16},"end":{"line":135,"column":44}},"50":{"start":{"line":137,"column":16},"end":{"line":137,"column":65}},"51":{"start":{"line":140,"column":16},"end":{"line":140,"column":50}},"52":{"start":{"line":143,"column":16},"end":{"line":143,"column":46}},"53":{"start":{"line":146,"column":12},"end":{"line":146,"column":64}},"54":{"start":{"line":147,"column":12},"end":{"line":147,"column":109}},"55":{"start":{"line":149,"column":12},"end":{"line":149,"column":66}},"56":{"start":{"line":150,"column":12},"end":{"line":150,"column":55}},"57":{"start":{"line":151,"column":12},"end":{"line":160,"column":13}},"58":{"start":{"line":152,"column":16},"end":{"line":152,"column":85}},"59":{"start":{"line":153,"column":16},"end":{"line":153,"column":59}},"60":{"start":{"line":154,"column":19},"end":{"line":160,"column":13}},"61":{"start":{"line":155,"column":16},"end":{"line":155,"column":55}},"62":{"start":{"line":156,"column":16},"end":{"line":156,"column":51}},"63":{"start":{"line":158,"column":16},"end":{"line":158,"column":84}},"64":{"start":{"line":159,"column":16},"end":{"line":159,"column":59}},"65":{"start":{"line":164,"column":12},"end":{"line":164,"column":89}},"66":{"start":{"line":165,"column":12},"end":{"line":165,"column":89}},"67":{"start":{"line":171,"column":12},"end":{"line":173,"column":13}},"68":{"start":{"line":172,"column":16},"end":{"line":172,"column":35}},"69":{"start":{"line":177,"column":12},"end":{"line":178,"column":49}},"70":{"start":{"line":180,"column":12},"end":{"line":198,"column":13}},"71":{"start":{"line":181,"column":16},"end":{"line":181,"column":39}},"72":{"start":{"line":183,"column":16},"end":{"line":183,"column":59}},"73":{"start":{"line":187,"column":16},"end":{"line":197,"column":30}},"74":{"start":{"line":188,"column":20},"end":{"line":196,"column":21}},"75":{"start":{"line":189,"column":24},"end":{"line":193,"column":26}},"76":{"start":{"line":194,"column":24},"end":{"line":194,"column":55}},"77":{"start":{"line":195,"column":24},"end":{"line":195,"column":44}},"78":{"start":{"line":200,"column":12},"end":{"line":200,"column":31}},"79":{"start":{"line":204,"column":12},"end":{"line":204,"column":40}},"80":{"start":{"line":205,"column":12},"end":{"line":205,"column":87}},"81":{"start":{"line":206,"column":12},"end":{"line":206,"column":53}},"82":{"start":{"line":210,"column":12},"end":{"line":210,"column":76}},"83":{"start":{"line":212,"column":12},"end":{"line":214,"column":13}},"84":{"start":{"line":213,"column":16},"end":{"line":213,"column":23}},"85":{"start":{"line":219,"column":12},"end":{"line":222,"column":13}},"86":{"start":{"line":221,"column":16},"end":{"line":221,"column":28}},"87":{"start":{"line":225,"column":12},"end":{"line":225,"column":66}},"88":{"start":{"line":226,"column":12},"end":{"line":228,"column":13}},"89":{"start":{"line":227,"column":16},"end":{"line":227,"column":28}},"90":{"start":{"line":231,"column":12},"end":{"line":233,"column":13}},"91":{"start":{"line":232,"column":16},"end":{"line":232,"column":45}},"92":{"start":{"line":235,"column":12},"end":{"line":235,"column":42}},"93":{"start":{"line":237,"column":12},"end":{"line":237,"column":85}},"94":{"start":{"line":238,"column":12},"end":{"line":238,"column":89}},"95":{"start":{"line":242,"column":12},"end":{"line":246,"column":26}},"96":{"start":{"line":243,"column":16},"end":{"line":245,"column":17}},"97":{"start":{"line":244,"column":20},"end":{"line":244,"column":59}},"98":{"start":{"line":250,"column":12},"end":{"line":250,"column":51}},"99":{"start":{"line":251,"column":12},"end":{"line":251,"column":33}},"100":{"start":{"line":255,"column":12},"end":{"line":257,"column":13}},"101":{"start":{"line":256,"column":16},"end":{"line":256,"column":38}},"102":{"start":{"line":261,"column":12},"end":{"line":263,"column":13}},"103":{"start":{"line":262,"column":16},"end":{"line":262,"column":28}},"104":{"start":{"line":264,"column":12},"end":{"line":264,"column":62}},"105":{"start":{"line":265,"column":12},"end":{"line":268,"column":13}},"106":{"start":{"line":267,"column":16},"end":{"line":267,"column":45}},"107":{"start":{"line":273,"column":12},"end":{"line":273,"column":46}},"108":{"start":{"line":274,"column":12},"end":{"line":281,"column":13}},"109":{"start":{"line":275,"column":16},"end":{"line":275,"column":95}},"110":{"start":{"line":276,"column":16},"end":{"line":276,"column":93}},"111":{"start":{"line":277,"column":16},"end":{"line":280,"column":17}},"112":{"start":{"line":278,"column":20},"end":{"line":278,"column":98}},"113":{"start":{"line":279,"column":20},"end":{"line":279,"column":96}},"114":{"start":{"line":283,"column":12},"end":{"line":283,"column":31}},"115":{"start":{"line":285,"column":12},"end":{"line":285,"column":108}},"116":{"start":{"line":290,"column":12},"end":{"line":290,"column":51}},"117":{"start":{"line":291,"column":12},"end":{"line":291,"column":33}},"118":{"start":{"line":293,"column":12},"end":{"line":293,"column":89}},"119":{"start":{"line":294,"column":12},"end":{"line":294,"column":87}},"120":{"start":{"line":296,"column":12},"end":{"line":296,"column":81}},"121":{"start":{"line":298,"column":12},"end":{"line":298,"column":90}},"122":{"start":{"line":299,"column":12},"end":{"line":299,"column":88}},"123":{"start":{"line":300,"column":12},"end":{"line":300,"column":89}},"124":{"start":{"line":301,"column":12},"end":{"line":301,"column":87}},"125":{"start":{"line":305,"column":4},"end":{"line":305,"column":58}}},"branchMap":{"1":{"line":65,"type":"if","locations":[{"start":{"line":65,"column":12},"end":{"line":65,"column":12}},{"start":{"line":65,"column":12},"end":{"line":65,"column":12}}]},"2":{"line":66,"type":"if","locations":[{"start":{"line":66,"column":16},"end":{"line":66,"column":16}},{"start":{"line":66,"column":16},"end":{"line":66,"column":16}}]},"3":{"line":74,"type":"if","locations":[{"start":{"line":74,"column":12},"end":{"line":74,"column":12}},{"start":{"line":74,"column":12},"end":{"line":74,"column":12}}]},"4":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":12},"end":{"line":81,"column":12}},{"start":{"line":81,"column":12},"end":{"line":81,"column":12}}]},"5":{"line":81,"type":"binary-expr","locations":[{"start":{"line":81,"column":16},"end":{"line":81,"column":92}},{"start":{"line":82,"column":20},"end":{"line":82,"column":65}}]},"6":{"line":86,"type":"if","locations":[{"start":{"line":86,"column":12},"end":{"line":86,"column":12}},{"start":{"line":86,"column":12},"end":{"line":86,"column":12}}]},"7":{"line":94,"type":"if","locations":[{"start":{"line":94,"column":12},"end":{"line":94,"column":12}},{"start":{"line":94,"column":12},"end":{"line":94,"column":12}}]},"8":{"line":107,"type":"binary-expr","locations":[{"start":{"line":107,"column":27},"end":{"line":107,"column":39}},{"start":{"line":107,"column":43},"end":{"line":107,"column":60}}]},"9":{"line":120,"type":"if","locations":[{"start":{"line":120,"column":12},"end":{"line":120,"column":12}},{"start":{"line":120,"column":12},"end":{"line":120,"column":12}}]},"10":{"line":127,"type":"if","locations":[{"start":{"line":127,"column":12},"end":{"line":127,"column":12}},{"start":{"line":127,"column":12},"end":{"line":127,"column":12}}]},"11":{"line":151,"type":"if","locations":[{"start":{"line":151,"column":12},"end":{"line":151,"column":12}},{"start":{"line":151,"column":12},"end":{"line":151,"column":12}}]},"12":{"line":154,"type":"if","locations":[{"start":{"line":154,"column":19},"end":{"line":154,"column":19}},{"start":{"line":154,"column":19},"end":{"line":154,"column":19}}]},"13":{"line":171,"type":"if","locations":[{"start":{"line":171,"column":12},"end":{"line":171,"column":12}},{"start":{"line":171,"column":12},"end":{"line":171,"column":12}}]},"14":{"line":180,"type":"if","locations":[{"start":{"line":180,"column":12},"end":{"line":180,"column":12}},{"start":{"line":180,"column":12},"end":{"line":180,"column":12}}]},"15":{"line":180,"type":"binary-expr","locations":[{"start":{"line":180,"column":16},"end":{"line":180,"column":31}},{"start":{"line":180,"column":35},"end":{"line":180,"column":47}}]},"16":{"line":188,"type":"if","locations":[{"start":{"line":188,"column":20},"end":{"line":188,"column":20}},{"start":{"line":188,"column":20},"end":{"line":188,"column":20}}]},"17":{"line":212,"type":"if","locations":[{"start":{"line":212,"column":12},"end":{"line":212,"column":12}},{"start":{"line":212,"column":12},"end":{"line":212,"column":12}}]},"18":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":12},"end":{"line":219,"column":12}},{"start":{"line":219,"column":12},"end":{"line":219,"column":12}}]},"19":{"line":219,"type":"binary-expr","locations":[{"start":{"line":219,"column":16},"end":{"line":219,"column":38}},{"start":{"line":220,"column":17},"end":{"line":220,"column":59}},{"start":{"line":220,"column":63},"end":{"line":220,"column":105}}]},"20":{"line":226,"type":"if","locations":[{"start":{"line":226,"column":12},"end":{"line":226,"column":12}},{"start":{"line":226,"column":12},"end":{"line":226,"column":12}}]},"21":{"line":226,"type":"binary-expr","locations":[{"start":{"line":226,"column":16},"end":{"line":226,"column":46}},{"start":{"line":226,"column":50},"end":{"line":226,"column":57}},{"start":{"line":226,"column":61},"end":{"line":226,"column":80}},{"start":{"line":226,"column":84},"end":{"line":226,"column":105}}]},"22":{"line":231,"type":"if","locations":[{"start":{"line":231,"column":12},"end":{"line":231,"column":12}},{"start":{"line":231,"column":12},"end":{"line":231,"column":12}}]},"23":{"line":231,"type":"binary-expr","locations":[{"start":{"line":231,"column":16},"end":{"line":231,"column":33}},{"start":{"line":231,"column":37},"end":{"line":231,"column":65}}]},"24":{"line":243,"type":"if","locations":[{"start":{"line":243,"column":16},"end":{"line":243,"column":16}},{"start":{"line":243,"column":16},"end":{"line":243,"column":16}}]},"25":{"line":255,"type":"if","locations":[{"start":{"line":255,"column":12},"end":{"line":255,"column":12}},{"start":{"line":255,"column":12},"end":{"line":255,"column":12}}]},"26":{"line":255,"type":"binary-expr","locations":[{"start":{"line":255,"column":16},"end":{"line":255,"column":36}},{"start":{"line":255,"column":40},"end":{"line":255,"column":93}}]},"27":{"line":261,"type":"if","locations":[{"start":{"line":261,"column":12},"end":{"line":261,"column":12}},{"start":{"line":261,"column":12},"end":{"line":261,"column":12}}]},"28":{"line":265,"type":"if","locations":[{"start":{"line":265,"column":12},"end":{"line":265,"column":12}},{"start":{"line":265,"column":12},"end":{"line":265,"column":12}}]},"29":{"line":274,"type":"if","locations":[{"start":{"line":274,"column":12},"end":{"line":274,"column":12}},{"start":{"line":274,"column":12},"end":{"line":274,"column":12}}]},"30":{"line":277,"type":"if","locations":[{"start":{"line":277,"column":16},"end":{"line":277,"column":16}},{"start":{"line":277,"column":16},"end":{"line":277,"column":16}}]}}}; +} +__cov_5MBYVmLjpc2SxqYoSWu44w = __cov_5MBYVmLjpc2SxqYoSWu44w['src/js/extensions/anchor-preview.js']; +__cov_5MBYVmLjpc2SxqYoSWu44w.s['1']++;(function(){'use strict';__cov_5MBYVmLjpc2SxqYoSWu44w.f['1']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['2']++;var AnchorPreview=MediumEditor.Extension.extend({name:'anchor-preview',hideDelay:500,previewValueSelector:'a',showWhenToolbarIsVisible:false,showOnEmptyLinks:true,init:function(){__cov_5MBYVmLjpc2SxqYoSWu44w.f['2']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['3']++;this.anchorPreview=this.createPreview();__cov_5MBYVmLjpc2SxqYoSWu44w.s['4']++;this.getEditorOption('elementsContainer').appendChild(this.anchorPreview);__cov_5MBYVmLjpc2SxqYoSWu44w.s['5']++;this.attachToEditables();},getInteractionElements:function(){__cov_5MBYVmLjpc2SxqYoSWu44w.f['3']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['6']++;return this.getPreviewElement();},getPreviewElement:function(){__cov_5MBYVmLjpc2SxqYoSWu44w.f['4']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['7']++;return this.anchorPreview;},createPreview:function(){__cov_5MBYVmLjpc2SxqYoSWu44w.f['5']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['8']++;var el=this.document.createElement('div');__cov_5MBYVmLjpc2SxqYoSWu44w.s['9']++;el.id='medium-editor-anchor-preview-'+this.getEditorId();__cov_5MBYVmLjpc2SxqYoSWu44w.s['10']++;el.className='medium-editor-anchor-preview';__cov_5MBYVmLjpc2SxqYoSWu44w.s['11']++;el.innerHTML=this.getTemplate();__cov_5MBYVmLjpc2SxqYoSWu44w.s['12']++;this.on(el,'click',this.handleClick.bind(this));__cov_5MBYVmLjpc2SxqYoSWu44w.s['13']++;return el;},getTemplate:function(){__cov_5MBYVmLjpc2SxqYoSWu44w.f['6']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['14']++;return'
    '+' '+'
    ';},destroy:function(){__cov_5MBYVmLjpc2SxqYoSWu44w.f['7']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['15']++;if(this.anchorPreview){__cov_5MBYVmLjpc2SxqYoSWu44w.b['1'][0]++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['16']++;if(this.anchorPreview.parentNode){__cov_5MBYVmLjpc2SxqYoSWu44w.b['2'][0]++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['17']++;this.anchorPreview.parentNode.removeChild(this.anchorPreview);}else{__cov_5MBYVmLjpc2SxqYoSWu44w.b['2'][1]++;}__cov_5MBYVmLjpc2SxqYoSWu44w.s['18']++;delete this.anchorPreview;}else{__cov_5MBYVmLjpc2SxqYoSWu44w.b['1'][1]++;}},hidePreview:function(){__cov_5MBYVmLjpc2SxqYoSWu44w.f['8']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['19']++;if(this.anchorPreview){__cov_5MBYVmLjpc2SxqYoSWu44w.b['3'][0]++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['20']++;this.anchorPreview.classList.remove('medium-editor-anchor-preview-active');}else{__cov_5MBYVmLjpc2SxqYoSWu44w.b['3'][1]++;}__cov_5MBYVmLjpc2SxqYoSWu44w.s['21']++;this.activeAnchor=null;},showPreview:function(anchorEl){__cov_5MBYVmLjpc2SxqYoSWu44w.f['9']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['22']++;if((__cov_5MBYVmLjpc2SxqYoSWu44w.b['5'][0]++,this.anchorPreview.classList.contains('medium-editor-anchor-preview-active'))||(__cov_5MBYVmLjpc2SxqYoSWu44w.b['5'][1]++,anchorEl.getAttribute('data-disable-preview'))){__cov_5MBYVmLjpc2SxqYoSWu44w.b['4'][0]++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['23']++;return true;}else{__cov_5MBYVmLjpc2SxqYoSWu44w.b['4'][1]++;}__cov_5MBYVmLjpc2SxqYoSWu44w.s['24']++;if(this.previewValueSelector){__cov_5MBYVmLjpc2SxqYoSWu44w.b['6'][0]++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['25']++;this.anchorPreview.querySelector(this.previewValueSelector).textContent=anchorEl.attributes.href.value;__cov_5MBYVmLjpc2SxqYoSWu44w.s['26']++;this.anchorPreview.querySelector(this.previewValueSelector).href=anchorEl.attributes.href.value;}else{__cov_5MBYVmLjpc2SxqYoSWu44w.b['6'][1]++;}__cov_5MBYVmLjpc2SxqYoSWu44w.s['27']++;this.anchorPreview.classList.add('medium-toolbar-arrow-over');__cov_5MBYVmLjpc2SxqYoSWu44w.s['28']++;this.anchorPreview.classList.remove('medium-toolbar-arrow-under');__cov_5MBYVmLjpc2SxqYoSWu44w.s['29']++;if(!this.anchorPreview.classList.contains('medium-editor-anchor-preview-active')){__cov_5MBYVmLjpc2SxqYoSWu44w.b['7'][0]++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['30']++;this.anchorPreview.classList.add('medium-editor-anchor-preview-active');}else{__cov_5MBYVmLjpc2SxqYoSWu44w.b['7'][1]++;}__cov_5MBYVmLjpc2SxqYoSWu44w.s['31']++;this.activeAnchor=anchorEl;__cov_5MBYVmLjpc2SxqYoSWu44w.s['32']++;this.positionPreview();__cov_5MBYVmLjpc2SxqYoSWu44w.s['33']++;this.attachPreviewHandlers();__cov_5MBYVmLjpc2SxqYoSWu44w.s['34']++;return this;},positionPreview:function(activeAnchor){__cov_5MBYVmLjpc2SxqYoSWu44w.f['10']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['35']++;activeAnchor=(__cov_5MBYVmLjpc2SxqYoSWu44w.b['8'][0]++,activeAnchor)||(__cov_5MBYVmLjpc2SxqYoSWu44w.b['8'][1]++,this.activeAnchor);__cov_5MBYVmLjpc2SxqYoSWu44w.s['36']++;var containerWidth=this.window.innerWidth,buttonHeight=this.anchorPreview.offsetHeight,boundary=activeAnchor.getBoundingClientRect(),diffLeft=this.diffLeft,diffTop=this.diffTop,elementsContainer=this.getEditorOption('elementsContainer'),elementsContainerAbsolute=['absolute','fixed'].indexOf(window.getComputedStyle(elementsContainer).getPropertyValue('position'))>-1,relativeBoundary={},halfOffsetWidth,defaultLeft,middleBoundary,elementsContainerBoundary,top;__cov_5MBYVmLjpc2SxqYoSWu44w.s['37']++;halfOffsetWidth=this.anchorPreview.offsetWidth/2;__cov_5MBYVmLjpc2SxqYoSWu44w.s['38']++;var toolbarExtension=this.base.getExtensionByName('toolbar');__cov_5MBYVmLjpc2SxqYoSWu44w.s['39']++;if(toolbarExtension){__cov_5MBYVmLjpc2SxqYoSWu44w.b['9'][0]++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['40']++;diffLeft=toolbarExtension.diffLeft;__cov_5MBYVmLjpc2SxqYoSWu44w.s['41']++;diffTop=toolbarExtension.diffTop;}else{__cov_5MBYVmLjpc2SxqYoSWu44w.b['9'][1]++;}__cov_5MBYVmLjpc2SxqYoSWu44w.s['42']++;defaultLeft=diffLeft-halfOffsetWidth;__cov_5MBYVmLjpc2SxqYoSWu44w.s['43']++;if(elementsContainerAbsolute){__cov_5MBYVmLjpc2SxqYoSWu44w.b['10'][0]++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['44']++;elementsContainerBoundary=elementsContainer.getBoundingClientRect();__cov_5MBYVmLjpc2SxqYoSWu44w.s['45']++;['top','left'].forEach(function(key){__cov_5MBYVmLjpc2SxqYoSWu44w.f['11']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['46']++;relativeBoundary[key]=boundary[key]-elementsContainerBoundary[key];});__cov_5MBYVmLjpc2SxqYoSWu44w.s['47']++;relativeBoundary.width=boundary.width;__cov_5MBYVmLjpc2SxqYoSWu44w.s['48']++;relativeBoundary.height=boundary.height;__cov_5MBYVmLjpc2SxqYoSWu44w.s['49']++;boundary=relativeBoundary;__cov_5MBYVmLjpc2SxqYoSWu44w.s['50']++;containerWidth=elementsContainerBoundary.width;__cov_5MBYVmLjpc2SxqYoSWu44w.s['51']++;top=elementsContainer.scrollTop;}else{__cov_5MBYVmLjpc2SxqYoSWu44w.b['10'][1]++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['52']++;top=this.window.pageYOffset;}__cov_5MBYVmLjpc2SxqYoSWu44w.s['53']++;middleBoundary=boundary.left+boundary.width/2;__cov_5MBYVmLjpc2SxqYoSWu44w.s['54']++;top+=buttonHeight+boundary.top+boundary.height-diffTop-this.anchorPreview.offsetHeight;__cov_5MBYVmLjpc2SxqYoSWu44w.s['55']++;this.anchorPreview.style.top=Math.round(top)+'px';__cov_5MBYVmLjpc2SxqYoSWu44w.s['56']++;this.anchorPreview.style.right='initial';__cov_5MBYVmLjpc2SxqYoSWu44w.s['57']++;if(middleBoundarythis.hideDelay){__cov_5MBYVmLjpc2SxqYoSWu44w.b['28'][0]++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['106']++;this.detachPreviewHandlers();}else{__cov_5MBYVmLjpc2SxqYoSWu44w.b['28'][1]++;}},detachPreviewHandlers:function(){__cov_5MBYVmLjpc2SxqYoSWu44w.f['22']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['107']++;clearInterval(this.intervalTimer);__cov_5MBYVmLjpc2SxqYoSWu44w.s['108']++;if(this.instanceHandlePreviewMouseover){__cov_5MBYVmLjpc2SxqYoSWu44w.b['29'][0]++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['109']++;this.off(this.anchorPreview,'mouseover',this.instanceHandlePreviewMouseover);__cov_5MBYVmLjpc2SxqYoSWu44w.s['110']++;this.off(this.anchorPreview,'mouseout',this.instanceHandlePreviewMouseout);__cov_5MBYVmLjpc2SxqYoSWu44w.s['111']++;if(this.activeAnchor){__cov_5MBYVmLjpc2SxqYoSWu44w.b['30'][0]++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['112']++;this.off(this.activeAnchor,'mouseover',this.instanceHandlePreviewMouseover);__cov_5MBYVmLjpc2SxqYoSWu44w.s['113']++;this.off(this.activeAnchor,'mouseout',this.instanceHandlePreviewMouseout);}else{__cov_5MBYVmLjpc2SxqYoSWu44w.b['30'][1]++;}}else{__cov_5MBYVmLjpc2SxqYoSWu44w.b['29'][1]++;}__cov_5MBYVmLjpc2SxqYoSWu44w.s['114']++;this.hidePreview();__cov_5MBYVmLjpc2SxqYoSWu44w.s['115']++;this.hovering=this.instanceHandlePreviewMouseover=this.instanceHandlePreviewMouseout=null;},attachPreviewHandlers:function(){__cov_5MBYVmLjpc2SxqYoSWu44w.f['23']++;__cov_5MBYVmLjpc2SxqYoSWu44w.s['116']++;this.lastOver=new Date().getTime();__cov_5MBYVmLjpc2SxqYoSWu44w.s['117']++;this.hovering=true;__cov_5MBYVmLjpc2SxqYoSWu44w.s['118']++;this.instanceHandlePreviewMouseover=this.handlePreviewMouseover.bind(this);__cov_5MBYVmLjpc2SxqYoSWu44w.s['119']++;this.instanceHandlePreviewMouseout=this.handlePreviewMouseout.bind(this);__cov_5MBYVmLjpc2SxqYoSWu44w.s['120']++;this.intervalTimer=setInterval(this.updatePreview.bind(this),200);__cov_5MBYVmLjpc2SxqYoSWu44w.s['121']++;this.on(this.anchorPreview,'mouseover',this.instanceHandlePreviewMouseover);__cov_5MBYVmLjpc2SxqYoSWu44w.s['122']++;this.on(this.anchorPreview,'mouseout',this.instanceHandlePreviewMouseout);__cov_5MBYVmLjpc2SxqYoSWu44w.s['123']++;this.on(this.activeAnchor,'mouseover',this.instanceHandlePreviewMouseover);__cov_5MBYVmLjpc2SxqYoSWu44w.s['124']++;this.on(this.activeAnchor,'mouseout',this.instanceHandlePreviewMouseout);}});__cov_5MBYVmLjpc2SxqYoSWu44w.s['125']++;MediumEditor.extensions.anchorPreview=AnchorPreview;}()); diff --git a/.grunt/grunt-contrib-jasmine/src/js/extensions/anchor.js b/.grunt/grunt-contrib-jasmine/src/js/extensions/anchor.js new file mode 100644 index 0000000..4878f9c --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/extensions/anchor.js @@ -0,0 +1,9 @@ + +var __cov_IKtXrLm3ZujSkoKx2Rw9KA = (Function('return this'))(); +if (!__cov_IKtXrLm3ZujSkoKx2Rw9KA.__coverage__) { __cov_IKtXrLm3ZujSkoKx2Rw9KA.__coverage__ = {}; } +__cov_IKtXrLm3ZujSkoKx2Rw9KA = __cov_IKtXrLm3ZujSkoKx2Rw9KA.__coverage__; +if (!(__cov_IKtXrLm3ZujSkoKx2Rw9KA['src/js/extensions/anchor.js'])) { + __cov_IKtXrLm3ZujSkoKx2Rw9KA['src/js/extensions/anchor.js'] = {"path":"src/js/extensions/anchor.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0},"b":{"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":48,"loc":{"start":{"line":48,"column":14},"end":{"line":48,"column":26}}},"3":{"name":"(anonymous_3)","line":56,"loc":{"start":{"line":56,"column":21},"end":{"line":56,"column":38}}},"4":{"name":"(anonymous_4)","line":76,"loc":{"start":{"line":76,"column":23},"end":{"line":76,"column":40}}},"5":{"name":"(anonymous_5)","line":83,"loc":{"start":{"line":83,"column":17},"end":{"line":83,"column":29}}},"6":{"name":"(anonymous_6)","line":90,"loc":{"start":{"line":90,"column":21},"end":{"line":90,"column":33}}},"7":{"name":"(anonymous_7)","line":139,"loc":{"start":{"line":139,"column":21},"end":{"line":139,"column":33}}},"8":{"name":"(anonymous_8)","line":143,"loc":{"start":{"line":143,"column":18},"end":{"line":143,"column":30}}},"9":{"name":"(anonymous_9)","line":148,"loc":{"start":{"line":148,"column":18},"end":{"line":148,"column":34}}},"10":{"name":"(anonymous_10)","line":185,"loc":{"start":{"line":185,"column":17},"end":{"line":185,"column":29}}},"11":{"name":"(anonymous_11)","line":199,"loc":{"start":{"line":199,"column":21},"end":{"line":199,"column":33}}},"12":{"name":"(anonymous_12)","line":223,"loc":{"start":{"line":223,"column":20},"end":{"line":223,"column":32}}},"13":{"name":"(anonymous_13)","line":228,"loc":{"start":{"line":228,"column":26},"end":{"line":228,"column":42}}},"14":{"name":"(anonymous_14)","line":234,"loc":{"start":{"line":234,"column":26},"end":{"line":234,"column":41}}},"15":{"name":"(anonymous_15)","line":238,"loc":{"start":{"line":238,"column":35},"end":{"line":238,"column":50}}},"16":{"name":"(anonymous_16)","line":242,"loc":{"start":{"line":242,"column":28},"end":{"line":242,"column":45}}},"17":{"name":"(anonymous_17)","line":250,"loc":{"start":{"line":250,"column":28},"end":{"line":250,"column":51}}},"18":{"name":"(anonymous_18)","line":254,"loc":{"start":{"line":254,"column":25},"end":{"line":254,"column":42}}},"19":{"name":"(anonymous_19)","line":291,"loc":{"start":{"line":291,"column":22},"end":{"line":291,"column":34}}},"20":{"name":"(anonymous_20)","line":297,"loc":{"start":{"line":297,"column":26},"end":{"line":297,"column":42}}},"21":{"name":"(anonymous_21)","line":316,"loc":{"start":{"line":316,"column":20},"end":{"line":316,"column":32}}},"22":{"name":"(anonymous_22)","line":329,"loc":{"start":{"line":329,"column":18},"end":{"line":329,"column":30}}},"23":{"name":"(anonymous_23)","line":333,"loc":{"start":{"line":333,"column":33},"end":{"line":333,"column":45}}},"24":{"name":"(anonymous_24)","line":337,"loc":{"start":{"line":337,"column":33},"end":{"line":337,"column":45}}},"25":{"name":"(anonymous_25)","line":341,"loc":{"start":{"line":341,"column":28},"end":{"line":341,"column":45}}},"26":{"name":"(anonymous_26)","line":356,"loc":{"start":{"line":356,"column":25},"end":{"line":356,"column":42}}},"27":{"name":"(anonymous_27)","line":361,"loc":{"start":{"line":361,"column":25},"end":{"line":361,"column":42}}},"28":{"name":"(anonymous_28)","line":367,"loc":{"start":{"line":367,"column":26},"end":{"line":367,"column":43}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":375,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":372,"column":7}},"3":{"start":{"line":49,"column":12},"end":{"line":49,"column":79}},"4":{"start":{"line":51,"column":12},"end":{"line":51,"column":77}},"5":{"start":{"line":57,"column":12},"end":{"line":57,"column":35}},"6":{"start":{"line":58,"column":12},"end":{"line":58,"column":36}},"7":{"start":{"line":60,"column":12},"end":{"line":60,"column":80}},"8":{"start":{"line":62,"column":12},"end":{"line":66,"column":13}},"9":{"start":{"line":65,"column":16},"end":{"line":65,"column":49}},"10":{"start":{"line":68,"column":12},"end":{"line":70,"column":13}},"11":{"start":{"line":69,"column":16},"end":{"line":69,"column":32}},"12":{"start":{"line":72,"column":12},"end":{"line":72,"column":25}},"13":{"start":{"line":77,"column":12},"end":{"line":79,"column":13}},"14":{"start":{"line":78,"column":16},"end":{"line":78,"column":40}},"15":{"start":{"line":84,"column":12},"end":{"line":86,"column":13}},"16":{"start":{"line":85,"column":16},"end":{"line":85,"column":46}},"17":{"start":{"line":87,"column":12},"end":{"line":87,"column":29}},"18":{"start":{"line":91,"column":12},"end":{"line":93,"column":14}},"19":{"start":{"line":95,"column":12},"end":{"line":99,"column":14}},"20":{"start":{"line":101,"column":12},"end":{"line":103,"column":24}},"21":{"start":{"line":108,"column":12},"end":{"line":119,"column":13}},"22":{"start":{"line":111,"column":16},"end":{"line":118,"column":18}},"23":{"start":{"line":121,"column":12},"end":{"line":132,"column":13}},"24":{"start":{"line":124,"column":16},"end":{"line":131,"column":18}},"25":{"start":{"line":134,"column":12},"end":{"line":134,"column":37}},"26":{"start":{"line":140,"column":12},"end":{"line":140,"column":82}},"27":{"start":{"line":144,"column":12},"end":{"line":144,"column":72}},"28":{"start":{"line":145,"column":12},"end":{"line":145,"column":39}},"29":{"start":{"line":149,"column":12},"end":{"line":151,"column":64}},"30":{"start":{"line":153,"column":12},"end":{"line":153,"column":41}},"31":{"start":{"line":156,"column":12},"end":{"line":160,"column":13}},"32":{"start":{"line":157,"column":16},"end":{"line":159,"column":18}},"33":{"start":{"line":162,"column":12},"end":{"line":162,"column":38}},"34":{"start":{"line":163,"column":12},"end":{"line":163,"column":45}},"35":{"start":{"line":164,"column":12},"end":{"line":164,"column":72}},"36":{"start":{"line":165,"column":12},"end":{"line":165,"column":38}},"37":{"start":{"line":167,"column":12},"end":{"line":167,"column":37}},"38":{"start":{"line":168,"column":12},"end":{"line":168,"column":26}},"39":{"start":{"line":172,"column":12},"end":{"line":174,"column":13}},"40":{"start":{"line":173,"column":16},"end":{"line":173,"column":66}},"41":{"start":{"line":178,"column":12},"end":{"line":181,"column":13}},"42":{"start":{"line":179,"column":16},"end":{"line":179,"column":84}},"43":{"start":{"line":180,"column":16},"end":{"line":180,"column":92}},"44":{"start":{"line":186,"column":12},"end":{"line":188,"column":13}},"45":{"start":{"line":187,"column":16},"end":{"line":187,"column":29}},"46":{"start":{"line":190,"column":12},"end":{"line":192,"column":13}},"47":{"start":{"line":191,"column":16},"end":{"line":191,"column":60}},"48":{"start":{"line":194,"column":12},"end":{"line":194,"column":29}},"49":{"start":{"line":201,"column":12},"end":{"line":205,"column":18}},"50":{"start":{"line":207,"column":12},"end":{"line":209,"column":13}},"51":{"start":{"line":208,"column":16},"end":{"line":208,"column":62}},"52":{"start":{"line":211,"column":12},"end":{"line":211,"column":34}},"53":{"start":{"line":212,"column":12},"end":{"line":214,"column":13}},"54":{"start":{"line":213,"column":16},"end":{"line":213,"column":39}},"55":{"start":{"line":216,"column":12},"end":{"line":218,"column":13}},"56":{"start":{"line":217,"column":16},"end":{"line":217,"column":58}},"57":{"start":{"line":220,"column":12},"end":{"line":220,"column":24}},"58":{"start":{"line":224,"column":12},"end":{"line":224,"column":42}},"59":{"start":{"line":225,"column":12},"end":{"line":225,"column":40}},"60":{"start":{"line":229,"column":12},"end":{"line":229,"column":41}},"61":{"start":{"line":230,"column":12},"end":{"line":230,"column":47}},"62":{"start":{"line":231,"column":12},"end":{"line":231,"column":39}},"63":{"start":{"line":235,"column":12},"end":{"line":235,"column":65}},"64":{"start":{"line":239,"column":12},"end":{"line":239,"column":83}},"65":{"start":{"line":243,"column":12},"end":{"line":245,"column":31}},"66":{"start":{"line":247,"column":12},"end":{"line":247,"column":94}},"67":{"start":{"line":251,"column":12},"end":{"line":251,"column":92}},"68":{"start":{"line":259,"column":12},"end":{"line":267,"column":39}},"69":{"start":{"line":269,"column":12},"end":{"line":271,"column":13}},"70":{"start":{"line":270,"column":16},"end":{"line":270,"column":38}},"71":{"start":{"line":273,"column":12},"end":{"line":279,"column":13}},"72":{"start":{"line":274,"column":16},"end":{"line":274,"column":46}},"73":{"start":{"line":276,"column":16},"end":{"line":278,"column":17}},"74":{"start":{"line":277,"column":20},"end":{"line":277,"column":39}},"75":{"start":{"line":281,"column":12},"end":{"line":288,"column":63}},"76":{"start":{"line":292,"column":12},"end":{"line":292,"column":41}},"77":{"start":{"line":293,"column":12},"end":{"line":293,"column":39}},"78":{"start":{"line":298,"column":12},"end":{"line":300,"column":75}},"79":{"start":{"line":303,"column":12},"end":{"line":303,"column":68}},"80":{"start":{"line":306,"column":12},"end":{"line":306,"column":72}},"81":{"start":{"line":309,"column":12},"end":{"line":309,"column":70}},"82":{"start":{"line":312,"column":12},"end":{"line":312,"column":74}},"83":{"start":{"line":317,"column":12},"end":{"line":318,"column":48}},"84":{"start":{"line":321,"column":12},"end":{"line":321,"column":58}},"85":{"start":{"line":322,"column":12},"end":{"line":322,"column":80}},"86":{"start":{"line":323,"column":12},"end":{"line":323,"column":48}},"87":{"start":{"line":324,"column":12},"end":{"line":324,"column":40}},"88":{"start":{"line":326,"column":12},"end":{"line":326,"column":24}},"89":{"start":{"line":330,"column":12},"end":{"line":330,"column":85}},"90":{"start":{"line":334,"column":12},"end":{"line":334,"column":88}},"91":{"start":{"line":338,"column":12},"end":{"line":338,"column":88}},"92":{"start":{"line":343,"column":12},"end":{"line":347,"column":13}},"93":{"start":{"line":344,"column":16},"end":{"line":344,"column":39}},"94":{"start":{"line":345,"column":16},"end":{"line":345,"column":34}},"95":{"start":{"line":346,"column":16},"end":{"line":346,"column":23}},"96":{"start":{"line":350,"column":12},"end":{"line":353,"column":13}},"97":{"start":{"line":351,"column":16},"end":{"line":351,"column":39}},"98":{"start":{"line":352,"column":16},"end":{"line":352,"column":36}},"99":{"start":{"line":358,"column":12},"end":{"line":358,"column":36}},"100":{"start":{"line":363,"column":12},"end":{"line":363,"column":35}},"101":{"start":{"line":364,"column":12},"end":{"line":364,"column":30}},"102":{"start":{"line":369,"column":12},"end":{"line":369,"column":35}},"103":{"start":{"line":370,"column":12},"end":{"line":370,"column":32}},"104":{"start":{"line":374,"column":4},"end":{"line":374,"column":48}}},"branchMap":{"1":{"line":62,"type":"if","locations":[{"start":{"line":62,"column":12},"end":{"line":62,"column":12}},{"start":{"line":62,"column":12},"end":{"line":62,"column":12}}]},"2":{"line":62,"type":"binary-expr","locations":[{"start":{"line":62,"column":16},"end":{"line":62,"column":67}},{"start":{"line":63,"column":16},"end":{"line":63,"column":65}},{"start":{"line":64,"column":16},"end":{"line":64,"column":108}}]},"3":{"line":68,"type":"if","locations":[{"start":{"line":68,"column":12},"end":{"line":68,"column":12}},{"start":{"line":68,"column":12},"end":{"line":68,"column":12}}]},"4":{"line":77,"type":"if","locations":[{"start":{"line":77,"column":12},"end":{"line":77,"column":12}},{"start":{"line":77,"column":12},"end":{"line":77,"column":12}}]},"5":{"line":77,"type":"binary-expr","locations":[{"start":{"line":77,"column":16},"end":{"line":77,"column":75}},{"start":{"line":77,"column":79},"end":{"line":77,"column":117}},{"start":{"line":77,"column":121},"end":{"line":77,"column":136}}]},"6":{"line":84,"type":"if","locations":[{"start":{"line":84,"column":12},"end":{"line":84,"column":12}},{"start":{"line":84,"column":12},"end":{"line":84,"column":12}}]},"7":{"line":97,"type":"cond-expr","locations":[{"start":{"line":97,"column":73},"end":{"line":97,"column":102}},{"start":{"line":97,"column":105},"end":{"line":97,"column":123}}]},"8":{"line":102,"type":"cond-expr","locations":[{"start":{"line":102,"column":73},"end":{"line":102,"column":102}},{"start":{"line":102,"column":105},"end":{"line":102,"column":124}}]},"9":{"line":108,"type":"if","locations":[{"start":{"line":108,"column":12},"end":{"line":108,"column":12}},{"start":{"line":108,"column":12},"end":{"line":108,"column":12}}]},"10":{"line":121,"type":"if","locations":[{"start":{"line":121,"column":12},"end":{"line":121,"column":12}},{"start":{"line":121,"column":12},"end":{"line":121,"column":12}}]},"11":{"line":153,"type":"binary-expr","locations":[{"start":{"line":153,"column":19},"end":{"line":153,"column":23}},{"start":{"line":153,"column":27},"end":{"line":153,"column":40}}]},"12":{"line":156,"type":"if","locations":[{"start":{"line":156,"column":12},"end":{"line":156,"column":12}},{"start":{"line":156,"column":12},"end":{"line":156,"column":12}}]},"13":{"line":172,"type":"if","locations":[{"start":{"line":172,"column":12},"end":{"line":172,"column":12}},{"start":{"line":172,"column":12},"end":{"line":172,"column":12}}]},"14":{"line":178,"type":"if","locations":[{"start":{"line":178,"column":12},"end":{"line":178,"column":12}},{"start":{"line":178,"column":12},"end":{"line":178,"column":12}}]},"15":{"line":179,"type":"cond-expr","locations":[{"start":{"line":179,"column":51},"end":{"line":179,"column":78}},{"start":{"line":179,"column":81},"end":{"line":179,"column":83}}]},"16":{"line":186,"type":"if","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":12}},{"start":{"line":186,"column":12},"end":{"line":186,"column":12}}]},"17":{"line":190,"type":"if","locations":[{"start":{"line":190,"column":12},"end":{"line":190,"column":12}},{"start":{"line":190,"column":12},"end":{"line":190,"column":12}}]},"18":{"line":207,"type":"if","locations":[{"start":{"line":207,"column":12},"end":{"line":207,"column":12}},{"start":{"line":207,"column":12},"end":{"line":207,"column":12}}]},"19":{"line":212,"type":"if","locations":[{"start":{"line":212,"column":12},"end":{"line":212,"column":12}},{"start":{"line":212,"column":12},"end":{"line":212,"column":12}}]},"20":{"line":212,"type":"binary-expr","locations":[{"start":{"line":212,"column":16},"end":{"line":212,"column":30}},{"start":{"line":212,"column":34},"end":{"line":212,"column":56}}]},"21":{"line":216,"type":"if","locations":[{"start":{"line":216,"column":12},"end":{"line":216,"column":12}},{"start":{"line":216,"column":12},"end":{"line":216,"column":12}}]},"22":{"line":216,"type":"binary-expr","locations":[{"start":{"line":216,"column":16},"end":{"line":216,"column":30}},{"start":{"line":216,"column":34},"end":{"line":216,"column":56}}]},"23":{"line":235,"type":"cond-expr","locations":[{"start":{"line":235,"column":44},"end":{"line":235,"column":58}},{"start":{"line":235,"column":61},"end":{"line":235,"column":64}}]},"24":{"line":239,"type":"cond-expr","locations":[{"start":{"line":239,"column":53},"end":{"line":239,"column":76}},{"start":{"line":239,"column":79},"end":{"line":239,"column":82}}]},"25":{"line":247,"type":"cond-expr","locations":[{"start":{"line":247,"column":46},"end":{"line":247,"column":48}},{"start":{"line":247,"column":51},"end":{"line":247,"column":92}}]},"26":{"line":269,"type":"if","locations":[{"start":{"line":269,"column":12},"end":{"line":269,"column":12}},{"start":{"line":269,"column":12},"end":{"line":269,"column":12}}]},"27":{"line":273,"type":"if","locations":[{"start":{"line":273,"column":12},"end":{"line":273,"column":12}},{"start":{"line":273,"column":12},"end":{"line":273,"column":12}}]},"28":{"line":276,"type":"if","locations":[{"start":{"line":276,"column":16},"end":{"line":276,"column":16}},{"start":{"line":276,"column":16},"end":{"line":276,"column":16}}]},"29":{"line":276,"type":"binary-expr","locations":[{"start":{"line":276,"column":20},"end":{"line":276,"column":44}},{"start":{"line":276,"column":48},"end":{"line":276,"column":68}}]},"30":{"line":285,"type":"cond-expr","locations":[{"start":{"line":285,"column":39},"end":{"line":285,"column":41}},{"start":{"line":285,"column":44},"end":{"line":285,"column":80}}]},"31":{"line":288,"type":"cond-expr","locations":[{"start":{"line":288,"column":42},"end":{"line":288,"column":44}},{"start":{"line":288,"column":47},"end":{"line":288,"column":61}}]},"32":{"line":343,"type":"if","locations":[{"start":{"line":343,"column":12},"end":{"line":343,"column":12}},{"start":{"line":343,"column":12},"end":{"line":343,"column":12}}]},"33":{"line":350,"type":"if","locations":[{"start":{"line":350,"column":12},"end":{"line":350,"column":12}},{"start":{"line":350,"column":12},"end":{"line":350,"column":12}}]}}}; +} +__cov_IKtXrLm3ZujSkoKx2Rw9KA = __cov_IKtXrLm3ZujSkoKx2Rw9KA['src/js/extensions/anchor.js']; +__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['1']++;(function(){'use strict';__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['1']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['2']++;var AnchorForm=MediumEditor.extensions.form.extend({customClassOption:null,customClassOptionText:'Button',linkValidation:false,placeholderText:'Paste or type a link',targetCheckbox:false,targetCheckboxText:'Open in new window',name:'anchor',action:'createLink',aria:'link',tagNames:['a'],contentDefault:'#',contentFA:'',init:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['2']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['3']++;MediumEditor.extensions.form.prototype.init.apply(this,arguments);__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['4']++;this.subscribe('editableKeydown',this.handleKeydown.bind(this));},handleClick:function(event){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['3']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['5']++;event.preventDefault();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['6']++;event.stopPropagation();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['7']++;var range=MediumEditor.selection.getSelectionRange(this.document);__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['8']++;if((__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['2'][0]++,range.startContainer.nodeName.toLowerCase()==='a')||(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['2'][1]++,range.endContainer.nodeName.toLowerCase()==='a')||(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['2'][2]++,MediumEditor.util.getClosestTag(MediumEditor.selection.getSelectedParentElement(range),'a'))){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['1'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['9']++;return this.execAction('unlink');}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['1'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['10']++;if(!this.isDisplayed()){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['3'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['11']++;this.showForm();}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['3'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['12']++;return false;},handleKeydown:function(event){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['4']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['13']++;if((__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['5'][0]++,MediumEditor.util.isKey(event,MediumEditor.util.keyCode.K))&&(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['5'][1]++,MediumEditor.util.isMetaCtrlKey(event))&&(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['5'][2]++,!event.shiftKey)){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['4'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['14']++;this.handleClick(event);}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['4'][1]++;}},getForm:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['5']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['15']++;if(!this.form){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['6'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['16']++;this.form=this.createForm();}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['6'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['17']++;return this.form;},getTemplate:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['6']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['18']++;var template=[''];__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['19']++;template.push('',this.getEditorOption('buttonLabels')==='fontawesome'?(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['7'][0]++,''):(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['7'][1]++,this.formSaveLabel),'');__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['20']++;template.push('',this.getEditorOption('buttonLabels')==='fontawesome'?(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['8'][0]++,''):(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['8'][1]++,this.formCloseLabel),'');__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['21']++;if(this.targetCheckbox){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['9'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['22']++;template.push('
    ','','','
    ');}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['9'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['23']++;if(this.customClassOption){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['10'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['24']++;template.push('
    ','','','
    ');}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['10'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['25']++;return template.join('');},isDisplayed:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['7']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['26']++;return MediumEditor.extensions.form.prototype.isDisplayed.apply(this);},hideForm:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['8']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['27']++;MediumEditor.extensions.form.prototype.hideForm.apply(this);__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['28']++;this.getInput().value='';},showForm:function(opts){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['9']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['29']++;var input=this.getInput(),targetCheckbox=this.getAnchorTargetCheckbox(),buttonCheckbox=this.getAnchorButtonCheckbox();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['30']++;opts=(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['11'][0]++,opts)||(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['11'][1]++,{value:''});__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['31']++;if(typeof opts==='string'){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['12'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['32']++;opts={value:opts};}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['12'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['33']++;this.base.saveSelection();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['34']++;this.hideToolbarDefaultActions();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['35']++;MediumEditor.extensions.form.prototype.showForm.apply(this);__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['36']++;this.setToolbarPosition();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['37']++;input.value=opts.value;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['38']++;input.focus();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['39']++;if(targetCheckbox){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['13'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['40']++;targetCheckbox.checked=opts.target==='_blank';}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['13'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['41']++;if(buttonCheckbox){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['14'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['42']++;var classList=opts.buttonClass?(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['15'][0]++,opts.buttonClass.split(' ')):(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['15'][1]++,[]);__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['43']++;buttonCheckbox.checked=classList.indexOf(this.customClassOption)!==-1;}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['14'][1]++;}},destroy:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['10']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['44']++;if(!this.form){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['16'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['45']++;return false;}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['16'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['46']++;if(this.form.parentNode){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['17'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['47']++;this.form.parentNode.removeChild(this.form);}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['17'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['48']++;delete this.form;},getFormOpts:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['11']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['49']++;var targetCheckbox=this.getAnchorTargetCheckbox(),buttonCheckbox=this.getAnchorButtonCheckbox(),opts={value:this.getInput().value.trim()};__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['50']++;if(this.linkValidation){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['18'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['51']++;opts.value=this.checkLinkFormat(opts.value);}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['18'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['52']++;opts.target='_self';__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['53']++;if((__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['20'][0]++,targetCheckbox)&&(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['20'][1]++,targetCheckbox.checked)){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['19'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['54']++;opts.target='_blank';}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['19'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['55']++;if((__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['22'][0]++,buttonCheckbox)&&(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['22'][1]++,buttonCheckbox.checked)){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['21'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['56']++;opts.buttonClass=this.customClassOption;}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['21'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['57']++;return opts;},doFormSave:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['12']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['58']++;var opts=this.getFormOpts();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['59']++;this.completeFormSave(opts);},completeFormSave:function(opts){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['13']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['60']++;this.base.restoreSelection();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['61']++;this.execAction(this.action,opts);__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['62']++;this.base.checkSelection();},ensureEncodedUri:function(str){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['14']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['63']++;return str===decodeURI(str)?(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['23'][0]++,encodeURI(str)):(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['23'][1]++,str);},ensureEncodedUriComponent:function(str){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['15']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['64']++;return str===decodeURIComponent(str)?(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['24'][0]++,encodeURIComponent(str)):(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['24'][1]++,str);},ensureEncodedParam:function(param){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['16']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['65']++;var split=param.split('='),key=split[0],val=split[1];__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['66']++;return key+(val===undefined?(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['25'][0]++,''):(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['25'][1]++,'='+this.ensureEncodedUriComponent(val)));},ensureEncodedQuery:function(queryString){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['17']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['67']++;return queryString.split('&').map(this.ensureEncodedParam.bind(this)).join('&');},checkLinkFormat:function(value){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['18']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['68']++;var urlSchemeRegex=/^([a-z]+:)?\/\/|^(mailto|tel|maps):|^\#/i,hasScheme=urlSchemeRegex.test(value),scheme='',telRegex=/^\+?\s?\(?(?:\d\s?\-?\)?){3,20}$/,urlParts=value.match(/^(.*?)(?:\?(.*?))?(?:#(.*))?$/),path=urlParts[1],query=urlParts[2],fragment=urlParts[3];__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['69']++;if(telRegex.test(value)){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['26'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['70']++;return'tel:'+value;}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['26'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['71']++;if(!hasScheme){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['27'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['72']++;var host=path.split('/')[0];__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['73']++;if((__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['29'][0]++,host.match(/.+(\.|:).+/))||(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['29'][1]++,host==='localhost')){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['28'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['74']++;scheme='http://';}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['28'][1]++;}}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['27'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['75']++;return scheme+this.ensureEncodedUri(path)+(query===undefined?(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['30'][0]++,''):(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['30'][1]++,'?'+this.ensureEncodedQuery(query)))+(fragment===undefined?(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['31'][0]++,''):(__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['31'][1]++,'#'+fragment));},doFormCancel:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['19']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['76']++;this.base.restoreSelection();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['77']++;this.base.checkSelection();},attachFormEvents:function(form){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['20']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['78']++;var close=form.querySelector('.medium-editor-toolbar-close'),save=form.querySelector('.medium-editor-toolbar-save'),input=form.querySelector('.medium-editor-toolbar-input');__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['79']++;this.on(form,'click',this.handleFormClick.bind(this));__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['80']++;this.on(input,'keyup',this.handleTextboxKeyup.bind(this));__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['81']++;this.on(close,'click',this.handleCloseClick.bind(this));__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['82']++;this.on(save,'click',this.handleSaveClick.bind(this),true);},createForm:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['21']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['83']++;var doc=this.document,form=doc.createElement('div');__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['84']++;form.className='medium-editor-toolbar-form';__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['85']++;form.id='medium-editor-toolbar-form-anchor-'+this.getEditorId();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['86']++;form.innerHTML=this.getTemplate();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['87']++;this.attachFormEvents(form);__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['88']++;return form;},getInput:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['22']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['89']++;return this.getForm().querySelector('input.medium-editor-toolbar-input');},getAnchorTargetCheckbox:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['23']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['90']++;return this.getForm().querySelector('.medium-editor-toolbar-anchor-target');},getAnchorButtonCheckbox:function(){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['24']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['91']++;return this.getForm().querySelector('.medium-editor-toolbar-anchor-button');},handleTextboxKeyup:function(event){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['25']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['92']++;if(event.keyCode===MediumEditor.util.keyCode.ENTER){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['32'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['93']++;event.preventDefault();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['94']++;this.doFormSave();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['95']++;return;}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['32'][1]++;}__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['96']++;if(event.keyCode===MediumEditor.util.keyCode.ESCAPE){__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['33'][0]++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['97']++;event.preventDefault();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['98']++;this.doFormCancel();}else{__cov_IKtXrLm3ZujSkoKx2Rw9KA.b['33'][1]++;}},handleFormClick:function(event){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['26']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['99']++;event.stopPropagation();},handleSaveClick:function(event){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['27']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['100']++;event.preventDefault();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['101']++;this.doFormSave();},handleCloseClick:function(event){__cov_IKtXrLm3ZujSkoKx2Rw9KA.f['28']++;__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['102']++;event.preventDefault();__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['103']++;this.doFormCancel();}});__cov_IKtXrLm3ZujSkoKx2Rw9KA.s['104']++;MediumEditor.extensions.anchor=AnchorForm;}()); diff --git a/.grunt/grunt-contrib-jasmine/src/js/extensions/auto-link.js b/.grunt/grunt-contrib-jasmine/src/js/extensions/auto-link.js new file mode 100644 index 0000000..6e686c3 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/extensions/auto-link.js @@ -0,0 +1,9 @@ + +var __cov_l0awwoc3VzomXEq0ooLCqg = (Function('return this'))(); +if (!__cov_l0awwoc3VzomXEq0ooLCqg.__coverage__) { __cov_l0awwoc3VzomXEq0ooLCqg.__coverage__ = {}; } +__cov_l0awwoc3VzomXEq0ooLCqg = __cov_l0awwoc3VzomXEq0ooLCqg.__coverage__; +if (!(__cov_l0awwoc3VzomXEq0ooLCqg['src/js/extensions/auto-link.js'])) { + __cov_l0awwoc3VzomXEq0ooLCqg['src/js/extensions/auto-link.js'] = {"path":"src/js/extensions/auto-link.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0,0],"23":[0,0,0,0],"24":[0,0,0],"25":[0,0],"26":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"nodeIsNotInsideAnchorTag","line":32,"loc":{"start":{"line":32,"column":4},"end":{"line":32,"column":44}}},"3":{"name":"(anonymous_3)","line":37,"loc":{"start":{"line":37,"column":14},"end":{"line":37,"column":26}}},"4":{"name":"(anonymous_4)","line":47,"loc":{"start":{"line":47,"column":24},"end":{"line":47,"column":36}}},"5":{"name":"(anonymous_5)","line":58,"loc":{"start":{"line":58,"column":17},"end":{"line":58,"column":29}}},"6":{"name":"(anonymous_6)","line":65,"loc":{"start":{"line":65,"column":16},"end":{"line":65,"column":47}}},"7":{"name":"(anonymous_7)","line":69,"loc":{"start":{"line":69,"column":20},"end":{"line":69,"column":45}}},"8":{"name":"(anonymous_8)","line":77,"loc":{"start":{"line":77,"column":56},"end":{"line":77,"column":68}}},"9":{"name":"(anonymous_9)","line":95,"loc":{"start":{"line":95,"column":24},"end":{"line":95,"column":51}}},"10":{"name":"(anonymous_10)","line":129,"loc":{"start":{"line":129,"column":37},"end":{"line":129,"column":56}}},"11":{"name":"(anonymous_11)","line":159,"loc":{"start":{"line":159,"column":28},"end":{"line":159,"column":63}}},"12":{"name":"(anonymous_12)","line":185,"loc":{"start":{"line":185,"column":37},"end":{"line":185,"column":56}}},"13":{"name":"(anonymous_13)","line":200,"loc":{"start":{"line":200,"column":23},"end":{"line":200,"column":44}}},"14":{"name":"(anonymous_14)","line":204,"loc":{"start":{"line":204,"column":77},"end":{"line":204,"column":93}}},"15":{"name":"(anonymous_15)","line":212,"loc":{"start":{"line":212,"column":26},"end":{"line":212,"column":53}}},"16":{"name":"(anonymous_16)","line":238,"loc":{"start":{"line":238,"column":24},"end":{"line":238,"column":51}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":253,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":8,"column":20}},"3":{"start":{"line":10,"column":4},"end":{"line":11,"column":56}},"4":{"start":{"line":12,"column":4},"end":{"line":19,"column":109}},"5":{"start":{"line":21,"column":4},"end":{"line":26,"column":77}},"6":{"start":{"line":28,"column":4},"end":{"line":28,"column":75}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":53}},"8":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"9":{"start":{"line":33,"column":8},"end":{"line":33,"column":59}},"10":{"start":{"line":36,"column":4},"end":{"line":250,"column":7}},"11":{"start":{"line":38,"column":12},"end":{"line":38,"column":73}},"12":{"start":{"line":40,"column":12},"end":{"line":40,"column":46}},"13":{"start":{"line":41,"column":12},"end":{"line":41,"column":75}},"14":{"start":{"line":42,"column":12},"end":{"line":42,"column":67}},"15":{"start":{"line":44,"column":12},"end":{"line":44,"column":69}},"16":{"start":{"line":48,"column":12},"end":{"line":48,"column":36}},"17":{"start":{"line":49,"column":12},"end":{"line":54,"column":13}},"18":{"start":{"line":50,"column":16},"end":{"line":50,"column":59}},"19":{"start":{"line":51,"column":16},"end":{"line":53,"column":17}},"20":{"start":{"line":52,"column":20},"end":{"line":52,"column":38}},"21":{"start":{"line":55,"column":12},"end":{"line":55,"column":41}},"22":{"start":{"line":60,"column":12},"end":{"line":62,"column":13}},"23":{"start":{"line":61,"column":16},"end":{"line":61,"column":72}},"24":{"start":{"line":66,"column":12},"end":{"line":66,"column":42}},"25":{"start":{"line":70,"column":12},"end":{"line":72,"column":13}},"26":{"start":{"line":71,"column":16},"end":{"line":71,"column":23}},"27":{"start":{"line":74,"column":12},"end":{"line":92,"column":13}},"28":{"start":{"line":75,"column":16},"end":{"line":75,"column":57}},"29":{"start":{"line":77,"column":16},"end":{"line":91,"column":33}},"30":{"start":{"line":78,"column":20},"end":{"line":90,"column":21}},"31":{"start":{"line":79,"column":24},"end":{"line":79,"column":62}},"32":{"start":{"line":80,"column":24},"end":{"line":84,"column":25}},"33":{"start":{"line":83,"column":28},"end":{"line":83,"column":65}},"34":{"start":{"line":86,"column":24},"end":{"line":88,"column":25}},"35":{"start":{"line":87,"column":28},"end":{"line":87,"column":81}},"36":{"start":{"line":89,"column":24},"end":{"line":89,"column":57}},"37":{"start":{"line":116,"column":12},"end":{"line":117,"column":41}},"38":{"start":{"line":118,"column":12},"end":{"line":120,"column":13}},"39":{"start":{"line":119,"column":16},"end":{"line":119,"column":50}},"40":{"start":{"line":121,"column":12},"end":{"line":124,"column":13}},"41":{"start":{"line":122,"column":16},"end":{"line":122,"column":106}},"42":{"start":{"line":123,"column":16},"end":{"line":123,"column":106}},"43":{"start":{"line":125,"column":12},"end":{"line":125,"column":119}},"44":{"start":{"line":126,"column":12},"end":{"line":126,"column":36}},"45":{"start":{"line":130,"column":12},"end":{"line":132,"column":13}},"46":{"start":{"line":131,"column":16},"end":{"line":131,"column":29}},"47":{"start":{"line":134,"column":12},"end":{"line":135,"column":41}},"48":{"start":{"line":137,"column":12},"end":{"line":155,"column":13}},"49":{"start":{"line":138,"column":16},"end":{"line":138,"column":55}},"50":{"start":{"line":139,"column":16},"end":{"line":141,"column":17}},"51":{"start":{"line":140,"column":20},"end":{"line":140,"column":86}},"52":{"start":{"line":142,"column":16},"end":{"line":154,"column":17}},"53":{"start":{"line":143,"column":20},"end":{"line":143,"column":44}},"54":{"start":{"line":144,"column":20},"end":{"line":144,"column":77}},"55":{"start":{"line":145,"column":20},"end":{"line":153,"column":21}},"56":{"start":{"line":146,"column":24},"end":{"line":147,"column":136}},"57":{"start":{"line":148,"column":24},"end":{"line":148,"column":88}},"58":{"start":{"line":152,"column":24},"end":{"line":152,"column":74}},"59":{"start":{"line":156,"column":12},"end":{"line":156,"column":36}},"60":{"start":{"line":160,"column":12},"end":{"line":161,"column":45}},"61":{"start":{"line":164,"column":12},"end":{"line":166,"column":13}},"62":{"start":{"line":165,"column":16},"end":{"line":165,"column":72}},"63":{"start":{"line":168,"column":12},"end":{"line":170,"column":29}},"64":{"start":{"line":171,"column":12},"end":{"line":181,"column":13}},"65":{"start":{"line":172,"column":16},"end":{"line":172,"column":53}},"66":{"start":{"line":173,"column":16},"end":{"line":173,"column":57}},"67":{"start":{"line":174,"column":16},"end":{"line":180,"column":17}},"68":{"start":{"line":175,"column":20},"end":{"line":175,"column":99}},"69":{"start":{"line":176,"column":20},"end":{"line":176,"column":39}},"70":{"start":{"line":178,"column":20},"end":{"line":178,"column":61}},"71":{"start":{"line":179,"column":20},"end":{"line":179,"column":62}},"72":{"start":{"line":182,"column":12},"end":{"line":182,"column":32}},"73":{"start":{"line":186,"column":12},"end":{"line":187,"column":36}},"74":{"start":{"line":189,"column":12},"end":{"line":196,"column":13}},"75":{"start":{"line":190,"column":16},"end":{"line":191,"column":45}},"76":{"start":{"line":192,"column":16},"end":{"line":194,"column":17}},"77":{"start":{"line":193,"column":20},"end":{"line":193,"column":29}},"78":{"start":{"line":195,"column":16},"end":{"line":195,"column":81}},"79":{"start":{"line":197,"column":12},"end":{"line":197,"column":31}},"80":{"start":{"line":201,"column":12},"end":{"line":201,"column":38}},"81":{"start":{"line":202,"column":12},"end":{"line":208,"column":13}},"82":{"start":{"line":204,"column":16},"end":{"line":207,"column":19}},"83":{"start":{"line":205,"column":20},"end":{"line":206,"column":94}},"84":{"start":{"line":209,"column":12},"end":{"line":209,"column":33}},"85":{"start":{"line":213,"column":12},"end":{"line":215,"column":29}},"86":{"start":{"line":217,"column":12},"end":{"line":234,"column":13}},"87":{"start":{"line":218,"column":16},"end":{"line":219,"column":61}},"88":{"start":{"line":221,"column":16},"end":{"line":222,"column":112}},"89":{"start":{"line":224,"column":16},"end":{"line":225,"column":90}},"90":{"start":{"line":227,"column":16},"end":{"line":233,"column":17}},"91":{"start":{"line":228,"column":20},"end":{"line":232,"column":23}},"92":{"start":{"line":235,"column":12},"end":{"line":235,"column":27}},"93":{"start":{"line":239,"column":12},"end":{"line":239,"column":64}},"94":{"start":{"line":240,"column":12},"end":{"line":241,"column":59}},"95":{"start":{"line":242,"column":12},"end":{"line":242,"column":56}},"96":{"start":{"line":243,"column":12},"end":{"line":243,"column":49}},"97":{"start":{"line":244,"column":12},"end":{"line":244,"column":57}},"98":{"start":{"line":245,"column":12},"end":{"line":247,"column":13}},"99":{"start":{"line":246,"column":16},"end":{"line":246,"column":55}},"100":{"start":{"line":252,"column":4},"end":{"line":252,"column":48}}},"branchMap":{"1":{"line":51,"type":"if","locations":[{"start":{"line":51,"column":16},"end":{"line":51,"column":16}},{"start":{"line":51,"column":16},"end":{"line":51,"column":16}}]},"2":{"line":51,"type":"binary-expr","locations":[{"start":{"line":51,"column":20},"end":{"line":51,"column":35}},{"start":{"line":51,"column":39},"end":{"line":51,"column":90}}]},"3":{"line":60,"type":"if","locations":[{"start":{"line":60,"column":12},"end":{"line":60,"column":12}},{"start":{"line":60,"column":12},"end":{"line":60,"column":12}}]},"4":{"line":60,"type":"binary-expr","locations":[{"start":{"line":60,"column":16},"end":{"line":60,"column":68}},{"start":{"line":60,"column":72},"end":{"line":60,"column":93}}]},"5":{"line":70,"type":"if","locations":[{"start":{"line":70,"column":12},"end":{"line":70,"column":12}},{"start":{"line":70,"column":12},"end":{"line":70,"column":12}}]},"6":{"line":74,"type":"if","locations":[{"start":{"line":74,"column":12},"end":{"line":74,"column":12}},{"start":{"line":74,"column":12},"end":{"line":74,"column":12}}]},"7":{"line":80,"type":"if","locations":[{"start":{"line":80,"column":24},"end":{"line":80,"column":24}},{"start":{"line":80,"column":24},"end":{"line":80,"column":24}}]},"8":{"line":86,"type":"if","locations":[{"start":{"line":86,"column":24},"end":{"line":86,"column":24}},{"start":{"line":86,"column":24},"end":{"line":86,"column":24}}]},"9":{"line":118,"type":"if","locations":[{"start":{"line":118,"column":12},"end":{"line":118,"column":12}},{"start":{"line":118,"column":12},"end":{"line":118,"column":12}}]},"10":{"line":122,"type":"binary-expr","locations":[{"start":{"line":122,"column":35},"end":{"line":122,"column":85}},{"start":{"line":122,"column":89},"end":{"line":122,"column":105}}]},"11":{"line":123,"type":"binary-expr","locations":[{"start":{"line":123,"column":35},"end":{"line":123,"column":85}},{"start":{"line":123,"column":89},"end":{"line":123,"column":105}}]},"12":{"line":130,"type":"if","locations":[{"start":{"line":130,"column":12},"end":{"line":130,"column":12}},{"start":{"line":130,"column":12},"end":{"line":130,"column":12}}]},"13":{"line":130,"type":"binary-expr","locations":[{"start":{"line":130,"column":16},"end":{"line":130,"column":24}},{"start":{"line":130,"column":28},"end":{"line":130,"column":50}}]},"14":{"line":139,"type":"if","locations":[{"start":{"line":139,"column":16},"end":{"line":139,"column":16}},{"start":{"line":139,"column":16},"end":{"line":139,"column":16}}]},"15":{"line":142,"type":"if","locations":[{"start":{"line":142,"column":16},"end":{"line":142,"column":16}},{"start":{"line":142,"column":16},"end":{"line":142,"column":16}}]},"16":{"line":142,"type":"binary-expr","locations":[{"start":{"line":142,"column":20},"end":{"line":142,"column":70}},{"start":{"line":142,"column":74},"end":{"line":142,"column":108}}]},"17":{"line":145,"type":"if","locations":[{"start":{"line":145,"column":20},"end":{"line":145,"column":20}},{"start":{"line":145,"column":20},"end":{"line":145,"column":20}}]},"18":{"line":171,"type":"binary-expr","locations":[{"start":{"line":171,"column":19},"end":{"line":171,"column":37}},{"start":{"line":171,"column":41},"end":{"line":171,"column":62}}]},"19":{"line":174,"type":"if","locations":[{"start":{"line":174,"column":16},"end":{"line":174,"column":16}},{"start":{"line":174,"column":16},"end":{"line":174,"column":16}}]},"20":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":16},"end":{"line":192,"column":16}},{"start":{"line":192,"column":16},"end":{"line":192,"column":16}}]},"21":{"line":202,"type":"binary-expr","locations":[{"start":{"line":202,"column":28},"end":{"line":202,"column":48}},{"start":{"line":202,"column":52},"end":{"line":202,"column":75}}]},"22":{"line":205,"type":"binary-expr","locations":[{"start":{"line":205,"column":27},"end":{"line":205,"column":62}},{"start":{"line":206,"column":25},"end":{"line":206,"column":42}},{"start":{"line":206,"column":46},"end":{"line":206,"column":92}}]},"23":{"line":221,"type":"binary-expr","locations":[{"start":{"line":221,"column":27},"end":{"line":221,"column":44}},{"start":{"line":221,"column":48},"end":{"line":221,"column":109}},{"start":{"line":222,"column":21},"end":{"line":222,"column":52}},{"start":{"line":222,"column":56},"end":{"line":222,"column":110}}]},"24":{"line":224,"type":"binary-expr","locations":[{"start":{"line":224,"column":26},"end":{"line":224,"column":33}},{"start":{"line":224,"column":38},"end":{"line":224,"column":66}},{"start":{"line":225,"column":20},"end":{"line":225,"column":88}}]},"25":{"line":227,"type":"if","locations":[{"start":{"line":227,"column":16},"end":{"line":227,"column":16}},{"start":{"line":227,"column":16},"end":{"line":227,"column":16}}]},"26":{"line":240,"type":"cond-expr","locations":[{"start":{"line":240,"column":124},"end":{"line":240,"column":132}},{"start":{"line":240,"column":135},"end":{"line":240,"column":139}}]}}}; +} +__cov_l0awwoc3VzomXEq0ooLCqg = __cov_l0awwoc3VzomXEq0ooLCqg['src/js/extensions/auto-link.js']; +__cov_l0awwoc3VzomXEq0ooLCqg.s['1']++;(function(){'use strict';__cov_l0awwoc3VzomXEq0ooLCqg.f['1']++;__cov_l0awwoc3VzomXEq0ooLCqg.s['2']++;var WHITESPACE_CHARS,KNOWN_TLDS_FRAGMENT,LINK_REGEXP_TEXT,KNOWN_TLDS_REGEXP,LINK_REGEXP;__cov_l0awwoc3VzomXEq0ooLCqg.s['3']++;WHITESPACE_CHARS=[' ','\t','\n','\r','\xA0','\u2000','\u2001','\u2002','\u2003','\u2028','\u2029'];__cov_l0awwoc3VzomXEq0ooLCqg.s['4']++;KNOWN_TLDS_FRAGMENT='com|net|org|edu|gov|mil|aero|asia|biz|cat|coop|info|int|jobs|mobi|museum|name|post|pro|tel|travel|'+'xxx|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|'+'bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|'+'fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|'+'is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|'+'mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|'+'pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|ja|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|'+'tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw';__cov_l0awwoc3VzomXEq0ooLCqg.s['5']++;LINK_REGEXP_TEXT='('+'((?:(https?://|ftps?://|nntp://)|www\\d{0,3}[.]|[a-z0-9.\\-]+[.]('+KNOWN_TLDS_FRAGMENT+')\\/)\\S+(?:[^\\s`!\\[\\]{};:\'".,?\xAB\xBB\u201C\u201D\u2018\u2019]))'+')|(([a-z0-9\\-]+\\.)?[a-z0-9\\-]+\\.('+KNOWN_TLDS_FRAGMENT+'))';__cov_l0awwoc3VzomXEq0ooLCqg.s['6']++;KNOWN_TLDS_REGEXP=new RegExp('^('+KNOWN_TLDS_FRAGMENT+')$','i');__cov_l0awwoc3VzomXEq0ooLCqg.s['7']++;LINK_REGEXP=new RegExp(LINK_REGEXP_TEXT,'gi');function nodeIsNotInsideAnchorTag(node){__cov_l0awwoc3VzomXEq0ooLCqg.f['2']++;__cov_l0awwoc3VzomXEq0ooLCqg.s['9']++;return!MediumEditor.util.getClosestTag(node,'a');}__cov_l0awwoc3VzomXEq0ooLCqg.s['10']++;var AutoLink=MediumEditor.Extension.extend({init:function(){__cov_l0awwoc3VzomXEq0ooLCqg.f['3']++;__cov_l0awwoc3VzomXEq0ooLCqg.s['11']++;MediumEditor.Extension.prototype.init.apply(this,arguments);__cov_l0awwoc3VzomXEq0ooLCqg.s['12']++;this.disableEventHandling=false;__cov_l0awwoc3VzomXEq0ooLCqg.s['13']++;this.subscribe('editableKeypress',this.onKeypress.bind(this));__cov_l0awwoc3VzomXEq0ooLCqg.s['14']++;this.subscribe('editableBlur',this.onBlur.bind(this));__cov_l0awwoc3VzomXEq0ooLCqg.s['15']++;this.document.execCommand('AutoUrlDetect',false,false);},isLastInstance:function(){__cov_l0awwoc3VzomXEq0ooLCqg.f['4']++;__cov_l0awwoc3VzomXEq0ooLCqg.s['16']++;var activeInstances=0;__cov_l0awwoc3VzomXEq0ooLCqg.s['17']++;for(var i=0;i0)&&(__cov_l0awwoc3VzomXEq0ooLCqg.b['18'][1]++,previousNode!==null)){__cov_l0awwoc3VzomXEq0ooLCqg.s['65']++;currentNode=treeWalker.currentNode;__cov_l0awwoc3VzomXEq0ooLCqg.s['66']++;currentNodeValue=currentNode.nodeValue;__cov_l0awwoc3VzomXEq0ooLCqg.s['67']++;if(currentNodeValue.length>characterCount){__cov_l0awwoc3VzomXEq0ooLCqg.b['19'][0]++;__cov_l0awwoc3VzomXEq0ooLCqg.s['68']++;previousNode=currentNode.splitText(currentNodeValue.length-characterCount);__cov_l0awwoc3VzomXEq0ooLCqg.s['69']++;characterCount=0;}else{__cov_l0awwoc3VzomXEq0ooLCqg.b['19'][1]++;__cov_l0awwoc3VzomXEq0ooLCqg.s['70']++;previousNode=treeWalker.previousNode();__cov_l0awwoc3VzomXEq0ooLCqg.s['71']++;characterCount-=currentNodeValue.length;}}__cov_l0awwoc3VzomXEq0ooLCqg.s['72']++;return previousNode;},performLinkingWithinElement:function(element){__cov_l0awwoc3VzomXEq0ooLCqg.f['12']++;__cov_l0awwoc3VzomXEq0ooLCqg.s['73']++;var matches=this.findLinkableText(element),linkCreated=false;__cov_l0awwoc3VzomXEq0ooLCqg.s['74']++;for(var matchIndex=0;matchIndex1){__cov_l0awwoc3VzomXEq0ooLCqg.s['99']++;span.appendChild(anchor.childNodes[1]);}}});__cov_l0awwoc3VzomXEq0ooLCqg.s['100']++;MediumEditor.extensions.autoLink=AutoLink;}()); diff --git a/.grunt/grunt-contrib-jasmine/src/js/extensions/button.js b/.grunt/grunt-contrib-jasmine/src/js/extensions/button.js new file mode 100644 index 0000000..907d30a --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/extensions/button.js @@ -0,0 +1,9 @@ + +var __cov_WjoB$ph_$x1ln1VmUaYJzg = (Function('return this'))(); +if (!__cov_WjoB$ph_$x1ln1VmUaYJzg.__coverage__) { __cov_WjoB$ph_$x1ln1VmUaYJzg.__coverage__ = {}; } +__cov_WjoB$ph_$x1ln1VmUaYJzg = __cov_WjoB$ph_$x1ln1VmUaYJzg.__coverage__; +if (!(__cov_WjoB$ph_$x1ln1VmUaYJzg['src/js/extensions/button.js'])) { + __cov_WjoB$ph_$x1ln1VmUaYJzg['src/js/extensions/button.js'] = {"path":"src/js/extensions/button.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":92,"loc":{"start":{"line":92,"column":21},"end":{"line":92,"column":40}}},"3":{"name":"(anonymous_3)","line":100,"loc":{"start":{"line":100,"column":14},"end":{"line":100,"column":26}}},"4":{"name":"(anonymous_4)","line":114,"loc":{"start":{"line":114,"column":19},"end":{"line":114,"column":31}}},"5":{"name":"(anonymous_5)","line":118,"loc":{"start":{"line":118,"column":19},"end":{"line":118,"column":31}}},"6":{"name":"(anonymous_6)","line":122,"loc":{"start":{"line":122,"column":17},"end":{"line":122,"column":29}}},"7":{"name":"(anonymous_7)","line":126,"loc":{"start":{"line":126,"column":21},"end":{"line":126,"column":33}}},"8":{"name":"(anonymous_8)","line":130,"loc":{"start":{"line":130,"column":22},"end":{"line":130,"column":34}}},"9":{"name":"(anonymous_9)","line":139,"loc":{"start":{"line":139,"column":39},"end":{"line":139,"column":60}}},"10":{"name":"(anonymous_10)","line":151,"loc":{"start":{"line":151,"column":48},"end":{"line":151,"column":64}}},"11":{"name":"(anonymous_11)","line":163,"loc":{"start":{"line":163,"column":21},"end":{"line":163,"column":38}}},"12":{"name":"(anonymous_12)","line":174,"loc":{"start":{"line":174,"column":18},"end":{"line":174,"column":30}}},"13":{"name":"(anonymous_13)","line":178,"loc":{"start":{"line":178,"column":21},"end":{"line":178,"column":33}}},"14":{"name":"(anonymous_14)","line":183,"loc":{"start":{"line":183,"column":19},"end":{"line":183,"column":31}}},"15":{"name":"(anonymous_15)","line":188,"loc":{"start":{"line":188,"column":27},"end":{"line":188,"column":39}}},"16":{"name":"(anonymous_16)","line":196,"loc":{"start":{"line":196,"column":26},"end":{"line":196,"column":42}}},"17":{"name":"(anonymous_17)","line":213,"loc":{"start":{"line":213,"column":34},"end":{"line":213,"column":49}}},"18":{"name":"(anonymous_18)","line":230,"loc":{"start":{"line":230,"column":29},"end":{"line":230,"column":45}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":235,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":228,"column":7}},"3":{"start":{"line":93,"column":12},"end":{"line":97,"column":13}},"4":{"start":{"line":94,"column":16},"end":{"line":94,"column":74}},"5":{"start":{"line":96,"column":16},"end":{"line":96,"column":59}},"6":{"start":{"line":101,"column":12},"end":{"line":101,"column":73}},"7":{"start":{"line":103,"column":12},"end":{"line":103,"column":46}},"8":{"start":{"line":104,"column":12},"end":{"line":104,"column":71}},"9":{"start":{"line":115,"column":12},"end":{"line":115,"column":31}},"10":{"start":{"line":119,"column":12},"end":{"line":119,"column":102}},"11":{"start":{"line":123,"column":12},"end":{"line":123,"column":96}},"12":{"start":{"line":127,"column":12},"end":{"line":127,"column":108}},"13":{"start":{"line":131,"column":12},"end":{"line":134,"column":68}},"14":{"start":{"line":136,"column":12},"end":{"line":136,"column":57}},"15":{"start":{"line":137,"column":12},"end":{"line":137,"column":70}},"16":{"start":{"line":138,"column":12},"end":{"line":142,"column":13}},"17":{"start":{"line":139,"column":16},"end":{"line":141,"column":19}},"18":{"start":{"line":140,"column":20},"end":{"line":140,"column":52}},"19":{"start":{"line":145,"column":12},"end":{"line":145,"column":65}},"20":{"start":{"line":146,"column":12},"end":{"line":149,"column":13}},"21":{"start":{"line":147,"column":16},"end":{"line":147,"column":56}},"22":{"start":{"line":148,"column":16},"end":{"line":148,"column":61}},"23":{"start":{"line":150,"column":12},"end":{"line":154,"column":13}},"24":{"start":{"line":151,"column":16},"end":{"line":153,"column":25}},"25":{"start":{"line":152,"column":20},"end":{"line":152,"column":64}},"26":{"start":{"line":156,"column":12},"end":{"line":158,"column":13}},"27":{"start":{"line":157,"column":16},"end":{"line":157,"column":41}},"28":{"start":{"line":159,"column":12},"end":{"line":159,"column":39}},"29":{"start":{"line":160,"column":12},"end":{"line":160,"column":26}},"30":{"start":{"line":164,"column":12},"end":{"line":164,"column":35}},"31":{"start":{"line":165,"column":12},"end":{"line":165,"column":36}},"32":{"start":{"line":167,"column":12},"end":{"line":167,"column":42}},"33":{"start":{"line":169,"column":12},"end":{"line":171,"column":13}},"34":{"start":{"line":170,"column":16},"end":{"line":170,"column":40}},"35":{"start":{"line":175,"column":12},"end":{"line":175,"column":93}},"36":{"start":{"line":179,"column":12},"end":{"line":179,"column":84}},"37":{"start":{"line":180,"column":12},"end":{"line":180,"column":35}},"38":{"start":{"line":184,"column":12},"end":{"line":184,"column":81}},"39":{"start":{"line":185,"column":12},"end":{"line":185,"column":35}},"40":{"start":{"line":189,"column":12},"end":{"line":189,"column":34}},"41":{"start":{"line":190,"column":12},"end":{"line":192,"column":13}},"42":{"start":{"line":191,"column":16},"end":{"line":191,"column":75}},"43":{"start":{"line":193,"column":12},"end":{"line":193,"column":30}},"44":{"start":{"line":197,"column":12},"end":{"line":200,"column":30}},"45":{"start":{"line":202,"column":12},"end":{"line":204,"column":13}},"46":{"start":{"line":203,"column":16},"end":{"line":203,"column":39}},"47":{"start":{"line":206,"column":12},"end":{"line":208,"column":13}},"48":{"start":{"line":207,"column":16},"end":{"line":207,"column":79}},"49":{"start":{"line":210,"column":12},"end":{"line":224,"column":13}},"50":{"start":{"line":211,"column":16},"end":{"line":211,"column":56}},"51":{"start":{"line":212,"column":16},"end":{"line":212,"column":107}},"52":{"start":{"line":213,"column":16},"end":{"line":223,"column":25}},"53":{"start":{"line":214,"column":20},"end":{"line":222,"column":21}},"54":{"start":{"line":215,"column":24},"end":{"line":215,"column":70}},"55":{"start":{"line":219,"column":24},"end":{"line":221,"column":25}},"56":{"start":{"line":220,"column":28},"end":{"line":220,"column":54}},"57":{"start":{"line":226,"column":12},"end":{"line":226,"column":27}},"58":{"start":{"line":230,"column":4},"end":{"line":232,"column":6}},"59":{"start":{"line":231,"column":8},"end":{"line":231,"column":116}},"60":{"start":{"line":234,"column":4},"end":{"line":234,"column":44}}},"branchMap":{"1":{"line":93,"type":"if","locations":[{"start":{"line":93,"column":12},"end":{"line":93,"column":12}},{"start":{"line":93,"column":12},"end":{"line":93,"column":12}}]},"2":{"line":119,"type":"cond-expr","locations":[{"start":{"line":119,"column":57},"end":{"line":119,"column":87}},{"start":{"line":119,"column":90},"end":{"line":119,"column":101}}]},"3":{"line":123,"type":"cond-expr","locations":[{"start":{"line":123,"column":55},"end":{"line":123,"column":83}},{"start":{"line":123,"column":86},"end":{"line":123,"column":95}}]},"4":{"line":127,"type":"cond-expr","locations":[{"start":{"line":127,"column":59},"end":{"line":127,"column":91}},{"start":{"line":127,"column":94},"end":{"line":127,"column":107}}]},"5":{"line":138,"type":"if","locations":[{"start":{"line":138,"column":12},"end":{"line":138,"column":12}},{"start":{"line":138,"column":12},"end":{"line":138,"column":12}}]},"6":{"line":146,"type":"if","locations":[{"start":{"line":146,"column":12},"end":{"line":146,"column":12}},{"start":{"line":146,"column":12},"end":{"line":146,"column":12}}]},"7":{"line":150,"type":"if","locations":[{"start":{"line":150,"column":12},"end":{"line":150,"column":12}},{"start":{"line":150,"column":12},"end":{"line":150,"column":12}}]},"8":{"line":156,"type":"if","locations":[{"start":{"line":156,"column":12},"end":{"line":156,"column":12}},{"start":{"line":156,"column":12},"end":{"line":156,"column":12}}]},"9":{"line":156,"type":"binary-expr","locations":[{"start":{"line":156,"column":16},"end":{"line":156,"column":46}},{"start":{"line":156,"column":50},"end":{"line":156,"column":64}}]},"10":{"line":169,"type":"if","locations":[{"start":{"line":169,"column":12},"end":{"line":169,"column":12}},{"start":{"line":169,"column":12},"end":{"line":169,"column":12}}]},"11":{"line":190,"type":"if","locations":[{"start":{"line":190,"column":12},"end":{"line":190,"column":12}},{"start":{"line":190,"column":12},"end":{"line":190,"column":12}}]},"12":{"line":202,"type":"if","locations":[{"start":{"line":202,"column":12},"end":{"line":202,"column":12}},{"start":{"line":202,"column":12},"end":{"line":202,"column":12}}]},"13":{"line":202,"type":"binary-expr","locations":[{"start":{"line":202,"column":16},"end":{"line":202,"column":41}},{"start":{"line":202,"column":45},"end":{"line":202,"column":69}}]},"14":{"line":206,"type":"if","locations":[{"start":{"line":206,"column":12},"end":{"line":206,"column":12}},{"start":{"line":206,"column":12},"end":{"line":206,"column":12}}]},"15":{"line":206,"type":"binary-expr","locations":[{"start":{"line":206,"column":16},"end":{"line":206,"column":24}},{"start":{"line":206,"column":28},"end":{"line":206,"column":47}}]},"16":{"line":210,"type":"if","locations":[{"start":{"line":210,"column":12},"end":{"line":210,"column":12}},{"start":{"line":210,"column":12},"end":{"line":210,"column":12}}]},"17":{"line":210,"type":"binary-expr","locations":[{"start":{"line":210,"column":16},"end":{"line":210,"column":24}},{"start":{"line":210,"column":28},"end":{"line":210,"column":38}}]},"18":{"line":214,"type":"if","locations":[{"start":{"line":214,"column":20},"end":{"line":214,"column":20}},{"start":{"line":214,"column":20},"end":{"line":214,"column":20}}]},"19":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":24},"end":{"line":219,"column":24}},{"start":{"line":219,"column":24},"end":{"line":219,"column":24}}]},"20":{"line":219,"type":"binary-expr","locations":[{"start":{"line":219,"column":28},"end":{"line":219,"column":35}},{"start":{"line":219,"column":39},"end":{"line":219,"column":76}}]},"21":{"line":231,"type":"binary-expr","locations":[{"start":{"line":231,"column":16},"end":{"line":231,"column":40}},{"start":{"line":231,"column":45},"end":{"line":231,"column":115}}]}}}; +} +__cov_WjoB$ph_$x1ln1VmUaYJzg = __cov_WjoB$ph_$x1ln1VmUaYJzg['src/js/extensions/button.js']; +__cov_WjoB$ph_$x1ln1VmUaYJzg.s['1']++;(function(){'use strict';__cov_WjoB$ph_$x1ln1VmUaYJzg.f['1']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['2']++;var Button=MediumEditor.Extension.extend({action:undefined,aria:undefined,tagNames:undefined,style:undefined,useQueryState:undefined,contentDefault:undefined,contentFA:undefined,classList:undefined,attrs:undefined,constructor:function(options){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['2']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['3']++;if(Button.isBuiltInButton(options)){__cov_WjoB$ph_$x1ln1VmUaYJzg.b['1'][0]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['4']++;MediumEditor.Extension.call(this,this.defaults[options]);}else{__cov_WjoB$ph_$x1ln1VmUaYJzg.b['1'][1]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['5']++;MediumEditor.Extension.call(this,options);}},init:function(){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['3']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['6']++;MediumEditor.Extension.prototype.init.apply(this,arguments);__cov_WjoB$ph_$x1ln1VmUaYJzg.s['7']++;this.button=this.createButton();__cov_WjoB$ph_$x1ln1VmUaYJzg.s['8']++;this.on(this.button,'click',this.handleClick.bind(this));},getButton:function(){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['4']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['9']++;return this.button;},getAction:function(){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['5']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['10']++;return typeof this.action==='function'?(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['2'][0]++,this.action(this.base.options)):(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['2'][1]++,this.action);},getAria:function(){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['6']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['11']++;return typeof this.aria==='function'?(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['3'][0]++,this.aria(this.base.options)):(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['3'][1]++,this.aria);},getTagNames:function(){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['7']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['12']++;return typeof this.tagNames==='function'?(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['4'][0]++,this.tagNames(this.base.options)):(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['4'][1]++,this.tagNames);},createButton:function(){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['8']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['13']++;var button=this.document.createElement('button'),content=this.contentDefault,ariaLabel=this.getAria(),buttonLabels=this.getEditorOption('buttonLabels');__cov_WjoB$ph_$x1ln1VmUaYJzg.s['14']++;button.classList.add('medium-editor-action');__cov_WjoB$ph_$x1ln1VmUaYJzg.s['15']++;button.classList.add('medium-editor-action-'+this.name);__cov_WjoB$ph_$x1ln1VmUaYJzg.s['16']++;if(this.classList){__cov_WjoB$ph_$x1ln1VmUaYJzg.b['5'][0]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['17']++;this.classList.forEach(function(className){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['9']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['18']++;button.classList.add(className);});}else{__cov_WjoB$ph_$x1ln1VmUaYJzg.b['5'][1]++;}__cov_WjoB$ph_$x1ln1VmUaYJzg.s['19']++;button.setAttribute('data-action',this.getAction());__cov_WjoB$ph_$x1ln1VmUaYJzg.s['20']++;if(ariaLabel){__cov_WjoB$ph_$x1ln1VmUaYJzg.b['6'][0]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['21']++;button.setAttribute('title',ariaLabel);__cov_WjoB$ph_$x1ln1VmUaYJzg.s['22']++;button.setAttribute('aria-label',ariaLabel);}else{__cov_WjoB$ph_$x1ln1VmUaYJzg.b['6'][1]++;}__cov_WjoB$ph_$x1ln1VmUaYJzg.s['23']++;if(this.attrs){__cov_WjoB$ph_$x1ln1VmUaYJzg.b['7'][0]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['24']++;Object.keys(this.attrs).forEach(function(attr){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['10']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['25']++;button.setAttribute(attr,this.attrs[attr]);},this);}else{__cov_WjoB$ph_$x1ln1VmUaYJzg.b['7'][1]++;}__cov_WjoB$ph_$x1ln1VmUaYJzg.s['26']++;if((__cov_WjoB$ph_$x1ln1VmUaYJzg.b['9'][0]++,buttonLabels==='fontawesome')&&(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['9'][1]++,this.contentFA)){__cov_WjoB$ph_$x1ln1VmUaYJzg.b['8'][0]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['27']++;content=this.contentFA;}else{__cov_WjoB$ph_$x1ln1VmUaYJzg.b['8'][1]++;}__cov_WjoB$ph_$x1ln1VmUaYJzg.s['28']++;button.innerHTML=content;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['29']++;return button;},handleClick:function(event){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['11']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['30']++;event.preventDefault();__cov_WjoB$ph_$x1ln1VmUaYJzg.s['31']++;event.stopPropagation();__cov_WjoB$ph_$x1ln1VmUaYJzg.s['32']++;var action=this.getAction();__cov_WjoB$ph_$x1ln1VmUaYJzg.s['33']++;if(action){__cov_WjoB$ph_$x1ln1VmUaYJzg.b['10'][0]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['34']++;this.execAction(action);}else{__cov_WjoB$ph_$x1ln1VmUaYJzg.b['10'][1]++;}},isActive:function(){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['12']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['35']++;return this.button.classList.contains(this.getEditorOption('activeButtonClass'));},setInactive:function(){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['13']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['36']++;this.button.classList.remove(this.getEditorOption('activeButtonClass'));__cov_WjoB$ph_$x1ln1VmUaYJzg.s['37']++;delete this.knownState;},setActive:function(){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['14']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['38']++;this.button.classList.add(this.getEditorOption('activeButtonClass'));__cov_WjoB$ph_$x1ln1VmUaYJzg.s['39']++;delete this.knownState;},queryCommandState:function(){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['15']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['40']++;var queryState=null;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['41']++;if(this.useQueryState){__cov_WjoB$ph_$x1ln1VmUaYJzg.b['11'][0]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['42']++;queryState=this.base.queryCommandState(this.getAction());}else{__cov_WjoB$ph_$x1ln1VmUaYJzg.b['11'][1]++;}__cov_WjoB$ph_$x1ln1VmUaYJzg.s['43']++;return queryState;},isAlreadyApplied:function(node){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['16']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['44']++;var isMatch=false,tagNames=this.getTagNames(),styleVals,computedStyle;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['45']++;if((__cov_WjoB$ph_$x1ln1VmUaYJzg.b['13'][0]++,this.knownState===false)||(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['13'][1]++,this.knownState===true)){__cov_WjoB$ph_$x1ln1VmUaYJzg.b['12'][0]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['46']++;return this.knownState;}else{__cov_WjoB$ph_$x1ln1VmUaYJzg.b['12'][1]++;}__cov_WjoB$ph_$x1ln1VmUaYJzg.s['47']++;if((__cov_WjoB$ph_$x1ln1VmUaYJzg.b['15'][0]++,tagNames)&&(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['15'][1]++,tagNames.length>0)){__cov_WjoB$ph_$x1ln1VmUaYJzg.b['14'][0]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['48']++;isMatch=tagNames.indexOf(node.nodeName.toLowerCase())!==-1;}else{__cov_WjoB$ph_$x1ln1VmUaYJzg.b['14'][1]++;}__cov_WjoB$ph_$x1ln1VmUaYJzg.s['49']++;if((__cov_WjoB$ph_$x1ln1VmUaYJzg.b['17'][0]++,!isMatch)&&(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['17'][1]++,this.style)){__cov_WjoB$ph_$x1ln1VmUaYJzg.b['16'][0]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['50']++;styleVals=this.style.value.split('|');__cov_WjoB$ph_$x1ln1VmUaYJzg.s['51']++;computedStyle=this.window.getComputedStyle(node,null).getPropertyValue(this.style.prop);__cov_WjoB$ph_$x1ln1VmUaYJzg.s['52']++;styleVals.forEach(function(val){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['17']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['53']++;if(!this.knownState){__cov_WjoB$ph_$x1ln1VmUaYJzg.b['18'][0]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['54']++;isMatch=computedStyle.indexOf(val)!==-1;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['55']++;if((__cov_WjoB$ph_$x1ln1VmUaYJzg.b['20'][0]++,isMatch)||(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['20'][1]++,this.style.prop!=='text-decoration')){__cov_WjoB$ph_$x1ln1VmUaYJzg.b['19'][0]++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['56']++;this.knownState=isMatch;}else{__cov_WjoB$ph_$x1ln1VmUaYJzg.b['19'][1]++;}}else{__cov_WjoB$ph_$x1ln1VmUaYJzg.b['18'][1]++;}},this);}else{__cov_WjoB$ph_$x1ln1VmUaYJzg.b['16'][1]++;}__cov_WjoB$ph_$x1ln1VmUaYJzg.s['57']++;return isMatch;}});__cov_WjoB$ph_$x1ln1VmUaYJzg.s['58']++;Button.isBuiltInButton=function(name){__cov_WjoB$ph_$x1ln1VmUaYJzg.f['18']++;__cov_WjoB$ph_$x1ln1VmUaYJzg.s['59']++;return(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['21'][0]++,typeof name==='string')&&(__cov_WjoB$ph_$x1ln1VmUaYJzg.b['21'][1]++,MediumEditor.extensions.button.prototype.defaults.hasOwnProperty(name));};__cov_WjoB$ph_$x1ln1VmUaYJzg.s['60']++;MediumEditor.extensions.button=Button;}()); diff --git a/.grunt/grunt-contrib-jasmine/src/js/extensions/file-dragging.js b/.grunt/grunt-contrib-jasmine/src/js/extensions/file-dragging.js new file mode 100644 index 0000000..2bd4fe9 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/extensions/file-dragging.js @@ -0,0 +1,9 @@ + +var __cov_NgpPtVldrvrIB9L8xGl26Q = (Function('return this'))(); +if (!__cov_NgpPtVldrvrIB9L8xGl26Q.__coverage__) { __cov_NgpPtVldrvrIB9L8xGl26Q.__coverage__ = {}; } +__cov_NgpPtVldrvrIB9L8xGl26Q = __cov_NgpPtVldrvrIB9L8xGl26Q.__coverage__; +if (!(__cov_NgpPtVldrvrIB9L8xGl26Q['src/js/extensions/file-dragging.js'])) { + __cov_NgpPtVldrvrIB9L8xGl26Q['src/js/extensions/file-dragging.js'] = {"path":"src/js/extensions/file-dragging.js","s":{"1":0,"2":0,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":2},"end":{"line":1,"column":33}}},"2":{"name":"clearClassNames","line":5,"loc":{"start":{"line":5,"column":4},"end":{"line":5,"column":38}}},"3":{"name":"(anonymous_3)","line":9,"loc":{"start":{"line":9,"column":25},"end":{"line":9,"column":39}}},"4":{"name":"(anonymous_4)","line":19,"loc":{"start":{"line":19,"column":14},"end":{"line":19,"column":26}}},"5":{"name":"(anonymous_5)","line":26,"loc":{"start":{"line":26,"column":20},"end":{"line":26,"column":37}}},"6":{"name":"(anonymous_6)","line":40,"loc":{"start":{"line":40,"column":20},"end":{"line":40,"column":37}}},"7":{"name":"(anonymous_7)","line":53,"loc":{"start":{"line":53,"column":77},"end":{"line":53,"column":93}}},"8":{"name":"(anonymous_8)","line":66,"loc":{"start":{"line":66,"column":23},"end":{"line":66,"column":39}}},"9":{"name":"(anonymous_9)","line":67,"loc":{"start":{"line":67,"column":42},"end":{"line":67,"column":62}}},"10":{"name":"(anonymous_10)","line":72,"loc":{"start":{"line":72,"column":25},"end":{"line":72,"column":41}}},"11":{"name":"(anonymous_11)","line":80,"loc":{"start":{"line":80,"column":48},"end":{"line":80,"column":61}}}},"statementMap":{"1":{"start":{"line":1,"column":1},"end":{"line":89,"column":24}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":51}},"3":{"start":{"line":5,"column":4},"end":{"line":12,"column":5}},"4":{"start":{"line":6,"column":8},"end":{"line":7,"column":114}},"5":{"start":{"line":9,"column":8},"end":{"line":11,"column":11}},"6":{"start":{"line":10,"column":12},"end":{"line":10,"column":49}},"7":{"start":{"line":14,"column":4},"end":{"line":86,"column":7}},"8":{"start":{"line":20,"column":12},"end":{"line":20,"column":73}},"9":{"start":{"line":22,"column":12},"end":{"line":22,"column":71}},"10":{"start":{"line":23,"column":12},"end":{"line":23,"column":71}},"11":{"start":{"line":27,"column":12},"end":{"line":27,"column":35}},"12":{"start":{"line":28,"column":12},"end":{"line":28,"column":51}},"13":{"start":{"line":30,"column":12},"end":{"line":30,"column":92}},"14":{"start":{"line":33,"column":12},"end":{"line":33,"column":36}},"15":{"start":{"line":35,"column":12},"end":{"line":37,"column":13}},"16":{"start":{"line":36,"column":16},"end":{"line":36,"column":54}},"17":{"start":{"line":42,"column":12},"end":{"line":42,"column":35}},"18":{"start":{"line":43,"column":12},"end":{"line":43,"column":36}},"19":{"start":{"line":46,"column":12},"end":{"line":46,"column":50}},"20":{"start":{"line":47,"column":12},"end":{"line":47,"column":56}},"21":{"start":{"line":48,"column":12},"end":{"line":48,"column":44}},"22":{"start":{"line":49,"column":12},"end":{"line":49,"column":49}},"23":{"start":{"line":52,"column":12},"end":{"line":60,"column":13}},"24":{"start":{"line":53,"column":16},"end":{"line":59,"column":25}},"25":{"start":{"line":54,"column":20},"end":{"line":58,"column":21}},"26":{"start":{"line":55,"column":24},"end":{"line":57,"column":25}},"27":{"start":{"line":56,"column":28},"end":{"line":56,"column":55}},"28":{"start":{"line":63,"column":12},"end":{"line":63,"column":42}},"29":{"start":{"line":67,"column":12},"end":{"line":69,"column":15}},"30":{"start":{"line":68,"column":16},"end":{"line":68,"column":51}},"31":{"start":{"line":73,"column":12},"end":{"line":75,"column":13}},"32":{"start":{"line":74,"column":16},"end":{"line":74,"column":23}},"33":{"start":{"line":76,"column":12},"end":{"line":76,"column":46}},"34":{"start":{"line":77,"column":12},"end":{"line":77,"column":43}},"35":{"start":{"line":80,"column":12},"end":{"line":84,"column":26}},"36":{"start":{"line":81,"column":16},"end":{"line":81,"column":73}},"37":{"start":{"line":82,"column":16},"end":{"line":82,"column":54}},"38":{"start":{"line":83,"column":16},"end":{"line":83,"column":94}},"39":{"start":{"line":88,"column":4},"end":{"line":88,"column":56}}},"branchMap":{"1":{"line":30,"type":"cond-expr","locations":[{"start":{"line":30,"column":50},"end":{"line":30,"column":62}},{"start":{"line":30,"column":65},"end":{"line":30,"column":91}}]},"2":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":12},"end":{"line":35,"column":12}},{"start":{"line":35,"column":12},"end":{"line":35,"column":12}}]},"3":{"line":52,"type":"if","locations":[{"start":{"line":52,"column":12},"end":{"line":52,"column":12}},{"start":{"line":52,"column":12},"end":{"line":52,"column":12}}]},"4":{"line":54,"type":"if","locations":[{"start":{"line":54,"column":20},"end":{"line":54,"column":20}},{"start":{"line":54,"column":20},"end":{"line":54,"column":20}}]},"5":{"line":55,"type":"if","locations":[{"start":{"line":55,"column":24},"end":{"line":55,"column":24}},{"start":{"line":55,"column":24},"end":{"line":55,"column":24}}]},"6":{"line":73,"type":"if","locations":[{"start":{"line":73,"column":12},"end":{"line":73,"column":12}},{"start":{"line":73,"column":12},"end":{"line":73,"column":12}}]}}}; +} +__cov_NgpPtVldrvrIB9L8xGl26Q = __cov_NgpPtVldrvrIB9L8xGl26Q['src/js/extensions/file-dragging.js']; +;__cov_NgpPtVldrvrIB9L8xGl26Q.s['1']++;(function($,document,window){'use strict';__cov_NgpPtVldrvrIB9L8xGl26Q.f['1']++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['2']++;var CLASS_DRAG_OVER='medium-editor-dragover';function clearClassNames(element){__cov_NgpPtVldrvrIB9L8xGl26Q.f['2']++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['4']++;var editable=MediumEditor.util.getContainerEditorElement(element),existing=Array.prototype.slice.call(editable.parentElement.querySelectorAll('.'+CLASS_DRAG_OVER));__cov_NgpPtVldrvrIB9L8xGl26Q.s['5']++;existing.forEach(function(el){__cov_NgpPtVldrvrIB9L8xGl26Q.f['3']++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['6']++;el.classList.remove(CLASS_DRAG_OVER);});}__cov_NgpPtVldrvrIB9L8xGl26Q.s['7']++;var FileDragging=MediumEditor.Extension.extend({name:'fileDragging',allowedTypes:['image'],init:function(){__cov_NgpPtVldrvrIB9L8xGl26Q.f['4']++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['8']++;MediumEditor.Extension.prototype.init.apply(this,arguments);__cov_NgpPtVldrvrIB9L8xGl26Q.s['9']++;this.subscribe('editableDrag',this.handleDrag.bind(this));__cov_NgpPtVldrvrIB9L8xGl26Q.s['10']++;this.subscribe('editableDrop',this.handleDrop.bind(this));},handleDrag:function(event){__cov_NgpPtVldrvrIB9L8xGl26Q.f['5']++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['11']++;event.preventDefault();__cov_NgpPtVldrvrIB9L8xGl26Q.s['12']++;event.dataTransfer.dropEffect='copy';__cov_NgpPtVldrvrIB9L8xGl26Q.s['13']++;var target=event.target.classList?(__cov_NgpPtVldrvrIB9L8xGl26Q.b['1'][0]++,event.target):(__cov_NgpPtVldrvrIB9L8xGl26Q.b['1'][1]++,event.target.parentElement);__cov_NgpPtVldrvrIB9L8xGl26Q.s['14']++;clearClassNames(target);__cov_NgpPtVldrvrIB9L8xGl26Q.s['15']++;if(event.type==='dragover'){__cov_NgpPtVldrvrIB9L8xGl26Q.b['2'][0]++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['16']++;target.classList.add(CLASS_DRAG_OVER);}else{__cov_NgpPtVldrvrIB9L8xGl26Q.b['2'][1]++;}},handleDrop:function(event){__cov_NgpPtVldrvrIB9L8xGl26Q.f['6']++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['17']++;event.preventDefault();__cov_NgpPtVldrvrIB9L8xGl26Q.s['18']++;event.stopPropagation();__cov_NgpPtVldrvrIB9L8xGl26Q.s['19']++;this.base.selectElement(event.target);__cov_NgpPtVldrvrIB9L8xGl26Q.s['20']++;var selection=this.base.exportSelection();__cov_NgpPtVldrvrIB9L8xGl26Q.s['21']++;selection.start=selection.end;__cov_NgpPtVldrvrIB9L8xGl26Q.s['22']++;this.base.importSelection(selection);__cov_NgpPtVldrvrIB9L8xGl26Q.s['23']++;if(event.dataTransfer.files){__cov_NgpPtVldrvrIB9L8xGl26Q.b['3'][0]++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['24']++;Array.prototype.slice.call(event.dataTransfer.files).forEach(function(file){__cov_NgpPtVldrvrIB9L8xGl26Q.f['7']++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['25']++;if(this.isAllowedFile(file)){__cov_NgpPtVldrvrIB9L8xGl26Q.b['4'][0]++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['26']++;if(file.type.match('image')){__cov_NgpPtVldrvrIB9L8xGl26Q.b['5'][0]++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['27']++;this.insertImageFile(file);}else{__cov_NgpPtVldrvrIB9L8xGl26Q.b['5'][1]++;}}else{__cov_NgpPtVldrvrIB9L8xGl26Q.b['4'][1]++;}},this);}else{__cov_NgpPtVldrvrIB9L8xGl26Q.b['3'][1]++;}__cov_NgpPtVldrvrIB9L8xGl26Q.s['28']++;clearClassNames(event.target);},isAllowedFile:function(file){__cov_NgpPtVldrvrIB9L8xGl26Q.f['8']++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['29']++;return this.allowedTypes.some(function(fileType){__cov_NgpPtVldrvrIB9L8xGl26Q.f['9']++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['30']++;return!!file.type.match(fileType);});},insertImageFile:function(file){__cov_NgpPtVldrvrIB9L8xGl26Q.f['10']++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['31']++;if(typeof FileReader!=='function'){__cov_NgpPtVldrvrIB9L8xGl26Q.b['6'][0]++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['32']++;return;}else{__cov_NgpPtVldrvrIB9L8xGl26Q.b['6'][1]++;}__cov_NgpPtVldrvrIB9L8xGl26Q.s['33']++;var fileReader=new FileReader();__cov_NgpPtVldrvrIB9L8xGl26Q.s['34']++;fileReader.readAsDataURL(file);__cov_NgpPtVldrvrIB9L8xGl26Q.s['35']++;fileReader.addEventListener('load',function(e){__cov_NgpPtVldrvrIB9L8xGl26Q.f['11']++;__cov_NgpPtVldrvrIB9L8xGl26Q.s['36']++;var addImageElement=this.document.createElement('img');__cov_NgpPtVldrvrIB9L8xGl26Q.s['37']++;addImageElement.src=e.target.result;__cov_NgpPtVldrvrIB9L8xGl26Q.s['38']++;MediumEditor.util.insertHTMLCommand(this.document,addImageElement.outerHTML);}.bind(this));}});__cov_NgpPtVldrvrIB9L8xGl26Q.s['39']++;MediumEditor.extensions.fileDragging=FileDragging;}($,document,window)); diff --git a/.grunt/grunt-contrib-jasmine/src/js/extensions/fontname.js b/.grunt/grunt-contrib-jasmine/src/js/extensions/fontname.js new file mode 100644 index 0000000..3eed4c8 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/extensions/fontname.js @@ -0,0 +1,9 @@ + +var __cov_sW1_0lNGl_zgde4VK3pFNg = (Function('return this'))(); +if (!__cov_sW1_0lNGl_zgde4VK3pFNg.__coverage__) { __cov_sW1_0lNGl_zgde4VK3pFNg.__coverage__ = {}; } +__cov_sW1_0lNGl_zgde4VK3pFNg = __cov_sW1_0lNGl_zgde4VK3pFNg.__coverage__; +if (!(__cov_sW1_0lNGl_zgde4VK3pFNg['src/js/extensions/fontname.js'])) { + __cov_sW1_0lNGl_zgde4VK3pFNg['src/js/extensions/fontname.js'] = {"path":"src/js/extensions/fontname.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":14,"loc":{"start":{"line":14,"column":14},"end":{"line":14,"column":26}}},"3":{"name":"(anonymous_3)","line":20,"loc":{"start":{"line":20,"column":21},"end":{"line":20,"column":38}}},"4":{"name":"(anonymous_4)","line":34,"loc":{"start":{"line":34,"column":17},"end":{"line":34,"column":29}}},"5":{"name":"(anonymous_5)","line":42,"loc":{"start":{"line":42,"column":21},"end":{"line":42,"column":33}}},"6":{"name":"(anonymous_6)","line":46,"loc":{"start":{"line":46,"column":18},"end":{"line":46,"column":30}}},"7":{"name":"(anonymous_7)","line":51,"loc":{"start":{"line":51,"column":18},"end":{"line":51,"column":38}}},"8":{"name":"(anonymous_8)","line":64,"loc":{"start":{"line":64,"column":17},"end":{"line":64,"column":29}}},"9":{"name":"(anonymous_9)","line":78,"loc":{"start":{"line":78,"column":20},"end":{"line":78,"column":32}}},"10":{"name":"(anonymous_10)","line":83,"loc":{"start":{"line":83,"column":22},"end":{"line":83,"column":34}}},"11":{"name":"(anonymous_11)","line":90,"loc":{"start":{"line":90,"column":20},"end":{"line":90,"column":32}}},"12":{"name":"(anonymous_12)","line":144,"loc":{"start":{"line":144,"column":19},"end":{"line":144,"column":31}}},"13":{"name":"(anonymous_13)","line":148,"loc":{"start":{"line":148,"column":23},"end":{"line":148,"column":35}}},"14":{"name":"(anonymous_14)","line":149,"loc":{"start":{"line":149,"column":78},"end":{"line":149,"column":92}}},"15":{"name":"(anonymous_15)","line":156,"loc":{"start":{"line":156,"column":26},"end":{"line":156,"column":38}}},"16":{"name":"(anonymous_16)","line":165,"loc":{"start":{"line":165,"column":25},"end":{"line":165,"column":42}}},"17":{"name":"(anonymous_17)","line":170,"loc":{"start":{"line":170,"column":25},"end":{"line":170,"column":42}}},"18":{"name":"(anonymous_18)","line":176,"loc":{"start":{"line":176,"column":26},"end":{"line":176,"column":43}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":184,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":181,"column":7}},"3":{"start":{"line":15,"column":12},"end":{"line":15,"column":79}},"4":{"start":{"line":21,"column":12},"end":{"line":21,"column":35}},"5":{"start":{"line":22,"column":12},"end":{"line":22,"column":36}},"6":{"start":{"line":24,"column":12},"end":{"line":28,"column":13}},"7":{"start":{"line":26,"column":16},"end":{"line":26,"column":80}},"8":{"start":{"line":27,"column":16},"end":{"line":27,"column":40}},"9":{"start":{"line":30,"column":12},"end":{"line":30,"column":25}},"10":{"start":{"line":35,"column":12},"end":{"line":37,"column":13}},"11":{"start":{"line":36,"column":16},"end":{"line":36,"column":46}},"12":{"start":{"line":38,"column":12},"end":{"line":38,"column":29}},"13":{"start":{"line":43,"column":12},"end":{"line":43,"column":60}},"14":{"start":{"line":47,"column":12},"end":{"line":47,"column":50}},"15":{"start":{"line":48,"column":12},"end":{"line":48,"column":40}},"16":{"start":{"line":52,"column":12},"end":{"line":52,"column":42}},"17":{"start":{"line":54,"column":12},"end":{"line":54,"column":38}},"18":{"start":{"line":55,"column":12},"end":{"line":55,"column":45}},"19":{"start":{"line":56,"column":12},"end":{"line":56,"column":51}},"20":{"start":{"line":57,"column":12},"end":{"line":57,"column":38}},"21":{"start":{"line":59,"column":12},"end":{"line":59,"column":42}},"22":{"start":{"line":60,"column":12},"end":{"line":60,"column":27}},"23":{"start":{"line":65,"column":12},"end":{"line":67,"column":13}},"24":{"start":{"line":66,"column":16},"end":{"line":66,"column":29}},"25":{"start":{"line":69,"column":12},"end":{"line":71,"column":13}},"26":{"start":{"line":70,"column":16},"end":{"line":70,"column":60}},"27":{"start":{"line":73,"column":12},"end":{"line":73,"column":29}},"28":{"start":{"line":79,"column":12},"end":{"line":79,"column":41}},"29":{"start":{"line":80,"column":12},"end":{"line":80,"column":39}},"30":{"start":{"line":84,"column":12},"end":{"line":84,"column":41}},"31":{"start":{"line":85,"column":12},"end":{"line":85,"column":33}},"32":{"start":{"line":86,"column":12},"end":{"line":86,"column":39}},"33":{"start":{"line":91,"column":12},"end":{"line":96,"column":23}},"34":{"start":{"line":99,"column":12},"end":{"line":99,"column":58}},"35":{"start":{"line":100,"column":12},"end":{"line":100,"column":82}},"36":{"start":{"line":103,"column":12},"end":{"line":103,"column":68}},"37":{"start":{"line":106,"column":12},"end":{"line":111,"column":13}},"38":{"start":{"line":107,"column":16},"end":{"line":107,"column":53}},"39":{"start":{"line":108,"column":16},"end":{"line":108,"column":49}},"40":{"start":{"line":109,"column":16},"end":{"line":109,"column":45}},"41":{"start":{"line":110,"column":16},"end":{"line":110,"column":43}},"42":{"start":{"line":113,"column":12},"end":{"line":113,"column":62}},"43":{"start":{"line":114,"column":12},"end":{"line":114,"column":37}},"44":{"start":{"line":117,"column":12},"end":{"line":117,"column":72}},"45":{"start":{"line":120,"column":12},"end":{"line":120,"column":43}},"46":{"start":{"line":121,"column":12},"end":{"line":121,"column":57}},"47":{"start":{"line":122,"column":12},"end":{"line":124,"column":40}},"48":{"start":{"line":125,"column":12},"end":{"line":125,"column":35}},"49":{"start":{"line":128,"column":12},"end":{"line":128,"column":74}},"50":{"start":{"line":131,"column":12},"end":{"line":131,"column":44}},"51":{"start":{"line":132,"column":12},"end":{"line":132,"column":59}},"52":{"start":{"line":133,"column":12},"end":{"line":135,"column":40}},"53":{"start":{"line":136,"column":12},"end":{"line":136,"column":36}},"54":{"start":{"line":139,"column":12},"end":{"line":139,"column":70}},"55":{"start":{"line":141,"column":12},"end":{"line":141,"column":24}},"56":{"start":{"line":145,"column":12},"end":{"line":145,"column":87}},"57":{"start":{"line":149,"column":12},"end":{"line":153,"column":15}},"58":{"start":{"line":150,"column":16},"end":{"line":152,"column":17}},"59":{"start":{"line":151,"column":20},"end":{"line":151,"column":47}},"60":{"start":{"line":157,"column":12},"end":{"line":157,"column":46}},"61":{"start":{"line":158,"column":12},"end":{"line":162,"column":13}},"62":{"start":{"line":159,"column":16},"end":{"line":159,"column":37}},"63":{"start":{"line":161,"column":16},"end":{"line":161,"column":61}},"64":{"start":{"line":167,"column":12},"end":{"line":167,"column":36}},"65":{"start":{"line":172,"column":12},"end":{"line":172,"column":35}},"66":{"start":{"line":173,"column":12},"end":{"line":173,"column":30}},"67":{"start":{"line":178,"column":12},"end":{"line":178,"column":35}},"68":{"start":{"line":179,"column":12},"end":{"line":179,"column":32}},"69":{"start":{"line":183,"column":4},"end":{"line":183,"column":52}}},"branchMap":{"1":{"line":24,"type":"if","locations":[{"start":{"line":24,"column":12},"end":{"line":24,"column":12}},{"start":{"line":24,"column":12},"end":{"line":24,"column":12}}]},"2":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":12},"end":{"line":35,"column":12}},{"start":{"line":35,"column":12},"end":{"line":35,"column":12}}]},"3":{"line":59,"type":"binary-expr","locations":[{"start":{"line":59,"column":27},"end":{"line":59,"column":35}},{"start":{"line":59,"column":39},"end":{"line":59,"column":41}}]},"4":{"line":65,"type":"if","locations":[{"start":{"line":65,"column":12},"end":{"line":65,"column":12}},{"start":{"line":65,"column":12},"end":{"line":65,"column":12}}]},"5":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":12},"end":{"line":69,"column":12}},{"start":{"line":69,"column":12},"end":{"line":69,"column":12}}]},"6":{"line":122,"type":"cond-expr","locations":[{"start":{"line":123,"column":29},"end":{"line":123,"column":58}},{"start":{"line":124,"column":29},"end":{"line":124,"column":39}}]},"7":{"line":133,"type":"cond-expr","locations":[{"start":{"line":134,"column":30},"end":{"line":134,"column":59}},{"start":{"line":135,"column":30},"end":{"line":135,"column":39}}]},"8":{"line":150,"type":"if","locations":[{"start":{"line":150,"column":16},"end":{"line":150,"column":16}},{"start":{"line":150,"column":16},"end":{"line":150,"column":16}}]},"9":{"line":150,"type":"binary-expr","locations":[{"start":{"line":150,"column":20},"end":{"line":150,"column":56}},{"start":{"line":150,"column":60},"end":{"line":150,"column":83}}]},"10":{"line":158,"type":"if","locations":[{"start":{"line":158,"column":12},"end":{"line":158,"column":12}},{"start":{"line":158,"column":12},"end":{"line":158,"column":12}}]}}}; +} +__cov_sW1_0lNGl_zgde4VK3pFNg = __cov_sW1_0lNGl_zgde4VK3pFNg['src/js/extensions/fontname.js']; +__cov_sW1_0lNGl_zgde4VK3pFNg.s['1']++;(function(){'use strict';__cov_sW1_0lNGl_zgde4VK3pFNg.f['1']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['2']++;var FontNameForm=MediumEditor.extensions.form.extend({name:'fontname',action:'fontName',aria:'change font name',contentDefault:'±',contentFA:'',fonts:['','Arial','Verdana','Times New Roman'],init:function(){__cov_sW1_0lNGl_zgde4VK3pFNg.f['2']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['3']++;MediumEditor.extensions.form.prototype.init.apply(this,arguments);},handleClick:function(event){__cov_sW1_0lNGl_zgde4VK3pFNg.f['3']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['4']++;event.preventDefault();__cov_sW1_0lNGl_zgde4VK3pFNg.s['5']++;event.stopPropagation();__cov_sW1_0lNGl_zgde4VK3pFNg.s['6']++;if(!this.isDisplayed()){__cov_sW1_0lNGl_zgde4VK3pFNg.b['1'][0]++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['7']++;var fontName=this.document.queryCommandValue('fontName')+'';__cov_sW1_0lNGl_zgde4VK3pFNg.s['8']++;this.showForm(fontName);}else{__cov_sW1_0lNGl_zgde4VK3pFNg.b['1'][1]++;}__cov_sW1_0lNGl_zgde4VK3pFNg.s['9']++;return false;},getForm:function(){__cov_sW1_0lNGl_zgde4VK3pFNg.f['4']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['10']++;if(!this.form){__cov_sW1_0lNGl_zgde4VK3pFNg.b['2'][0]++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['11']++;this.form=this.createForm();}else{__cov_sW1_0lNGl_zgde4VK3pFNg.b['2'][1]++;}__cov_sW1_0lNGl_zgde4VK3pFNg.s['12']++;return this.form;},isDisplayed:function(){__cov_sW1_0lNGl_zgde4VK3pFNg.f['5']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['13']++;return this.getForm().style.display==='block';},hideForm:function(){__cov_sW1_0lNGl_zgde4VK3pFNg.f['6']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['14']++;this.getForm().style.display='none';__cov_sW1_0lNGl_zgde4VK3pFNg.s['15']++;this.getSelect().value='';},showForm:function(fontName){__cov_sW1_0lNGl_zgde4VK3pFNg.f['7']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['16']++;var select=this.getSelect();__cov_sW1_0lNGl_zgde4VK3pFNg.s['17']++;this.base.saveSelection();__cov_sW1_0lNGl_zgde4VK3pFNg.s['18']++;this.hideToolbarDefaultActions();__cov_sW1_0lNGl_zgde4VK3pFNg.s['19']++;this.getForm().style.display='block';__cov_sW1_0lNGl_zgde4VK3pFNg.s['20']++;this.setToolbarPosition();__cov_sW1_0lNGl_zgde4VK3pFNg.s['21']++;select.value=(__cov_sW1_0lNGl_zgde4VK3pFNg.b['3'][0]++,fontName)||(__cov_sW1_0lNGl_zgde4VK3pFNg.b['3'][1]++,'');__cov_sW1_0lNGl_zgde4VK3pFNg.s['22']++;select.focus();},destroy:function(){__cov_sW1_0lNGl_zgde4VK3pFNg.f['8']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['23']++;if(!this.form){__cov_sW1_0lNGl_zgde4VK3pFNg.b['4'][0]++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['24']++;return false;}else{__cov_sW1_0lNGl_zgde4VK3pFNg.b['4'][1]++;}__cov_sW1_0lNGl_zgde4VK3pFNg.s['25']++;if(this.form.parentNode){__cov_sW1_0lNGl_zgde4VK3pFNg.b['5'][0]++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['26']++;this.form.parentNode.removeChild(this.form);}else{__cov_sW1_0lNGl_zgde4VK3pFNg.b['5'][1]++;}__cov_sW1_0lNGl_zgde4VK3pFNg.s['27']++;delete this.form;},doFormSave:function(){__cov_sW1_0lNGl_zgde4VK3pFNg.f['9']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['28']++;this.base.restoreSelection();__cov_sW1_0lNGl_zgde4VK3pFNg.s['29']++;this.base.checkSelection();},doFormCancel:function(){__cov_sW1_0lNGl_zgde4VK3pFNg.f['10']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['30']++;this.base.restoreSelection();__cov_sW1_0lNGl_zgde4VK3pFNg.s['31']++;this.clearFontName();__cov_sW1_0lNGl_zgde4VK3pFNg.s['32']++;this.base.checkSelection();},createForm:function(){__cov_sW1_0lNGl_zgde4VK3pFNg.f['11']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['33']++;var doc=this.document,form=doc.createElement('div'),select=doc.createElement('select'),close=doc.createElement('a'),save=doc.createElement('a'),option;__cov_sW1_0lNGl_zgde4VK3pFNg.s['34']++;form.className='medium-editor-toolbar-form';__cov_sW1_0lNGl_zgde4VK3pFNg.s['35']++;form.id='medium-editor-toolbar-form-fontname-'+this.getEditorId();__cov_sW1_0lNGl_zgde4VK3pFNg.s['36']++;this.on(form,'click',this.handleFormClick.bind(this));__cov_sW1_0lNGl_zgde4VK3pFNg.s['37']++;for(var i=0;i
    '):(__cov_sW1_0lNGl_zgde4VK3pFNg.b['6'][1]++,'✓');__cov_sW1_0lNGl_zgde4VK3pFNg.s['48']++;form.appendChild(save);__cov_sW1_0lNGl_zgde4VK3pFNg.s['49']++;this.on(save,'click',this.handleSaveClick.bind(this),true);__cov_sW1_0lNGl_zgde4VK3pFNg.s['50']++;close.setAttribute('href','#');__cov_sW1_0lNGl_zgde4VK3pFNg.s['51']++;close.className='medium-editor-toobar-close';__cov_sW1_0lNGl_zgde4VK3pFNg.s['52']++;close.innerHTML=this.getEditorOption('buttonLabels')==='fontawesome'?(__cov_sW1_0lNGl_zgde4VK3pFNg.b['7'][0]++,''):(__cov_sW1_0lNGl_zgde4VK3pFNg.b['7'][1]++,'×');__cov_sW1_0lNGl_zgde4VK3pFNg.s['53']++;form.appendChild(close);__cov_sW1_0lNGl_zgde4VK3pFNg.s['54']++;this.on(close,'click',this.handleCloseClick.bind(this));__cov_sW1_0lNGl_zgde4VK3pFNg.s['55']++;return form;},getSelect:function(){__cov_sW1_0lNGl_zgde4VK3pFNg.f['12']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['56']++;return this.getForm().querySelector('select.medium-editor-toolbar-select');},clearFontName:function(){__cov_sW1_0lNGl_zgde4VK3pFNg.f['13']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['57']++;MediumEditor.selection.getSelectedElements(this.document).forEach(function(el){__cov_sW1_0lNGl_zgde4VK3pFNg.f['14']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['58']++;if((__cov_sW1_0lNGl_zgde4VK3pFNg.b['9'][0]++,el.nodeName.toLowerCase()==='font')&&(__cov_sW1_0lNGl_zgde4VK3pFNg.b['9'][1]++,el.hasAttribute('face'))){__cov_sW1_0lNGl_zgde4VK3pFNg.b['8'][0]++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['59']++;el.removeAttribute('face');}else{__cov_sW1_0lNGl_zgde4VK3pFNg.b['8'][1]++;}});},handleFontChange:function(){__cov_sW1_0lNGl_zgde4VK3pFNg.f['15']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['60']++;var font=this.getSelect().value;__cov_sW1_0lNGl_zgde4VK3pFNg.s['61']++;if(font===''){__cov_sW1_0lNGl_zgde4VK3pFNg.b['10'][0]++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['62']++;this.clearFontName();}else{__cov_sW1_0lNGl_zgde4VK3pFNg.b['10'][1]++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['63']++;this.execAction('fontName',{value:font});}},handleFormClick:function(event){__cov_sW1_0lNGl_zgde4VK3pFNg.f['16']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['64']++;event.stopPropagation();},handleSaveClick:function(event){__cov_sW1_0lNGl_zgde4VK3pFNg.f['17']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['65']++;event.preventDefault();__cov_sW1_0lNGl_zgde4VK3pFNg.s['66']++;this.doFormSave();},handleCloseClick:function(event){__cov_sW1_0lNGl_zgde4VK3pFNg.f['18']++;__cov_sW1_0lNGl_zgde4VK3pFNg.s['67']++;event.preventDefault();__cov_sW1_0lNGl_zgde4VK3pFNg.s['68']++;this.doFormCancel();}});__cov_sW1_0lNGl_zgde4VK3pFNg.s['69']++;MediumEditor.extensions.fontName=FontNameForm;}()); diff --git a/.grunt/grunt-contrib-jasmine/src/js/extensions/fontsize.js b/.grunt/grunt-contrib-jasmine/src/js/extensions/fontsize.js new file mode 100644 index 0000000..d599529 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/extensions/fontsize.js @@ -0,0 +1,9 @@ + +var __cov_7yG8JwdPubRgcAo$gwmgwQ = (Function('return this'))(); +if (!__cov_7yG8JwdPubRgcAo$gwmgwQ.__coverage__) { __cov_7yG8JwdPubRgcAo$gwmgwQ.__coverage__ = {}; } +__cov_7yG8JwdPubRgcAo$gwmgwQ = __cov_7yG8JwdPubRgcAo$gwmgwQ.__coverage__; +if (!(__cov_7yG8JwdPubRgcAo$gwmgwQ['src/js/extensions/fontsize.js'])) { + __cov_7yG8JwdPubRgcAo$gwmgwQ['src/js/extensions/fontsize.js'] = {"path":"src/js/extensions/fontsize.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":12,"loc":{"start":{"line":12,"column":14},"end":{"line":12,"column":26}}},"3":{"name":"(anonymous_3)","line":18,"loc":{"start":{"line":18,"column":21},"end":{"line":18,"column":38}}},"4":{"name":"(anonymous_4)","line":32,"loc":{"start":{"line":32,"column":17},"end":{"line":32,"column":29}}},"5":{"name":"(anonymous_5)","line":40,"loc":{"start":{"line":40,"column":21},"end":{"line":40,"column":33}}},"6":{"name":"(anonymous_6)","line":44,"loc":{"start":{"line":44,"column":18},"end":{"line":44,"column":30}}},"7":{"name":"(anonymous_7)","line":49,"loc":{"start":{"line":49,"column":18},"end":{"line":49,"column":38}}},"8":{"name":"(anonymous_8)","line":62,"loc":{"start":{"line":62,"column":17},"end":{"line":62,"column":29}}},"9":{"name":"(anonymous_9)","line":76,"loc":{"start":{"line":76,"column":20},"end":{"line":76,"column":32}}},"10":{"name":"(anonymous_10)","line":81,"loc":{"start":{"line":81,"column":22},"end":{"line":81,"column":34}}},"11":{"name":"(anonymous_11)","line":88,"loc":{"start":{"line":88,"column":20},"end":{"line":88,"column":32}}},"12":{"name":"(anonymous_12)","line":137,"loc":{"start":{"line":137,"column":18},"end":{"line":137,"column":30}}},"13":{"name":"(anonymous_13)","line":141,"loc":{"start":{"line":141,"column":23},"end":{"line":141,"column":35}}},"14":{"name":"(anonymous_14)","line":142,"loc":{"start":{"line":142,"column":78},"end":{"line":142,"column":92}}},"15":{"name":"(anonymous_15)","line":149,"loc":{"start":{"line":149,"column":28},"end":{"line":149,"column":40}}},"16":{"name":"(anonymous_16)","line":158,"loc":{"start":{"line":158,"column":25},"end":{"line":158,"column":42}}},"17":{"name":"(anonymous_17)","line":163,"loc":{"start":{"line":163,"column":25},"end":{"line":163,"column":42}}},"18":{"name":"(anonymous_18)","line":169,"loc":{"start":{"line":169,"column":26},"end":{"line":169,"column":43}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":177,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":174,"column":7}},"3":{"start":{"line":13,"column":12},"end":{"line":13,"column":79}},"4":{"start":{"line":19,"column":12},"end":{"line":19,"column":35}},"5":{"start":{"line":20,"column":12},"end":{"line":20,"column":36}},"6":{"start":{"line":22,"column":12},"end":{"line":26,"column":13}},"7":{"start":{"line":24,"column":16},"end":{"line":24,"column":80}},"8":{"start":{"line":25,"column":16},"end":{"line":25,"column":40}},"9":{"start":{"line":28,"column":12},"end":{"line":28,"column":25}},"10":{"start":{"line":33,"column":12},"end":{"line":35,"column":13}},"11":{"start":{"line":34,"column":16},"end":{"line":34,"column":46}},"12":{"start":{"line":36,"column":12},"end":{"line":36,"column":29}},"13":{"start":{"line":41,"column":12},"end":{"line":41,"column":60}},"14":{"start":{"line":45,"column":12},"end":{"line":45,"column":50}},"15":{"start":{"line":46,"column":12},"end":{"line":46,"column":39}},"16":{"start":{"line":50,"column":12},"end":{"line":50,"column":40}},"17":{"start":{"line":52,"column":12},"end":{"line":52,"column":38}},"18":{"start":{"line":53,"column":12},"end":{"line":53,"column":45}},"19":{"start":{"line":54,"column":12},"end":{"line":54,"column":51}},"20":{"start":{"line":55,"column":12},"end":{"line":55,"column":38}},"21":{"start":{"line":57,"column":12},"end":{"line":57,"column":41}},"22":{"start":{"line":58,"column":12},"end":{"line":58,"column":26}},"23":{"start":{"line":63,"column":12},"end":{"line":65,"column":13}},"24":{"start":{"line":64,"column":16},"end":{"line":64,"column":29}},"25":{"start":{"line":67,"column":12},"end":{"line":69,"column":13}},"26":{"start":{"line":68,"column":16},"end":{"line":68,"column":60}},"27":{"start":{"line":71,"column":12},"end":{"line":71,"column":29}},"28":{"start":{"line":77,"column":12},"end":{"line":77,"column":41}},"29":{"start":{"line":78,"column":12},"end":{"line":78,"column":39}},"30":{"start":{"line":82,"column":12},"end":{"line":82,"column":41}},"31":{"start":{"line":83,"column":12},"end":{"line":83,"column":33}},"32":{"start":{"line":84,"column":12},"end":{"line":84,"column":39}},"33":{"start":{"line":89,"column":12},"end":{"line":93,"column":46}},"34":{"start":{"line":96,"column":12},"end":{"line":96,"column":58}},"35":{"start":{"line":97,"column":12},"end":{"line":97,"column":82}},"36":{"start":{"line":100,"column":12},"end":{"line":100,"column":68}},"37":{"start":{"line":103,"column":12},"end":{"line":103,"column":48}},"38":{"start":{"line":104,"column":12},"end":{"line":104,"column":43}},"39":{"start":{"line":105,"column":12},"end":{"line":105,"column":43}},"40":{"start":{"line":106,"column":12},"end":{"line":106,"column":60}},"41":{"start":{"line":107,"column":12},"end":{"line":107,"column":36}},"42":{"start":{"line":110,"column":12},"end":{"line":110,"column":73}},"43":{"start":{"line":113,"column":12},"end":{"line":113,"column":43}},"44":{"start":{"line":114,"column":12},"end":{"line":114,"column":57}},"45":{"start":{"line":115,"column":12},"end":{"line":117,"column":40}},"46":{"start":{"line":118,"column":12},"end":{"line":118,"column":35}},"47":{"start":{"line":121,"column":12},"end":{"line":121,"column":74}},"48":{"start":{"line":124,"column":12},"end":{"line":124,"column":44}},"49":{"start":{"line":125,"column":12},"end":{"line":125,"column":59}},"50":{"start":{"line":126,"column":12},"end":{"line":128,"column":40}},"51":{"start":{"line":129,"column":12},"end":{"line":129,"column":36}},"52":{"start":{"line":132,"column":12},"end":{"line":132,"column":70}},"53":{"start":{"line":134,"column":12},"end":{"line":134,"column":24}},"54":{"start":{"line":138,"column":12},"end":{"line":138,"column":85}},"55":{"start":{"line":142,"column":12},"end":{"line":146,"column":15}},"56":{"start":{"line":143,"column":16},"end":{"line":145,"column":17}},"57":{"start":{"line":144,"column":20},"end":{"line":144,"column":47}},"58":{"start":{"line":150,"column":12},"end":{"line":150,"column":45}},"59":{"start":{"line":151,"column":12},"end":{"line":155,"column":13}},"60":{"start":{"line":152,"column":16},"end":{"line":152,"column":37}},"61":{"start":{"line":154,"column":16},"end":{"line":154,"column":61}},"62":{"start":{"line":160,"column":12},"end":{"line":160,"column":36}},"63":{"start":{"line":165,"column":12},"end":{"line":165,"column":35}},"64":{"start":{"line":166,"column":12},"end":{"line":166,"column":30}},"65":{"start":{"line":171,"column":12},"end":{"line":171,"column":35}},"66":{"start":{"line":172,"column":12},"end":{"line":172,"column":32}},"67":{"start":{"line":176,"column":4},"end":{"line":176,"column":52}}},"branchMap":{"1":{"line":22,"type":"if","locations":[{"start":{"line":22,"column":12},"end":{"line":22,"column":12}},{"start":{"line":22,"column":12},"end":{"line":22,"column":12}}]},"2":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":12},"end":{"line":33,"column":12}},{"start":{"line":33,"column":12},"end":{"line":33,"column":12}}]},"3":{"line":57,"type":"binary-expr","locations":[{"start":{"line":57,"column":26},"end":{"line":57,"column":34}},{"start":{"line":57,"column":38},"end":{"line":57,"column":40}}]},"4":{"line":63,"type":"if","locations":[{"start":{"line":63,"column":12},"end":{"line":63,"column":12}},{"start":{"line":63,"column":12},"end":{"line":63,"column":12}}]},"5":{"line":67,"type":"if","locations":[{"start":{"line":67,"column":12},"end":{"line":67,"column":12}},{"start":{"line":67,"column":12},"end":{"line":67,"column":12}}]},"6":{"line":115,"type":"cond-expr","locations":[{"start":{"line":116,"column":29},"end":{"line":116,"column":58}},{"start":{"line":117,"column":29},"end":{"line":117,"column":39}}]},"7":{"line":126,"type":"cond-expr","locations":[{"start":{"line":127,"column":30},"end":{"line":127,"column":59}},{"start":{"line":128,"column":30},"end":{"line":128,"column":39}}]},"8":{"line":143,"type":"if","locations":[{"start":{"line":143,"column":16},"end":{"line":143,"column":16}},{"start":{"line":143,"column":16},"end":{"line":143,"column":16}}]},"9":{"line":143,"type":"binary-expr","locations":[{"start":{"line":143,"column":20},"end":{"line":143,"column":56}},{"start":{"line":143,"column":60},"end":{"line":143,"column":83}}]},"10":{"line":151,"type":"if","locations":[{"start":{"line":151,"column":12},"end":{"line":151,"column":12}},{"start":{"line":151,"column":12},"end":{"line":151,"column":12}}]}}}; +} +__cov_7yG8JwdPubRgcAo$gwmgwQ = __cov_7yG8JwdPubRgcAo$gwmgwQ['src/js/extensions/fontsize.js']; +__cov_7yG8JwdPubRgcAo$gwmgwQ.s['1']++;(function(){'use strict';__cov_7yG8JwdPubRgcAo$gwmgwQ.f['1']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['2']++;var FontSizeForm=MediumEditor.extensions.form.extend({name:'fontsize',action:'fontSize',aria:'increase/decrease font size',contentDefault:'±',contentFA:'',init:function(){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['2']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['3']++;MediumEditor.extensions.form.prototype.init.apply(this,arguments);},handleClick:function(event){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['3']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['4']++;event.preventDefault();__cov_7yG8JwdPubRgcAo$gwmgwQ.s['5']++;event.stopPropagation();__cov_7yG8JwdPubRgcAo$gwmgwQ.s['6']++;if(!this.isDisplayed()){__cov_7yG8JwdPubRgcAo$gwmgwQ.b['1'][0]++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['7']++;var fontSize=this.document.queryCommandValue('fontSize')+'';__cov_7yG8JwdPubRgcAo$gwmgwQ.s['8']++;this.showForm(fontSize);}else{__cov_7yG8JwdPubRgcAo$gwmgwQ.b['1'][1]++;}__cov_7yG8JwdPubRgcAo$gwmgwQ.s['9']++;return false;},getForm:function(){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['4']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['10']++;if(!this.form){__cov_7yG8JwdPubRgcAo$gwmgwQ.b['2'][0]++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['11']++;this.form=this.createForm();}else{__cov_7yG8JwdPubRgcAo$gwmgwQ.b['2'][1]++;}__cov_7yG8JwdPubRgcAo$gwmgwQ.s['12']++;return this.form;},isDisplayed:function(){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['5']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['13']++;return this.getForm().style.display==='block';},hideForm:function(){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['6']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['14']++;this.getForm().style.display='none';__cov_7yG8JwdPubRgcAo$gwmgwQ.s['15']++;this.getInput().value='';},showForm:function(fontSize){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['7']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['16']++;var input=this.getInput();__cov_7yG8JwdPubRgcAo$gwmgwQ.s['17']++;this.base.saveSelection();__cov_7yG8JwdPubRgcAo$gwmgwQ.s['18']++;this.hideToolbarDefaultActions();__cov_7yG8JwdPubRgcAo$gwmgwQ.s['19']++;this.getForm().style.display='block';__cov_7yG8JwdPubRgcAo$gwmgwQ.s['20']++;this.setToolbarPosition();__cov_7yG8JwdPubRgcAo$gwmgwQ.s['21']++;input.value=(__cov_7yG8JwdPubRgcAo$gwmgwQ.b['3'][0]++,fontSize)||(__cov_7yG8JwdPubRgcAo$gwmgwQ.b['3'][1]++,'');__cov_7yG8JwdPubRgcAo$gwmgwQ.s['22']++;input.focus();},destroy:function(){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['8']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['23']++;if(!this.form){__cov_7yG8JwdPubRgcAo$gwmgwQ.b['4'][0]++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['24']++;return false;}else{__cov_7yG8JwdPubRgcAo$gwmgwQ.b['4'][1]++;}__cov_7yG8JwdPubRgcAo$gwmgwQ.s['25']++;if(this.form.parentNode){__cov_7yG8JwdPubRgcAo$gwmgwQ.b['5'][0]++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['26']++;this.form.parentNode.removeChild(this.form);}else{__cov_7yG8JwdPubRgcAo$gwmgwQ.b['5'][1]++;}__cov_7yG8JwdPubRgcAo$gwmgwQ.s['27']++;delete this.form;},doFormSave:function(){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['9']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['28']++;this.base.restoreSelection();__cov_7yG8JwdPubRgcAo$gwmgwQ.s['29']++;this.base.checkSelection();},doFormCancel:function(){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['10']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['30']++;this.base.restoreSelection();__cov_7yG8JwdPubRgcAo$gwmgwQ.s['31']++;this.clearFontSize();__cov_7yG8JwdPubRgcAo$gwmgwQ.s['32']++;this.base.checkSelection();},createForm:function(){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['11']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['33']++;var doc=this.document,form=doc.createElement('div'),input=doc.createElement('input'),close=doc.createElement('a'),save=doc.createElement('a');__cov_7yG8JwdPubRgcAo$gwmgwQ.s['34']++;form.className='medium-editor-toolbar-form';__cov_7yG8JwdPubRgcAo$gwmgwQ.s['35']++;form.id='medium-editor-toolbar-form-fontsize-'+this.getEditorId();__cov_7yG8JwdPubRgcAo$gwmgwQ.s['36']++;this.on(form,'click',this.handleFormClick.bind(this));__cov_7yG8JwdPubRgcAo$gwmgwQ.s['37']++;input.setAttribute('type','range');__cov_7yG8JwdPubRgcAo$gwmgwQ.s['38']++;input.setAttribute('min','1');__cov_7yG8JwdPubRgcAo$gwmgwQ.s['39']++;input.setAttribute('max','7');__cov_7yG8JwdPubRgcAo$gwmgwQ.s['40']++;input.className='medium-editor-toolbar-input';__cov_7yG8JwdPubRgcAo$gwmgwQ.s['41']++;form.appendChild(input);__cov_7yG8JwdPubRgcAo$gwmgwQ.s['42']++;this.on(input,'change',this.handleSliderChange.bind(this));__cov_7yG8JwdPubRgcAo$gwmgwQ.s['43']++;save.setAttribute('href','#');__cov_7yG8JwdPubRgcAo$gwmgwQ.s['44']++;save.className='medium-editor-toobar-save';__cov_7yG8JwdPubRgcAo$gwmgwQ.s['45']++;save.innerHTML=this.getEditorOption('buttonLabels')==='fontawesome'?(__cov_7yG8JwdPubRgcAo$gwmgwQ.b['6'][0]++,''):(__cov_7yG8JwdPubRgcAo$gwmgwQ.b['6'][1]++,'✓');__cov_7yG8JwdPubRgcAo$gwmgwQ.s['46']++;form.appendChild(save);__cov_7yG8JwdPubRgcAo$gwmgwQ.s['47']++;this.on(save,'click',this.handleSaveClick.bind(this),true);__cov_7yG8JwdPubRgcAo$gwmgwQ.s['48']++;close.setAttribute('href','#');__cov_7yG8JwdPubRgcAo$gwmgwQ.s['49']++;close.className='medium-editor-toobar-close';__cov_7yG8JwdPubRgcAo$gwmgwQ.s['50']++;close.innerHTML=this.getEditorOption('buttonLabels')==='fontawesome'?(__cov_7yG8JwdPubRgcAo$gwmgwQ.b['7'][0]++,''):(__cov_7yG8JwdPubRgcAo$gwmgwQ.b['7'][1]++,'×');__cov_7yG8JwdPubRgcAo$gwmgwQ.s['51']++;form.appendChild(close);__cov_7yG8JwdPubRgcAo$gwmgwQ.s['52']++;this.on(close,'click',this.handleCloseClick.bind(this));__cov_7yG8JwdPubRgcAo$gwmgwQ.s['53']++;return form;},getInput:function(){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['12']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['54']++;return this.getForm().querySelector('input.medium-editor-toolbar-input');},clearFontSize:function(){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['13']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['55']++;MediumEditor.selection.getSelectedElements(this.document).forEach(function(el){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['14']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['56']++;if((__cov_7yG8JwdPubRgcAo$gwmgwQ.b['9'][0]++,el.nodeName.toLowerCase()==='font')&&(__cov_7yG8JwdPubRgcAo$gwmgwQ.b['9'][1]++,el.hasAttribute('size'))){__cov_7yG8JwdPubRgcAo$gwmgwQ.b['8'][0]++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['57']++;el.removeAttribute('size');}else{__cov_7yG8JwdPubRgcAo$gwmgwQ.b['8'][1]++;}});},handleSliderChange:function(){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['15']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['58']++;var size=this.getInput().value;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['59']++;if(size==='4'){__cov_7yG8JwdPubRgcAo$gwmgwQ.b['10'][0]++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['60']++;this.clearFontSize();}else{__cov_7yG8JwdPubRgcAo$gwmgwQ.b['10'][1]++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['61']++;this.execAction('fontSize',{value:size});}},handleFormClick:function(event){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['16']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['62']++;event.stopPropagation();},handleSaveClick:function(event){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['17']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['63']++;event.preventDefault();__cov_7yG8JwdPubRgcAo$gwmgwQ.s['64']++;this.doFormSave();},handleCloseClick:function(event){__cov_7yG8JwdPubRgcAo$gwmgwQ.f['18']++;__cov_7yG8JwdPubRgcAo$gwmgwQ.s['65']++;event.preventDefault();__cov_7yG8JwdPubRgcAo$gwmgwQ.s['66']++;this.doFormCancel();}});__cov_7yG8JwdPubRgcAo$gwmgwQ.s['67']++;MediumEditor.extensions.fontSize=FontSizeForm;}()); diff --git a/.grunt/grunt-contrib-jasmine/src/js/extensions/form.js b/.grunt/grunt-contrib-jasmine/src/js/extensions/form.js new file mode 100644 index 0000000..645f39d --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/extensions/form.js @@ -0,0 +1,9 @@ + +var __cov_dsy_3vUiJ9jDDFfiovMlZg = (Function('return this'))(); +if (!__cov_dsy_3vUiJ9jDDFfiovMlZg.__coverage__) { __cov_dsy_3vUiJ9jDDFfiovMlZg.__coverage__ = {}; } +__cov_dsy_3vUiJ9jDDFfiovMlZg = __cov_dsy_3vUiJ9jDDFfiovMlZg.__coverage__; +if (!(__cov_dsy_3vUiJ9jDDFfiovMlZg['src/js/extensions/form.js'])) { + __cov_dsy_3vUiJ9jDDFfiovMlZg['src/js/extensions/form.js'] = {"path":"src/js/extensions/form.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":9,"loc":{"start":{"line":9,"column":14},"end":{"line":9,"column":26}}},"3":{"name":"(anonymous_3)","line":37,"loc":{"start":{"line":37,"column":17},"end":{"line":37,"column":29}}},"4":{"name":"(anonymous_4)","line":44,"loc":{"start":{"line":44,"column":21},"end":{"line":44,"column":33}}},"5":{"name":"(anonymous_5)","line":56,"loc":{"start":{"line":56,"column":18},"end":{"line":56,"column":30}}},"6":{"name":"(anonymous_6)","line":67,"loc":{"start":{"line":67,"column":18},"end":{"line":67,"column":30}}},"7":{"name":"(anonymous_7)","line":85,"loc":{"start":{"line":85,"column":35},"end":{"line":85,"column":47}}},"8":{"name":"(anonymous_8)","line":98,"loc":{"start":{"line":98,"column":35},"end":{"line":98,"column":47}}},"9":{"name":"(anonymous_9)","line":111,"loc":{"start":{"line":111,"column":28},"end":{"line":111,"column":40}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":120,"column":5}},"2":{"start":{"line":7,"column":4},"end":{"line":117,"column":7}},"3":{"start":{"line":10,"column":12},"end":{"line":10,"column":81}},"4":{"start":{"line":45,"column":12},"end":{"line":47,"column":13}},"5":{"start":{"line":46,"column":16},"end":{"line":46,"column":75}},"6":{"start":{"line":48,"column":12},"end":{"line":48,"column":25}},"7":{"start":{"line":57,"column":12},"end":{"line":59,"column":13}},"8":{"start":{"line":58,"column":16},"end":{"line":58,"column":63}},"9":{"start":{"line":68,"column":12},"end":{"line":70,"column":13}},"10":{"start":{"line":69,"column":16},"end":{"line":69,"column":66}},"11":{"start":{"line":86,"column":12},"end":{"line":86,"column":66}},"12":{"start":{"line":87,"column":12},"end":{"line":89,"column":13}},"13":{"start":{"line":88,"column":16},"end":{"line":88,"column":52}},"14":{"start":{"line":99,"column":12},"end":{"line":99,"column":66}},"15":{"start":{"line":100,"column":12},"end":{"line":102,"column":13}},"16":{"start":{"line":101,"column":16},"end":{"line":101,"column":52}},"17":{"start":{"line":112,"column":12},"end":{"line":112,"column":66}},"18":{"start":{"line":113,"column":12},"end":{"line":115,"column":13}},"19":{"start":{"line":114,"column":16},"end":{"line":114,"column":45}},"20":{"start":{"line":119,"column":4},"end":{"line":119,"column":49}}},"branchMap":{"1":{"line":45,"type":"if","locations":[{"start":{"line":45,"column":12},"end":{"line":45,"column":12}},{"start":{"line":45,"column":12},"end":{"line":45,"column":12}}]},"2":{"line":57,"type":"if","locations":[{"start":{"line":57,"column":12},"end":{"line":57,"column":12}},{"start":{"line":57,"column":12},"end":{"line":57,"column":12}}]},"3":{"line":68,"type":"if","locations":[{"start":{"line":68,"column":12},"end":{"line":68,"column":12}},{"start":{"line":68,"column":12},"end":{"line":68,"column":12}}]},"4":{"line":87,"type":"if","locations":[{"start":{"line":87,"column":12},"end":{"line":87,"column":12}},{"start":{"line":87,"column":12},"end":{"line":87,"column":12}}]},"5":{"line":100,"type":"if","locations":[{"start":{"line":100,"column":12},"end":{"line":100,"column":12}},{"start":{"line":100,"column":12},"end":{"line":100,"column":12}}]},"6":{"line":113,"type":"if","locations":[{"start":{"line":113,"column":12},"end":{"line":113,"column":12}},{"start":{"line":113,"column":12},"end":{"line":113,"column":12}}]}}}; +} +__cov_dsy_3vUiJ9jDDFfiovMlZg = __cov_dsy_3vUiJ9jDDFfiovMlZg['src/js/extensions/form.js']; +__cov_dsy_3vUiJ9jDDFfiovMlZg.s['1']++;(function(){'use strict';__cov_dsy_3vUiJ9jDDFfiovMlZg.f['1']++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['2']++;var FormExtension=MediumEditor.extensions.button.extend({init:function(){__cov_dsy_3vUiJ9jDDFfiovMlZg.f['2']++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['3']++;MediumEditor.extensions.button.prototype.init.apply(this,arguments);},formSaveLabel:'✓',formCloseLabel:'×',activeClass:'medium-editor-toolbar-form-active',hasForm:true,getForm:function(){__cov_dsy_3vUiJ9jDDFfiovMlZg.f['3']++;},isDisplayed:function(){__cov_dsy_3vUiJ9jDDFfiovMlZg.f['4']++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['4']++;if(this.hasForm){__cov_dsy_3vUiJ9jDDFfiovMlZg.b['1'][0]++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['5']++;return this.getForm().classList.contains(this.activeClass);}else{__cov_dsy_3vUiJ9jDDFfiovMlZg.b['1'][1]++;}__cov_dsy_3vUiJ9jDDFfiovMlZg.s['6']++;return false;},showForm:function(){__cov_dsy_3vUiJ9jDDFfiovMlZg.f['5']++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['7']++;if(this.hasForm){__cov_dsy_3vUiJ9jDDFfiovMlZg.b['2'][0]++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['8']++;this.getForm().classList.add(this.activeClass);}else{__cov_dsy_3vUiJ9jDDFfiovMlZg.b['2'][1]++;}},hideForm:function(){__cov_dsy_3vUiJ9jDDFfiovMlZg.f['6']++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['9']++;if(this.hasForm){__cov_dsy_3vUiJ9jDDFfiovMlZg.b['3'][0]++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['10']++;this.getForm().classList.remove(this.activeClass);}else{__cov_dsy_3vUiJ9jDDFfiovMlZg.b['3'][1]++;}},showToolbarDefaultActions:function(){__cov_dsy_3vUiJ9jDDFfiovMlZg.f['7']++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['11']++;var toolbar=this.base.getExtensionByName('toolbar');__cov_dsy_3vUiJ9jDDFfiovMlZg.s['12']++;if(toolbar){__cov_dsy_3vUiJ9jDDFfiovMlZg.b['4'][0]++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['13']++;toolbar.showToolbarDefaultActions();}else{__cov_dsy_3vUiJ9jDDFfiovMlZg.b['4'][1]++;}},hideToolbarDefaultActions:function(){__cov_dsy_3vUiJ9jDDFfiovMlZg.f['8']++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['14']++;var toolbar=this.base.getExtensionByName('toolbar');__cov_dsy_3vUiJ9jDDFfiovMlZg.s['15']++;if(toolbar){__cov_dsy_3vUiJ9jDDFfiovMlZg.b['5'][0]++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['16']++;toolbar.hideToolbarDefaultActions();}else{__cov_dsy_3vUiJ9jDDFfiovMlZg.b['5'][1]++;}},setToolbarPosition:function(){__cov_dsy_3vUiJ9jDDFfiovMlZg.f['9']++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['17']++;var toolbar=this.base.getExtensionByName('toolbar');__cov_dsy_3vUiJ9jDDFfiovMlZg.s['18']++;if(toolbar){__cov_dsy_3vUiJ9jDDFfiovMlZg.b['6'][0]++;__cov_dsy_3vUiJ9jDDFfiovMlZg.s['19']++;toolbar.setToolbarPosition();}else{__cov_dsy_3vUiJ9jDDFfiovMlZg.b['6'][1]++;}}});__cov_dsy_3vUiJ9jDDFfiovMlZg.s['20']++;MediumEditor.extensions.form=FormExtension;}()); diff --git a/.grunt/grunt-contrib-jasmine/src/js/extensions/keyboard-commands.js b/.grunt/grunt-contrib-jasmine/src/js/extensions/keyboard-commands.js new file mode 100644 index 0000000..15b33d5 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/extensions/keyboard-commands.js @@ -0,0 +1,9 @@ + +var __cov_$hRJR9PNjeqzRGjwMqNWlg = (Function('return this'))(); +if (!__cov_$hRJR9PNjeqzRGjwMqNWlg.__coverage__) { __cov_$hRJR9PNjeqzRGjwMqNWlg.__coverage__ = {}; } +__cov_$hRJR9PNjeqzRGjwMqNWlg = __cov_$hRJR9PNjeqzRGjwMqNWlg.__coverage__; +if (!(__cov_$hRJR9PNjeqzRGjwMqNWlg['src/js/extensions/keyboard-commands.js'])) { + __cov_$hRJR9PNjeqzRGjwMqNWlg['src/js/extensions/keyboard-commands.js'] = {"path":"src/js/extensions/keyboard-commands.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0,0],"5":[0,0],"6":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":42,"loc":{"start":{"line":42,"column":14},"end":{"line":42,"column":26}}},"3":{"name":"(anonymous_3)","line":47,"loc":{"start":{"line":47,"column":34},"end":{"line":47,"column":53}}},"4":{"name":"(anonymous_4)","line":56,"loc":{"start":{"line":56,"column":23},"end":{"line":56,"column":40}}},"5":{"name":"(anonymous_5)","line":66,"loc":{"start":{"line":66,"column":39},"end":{"line":66,"column":55}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":88,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":85,"column":7}},"3":{"start":{"line":43,"column":12},"end":{"line":43,"column":73}},"4":{"start":{"line":45,"column":12},"end":{"line":45,"column":77}},"5":{"start":{"line":46,"column":12},"end":{"line":46,"column":27}},"6":{"start":{"line":47,"column":12},"end":{"line":53,"column":21}},"7":{"start":{"line":48,"column":16},"end":{"line":48,"column":56}},"8":{"start":{"line":49,"column":16},"end":{"line":51,"column":17}},"9":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"10":{"start":{"line":52,"column":16},"end":{"line":52,"column":49}},"11":{"start":{"line":57,"column":12},"end":{"line":57,"column":62}},"12":{"start":{"line":58,"column":12},"end":{"line":60,"column":13}},"13":{"start":{"line":59,"column":16},"end":{"line":59,"column":23}},"14":{"start":{"line":62,"column":12},"end":{"line":64,"column":39}},"15":{"start":{"line":66,"column":12},"end":{"line":83,"column":21}},"16":{"start":{"line":67,"column":16},"end":{"line":82,"column":17}},"17":{"start":{"line":71,"column":20},"end":{"line":71,"column":43}},"18":{"start":{"line":72,"column":20},"end":{"line":72,"column":44}},"19":{"start":{"line":75,"column":20},"end":{"line":81,"column":21}},"20":{"start":{"line":76,"column":24},"end":{"line":76,"column":49}},"21":{"start":{"line":79,"column":25},"end":{"line":81,"column":21}},"22":{"start":{"line":80,"column":24},"end":{"line":80,"column":54}},"23":{"start":{"line":87,"column":4},"end":{"line":87,"column":64}}},"branchMap":{"1":{"line":49,"type":"if","locations":[{"start":{"line":49,"column":16},"end":{"line":49,"column":16}},{"start":{"line":49,"column":16},"end":{"line":49,"column":16}}]},"2":{"line":58,"type":"if","locations":[{"start":{"line":58,"column":12},"end":{"line":58,"column":12}},{"start":{"line":58,"column":12},"end":{"line":58,"column":12}}]},"3":{"line":67,"type":"if","locations":[{"start":{"line":67,"column":16},"end":{"line":67,"column":16}},{"start":{"line":67,"column":16},"end":{"line":67,"column":16}}]},"4":{"line":67,"type":"binary-expr","locations":[{"start":{"line":67,"column":20},"end":{"line":67,"column":40}},{"start":{"line":68,"column":20},"end":{"line":68,"column":42}},{"start":{"line":69,"column":21},"end":{"line":69,"column":39}},{"start":{"line":70,"column":21},"end":{"line":70,"column":43}}]},"5":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":20},"end":{"line":75,"column":20}},{"start":{"line":75,"column":20},"end":{"line":75,"column":20}}]},"6":{"line":79,"type":"if","locations":[{"start":{"line":79,"column":25},"end":{"line":79,"column":25}},{"start":{"line":79,"column":25},"end":{"line":79,"column":25}}]}}}; +} +__cov_$hRJR9PNjeqzRGjwMqNWlg = __cov_$hRJR9PNjeqzRGjwMqNWlg['src/js/extensions/keyboard-commands.js']; +__cov_$hRJR9PNjeqzRGjwMqNWlg.s['1']++;(function(){'use strict';__cov_$hRJR9PNjeqzRGjwMqNWlg.f['1']++;__cov_$hRJR9PNjeqzRGjwMqNWlg.s['2']++;var KeyboardCommands=MediumEditor.Extension.extend({name:'keyboard-commands',commands:[{command:'bold',key:'B',meta:true,shift:false,alt:false},{command:'italic',key:'I',meta:true,shift:false,alt:false},{command:'underline',key:'U',meta:true,shift:false,alt:false}],init:function(){__cov_$hRJR9PNjeqzRGjwMqNWlg.f['2']++;__cov_$hRJR9PNjeqzRGjwMqNWlg.s['3']++;MediumEditor.Extension.prototype.init.apply(this,arguments);__cov_$hRJR9PNjeqzRGjwMqNWlg.s['4']++;this.subscribe('editableKeydown',this.handleKeydown.bind(this));__cov_$hRJR9PNjeqzRGjwMqNWlg.s['5']++;this.keys={};__cov_$hRJR9PNjeqzRGjwMqNWlg.s['6']++;this.commands.forEach(function(command){__cov_$hRJR9PNjeqzRGjwMqNWlg.f['3']++;__cov_$hRJR9PNjeqzRGjwMqNWlg.s['7']++;var keyCode=command.key.charCodeAt(0);__cov_$hRJR9PNjeqzRGjwMqNWlg.s['8']++;if(!this.keys[keyCode]){__cov_$hRJR9PNjeqzRGjwMqNWlg.b['1'][0]++;__cov_$hRJR9PNjeqzRGjwMqNWlg.s['9']++;this.keys[keyCode]=[];}else{__cov_$hRJR9PNjeqzRGjwMqNWlg.b['1'][1]++;}__cov_$hRJR9PNjeqzRGjwMqNWlg.s['10']++;this.keys[keyCode].push(command);},this);},handleKeydown:function(event){__cov_$hRJR9PNjeqzRGjwMqNWlg.f['4']++;__cov_$hRJR9PNjeqzRGjwMqNWlg.s['11']++;var keyCode=MediumEditor.util.getKeyCode(event);__cov_$hRJR9PNjeqzRGjwMqNWlg.s['12']++;if(!this.keys[keyCode]){__cov_$hRJR9PNjeqzRGjwMqNWlg.b['2'][0]++;__cov_$hRJR9PNjeqzRGjwMqNWlg.s['13']++;return;}else{__cov_$hRJR9PNjeqzRGjwMqNWlg.b['2'][1]++;}__cov_$hRJR9PNjeqzRGjwMqNWlg.s['14']++;var isMeta=MediumEditor.util.isMetaCtrlKey(event),isShift=!!event.shiftKey,isAlt=!!event.altKey;__cov_$hRJR9PNjeqzRGjwMqNWlg.s['15']++;this.keys[keyCode].forEach(function(data){__cov_$hRJR9PNjeqzRGjwMqNWlg.f['5']++;__cov_$hRJR9PNjeqzRGjwMqNWlg.s['16']++;if((__cov_$hRJR9PNjeqzRGjwMqNWlg.b['4'][0]++,data.meta===isMeta)&&(__cov_$hRJR9PNjeqzRGjwMqNWlg.b['4'][1]++,data.shift===isShift)&&((__cov_$hRJR9PNjeqzRGjwMqNWlg.b['4'][2]++,data.alt===isAlt)||(__cov_$hRJR9PNjeqzRGjwMqNWlg.b['4'][3]++,undefined===data.alt))){__cov_$hRJR9PNjeqzRGjwMqNWlg.b['3'][0]++;__cov_$hRJR9PNjeqzRGjwMqNWlg.s['17']++;event.preventDefault();__cov_$hRJR9PNjeqzRGjwMqNWlg.s['18']++;event.stopPropagation();__cov_$hRJR9PNjeqzRGjwMqNWlg.s['19']++;if(typeof data.command==='function'){__cov_$hRJR9PNjeqzRGjwMqNWlg.b['5'][0]++;__cov_$hRJR9PNjeqzRGjwMqNWlg.s['20']++;data.command.apply(this);}else{__cov_$hRJR9PNjeqzRGjwMqNWlg.b['5'][1]++;__cov_$hRJR9PNjeqzRGjwMqNWlg.s['21']++;if(false!==data.command){__cov_$hRJR9PNjeqzRGjwMqNWlg.b['6'][0]++;__cov_$hRJR9PNjeqzRGjwMqNWlg.s['22']++;this.execAction(data.command);}else{__cov_$hRJR9PNjeqzRGjwMqNWlg.b['6'][1]++;}}}else{__cov_$hRJR9PNjeqzRGjwMqNWlg.b['3'][1]++;}},this);}});__cov_$hRJR9PNjeqzRGjwMqNWlg.s['23']++;MediumEditor.extensions.keyboardCommands=KeyboardCommands;}()); diff --git a/.grunt/grunt-contrib-jasmine/src/js/extensions/paste.js b/.grunt/grunt-contrib-jasmine/src/js/extensions/paste.js new file mode 100644 index 0000000..95df930 --- /dev/null +++ b/.grunt/grunt-contrib-jasmine/src/js/extensions/paste.js @@ -0,0 +1,9 @@ + +var __cov_4DOIGAlAN7qYFMToABqx8g = (Function('return this'))(); +if (!__cov_4DOIGAlAN7qYFMToABqx8g.__coverage__) { __cov_4DOIGAlAN7qYFMToABqx8g.__coverage__ = {}; } +__cov_4DOIGAlAN7qYFMToABqx8g = __cov_4DOIGAlAN7qYFMToABqx8g.__coverage__; +if (!(__cov_4DOIGAlAN7qYFMToABqx8g['src/js/extensions/paste.js'])) { + __cov_4DOIGAlAN7qYFMToABqx8g['src/js/extensions/paste.js'] = {"path":"src/js/extensions/paste.js","s":{"1":0,"2":0,"3":0,"4":1,"5":0,"6":1,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0},"b":{"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0,0],"46":[0,0],"47":[0,0],"48":[0,0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0,0],"54":[0,0],"55":[0,0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":9,"loc":{"start":{"line":9,"column":19},"end":{"line":9,"column":36}}},"3":{"name":"createReplacements","line":20,"loc":{"start":{"line":20,"column":4},"end":{"line":20,"column":34}}},"4":{"name":"getClipboardContent","line":77,"loc":{"start":{"line":77,"column":4},"end":{"line":77,"column":50}}},"5":{"name":"(anonymous_5)","line":149,"loc":{"start":{"line":149,"column":14},"end":{"line":149,"column":26}}},"6":{"name":"(anonymous_6)","line":156,"loc":{"start":{"line":156,"column":49},"end":{"line":156,"column":68}}},"7":{"name":"(anonymous_7)","line":163,"loc":{"start":{"line":163,"column":26},"end":{"line":163,"column":53}}},"8":{"name":"(anonymous_8)","line":167,"loc":{"start":{"line":167,"column":17},"end":{"line":167,"column":29}}},"9":{"name":"(anonymous_9)","line":174,"loc":{"start":{"line":174,"column":21},"end":{"line":174,"column":48}}},"10":{"name":"(anonymous_10)","line":199,"loc":{"start":{"line":199,"column":17},"end":{"line":199,"column":62}}},"11":{"name":"(anonymous_11)","line":230,"loc":{"start":{"line":230,"column":29},"end":{"line":230,"column":46}}},"12":{"name":"(anonymous_12)","line":258,"loc":{"start":{"line":258,"column":23},"end":{"line":258,"column":35}}},"13":{"name":"(anonymous_13)","line":279,"loc":{"start":{"line":279,"column":23},"end":{"line":279,"column":50}}},"14":{"name":"(anonymous_14)","line":291,"loc":{"start":{"line":291,"column":24},"end":{"line":291,"column":44}}},"15":{"name":"(anonymous_15)","line":337,"loc":{"start":{"line":337,"column":24},"end":{"line":337,"column":36}}},"16":{"name":"(anonymous_16)","line":361,"loc":{"start":{"line":361,"column":21},"end":{"line":361,"column":33}}},"17":{"name":"(anonymous_17)","line":365,"loc":{"start":{"line":365,"column":25},"end":{"line":365,"column":37}}},"18":{"name":"(anonymous_18)","line":389,"loc":{"start":{"line":389,"column":20},"end":{"line":389,"column":36}}},"19":{"name":"(anonymous_19)","line":435,"loc":{"start":{"line":435,"column":19},"end":{"line":435,"column":44}}},"20":{"name":"(anonymous_20)","line":468,"loc":{"start":{"line":468,"column":23},"end":{"line":468,"column":37}}},"21":{"name":"(anonymous_21)","line":473,"loc":{"start":{"line":473,"column":28},"end":{"line":473,"column":42}}},"22":{"name":"(anonymous_22)","line":480,"loc":{"start":{"line":480,"column":25},"end":{"line":480,"column":39}}},"23":{"name":"(anonymous_23)","line":495,"loc":{"start":{"line":495,"column":26},"end":{"line":495,"column":40}}},"24":{"name":"(anonymous_24)","line":506,"loc":{"start":{"line":506,"column":22},"end":{"line":506,"column":45}}},"25":{"name":"(anonymous_25)","line":511,"loc":{"start":{"line":511,"column":24},"end":{"line":511,"column":38}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":544,"column":5}},"2":{"start":{"line":6,"column":4},"end":{"line":11,"column":10}},"3":{"start":{"line":10,"column":12},"end":{"line":10,"column":36}},"4":{"start":{"line":20,"column":4},"end":{"line":65,"column":5}},"5":{"start":{"line":21,"column":8},"end":{"line":64,"column":10}},"6":{"start":{"line":77,"column":4},"end":{"line":101,"column":5}},"7":{"start":{"line":78,"column":8},"end":{"line":79,"column":22}},"8":{"start":{"line":81,"column":8},"end":{"line":83,"column":9}},"9":{"start":{"line":82,"column":12},"end":{"line":82,"column":24}},"10":{"start":{"line":86,"column":8},"end":{"line":91,"column":9}},"11":{"start":{"line":87,"column":12},"end":{"line":87,"column":58}},"12":{"start":{"line":88,"column":12},"end":{"line":90,"column":13}},"13":{"start":{"line":89,"column":16},"end":{"line":89,"column":48}},"14":{"start":{"line":93,"column":8},"end":{"line":98,"column":9}},"15":{"start":{"line":94,"column":12},"end":{"line":97,"column":13}},"16":{"start":{"line":95,"column":16},"end":{"line":95,"column":56}},"17":{"start":{"line":96,"column":16},"end":{"line":96,"column":70}},"18":{"start":{"line":100,"column":8},"end":{"line":100,"column":20}},"19":{"start":{"line":103,"column":4},"end":{"line":541,"column":7}},"20":{"start":{"line":150,"column":12},"end":{"line":150,"column":73}},"21":{"start":{"line":152,"column":12},"end":{"line":160,"column":13}},"22":{"start":{"line":153,"column":16},"end":{"line":153,"column":81}},"23":{"start":{"line":156,"column":16},"end":{"line":158,"column":25}},"24":{"start":{"line":157,"column":20},"end":{"line":157,"column":75}},"25":{"start":{"line":159,"column":16},"end":{"line":159,"column":79}},"26":{"start":{"line":164,"column":12},"end":{"line":164,"column":68}},"27":{"start":{"line":169,"column":12},"end":{"line":171,"column":13}},"28":{"start":{"line":170,"column":16},"end":{"line":170,"column":38}},"29":{"start":{"line":175,"column":12},"end":{"line":177,"column":13}},"30":{"start":{"line":176,"column":16},"end":{"line":176,"column":23}},"31":{"start":{"line":179,"column":12},"end":{"line":181,"column":61}},"32":{"start":{"line":183,"column":12},"end":{"line":190,"column":13}},"33":{"start":{"line":189,"column":16},"end":{"line":189,"column":41}},"34":{"start":{"line":192,"column":12},"end":{"line":196,"column":13}},"35":{"start":{"line":193,"column":16},"end":{"line":193,"column":39}},"36":{"start":{"line":195,"column":16},"end":{"line":195,"column":64}},"37":{"start":{"line":200,"column":12},"end":{"line":202,"column":18}},"38":{"start":{"line":204,"column":12},"end":{"line":206,"column":13}},"39":{"start":{"line":205,"column":16},"end":{"line":205,"column":51}},"40":{"start":{"line":208,"column":12},"end":{"line":210,"column":13}},"41":{"start":{"line":209,"column":16},"end":{"line":209,"column":23}},"42":{"start":{"line":212,"column":12},"end":{"line":226,"column":13}},"43":{"start":{"line":213,"column":16},"end":{"line":213,"column":59}},"44":{"start":{"line":215,"column":16},"end":{"line":223,"column":17}},"45":{"start":{"line":216,"column":20},"end":{"line":220,"column":21}},"46":{"start":{"line":217,"column":24},"end":{"line":219,"column":25}},"47":{"start":{"line":218,"column":28},"end":{"line":218,"column":99}},"48":{"start":{"line":222,"column":20},"end":{"line":222,"column":73}},"49":{"start":{"line":225,"column":16},"end":{"line":225,"column":67}},"50":{"start":{"line":227,"column":12},"end":{"line":227,"column":69}},"51":{"start":{"line":231,"column":12},"end":{"line":234,"column":13}},"52":{"start":{"line":232,"column":16},"end":{"line":232,"column":38}},"53":{"start":{"line":233,"column":16},"end":{"line":233,"column":23}},"54":{"start":{"line":236,"column":12},"end":{"line":239,"column":49}},"55":{"start":{"line":243,"column":12},"end":{"line":254,"column":13}},"56":{"start":{"line":244,"column":16},"end":{"line":244,"column":39}},"57":{"start":{"line":245,"column":16},"end":{"line":245,"column":38}},"58":{"start":{"line":246,"column":16},"end":{"line":246,"column":64}},"59":{"start":{"line":252,"column":16},"end":{"line":252,"column":103}},"60":{"start":{"line":253,"column":16},"end":{"line":253,"column":23}},"61":{"start":{"line":258,"column":12},"end":{"line":276,"column":29}},"62":{"start":{"line":260,"column":16},"end":{"line":263,"column":17}},"63":{"start":{"line":262,"column":20},"end":{"line":262,"column":56}},"64":{"start":{"line":266,"column":16},"end":{"line":266,"column":38}},"65":{"start":{"line":269,"column":16},"end":{"line":269,"column":64}},"66":{"start":{"line":275,"column":16},"end":{"line":275,"column":103}},"67":{"start":{"line":281,"column":12},"end":{"line":283,"column":13}},"68":{"start":{"line":282,"column":16},"end":{"line":282,"column":23}},"69":{"start":{"line":285,"column":12},"end":{"line":285,"column":45}},"70":{"start":{"line":287,"column":12},"end":{"line":287,"column":34}},"71":{"start":{"line":288,"column":12},"end":{"line":288,"column":42}},"72":{"start":{"line":292,"column":12},"end":{"line":294,"column":46}},"73":{"start":{"line":296,"column":12},"end":{"line":296,"column":45}},"74":{"start":{"line":298,"column":12},"end":{"line":309,"column":13}},"75":{"start":{"line":299,"column":16},"end":{"line":299,"column":47}},"76":{"start":{"line":302,"column":16},"end":{"line":308,"column":17}},"77":{"start":{"line":303,"column":20},"end":{"line":303,"column":40}},"78":{"start":{"line":304,"column":23},"end":{"line":308,"column":17}},"79":{"start":{"line":305,"column":20},"end":{"line":305,"column":76}},"80":{"start":{"line":307,"column":20},"end":{"line":307,"column":61}},"81":{"start":{"line":311,"column":12},"end":{"line":311,"column":30}},"82":{"start":{"line":313,"column":12},"end":{"line":313,"column":65}},"83":{"start":{"line":314,"column":12},"end":{"line":314,"column":89}},"84":{"start":{"line":315,"column":12},"end":{"line":315,"column":168}},"85":{"start":{"line":316,"column":12},"end":{"line":316,"column":62}},"86":{"start":{"line":317,"column":12},"end":{"line":317,"column":59}},"87":{"start":{"line":319,"column":12},"end":{"line":319,"column":56}},"88":{"start":{"line":322,"column":12},"end":{"line":322,"column":52}},"89":{"start":{"line":323,"column":12},"end":{"line":323,"column":54}},"90":{"start":{"line":324,"column":12},"end":{"line":324,"column":55}},"91":{"start":{"line":326,"column":12},"end":{"line":326,"column":32}},"92":{"start":{"line":328,"column":12},"end":{"line":328,"column":74}},"93":{"start":{"line":330,"column":12},"end":{"line":332,"column":13}},"94":{"start":{"line":331,"column":16},"end":{"line":331,"column":76}},"95":{"start":{"line":334,"column":12},"end":{"line":334,"column":65}},"96":{"start":{"line":338,"column":12},"end":{"line":341,"column":13}},"97":{"start":{"line":339,"column":16},"end":{"line":339,"column":77}},"98":{"start":{"line":340,"column":16},"end":{"line":340,"column":33}},"99":{"start":{"line":343,"column":12},"end":{"line":345,"column":13}},"100":{"start":{"line":344,"column":16},"end":{"line":344,"column":45}},"101":{"start":{"line":347,"column":12},"end":{"line":347,"column":49}},"102":{"start":{"line":348,"column":12},"end":{"line":350,"column":13}},"103":{"start":{"line":349,"column":16},"end":{"line":349,"column":23}},"104":{"start":{"line":352,"column":12},"end":{"line":358,"column":13}},"105":{"start":{"line":353,"column":16},"end":{"line":353,"column":57}},"106":{"start":{"line":354,"column":16},"end":{"line":354,"column":59}},"107":{"start":{"line":355,"column":16},"end":{"line":355,"column":60}},"108":{"start":{"line":356,"column":16},"end":{"line":356,"column":70}},"109":{"start":{"line":357,"column":16},"end":{"line":357,"column":67}},"110":{"start":{"line":362,"column":12},"end":{"line":362,"column":65}},"111":{"start":{"line":366,"column":12},"end":{"line":366,"column":49}},"112":{"start":{"line":368,"column":12},"end":{"line":370,"column":13}},"113":{"start":{"line":369,"column":16},"end":{"line":369,"column":29}},"114":{"start":{"line":374,"column":12},"end":{"line":376,"column":13}},"115":{"start":{"line":375,"column":16},"end":{"line":375,"column":29}},"116":{"start":{"line":378,"column":12},"end":{"line":378,"column":53}},"117":{"start":{"line":382,"column":12},"end":{"line":384,"column":13}},"118":{"start":{"line":383,"column":16},"end":{"line":383,"column":29}},"119":{"start":{"line":386,"column":12},"end":{"line":386,"column":32}},"120":{"start":{"line":390,"column":12},"end":{"line":395,"column":50}},"121":{"start":{"line":397,"column":12},"end":{"line":399,"column":13}},"122":{"start":{"line":398,"column":16},"end":{"line":398,"column":76}},"123":{"start":{"line":401,"column":12},"end":{"line":403,"column":13}},"124":{"start":{"line":402,"column":16},"end":{"line":402,"column":44}},"125":{"start":{"line":406,"column":12},"end":{"line":406,"column":53}},"126":{"start":{"line":409,"column":12},"end":{"line":409,"column":84}},"127":{"start":{"line":412,"column":12},"end":{"line":412,"column":56}},"128":{"start":{"line":413,"column":12},"end":{"line":430,"column":13}},"129":{"start":{"line":414,"column":16},"end":{"line":414,"column":35}},"130":{"start":{"line":419,"column":16},"end":{"line":419,"column":73}},"131":{"start":{"line":421,"column":16},"end":{"line":429,"column":17}},"132":{"start":{"line":424,"column":24},"end":{"line":424,"column":56}},"133":{"start":{"line":425,"column":24},"end":{"line":425,"column":30}},"134":{"start":{"line":427,"column":24},"end":{"line":427,"column":53}},"135":{"start":{"line":428,"column":24},"end":{"line":428,"column":30}},"136":{"start":{"line":432,"column":12},"end":{"line":432,"column":42}},"137":{"start":{"line":436,"column":12},"end":{"line":440,"column":15}},"138":{"start":{"line":442,"column":12},"end":{"line":442,"column":101}},"139":{"start":{"line":444,"column":12},"end":{"line":444,"column":72}},"140":{"start":{"line":446,"column":12},"end":{"line":446,"column":60}},"141":{"start":{"line":447,"column":12},"end":{"line":447,"column":42}},"142":{"start":{"line":449,"column":12},"end":{"line":449,"column":44}},"143":{"start":{"line":451,"column":12},"end":{"line":451,"column":56}},"144":{"start":{"line":452,"column":12},"end":{"line":462,"column":13}},"145":{"start":{"line":453,"column":16},"end":{"line":453,"column":35}},"146":{"start":{"line":455,"column":16},"end":{"line":457,"column":17}},"147":{"start":{"line":456,"column":20},"end":{"line":456,"column":61}},"148":{"start":{"line":459,"column":16},"end":{"line":459,"column":75}},"149":{"start":{"line":460,"column":16},"end":{"line":460,"column":73}},"150":{"start":{"line":461,"column":16},"end":{"line":461,"column":73}},"151":{"start":{"line":464,"column":12},"end":{"line":464,"column":111}},"152":{"start":{"line":469,"column":12},"end":{"line":469,"column":102}},"153":{"start":{"line":474,"column":12},"end":{"line":476,"column":13}},"154":{"start":{"line":475,"column":16},"end":{"line":475,"column":46}},"155":{"start":{"line":481,"column":12},"end":{"line":490,"column":13}},"156":{"start":{"line":483,"column":16},"end":{"line":483,"column":42}},"157":{"start":{"line":484,"column":19},"end":{"line":490,"column":13}},"158":{"start":{"line":486,"column":16},"end":{"line":486,"column":42}},"159":{"start":{"line":487,"column":19},"end":{"line":490,"column":13}},"160":{"start":{"line":489,"column":16},"end":{"line":489,"column":42}},"161":{"start":{"line":496,"column":12},"end":{"line":502,"column":13}},"162":{"start":{"line":497,"column":16},"end":{"line":501,"column":17}},"163":{"start":{"line":498,"column":20},"end":{"line":498,"column":72}},"164":{"start":{"line":500,"column":20},"end":{"line":500,"column":50}},"165":{"start":{"line":507,"column":12},"end":{"line":513,"column":18}},"166":{"start":{"line":512,"column":20},"end":{"line":512,"column":109}},"167":{"start":{"line":515,"column":12},"end":{"line":526,"column":13}},"168":{"start":{"line":516,"column":16},"end":{"line":516,"column":30}},"169":{"start":{"line":517,"column":16},"end":{"line":517,"column":95}},"170":{"start":{"line":519,"column":16},"end":{"line":524,"column":17}},"171":{"start":{"line":521,"column":20},"end":{"line":521,"column":68}},"172":{"start":{"line":523,"column":20},"end":{"line":523,"column":51}},"173":{"start":{"line":525,"column":16},"end":{"line":525,"column":54}},"174":{"start":{"line":528,"column":12},"end":{"line":528,"column":57}},"175":{"start":{"line":529,"column":12},"end":{"line":539,"column":13}},"176":{"start":{"line":530,"column":16},"end":{"line":530,"column":30}},"177":{"start":{"line":533,"column":16},"end":{"line":535,"column":17}},"178":{"start":{"line":534,"column":20},"end":{"line":534,"column":33}},"179":{"start":{"line":538,"column":16},"end":{"line":538,"column":60}},"180":{"start":{"line":543,"column":4},"end":{"line":543,"column":49}}},"branchMap":{"1":{"line":78,"type":"binary-expr","locations":[{"start":{"line":78,"column":27},"end":{"line":78,"column":46}},{"start":{"line":78,"column":50},"end":{"line":78,"column":67}},{"start":{"line":78,"column":71},"end":{"line":78,"column":87}}]},"2":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":8},"end":{"line":81,"column":8}},{"start":{"line":81,"column":8},"end":{"line":81,"column":8}}]},"3":{"line":86,"type":"if","locations":[{"start":{"line":86,"column":8},"end":{"line":86,"column":8}},{"start":{"line":86,"column":8},"end":{"line":86,"column":8}}]},"4":{"line":88,"type":"if","locations":[{"start":{"line":88,"column":12},"end":{"line":88,"column":12}},{"start":{"line":88,"column":12},"end":{"line":88,"column":12}}]},"5":{"line":88,"type":"binary-expr","locations":[{"start":{"line":88,"column":16},"end":{"line":88,"column":26}},{"start":{"line":88,"column":30},"end":{"line":88,"column":51}}]},"6":{"line":93,"type":"if","locations":[{"start":{"line":93,"column":8},"end":{"line":93,"column":8}},{"start":{"line":93,"column":8},"end":{"line":93,"column":8}}]},"7":{"line":152,"type":"if","locations":[{"start":{"line":152,"column":12},"end":{"line":152,"column":12}},{"start":{"line":152,"column":12},"end":{"line":152,"column":12}}]},"8":{"line":152,"type":"binary-expr","locations":[{"start":{"line":152,"column":16},"end":{"line":152,"column":35}},{"start":{"line":152,"column":39},"end":{"line":152,"column":59}}]},"9":{"line":169,"type":"if","locations":[{"start":{"line":169,"column":12},"end":{"line":169,"column":12}},{"start":{"line":169,"column":12},"end":{"line":169,"column":12}}]},"10":{"line":169,"type":"binary-expr","locations":[{"start":{"line":169,"column":16},"end":{"line":169,"column":35}},{"start":{"line":169,"column":39},"end":{"line":169,"column":59}}]},"11":{"line":175,"type":"if","locations":[{"start":{"line":175,"column":12},"end":{"line":175,"column":12}},{"start":{"line":175,"column":12},"end":{"line":175,"column":12}}]},"12":{"line":183,"type":"if","locations":[{"start":{"line":183,"column":12},"end":{"line":183,"column":12}},{"start":{"line":183,"column":12},"end":{"line":183,"column":12}}]},"13":{"line":183,"type":"binary-expr","locations":[{"start":{"line":183,"column":16},"end":{"line":183,"column":41}},{"start":{"line":183,"column":45},"end":{"line":183,"column":78}},{"start":{"line":183,"column":82},"end":{"line":183,"column":93}}]},"14":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":12},"end":{"line":192,"column":12}},{"start":{"line":192,"column":12},"end":{"line":192,"column":12}}]},"15":{"line":192,"type":"binary-expr","locations":[{"start":{"line":192,"column":16},"end":{"line":192,"column":26}},{"start":{"line":192,"column":30},"end":{"line":192,"column":41}}]},"16":{"line":204,"type":"if","locations":[{"start":{"line":204,"column":12},"end":{"line":204,"column":12}},{"start":{"line":204,"column":12},"end":{"line":204,"column":12}}]},"17":{"line":204,"type":"binary-expr","locations":[{"start":{"line":204,"column":16},"end":{"line":204,"column":36}},{"start":{"line":204,"column":40},"end":{"line":204,"column":50}}]},"18":{"line":208,"type":"if","locations":[{"start":{"line":208,"column":12},"end":{"line":208,"column":12}},{"start":{"line":208,"column":12},"end":{"line":208,"column":12}}]},"19":{"line":212,"type":"if","locations":[{"start":{"line":212,"column":12},"end":{"line":212,"column":12}},{"start":{"line":212,"column":12},"end":{"line":212,"column":12}}]},"20":{"line":212,"type":"binary-expr","locations":[{"start":{"line":212,"column":18},"end":{"line":212,"column":55}},{"start":{"line":212,"column":60},"end":{"line":212,"column":68}},{"start":{"line":212,"column":72},"end":{"line":212,"column":116}}]},"21":{"line":215,"type":"if","locations":[{"start":{"line":215,"column":16},"end":{"line":215,"column":16}},{"start":{"line":215,"column":16},"end":{"line":215,"column":16}}]},"22":{"line":217,"type":"if","locations":[{"start":{"line":217,"column":24},"end":{"line":217,"column":24}},{"start":{"line":217,"column":24},"end":{"line":217,"column":24}}]},"23":{"line":231,"type":"if","locations":[{"start":{"line":231,"column":12},"end":{"line":231,"column":12}},{"start":{"line":231,"column":12},"end":{"line":231,"column":12}}]},"24":{"line":243,"type":"if","locations":[{"start":{"line":243,"column":12},"end":{"line":243,"column":12}},{"start":{"line":243,"column":12},"end":{"line":243,"column":12}}]},"25":{"line":243,"type":"binary-expr","locations":[{"start":{"line":243,"column":16},"end":{"line":243,"column":37}},{"start":{"line":243,"column":41},"end":{"line":243,"column":51}}]},"26":{"line":260,"type":"if","locations":[{"start":{"line":260,"column":16},"end":{"line":260,"column":16}},{"start":{"line":260,"column":16},"end":{"line":260,"column":16}}]},"27":{"line":281,"type":"if","locations":[{"start":{"line":281,"column":12},"end":{"line":281,"column":12}},{"start":{"line":281,"column":12},"end":{"line":281,"column":12}}]},"28":{"line":281,"type":"binary-expr","locations":[{"start":{"line":281,"column":18},"end":{"line":281,"column":77}},{"start":{"line":281,"column":81},"end":{"line":281,"column":119}}]},"29":{"line":298,"type":"if","locations":[{"start":{"line":298,"column":12},"end":{"line":298,"column":12}},{"start":{"line":298,"column":12},"end":{"line":298,"column":12}}]},"30":{"line":302,"type":"if","locations":[{"start":{"line":302,"column":16},"end":{"line":302,"column":16}},{"start":{"line":302,"column":16},"end":{"line":302,"column":16}}]},"31":{"line":304,"type":"if","locations":[{"start":{"line":304,"column":23},"end":{"line":304,"column":23}},{"start":{"line":304,"column":23},"end":{"line":304,"column":23}}]},"32":{"line":330,"type":"if","locations":[{"start":{"line":330,"column":12},"end":{"line":330,"column":12}},{"start":{"line":330,"column":12},"end":{"line":330,"column":12}}]},"33":{"line":338,"type":"if","locations":[{"start":{"line":338,"column":12},"end":{"line":338,"column":12}},{"start":{"line":338,"column":12},"end":{"line":338,"column":12}}]},"34":{"line":343,"type":"if","locations":[{"start":{"line":343,"column":12},"end":{"line":343,"column":12}},{"start":{"line":343,"column":12},"end":{"line":343,"column":12}}]},"35":{"line":348,"type":"if","locations":[{"start":{"line":348,"column":12},"end":{"line":348,"column":12}},{"start":{"line":348,"column":12},"end":{"line":348,"column":12}}]},"36":{"line":352,"type":"if","locations":[{"start":{"line":352,"column":12},"end":{"line":352,"column":12}},{"start":{"line":352,"column":12},"end":{"line":352,"column":12}}]},"37":{"line":368,"type":"if","locations":[{"start":{"line":368,"column":12},"end":{"line":368,"column":12}},{"start":{"line":368,"column":12},"end":{"line":368,"column":12}}]},"38":{"line":374,"type":"if","locations":[{"start":{"line":374,"column":12},"end":{"line":374,"column":12}},{"start":{"line":374,"column":12},"end":{"line":374,"column":12}}]},"39":{"line":374,"type":"binary-expr","locations":[{"start":{"line":374,"column":16},"end":{"line":374,"column":38}},{"start":{"line":374,"column":42},"end":{"line":374,"column":85}}]},"40":{"line":382,"type":"if","locations":[{"start":{"line":382,"column":12},"end":{"line":382,"column":12}},{"start":{"line":382,"column":12},"end":{"line":382,"column":12}}]},"41":{"line":382,"type":"binary-expr","locations":[{"start":{"line":382,"column":16},"end":{"line":382,"column":29}},{"start":{"line":382,"column":33},"end":{"line":382,"column":72}}]},"42":{"line":393,"type":"binary-expr","locations":[{"start":{"line":393,"column":20},"end":{"line":393,"column":45}},{"start":{"line":393,"column":49},"end":{"line":393,"column":51}}]},"43":{"line":395,"type":"binary-expr","locations":[{"start":{"line":395,"column":20},"end":{"line":395,"column":42}},{"start":{"line":395,"column":46},"end":{"line":395,"column":48}}]},"44":{"line":401,"type":"if","locations":[{"start":{"line":401,"column":12},"end":{"line":401,"column":12}},{"start":{"line":401,"column":12},"end":{"line":401,"column":12}}]},"45":{"line":421,"type":"switch","locations":[{"start":{"line":422,"column":20},"end":{"line":422,"column":29}},{"start":{"line":423,"column":20},"end":{"line":425,"column":30}},{"start":{"line":426,"column":20},"end":{"line":428,"column":30}}]},"46":{"line":455,"type":"if","locations":[{"start":{"line":455,"column":16},"end":{"line":455,"column":16}},{"start":{"line":455,"column":16},"end":{"line":455,"column":16}}]},"47":{"line":455,"type":"binary-expr","locations":[{"start":{"line":455,"column":20},"end":{"line":455,"column":57}},{"start":{"line":455,"column":61},"end":{"line":455,"column":96}}]},"48":{"line":469,"type":"binary-expr","locations":[{"start":{"line":469,"column":20},"end":{"line":469,"column":22}},{"start":{"line":469,"column":27},"end":{"line":469,"column":60}},{"start":{"line":469,"column":64},"end":{"line":469,"column":99}}]},"49":{"line":474,"type":"if","locations":[{"start":{"line":474,"column":12},"end":{"line":474,"column":12}},{"start":{"line":474,"column":12},"end":{"line":474,"column":12}}]},"50":{"line":474,"type":"binary-expr","locations":[{"start":{"line":474,"column":16},"end":{"line":474,"column":44}},{"start":{"line":474,"column":48},"end":{"line":474,"column":61}}]},"51":{"line":481,"type":"if","locations":[{"start":{"line":481,"column":12},"end":{"line":481,"column":12}},{"start":{"line":481,"column":12},"end":{"line":481,"column":12}}]},"52":{"line":484,"type":"if","locations":[{"start":{"line":484,"column":19},"end":{"line":484,"column":19}},{"start":{"line":484,"column":19},"end":{"line":484,"column":19}}]},"53":{"line":484,"type":"binary-expr","locations":[{"start":{"line":484,"column":23},"end":{"line":484,"column":56}},{"start":{"line":484,"column":61},"end":{"line":484,"column":92}},{"start":{"line":484,"column":96},"end":{"line":484,"column":126}}]},"54":{"line":487,"type":"if","locations":[{"start":{"line":487,"column":19},"end":{"line":487,"column":19}},{"start":{"line":487,"column":19},"end":{"line":487,"column":19}}]},"55":{"line":487,"type":"binary-expr","locations":[{"start":{"line":487,"column":23},"end":{"line":487,"column":36}},{"start":{"line":487,"column":40},"end":{"line":487,"column":77}},{"start":{"line":487,"column":81},"end":{"line":487,"column":113}}]},"56":{"line":496,"type":"if","locations":[{"start":{"line":496,"column":12},"end":{"line":496,"column":12}},{"start":{"line":496,"column":12},"end":{"line":496,"column":12}}]},"57":{"line":496,"type":"binary-expr","locations":[{"start":{"line":496,"column":16},"end":{"line":496,"column":18}},{"start":{"line":496,"column":22},"end":{"line":496,"column":35}}]},"58":{"line":497,"type":"if","locations":[{"start":{"line":497,"column":16},"end":{"line":497,"column":16}},{"start":{"line":497,"column":16},"end":{"line":497,"column":16}}]},"59":{"line":497,"type":"binary-expr","locations":[{"start":{"line":497,"column":20},"end":{"line":497,"column":44}},{"start":{"line":497,"column":48},"end":{"line":497,"column":85}}]},"60":{"line":512,"type":"binary-expr","locations":[{"start":{"line":512,"column":28},"end":{"line":512,"column":30}},{"start":{"line":512,"column":34},"end":{"line":512,"column":57}},{"start":{"line":512,"column":61},"end":{"line":512,"column":107}}]},"61":{"line":517,"type":"cond-expr","locations":[{"start":{"line":517,"column":84},"end":{"line":517,"column":87}},{"start":{"line":517,"column":90},"end":{"line":517,"column":93}}]},"62":{"line":519,"type":"if","locations":[{"start":{"line":519,"column":16},"end":{"line":519,"column":16}},{"start":{"line":519,"column":16},"end":{"line":519,"column":16}}]},"63":{"line":519,"type":"binary-expr","locations":[{"start":{"line":519,"column":20},"end":{"line":519,"column":49}},{"start":{"line":519,"column":53},"end":{"line":519,"column":84}}]},"64":{"line":533,"type":"if","locations":[{"start":{"line":533,"column":16},"end":{"line":533,"column":16}},{"start":{"line":533,"column":16},"end":{"line":533,"column":16}}]}}}; +} +__cov_4DOIGAlAN7qYFMToABqx8g = __cov_4DOIGAlAN7qYFMToABqx8g['src/js/extensions/paste.js']; +__cov_4DOIGAlAN7qYFMToABqx8g.s['1']++;(function(){'use strict';__cov_4DOIGAlAN7qYFMToABqx8g.f['1']++;__cov_4DOIGAlAN7qYFMToABqx8g.s['2']++;var pasteBinDefaultContent='%ME_PASTEBIN%',lastRange=null,keyboardPasteEditable=null,stopProp=function(event){__cov_4DOIGAlAN7qYFMToABqx8g.f['2']++;__cov_4DOIGAlAN7qYFMToABqx8g.s['3']++;event.stopPropagation();};function createReplacements(){__cov_4DOIGAlAN7qYFMToABqx8g.f['3']++;__cov_4DOIGAlAN7qYFMToABqx8g.s['5']++;return[[new RegExp(/^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/g),''],[new RegExp(/|/g),''],[new RegExp(/
    $/i),''],[new RegExp(/<[^>]*docs-internal-guid[^>]*>/gi),''],[new RegExp(/<\/b>(]*>)?$/gi),''],[new RegExp(/\s+<\/span>/g),' '],[new RegExp(/
    /g),'
    '],[new RegExp(/]*(font-style:italic;font-weight:(bold|700)|font-weight:(bold|700);font-style:italic)[^>]*>/gi),''],[new RegExp(/]*font-style:italic[^>]*>/gi),''],[new RegExp(/]*font-weight:(bold|700)[^>]*>/gi),''],[new RegExp(/<(\/?)(i|b|a)>/gi),'<$1$2>'],[new RegExp(/<a(?:(?!href).)+href=(?:"|”|“|"|“|”)(((?!"|”|“|"|“|”).)*)(?:"|”|“|"|“|”)(?:(?!>).)*>/gi),''],[new RegExp(/<\/p>\n+/gi),'

    '],[new RegExp(/\n+

    /gi),''],[new RegExp(/(((?!/gi),'$1']];}function getClipboardContent(event,win,doc){__cov_4DOIGAlAN7qYFMToABqx8g.f['4']++;__cov_4DOIGAlAN7qYFMToABqx8g.s['7']++;var dataTransfer=(__cov_4DOIGAlAN7qYFMToABqx8g.b['1'][0]++,event.clipboardData)||(__cov_4DOIGAlAN7qYFMToABqx8g.b['1'][1]++,win.clipboardData)||(__cov_4DOIGAlAN7qYFMToABqx8g.b['1'][2]++,doc.dataTransfer),data={};__cov_4DOIGAlAN7qYFMToABqx8g.s['8']++;if(!dataTransfer){__cov_4DOIGAlAN7qYFMToABqx8g.b['2'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['9']++;return data;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['2'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['10']++;if(dataTransfer.getData){__cov_4DOIGAlAN7qYFMToABqx8g.b['3'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['11']++;var legacyText=dataTransfer.getData('Text');__cov_4DOIGAlAN7qYFMToABqx8g.s['12']++;if((__cov_4DOIGAlAN7qYFMToABqx8g.b['5'][0]++,legacyText)&&(__cov_4DOIGAlAN7qYFMToABqx8g.b['5'][1]++,legacyText.length>0)){__cov_4DOIGAlAN7qYFMToABqx8g.b['4'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['13']++;data['text/plain']=legacyText;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['4'][1]++;}}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['3'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['14']++;if(dataTransfer.types){__cov_4DOIGAlAN7qYFMToABqx8g.b['6'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['15']++;for(var i=0;i1){__cov_4DOIGAlAN7qYFMToABqx8g.b['21'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['45']++;for(p=0;p'+MediumEditor.util.htmlEntities(paragraphs[p])+'

    ';}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['22'][1]++;}}}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['21'][1]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['48']++;html=MediumEditor.util.htmlEntities(paragraphs[0]);}}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['19'][1]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['49']++;html=MediumEditor.util.htmlEntities(pastedPlain);}__cov_4DOIGAlAN7qYFMToABqx8g.s['50']++;MediumEditor.util.insertHTMLCommand(this.document,html);},handlePasteBinPaste:function(event){__cov_4DOIGAlAN7qYFMToABqx8g.f['11']++;__cov_4DOIGAlAN7qYFMToABqx8g.s['51']++;if(event.defaultPrevented){__cov_4DOIGAlAN7qYFMToABqx8g.b['23'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['52']++;this.removePasteBin();__cov_4DOIGAlAN7qYFMToABqx8g.s['53']++;return;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['23'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['54']++;var clipboardContent=getClipboardContent(event,this.window,this.document),pastedHTML=clipboardContent['text/html'],pastedPlain=clipboardContent['text/plain'],editable=keyboardPasteEditable;__cov_4DOIGAlAN7qYFMToABqx8g.s['55']++;if((__cov_4DOIGAlAN7qYFMToABqx8g.b['25'][0]++,!this.cleanPastedHTML)||(__cov_4DOIGAlAN7qYFMToABqx8g.b['25'][1]++,pastedHTML)){__cov_4DOIGAlAN7qYFMToABqx8g.b['24'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['56']++;event.preventDefault();__cov_4DOIGAlAN7qYFMToABqx8g.s['57']++;this.removePasteBin();__cov_4DOIGAlAN7qYFMToABqx8g.s['58']++;this.doPaste(pastedHTML,pastedPlain,editable);__cov_4DOIGAlAN7qYFMToABqx8g.s['59']++;this.trigger('editablePaste',{currentTarget:editable,target:editable},editable);__cov_4DOIGAlAN7qYFMToABqx8g.s['60']++;return;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['24'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['61']++;setTimeout(function(){__cov_4DOIGAlAN7qYFMToABqx8g.f['12']++;__cov_4DOIGAlAN7qYFMToABqx8g.s['62']++;if(this.cleanPastedHTML){__cov_4DOIGAlAN7qYFMToABqx8g.b['26'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['63']++;pastedHTML=this.getPasteBinHtml();}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['26'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['64']++;this.removePasteBin();__cov_4DOIGAlAN7qYFMToABqx8g.s['65']++;this.doPaste(pastedHTML,pastedPlain,editable);__cov_4DOIGAlAN7qYFMToABqx8g.s['66']++;this.trigger('editablePaste',{currentTarget:editable,target:editable},editable);}.bind(this),0);},handleKeydown:function(event,editable){__cov_4DOIGAlAN7qYFMToABqx8g.f['13']++;__cov_4DOIGAlAN7qYFMToABqx8g.s['67']++;if(!((__cov_4DOIGAlAN7qYFMToABqx8g.b['28'][0]++,MediumEditor.util.isKey(event,MediumEditor.util.keyCode.V))&&(__cov_4DOIGAlAN7qYFMToABqx8g.b['28'][1]++,MediumEditor.util.isMetaCtrlKey(event)))){__cov_4DOIGAlAN7qYFMToABqx8g.b['27'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['68']++;return;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['27'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['69']++;event.stopImmediatePropagation();__cov_4DOIGAlAN7qYFMToABqx8g.s['70']++;this.removePasteBin();__cov_4DOIGAlAN7qYFMToABqx8g.s['71']++;this.createPasteBin(editable);},createPasteBin:function(editable){__cov_4DOIGAlAN7qYFMToABqx8g.f['14']++;__cov_4DOIGAlAN7qYFMToABqx8g.s['72']++;var rects,range=MediumEditor.selection.getSelectionRange(this.document),top=this.window.pageYOffset;__cov_4DOIGAlAN7qYFMToABqx8g.s['73']++;keyboardPasteEditable=editable;__cov_4DOIGAlAN7qYFMToABqx8g.s['74']++;if(range){__cov_4DOIGAlAN7qYFMToABqx8g.b['29'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['75']++;rects=range.getClientRects();__cov_4DOIGAlAN7qYFMToABqx8g.s['76']++;if(rects.length){__cov_4DOIGAlAN7qYFMToABqx8g.b['30'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['77']++;top+=rects[0].top;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['30'][1]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['78']++;if(range.startContainer.getBoundingClientRect!==undefined){__cov_4DOIGAlAN7qYFMToABqx8g.b['31'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['79']++;top+=range.startContainer.getBoundingClientRect().top;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['31'][1]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['80']++;top+=range.getBoundingClientRect().top;}}}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['29'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['81']++;lastRange=range;__cov_4DOIGAlAN7qYFMToABqx8g.s['82']++;var pasteBinElm=this.document.createElement('div');__cov_4DOIGAlAN7qYFMToABqx8g.s['83']++;pasteBinElm.id=this.pasteBinId='medium-editor-pastebin-'+ +Date.now();__cov_4DOIGAlAN7qYFMToABqx8g.s['84']++;pasteBinElm.setAttribute('style','border: 1px red solid; position: absolute; top: '+top+'px; width: 10px; height: 10px; overflow: hidden; opacity: 0');__cov_4DOIGAlAN7qYFMToABqx8g.s['85']++;pasteBinElm.setAttribute('contentEditable',true);__cov_4DOIGAlAN7qYFMToABqx8g.s['86']++;pasteBinElm.innerHTML=pasteBinDefaultContent;__cov_4DOIGAlAN7qYFMToABqx8g.s['87']++;this.document.body.appendChild(pasteBinElm);__cov_4DOIGAlAN7qYFMToABqx8g.s['88']++;this.on(pasteBinElm,'focus',stopProp);__cov_4DOIGAlAN7qYFMToABqx8g.s['89']++;this.on(pasteBinElm,'focusin',stopProp);__cov_4DOIGAlAN7qYFMToABqx8g.s['90']++;this.on(pasteBinElm,'focusout',stopProp);__cov_4DOIGAlAN7qYFMToABqx8g.s['91']++;pasteBinElm.focus();__cov_4DOIGAlAN7qYFMToABqx8g.s['92']++;MediumEditor.selection.selectNode(pasteBinElm,this.document);__cov_4DOIGAlAN7qYFMToABqx8g.s['93']++;if(!this.boundHandlePaste){__cov_4DOIGAlAN7qYFMToABqx8g.b['32'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['94']++;this.boundHandlePaste=this.handlePasteBinPaste.bind(this);}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['32'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['95']++;this.on(pasteBinElm,'paste',this.boundHandlePaste);},removePasteBin:function(){__cov_4DOIGAlAN7qYFMToABqx8g.f['15']++;__cov_4DOIGAlAN7qYFMToABqx8g.s['96']++;if(null!==lastRange){__cov_4DOIGAlAN7qYFMToABqx8g.b['33'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['97']++;MediumEditor.selection.selectRange(this.document,lastRange);__cov_4DOIGAlAN7qYFMToABqx8g.s['98']++;lastRange=null;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['33'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['99']++;if(null!==keyboardPasteEditable){__cov_4DOIGAlAN7qYFMToABqx8g.b['34'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['100']++;keyboardPasteEditable=null;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['34'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['101']++;var pasteBinElm=this.getPasteBin();__cov_4DOIGAlAN7qYFMToABqx8g.s['102']++;if(!pasteBinElm){__cov_4DOIGAlAN7qYFMToABqx8g.b['35'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['103']++;return;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['35'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['104']++;if(pasteBinElm){__cov_4DOIGAlAN7qYFMToABqx8g.b['36'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['105']++;this.off(pasteBinElm,'focus',stopProp);__cov_4DOIGAlAN7qYFMToABqx8g.s['106']++;this.off(pasteBinElm,'focusin',stopProp);__cov_4DOIGAlAN7qYFMToABqx8g.s['107']++;this.off(pasteBinElm,'focusout',stopProp);__cov_4DOIGAlAN7qYFMToABqx8g.s['108']++;this.off(pasteBinElm,'paste',this.boundHandlePaste);__cov_4DOIGAlAN7qYFMToABqx8g.s['109']++;pasteBinElm.parentElement.removeChild(pasteBinElm);}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['36'][1]++;}},getPasteBin:function(){__cov_4DOIGAlAN7qYFMToABqx8g.f['16']++;__cov_4DOIGAlAN7qYFMToABqx8g.s['110']++;return this.document.getElementById(this.pasteBinId);},getPasteBinHtml:function(){__cov_4DOIGAlAN7qYFMToABqx8g.f['17']++;__cov_4DOIGAlAN7qYFMToABqx8g.s['111']++;var pasteBinElm=this.getPasteBin();__cov_4DOIGAlAN7qYFMToABqx8g.s['112']++;if(!pasteBinElm){__cov_4DOIGAlAN7qYFMToABqx8g.b['37'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['113']++;return false;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['37'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['114']++;if((__cov_4DOIGAlAN7qYFMToABqx8g.b['39'][0]++,pasteBinElm.firstChild)&&(__cov_4DOIGAlAN7qYFMToABqx8g.b['39'][1]++,pasteBinElm.firstChild.id==='mcepastebin')){__cov_4DOIGAlAN7qYFMToABqx8g.b['38'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['115']++;return false;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['38'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['116']++;var pasteBinHtml=pasteBinElm.innerHTML;__cov_4DOIGAlAN7qYFMToABqx8g.s['117']++;if((__cov_4DOIGAlAN7qYFMToABqx8g.b['41'][0]++,!pasteBinHtml)||(__cov_4DOIGAlAN7qYFMToABqx8g.b['41'][1]++,pasteBinHtml===pasteBinDefaultContent)){__cov_4DOIGAlAN7qYFMToABqx8g.b['40'][0]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['118']++;return false;}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['40'][1]++;}__cov_4DOIGAlAN7qYFMToABqx8g.s['119']++;return pasteBinHtml;},cleanPaste:function(text){__cov_4DOIGAlAN7qYFMToABqx8g.f['18']++;__cov_4DOIGAlAN7qYFMToABqx8g.s['120']++;var i,elList,tmp,workEl,multiline=/'+text.split('

    ').join('

    ')+'

    ';__cov_4DOIGAlAN7qYFMToABqx8g.s['127']++;elList=tmp.querySelectorAll('a,p,div,br');__cov_4DOIGAlAN7qYFMToABqx8g.s['128']++;for(i=0;i'+el.innerHTML+'
    ';}else{__cov_4DOIGAlAN7qYFMToABqx8g.b['62'][1]++;__cov_4DOIGAlAN7qYFMToABqx8g.s['172']++;newEl.innerHTML=el.innerHTML;}__cov_4DOIGAlAN7qYFMToABqx8g.s['173']++;el.parentNode.replaceChild(newEl,el);}__cov_4DOIGAlAN7qYFMToABqx8g.s['174']++;spans=containerEl.querySelectorAll('span');__cov_4DOIGAlAN7qYFMToABqx8g.s['175']++;for(i=0;i0){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['11'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['46']++;buttons[0].classList.add(this.firstButtonClass);__cov_XGAKwUxHmXhQxSP$hVgEmg.s['47']++;buttons[buttons.length-1].classList.add(this.lastButtonClass);}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['11'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['48']++;return ul;},destroy:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['9']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['49']++;if(this.toolbar){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['12'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['50']++;if(this.toolbar.parentNode){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['13'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['51']++;this.toolbar.parentNode.removeChild(this.toolbar);}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['13'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['52']++;delete this.toolbar;}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['12'][1]++;}},getInteractionElements:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['10']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['53']++;return this.getToolbarElement();},getToolbarElement:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['11']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['54']++;if(!this.toolbar){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['14'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['55']++;this.toolbar=this.createToolbar();}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['14'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['56']++;return this.toolbar;},getToolbarActionsElement:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['12']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['57']++;return this.getToolbarElement().querySelector('.medium-editor-toolbar-actions');},initThrottledMethods:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['13']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['58']++;this.throttledPositionToolbar=MediumEditor.util.throttle(function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['14']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['59']++;if(this.base.isActive){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['15'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['60']++;this.positionToolbarIfShown();}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['15'][1]++;}}.bind(this));},attachEventHandlers:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['15']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['61']++;this.subscribe('blur',this.handleBlur.bind(this));__cov_XGAKwUxHmXhQxSP$hVgEmg.s['62']++;this.subscribe('focus',this.handleFocus.bind(this));__cov_XGAKwUxHmXhQxSP$hVgEmg.s['63']++;this.subscribe('editableClick',this.handleEditableClick.bind(this));__cov_XGAKwUxHmXhQxSP$hVgEmg.s['64']++;this.subscribe('editableKeyup',this.handleEditableKeyup.bind(this));__cov_XGAKwUxHmXhQxSP$hVgEmg.s['65']++;this.on(this.document.documentElement,'mouseup',this.handleDocumentMouseup.bind(this));__cov_XGAKwUxHmXhQxSP$hVgEmg.s['66']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['17'][0]++,this.static)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['17'][1]++,this.sticky)){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['16'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['67']++;this.on(this.window,'scroll',this.handleWindowScroll.bind(this),true);}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['16'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['68']++;this.on(this.window,'resize',this.handleWindowResize.bind(this));},handleWindowScroll:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['16']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['69']++;this.positionToolbarIfShown();},handleWindowResize:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['17']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['70']++;this.throttledPositionToolbar();},handleDocumentMouseup:function(event){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['18']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['71']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['19'][0]++,event)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['19'][1]++,event.target)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['19'][2]++,MediumEditor.util.isDescendant(this.getToolbarElement(),event.target))){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['18'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['72']++;return false;}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['18'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['73']++;this.checkState();},handleEditableClick:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['19']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['74']++;setTimeout(function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['20']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['75']++;this.checkState();}.bind(this),0);},handleEditableKeyup:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['21']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['76']++;this.checkState();},handleBlur:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['22']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['77']++;clearTimeout(this.hideTimeout);__cov_XGAKwUxHmXhQxSP$hVgEmg.s['78']++;clearTimeout(this.delayShowTimeout);__cov_XGAKwUxHmXhQxSP$hVgEmg.s['79']++;this.hideTimeout=setTimeout(function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['23']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['80']++;this.hideToolbar();}.bind(this),1);},handleFocus:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['24']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['81']++;this.checkState();},isDisplayed:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['25']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['82']++;return this.getToolbarElement().classList.contains('medium-editor-toolbar-active');},showToolbar:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['26']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['83']++;clearTimeout(this.hideTimeout);__cov_XGAKwUxHmXhQxSP$hVgEmg.s['84']++;if(!this.isDisplayed()){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['20'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['85']++;this.getToolbarElement().classList.add('medium-editor-toolbar-active');__cov_XGAKwUxHmXhQxSP$hVgEmg.s['86']++;this.trigger('showToolbar',{},this.base.getFocusedElement());}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['20'][1]++;}},hideToolbar:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['27']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['87']++;if(this.isDisplayed()){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['21'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['88']++;this.getToolbarElement().classList.remove('medium-editor-toolbar-active');__cov_XGAKwUxHmXhQxSP$hVgEmg.s['89']++;this.trigger('hideToolbar',{},this.base.getFocusedElement());}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['21'][1]++;}},isToolbarDefaultActionsDisplayed:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['28']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['90']++;return this.getToolbarActionsElement().style.display==='block';},hideToolbarDefaultActions:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['29']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['91']++;if(this.isToolbarDefaultActionsDisplayed()){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['22'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['92']++;this.getToolbarActionsElement().style.display='none';}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['22'][1]++;}},showToolbarDefaultActions:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['30']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['93']++;this.hideExtensionForms();__cov_XGAKwUxHmXhQxSP$hVgEmg.s['94']++;if(!this.isToolbarDefaultActionsDisplayed()){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['23'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['95']++;this.getToolbarActionsElement().style.display='block';}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['23'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['96']++;this.delayShowTimeout=this.base.delay(function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['31']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['97']++;this.showToolbar();}.bind(this));},hideExtensionForms:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['32']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['98']++;this.forEachExtension(function(extension){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['33']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['99']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['25'][0]++,extension.hasForm)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['25'][1]++,extension.isDisplayed())){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['24'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['100']++;extension.hideForm();}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['24'][1]++;}});},multipleBlockElementsSelected:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['34']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['101']++;var regexEmptyHTMLTags=/<[^\/>][^>]*><\/[^>]+>/gim,regexBlockElements=new RegExp('<('+MediumEditor.util.blockContainerElementNames.join('|')+')[^>]*>','g'),selectionHTML=MediumEditor.selection.getSelectionHtml(this.document).replace(regexEmptyHTMLTags,''),hasMultiParagraphs=selectionHTML.match(regexBlockElements);__cov_XGAKwUxHmXhQxSP$hVgEmg.s['102']++;return(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['26'][0]++,!!hasMultiParagraphs)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['26'][1]++,hasMultiParagraphs.length>1);},modifySelection:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['35']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['103']++;var selection=this.window.getSelection(),selectionRange=selection.getRangeAt(0);__cov_XGAKwUxHmXhQxSP$hVgEmg.s['104']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['28'][0]++,this.standardizeSelectionStart)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['28'][1]++,selectionRange.startContainer.nodeValue)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['28'][2]++,selectionRange.startOffset===selectionRange.startContainer.nodeValue.length)){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['27'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['105']++;var adjacentNode=MediumEditor.util.findAdjacentTextNodeWithContent(MediumEditor.selection.getSelectionElement(this.window),selectionRange.startContainer,this.document);__cov_XGAKwUxHmXhQxSP$hVgEmg.s['106']++;if(adjacentNode){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['29'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['107']++;var offset=0;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['108']++;while(adjacentNode.nodeValue.substr(offset,1).trim().length===0){__cov_XGAKwUxHmXhQxSP$hVgEmg.s['109']++;offset=offset+1;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['110']++;selectionRange=MediumEditor.selection.select(this.document,adjacentNode,offset,selectionRange.endContainer,selectionRange.endOffset);}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['29'][1]++;}}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['27'][1]++;}},checkState:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['36']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['111']++;if(this.base.preventSelectionUpdates){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['30'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['112']++;return;}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['30'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['113']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['32'][0]++,!this.base.getFocusedElement())||(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['32'][1]++,MediumEditor.selection.selectionInContentEditableFalse(this.window))){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['31'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['114']++;return this.hideToolbar();}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['31'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['115']++;var selectionElement=MediumEditor.selection.getSelectionElement(this.window);__cov_XGAKwUxHmXhQxSP$hVgEmg.s['116']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['34'][0]++,!selectionElement)||(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['34'][1]++,this.getEditorElements().indexOf(selectionElement)===-1)||(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['34'][2]++,selectionElement.getAttribute('data-disable-toolbar'))){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['33'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['117']++;return this.hideToolbar();}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['33'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['118']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['36'][0]++,this.updateOnEmptySelection)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['36'][1]++,this.static)){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['35'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['119']++;return this.showAndUpdateToolbar();}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['35'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['120']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['38'][0]++,!MediumEditor.selection.selectionContainsContent(this.document))||(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['38'][1]++,this.allowMultiParagraphSelection===false)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['38'][2]++,this.multipleBlockElementsSelected())){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['37'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['121']++;return this.hideToolbar();}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['37'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['122']++;this.showAndUpdateToolbar();},showAndUpdateToolbar:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['37']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['123']++;this.modifySelection();__cov_XGAKwUxHmXhQxSP$hVgEmg.s['124']++;this.setToolbarButtonStates();__cov_XGAKwUxHmXhQxSP$hVgEmg.s['125']++;this.trigger('positionToolbar',{},this.base.getFocusedElement());__cov_XGAKwUxHmXhQxSP$hVgEmg.s['126']++;this.showToolbarDefaultActions();__cov_XGAKwUxHmXhQxSP$hVgEmg.s['127']++;this.setToolbarPosition();},setToolbarButtonStates:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['38']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['128']++;this.forEachExtension(function(extension){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['39']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['129']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['40'][0]++,typeof extension.isActive==='function')&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['40'][1]++,typeof extension.setInactive==='function')){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['39'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['130']++;extension.setInactive();}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['39'][1]++;}});__cov_XGAKwUxHmXhQxSP$hVgEmg.s['131']++;this.checkActiveButtons();},checkActiveButtons:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['40']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['132']++;var manualStateChecks=[],queryState=null,selectionRange=MediumEditor.selection.getSelectionRange(this.document),parentNode,updateExtensionState=function(extension){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['41']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['133']++;if(typeof extension.checkState==='function'){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['41'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['134']++;extension.checkState(parentNode);}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['41'][1]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['135']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['43'][0]++,typeof extension.isActive==='function')&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['43'][1]++,typeof extension.isAlreadyApplied==='function')&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['43'][2]++,typeof extension.setActive==='function')){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['42'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['136']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['45'][0]++,!extension.isActive())&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['45'][1]++,extension.isAlreadyApplied(parentNode))){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['44'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['137']++;extension.setActive();}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['44'][1]++;}}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['42'][1]++;}}};__cov_XGAKwUxHmXhQxSP$hVgEmg.s['138']++;if(!selectionRange){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['46'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['139']++;return;}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['46'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['140']++;this.forEachExtension(function(extension){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['42']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['141']++;if(typeof extension.queryCommandState==='function'){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['47'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['142']++;queryState=extension.queryCommandState();__cov_XGAKwUxHmXhQxSP$hVgEmg.s['143']++;if(queryState!==null){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['48'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['144']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['50'][0]++,queryState)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['50'][1]++,typeof extension.setActive==='function')){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['49'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['145']++;extension.setActive();}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['49'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['146']++;return;}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['48'][1]++;}}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['47'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['147']++;manualStateChecks.push(extension);});__cov_XGAKwUxHmXhQxSP$hVgEmg.s['148']++;parentNode=MediumEditor.selection.getSelectedParentElement(selectionRange);__cov_XGAKwUxHmXhQxSP$hVgEmg.s['149']++;if(!this.getEditorElements().some(function(element){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['43']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['150']++;return MediumEditor.util.isDescendant(element,parentNode,true);})){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['51'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['151']++;return;}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['51'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['152']++;while(parentNode){__cov_XGAKwUxHmXhQxSP$hVgEmg.s['153']++;manualStateChecks.forEach(updateExtensionState);__cov_XGAKwUxHmXhQxSP$hVgEmg.s['154']++;if(MediumEditor.util.isMediumEditorElement(parentNode)){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['52'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['155']++;break;}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['52'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['156']++;parentNode=parentNode.parentNode;}},positionToolbarIfShown:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['44']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['157']++;if(this.isDisplayed()){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['53'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['158']++;this.setToolbarPosition();}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['53'][1]++;}},setToolbarPosition:function(){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['45']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['159']++;var container=this.base.getFocusedElement(),selection=this.window.getSelection();__cov_XGAKwUxHmXhQxSP$hVgEmg.s['160']++;if(!container){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['54'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['161']++;return this;}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['54'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['162']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['56'][0]++,this.static)||(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['56'][1]++,!selection.isCollapsed)){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['55'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['163']++;this.showToolbar();__cov_XGAKwUxHmXhQxSP$hVgEmg.s['164']++;if(!this.relativeContainer){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['57'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['165']++;if(this.static){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['58'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['166']++;this.positionStaticToolbar(container);}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['58'][1]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['167']++;this.positionToolbar(selection);}}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['57'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['168']++;this.trigger('positionedToolbar',{},this.base.getFocusedElement());}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['55'][1]++;}},positionStaticToolbar:function(container){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['46']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['169']++;this.getToolbarElement().style.left='0';__cov_XGAKwUxHmXhQxSP$hVgEmg.s['170']++;var scrollTop=(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['59'][0]++,this.document.documentElement)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['59'][1]++,this.document.documentElement.scrollTop)||(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['59'][2]++,this.document.body.scrollTop),windowWidth=this.window.innerWidth,toolbarElement=this.getToolbarElement(),containerRect=container.getBoundingClientRect(),containerTop=containerRect.top+scrollTop,containerCenter=containerRect.left+containerRect.width/2,toolbarHeight=toolbarElement.offsetHeight,toolbarWidth=toolbarElement.offsetWidth,halfOffsetWidth=toolbarWidth/2,targetLeft;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['171']++;if(this.sticky){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['60'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['172']++;if(scrollTop>containerTop+container.offsetHeight-toolbarHeight-this.stickyTopOffset){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['61'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['173']++;toolbarElement.style.top=containerTop+container.offsetHeight-toolbarHeight+'px';__cov_XGAKwUxHmXhQxSP$hVgEmg.s['174']++;toolbarElement.classList.remove('medium-editor-sticky-toolbar');}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['61'][1]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['175']++;if(scrollTop>containerTop-toolbarHeight-this.stickyTopOffset){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['62'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['176']++;toolbarElement.classList.add('medium-editor-sticky-toolbar');__cov_XGAKwUxHmXhQxSP$hVgEmg.s['177']++;toolbarElement.style.top=this.stickyTopOffset+'px';}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['62'][1]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['178']++;toolbarElement.classList.remove('medium-editor-sticky-toolbar');__cov_XGAKwUxHmXhQxSP$hVgEmg.s['179']++;toolbarElement.style.top=containerTop-toolbarHeight+'px';}}}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['60'][1]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['180']++;toolbarElement.style.top=containerTop-toolbarHeight+'px';}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['181']++;switch(this.align){case'left':__cov_XGAKwUxHmXhQxSP$hVgEmg.b['63'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['182']++;targetLeft=containerRect.left;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['183']++;break;case'right':__cov_XGAKwUxHmXhQxSP$hVgEmg.b['63'][1]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['184']++;targetLeft=containerRect.right-toolbarWidth;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['185']++;break;case'center':__cov_XGAKwUxHmXhQxSP$hVgEmg.b['63'][2]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['186']++;targetLeft=containerCenter-halfOffsetWidth;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['187']++;break;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['188']++;if(targetLeft<0){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['64'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['189']++;targetLeft=0;}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['64'][1]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['190']++;if(targetLeft+toolbarWidth>windowWidth){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['65'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['191']++;targetLeft=windowWidth-Math.ceil(toolbarWidth)-1;}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['65'][1]++;}}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['192']++;toolbarElement.style.left=targetLeft+'px';},positionToolbar:function(selection){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['47']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['193']++;this.getToolbarElement().style.left='0';__cov_XGAKwUxHmXhQxSP$hVgEmg.s['194']++;this.getToolbarElement().style.right='initial';__cov_XGAKwUxHmXhQxSP$hVgEmg.s['195']++;var range=selection.getRangeAt(0),boundary=range.getBoundingClientRect();__cov_XGAKwUxHmXhQxSP$hVgEmg.s['196']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['67'][0]++,!boundary)||(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['67'][1]++,boundary.height===0)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['67'][2]++,boundary.width===0)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['67'][3]++,range.startContainer===range.endContainer)){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['66'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['197']++;if((__cov_XGAKwUxHmXhQxSP$hVgEmg.b['69'][0]++,range.startContainer.nodeType===1)&&(__cov_XGAKwUxHmXhQxSP$hVgEmg.b['69'][1]++,range.startContainer.querySelector('img'))){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['68'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['198']++;boundary=range.startContainer.querySelector('img').getBoundingClientRect();}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['68'][1]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['199']++;boundary=range.startContainer.getBoundingClientRect();}}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['66'][1]++;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['200']++;var containerWidth=this.window.innerWidth,toolbarElement=this.getToolbarElement(),toolbarHeight=toolbarElement.offsetHeight,toolbarWidth=toolbarElement.offsetWidth,halfOffsetWidth=toolbarWidth/2,buttonHeight=50,defaultLeft=this.diffLeft-halfOffsetWidth,elementsContainer=this.getEditorOption('elementsContainer'),elementsContainerAbsolute=['absolute','fixed'].indexOf(window.getComputedStyle(elementsContainer).getPropertyValue('position'))>-1,positions={},relativeBoundary={},middleBoundary,elementsContainerBoundary;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['201']++;if(elementsContainerAbsolute){__cov_XGAKwUxHmXhQxSP$hVgEmg.b['70'][0]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['202']++;elementsContainerBoundary=elementsContainer.getBoundingClientRect();__cov_XGAKwUxHmXhQxSP$hVgEmg.s['203']++;['top','left'].forEach(function(key){__cov_XGAKwUxHmXhQxSP$hVgEmg.f['48']++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['204']++;relativeBoundary[key]=boundary[key]-elementsContainerBoundary[key];});__cov_XGAKwUxHmXhQxSP$hVgEmg.s['205']++;relativeBoundary.width=boundary.width;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['206']++;relativeBoundary.height=boundary.height;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['207']++;boundary=relativeBoundary;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['208']++;containerWidth=elementsContainerBoundary.width;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['209']++;positions.top=elementsContainer.scrollTop;}else{__cov_XGAKwUxHmXhQxSP$hVgEmg.b['70'][1]++;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['210']++;positions.top=this.window.pageYOffset;}__cov_XGAKwUxHmXhQxSP$hVgEmg.s['211']++;middleBoundary=boundary.left+boundary.width/2;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['212']++;positions.top+=boundary.top-toolbarHeight;__cov_XGAKwUxHmXhQxSP$hVgEmg.s['213']++;if(boundary.top0){__cov_vheCMN3GGbqjl6$ZGZvugg.b['4'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['19']++;var range=selection.getRangeAt(0),preSelectionRange=range.cloneRange(),start;__cov_vheCMN3GGbqjl6$ZGZvugg.s['20']++;preSelectionRange.selectNodeContents(root);__cov_vheCMN3GGbqjl6$ZGZvugg.s['21']++;preSelectionRange.setEnd(range.startContainer,range.startOffset);__cov_vheCMN3GGbqjl6$ZGZvugg.s['22']++;start=preSelectionRange.toString().length;__cov_vheCMN3GGbqjl6$ZGZvugg.s['23']++;selectionState={start:start,end:start+range.toString().length};__cov_vheCMN3GGbqjl6$ZGZvugg.s['24']++;if(this.doesRangeStartWithImages(range,doc)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['5'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['25']++;selectionState.startsWithImage=true;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['5'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['26']++;var trailingImageCount=this.getTrailingImageCount(root,selectionState,range.endContainer,range.endOffset);__cov_vheCMN3GGbqjl6$ZGZvugg.s['27']++;if(trailingImageCount){__cov_vheCMN3GGbqjl6$ZGZvugg.b['6'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['28']++;selectionState.trailingImageCount=trailingImageCount;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['6'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['29']++;if(start!==0){__cov_vheCMN3GGbqjl6$ZGZvugg.b['7'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['30']++;var emptyBlocksIndex=this.getIndexRelativeToAdjacentEmptyBlocks(doc,root,range.startContainer,range.startOffset);__cov_vheCMN3GGbqjl6$ZGZvugg.s['31']++;if(emptyBlocksIndex!==-1){__cov_vheCMN3GGbqjl6$ZGZvugg.b['8'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['32']++;selectionState.emptyBlocksIndex=emptyBlocksIndex;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['8'][1]++;}}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['7'][1]++;}}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['4'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['33']++;return selectionState;},importSelection:function(selectionState,root,doc,favorLaterSelectionAnchor){__cov_vheCMN3GGbqjl6$ZGZvugg.f['7']++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['34']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['10'][0]++,!selectionState)||(__cov_vheCMN3GGbqjl6$ZGZvugg.b['10'][1]++,!root)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['9'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['35']++;return;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['9'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['36']++;var range=doc.createRange();__cov_vheCMN3GGbqjl6$ZGZvugg.s['37']++;range.setStart(root,0);__cov_vheCMN3GGbqjl6$ZGZvugg.s['38']++;range.collapse(true);__cov_vheCMN3GGbqjl6$ZGZvugg.s['39']++;var node=root,nodeStack=[],charIndex=0,foundStart=false,foundEnd=false,trailingImageCount=0,stop=false,nextCharIndex,allowRangeToStartAtEndOfNode=false,lastTextNode=null;__cov_vheCMN3GGbqjl6$ZGZvugg.s['40']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['12'][0]++,favorLaterSelectionAnchor)||(__cov_vheCMN3GGbqjl6$ZGZvugg.b['12'][1]++,selectionState.startsWithImage)||(__cov_vheCMN3GGbqjl6$ZGZvugg.b['12'][2]++,typeof selectionState.emptyBlocksIndex!=='undefined')){__cov_vheCMN3GGbqjl6$ZGZvugg.b['11'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['41']++;allowRangeToStartAtEndOfNode=true;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['11'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['42']++;while((__cov_vheCMN3GGbqjl6$ZGZvugg.b['13'][0]++,!stop)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['13'][1]++,node)){__cov_vheCMN3GGbqjl6$ZGZvugg.s['43']++;if(node.nodeType>3){__cov_vheCMN3GGbqjl6$ZGZvugg.b['14'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['44']++;node=nodeStack.pop();__cov_vheCMN3GGbqjl6$ZGZvugg.s['45']++;continue;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['14'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['46']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['16'][0]++,node.nodeType===3)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['16'][1]++,!foundEnd)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['15'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['47']++;nextCharIndex=charIndex+node.length;__cov_vheCMN3GGbqjl6$ZGZvugg.s['48']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['18'][0]++,!foundStart)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['18'][1]++,selectionState.start>=charIndex)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['18'][2]++,selectionState.start<=nextCharIndex)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['17'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['49']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['20'][0]++,allowRangeToStartAtEndOfNode)||(__cov_vheCMN3GGbqjl6$ZGZvugg.b['20'][1]++,selectionState.start=charIndex)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['22'][2]++,selectionState.end<=nextCharIndex)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['21'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['54']++;if(!selectionState.trailingImageCount){__cov_vheCMN3GGbqjl6$ZGZvugg.b['23'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['55']++;range.setEnd(node,selectionState.end-charIndex);__cov_vheCMN3GGbqjl6$ZGZvugg.s['56']++;stop=true;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['23'][1]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['57']++;foundEnd=true;}}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['21'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['58']++;charIndex=nextCharIndex;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['15'][1]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['59']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['25'][0]++,selectionState.trailingImageCount)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['25'][1]++,foundEnd)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['24'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['60']++;if(node.nodeName.toLowerCase()==='img'){__cov_vheCMN3GGbqjl6$ZGZvugg.b['26'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['61']++;trailingImageCount++;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['26'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['62']++;if(trailingImageCount===selectionState.trailingImageCount){__cov_vheCMN3GGbqjl6$ZGZvugg.b['27'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['63']++;var endIndex=0;__cov_vheCMN3GGbqjl6$ZGZvugg.s['64']++;while(node.parentNode.childNodes[endIndex]!==node){__cov_vheCMN3GGbqjl6$ZGZvugg.s['65']++;endIndex++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['66']++;range.setEnd(node.parentNode,endIndex+1);__cov_vheCMN3GGbqjl6$ZGZvugg.s['67']++;stop=true;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['27'][1]++;}}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['24'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['68']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['29'][0]++,!stop)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['29'][1]++,node.nodeType===1)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['28'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['69']++;var i=node.childNodes.length-1;__cov_vheCMN3GGbqjl6$ZGZvugg.s['70']++;while(i>=0){__cov_vheCMN3GGbqjl6$ZGZvugg.s['71']++;nodeStack.push(node.childNodes[i]);__cov_vheCMN3GGbqjl6$ZGZvugg.s['72']++;i-=1;}}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['28'][1]++;}}__cov_vheCMN3GGbqjl6$ZGZvugg.s['73']++;if(!stop){__cov_vheCMN3GGbqjl6$ZGZvugg.b['30'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['74']++;node=nodeStack.pop();}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['30'][1]++;}}__cov_vheCMN3GGbqjl6$ZGZvugg.s['75']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['32'][0]++,!foundStart)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['32'][1]++,lastTextNode)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['31'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['76']++;range.setStart(lastTextNode,lastTextNode.length);__cov_vheCMN3GGbqjl6$ZGZvugg.s['77']++;range.setEnd(lastTextNode,lastTextNode.length);}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['31'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['78']++;if(typeof selectionState.emptyBlocksIndex!=='undefined'){__cov_vheCMN3GGbqjl6$ZGZvugg.b['33'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['79']++;range=this.importSelectionMoveCursorPastBlocks(doc,root,selectionState.emptyBlocksIndex,range);}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['33'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['80']++;if(favorLaterSelectionAnchor){__cov_vheCMN3GGbqjl6$ZGZvugg.b['34'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['81']++;range=this.importSelectionMoveCursorPastAnchor(selectionState,range);}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['34'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['82']++;this.selectRange(doc,range);},importSelectionMoveCursorPastAnchor:function(selectionState,range){__cov_vheCMN3GGbqjl6$ZGZvugg.f['8']++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['83']++;var nodeInsideAnchorTagFunction=function(node){__cov_vheCMN3GGbqjl6$ZGZvugg.f['9']++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['84']++;return node.nodeName.toLowerCase()==='a';};__cov_vheCMN3GGbqjl6$ZGZvugg.s['85']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['36'][0]++,selectionState.start===selectionState.end)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['36'][1]++,range.startContainer.nodeType===3)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['36'][2]++,range.startOffset===range.startContainer.nodeValue.length)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['36'][3]++,MediumEditor.util.traverseUp(range.startContainer,nodeInsideAnchorTagFunction))){__cov_vheCMN3GGbqjl6$ZGZvugg.b['35'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['86']++;var prevNode=range.startContainer,currentNode=range.startContainer.parentNode;__cov_vheCMN3GGbqjl6$ZGZvugg.s['87']++;while((__cov_vheCMN3GGbqjl6$ZGZvugg.b['37'][0]++,currentNode!==null)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['37'][1]++,currentNode.nodeName.toLowerCase()!=='a')){__cov_vheCMN3GGbqjl6$ZGZvugg.s['88']++;if(currentNode.childNodes[currentNode.childNodes.length-1]!==prevNode){__cov_vheCMN3GGbqjl6$ZGZvugg.b['38'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['89']++;currentNode=null;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['38'][1]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['90']++;prevNode=currentNode;__cov_vheCMN3GGbqjl6$ZGZvugg.s['91']++;currentNode=currentNode.parentNode;}}__cov_vheCMN3GGbqjl6$ZGZvugg.s['92']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['40'][0]++,currentNode!==null)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['40'][1]++,currentNode.nodeName.toLowerCase()==='a')){__cov_vheCMN3GGbqjl6$ZGZvugg.b['39'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['93']++;var currentNodeIndex=null;__cov_vheCMN3GGbqjl6$ZGZvugg.s['94']++;for(var i=0;(__cov_vheCMN3GGbqjl6$ZGZvugg.b['41'][0]++,currentNodeIndex===null)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['41'][1]++,i0){__cov_vheCMN3GGbqjl6$ZGZvugg.b['49'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['114']++;break;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['49'][1]++;}}}__cov_vheCMN3GGbqjl6$ZGZvugg.s['115']++;if(!targetNode){__cov_vheCMN3GGbqjl6$ZGZvugg.b['50'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['116']++;targetNode=startBlock;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['50'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['117']++;range.setStart(MediumEditor.util.getFirstSelectableLeafNode(targetNode),0);__cov_vheCMN3GGbqjl6$ZGZvugg.s['118']++;return range;},getIndexRelativeToAdjacentEmptyBlocks:function(doc,root,cursorContainer,cursorOffset){__cov_vheCMN3GGbqjl6$ZGZvugg.f['11']++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['119']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['52'][0]++,cursorContainer.textContent.length>0)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['52'][1]++,cursorOffset>0)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['51'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['120']++;return-1;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['51'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['121']++;var node=cursorContainer;__cov_vheCMN3GGbqjl6$ZGZvugg.s['122']++;if(node.nodeType!==3){__cov_vheCMN3GGbqjl6$ZGZvugg.b['53'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['123']++;node=cursorContainer.childNodes[cursorOffset];}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['53'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['124']++;if(node){__cov_vheCMN3GGbqjl6$ZGZvugg.b['54'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['125']++;if(!MediumEditor.util.isElementAtBeginningOfBlock(node)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['55'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['126']++;return-1;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['55'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['127']++;var previousSibling=MediumEditor.util.findPreviousSibling(node);__cov_vheCMN3GGbqjl6$ZGZvugg.s['128']++;if(!previousSibling){__cov_vheCMN3GGbqjl6$ZGZvugg.b['56'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['129']++;return-1;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['56'][1]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['130']++;if(previousSibling.nodeValue){__cov_vheCMN3GGbqjl6$ZGZvugg.b['57'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['131']++;return-1;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['57'][1]++;}}}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['54'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['132']++;var closestBlock=MediumEditor.util.getClosestBlockContainer(cursorContainer),treeWalker=doc.createTreeWalker(root,NodeFilter.SHOW_ELEMENT,filterOnlyParentElements,false),emptyBlocksCount=0;__cov_vheCMN3GGbqjl6$ZGZvugg.s['133']++;while(treeWalker.nextNode()){__cov_vheCMN3GGbqjl6$ZGZvugg.s['134']++;var blockIsEmpty=treeWalker.currentNode.textContent==='';__cov_vheCMN3GGbqjl6$ZGZvugg.s['135']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['59'][0]++,blockIsEmpty)||(__cov_vheCMN3GGbqjl6$ZGZvugg.b['59'][1]++,emptyBlocksCount>0)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['58'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['136']++;emptyBlocksCount+=1;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['58'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['137']++;if(treeWalker.currentNode===closestBlock){__cov_vheCMN3GGbqjl6$ZGZvugg.b['60'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['138']++;return emptyBlocksCount;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['60'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['139']++;if(!blockIsEmpty){__cov_vheCMN3GGbqjl6$ZGZvugg.b['61'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['140']++;emptyBlocksCount=0;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['61'][1]++;}}__cov_vheCMN3GGbqjl6$ZGZvugg.s['141']++;return emptyBlocksCount;},doesRangeStartWithImages:function(range,doc){__cov_vheCMN3GGbqjl6$ZGZvugg.f['12']++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['142']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['63'][0]++,range.startOffset!==0)||(__cov_vheCMN3GGbqjl6$ZGZvugg.b['63'][1]++,range.startContainer.nodeType!==1)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['62'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['143']++;return false;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['62'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['144']++;if(range.startContainer.nodeName.toLowerCase()==='img'){__cov_vheCMN3GGbqjl6$ZGZvugg.b['64'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['145']++;return true;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['64'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['146']++;var img=range.startContainer.querySelector('img');__cov_vheCMN3GGbqjl6$ZGZvugg.s['147']++;if(!img){__cov_vheCMN3GGbqjl6$ZGZvugg.b['65'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['148']++;return false;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['65'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['149']++;var treeWalker=doc.createTreeWalker(range.startContainer,NodeFilter.SHOW_ALL,null,false);__cov_vheCMN3GGbqjl6$ZGZvugg.s['150']++;while(treeWalker.nextNode()){__cov_vheCMN3GGbqjl6$ZGZvugg.s['151']++;var next=treeWalker.currentNode;__cov_vheCMN3GGbqjl6$ZGZvugg.s['152']++;if(next===img){__cov_vheCMN3GGbqjl6$ZGZvugg.b['66'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['153']++;break;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['66'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['154']++;if(next.nodeValue){__cov_vheCMN3GGbqjl6$ZGZvugg.b['67'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['155']++;return false;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['67'][1]++;}}__cov_vheCMN3GGbqjl6$ZGZvugg.s['156']++;return true;},getTrailingImageCount:function(root,selectionState,endContainer,endOffset){__cov_vheCMN3GGbqjl6$ZGZvugg.f['13']++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['157']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['69'][0]++,endOffset===0)||(__cov_vheCMN3GGbqjl6$ZGZvugg.b['69'][1]++,endContainer.nodeType!==1)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['68'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['158']++;return 0;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['68'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['159']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['71'][0]++,endContainer.nodeName.toLowerCase()!=='img')&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['71'][1]++,!endContainer.querySelector('img'))){__cov_vheCMN3GGbqjl6$ZGZvugg.b['70'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['160']++;return 0;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['70'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['161']++;var lastNode=endContainer.childNodes[endOffset-1];__cov_vheCMN3GGbqjl6$ZGZvugg.s['162']++;while(lastNode.hasChildNodes()){__cov_vheCMN3GGbqjl6$ZGZvugg.s['163']++;lastNode=lastNode.lastChild;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['164']++;var node=root,nodeStack=[],charIndex=0,foundStart=false,foundEnd=false,stop=false,nextCharIndex,trailingImages=0;__cov_vheCMN3GGbqjl6$ZGZvugg.s['165']++;while((__cov_vheCMN3GGbqjl6$ZGZvugg.b['72'][0]++,!stop)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['72'][1]++,node)){__cov_vheCMN3GGbqjl6$ZGZvugg.s['166']++;if(node.nodeType>3){__cov_vheCMN3GGbqjl6$ZGZvugg.b['73'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['167']++;node=nodeStack.pop();__cov_vheCMN3GGbqjl6$ZGZvugg.s['168']++;continue;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['73'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['169']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['75'][0]++,node.nodeType===3)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['75'][1]++,!foundEnd)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['74'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['170']++;trailingImages=0;__cov_vheCMN3GGbqjl6$ZGZvugg.s['171']++;nextCharIndex=charIndex+node.length;__cov_vheCMN3GGbqjl6$ZGZvugg.s['172']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['77'][0]++,!foundStart)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['77'][1]++,selectionState.start>=charIndex)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['77'][2]++,selectionState.start<=nextCharIndex)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['76'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['173']++;foundStart=true;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['76'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['174']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['79'][0]++,foundStart)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['79'][1]++,selectionState.end>=charIndex)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['79'][2]++,selectionState.end<=nextCharIndex)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['78'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['175']++;foundEnd=true;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['78'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['176']++;charIndex=nextCharIndex;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['74'][1]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['177']++;if(node.nodeName.toLowerCase()==='img'){__cov_vheCMN3GGbqjl6$ZGZvugg.b['80'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['178']++;trailingImages++;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['80'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['179']++;if(node===lastNode){__cov_vheCMN3GGbqjl6$ZGZvugg.b['81'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['180']++;stop=true;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['81'][1]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['181']++;if(node.nodeType===1){__cov_vheCMN3GGbqjl6$ZGZvugg.b['82'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['182']++;var i=node.childNodes.length-1;__cov_vheCMN3GGbqjl6$ZGZvugg.s['183']++;while(i>=0){__cov_vheCMN3GGbqjl6$ZGZvugg.s['184']++;nodeStack.push(node.childNodes[i]);__cov_vheCMN3GGbqjl6$ZGZvugg.s['185']++;i-=1;}}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['82'][1]++;}}}__cov_vheCMN3GGbqjl6$ZGZvugg.s['186']++;if(!stop){__cov_vheCMN3GGbqjl6$ZGZvugg.b['83'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['187']++;node=nodeStack.pop();}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['83'][1]++;}}__cov_vheCMN3GGbqjl6$ZGZvugg.s['188']++;return trailingImages;},selectionContainsContent:function(doc){__cov_vheCMN3GGbqjl6$ZGZvugg.f['14']++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['189']++;var sel=doc.getSelection();__cov_vheCMN3GGbqjl6$ZGZvugg.s['190']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['85'][0]++,!sel)||(__cov_vheCMN3GGbqjl6$ZGZvugg.b['85'][1]++,sel.isCollapsed)||(__cov_vheCMN3GGbqjl6$ZGZvugg.b['85'][2]++,!sel.rangeCount)){__cov_vheCMN3GGbqjl6$ZGZvugg.b['84'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['191']++;return false;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['84'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['192']++;if(sel.toString().trim()!==''){__cov_vheCMN3GGbqjl6$ZGZvugg.b['86'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['193']++;return true;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['86'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['194']++;var selectionNode=this.getSelectedParentElement(sel.getRangeAt(0));__cov_vheCMN3GGbqjl6$ZGZvugg.s['195']++;if(selectionNode){__cov_vheCMN3GGbqjl6$ZGZvugg.b['87'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['196']++;if((__cov_vheCMN3GGbqjl6$ZGZvugg.b['89'][0]++,selectionNode.nodeName.toLowerCase()==='img')||(__cov_vheCMN3GGbqjl6$ZGZvugg.b['89'][1]++,selectionNode.nodeType===1)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['89'][2]++,selectionNode.querySelector('img'))){__cov_vheCMN3GGbqjl6$ZGZvugg.b['88'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['197']++;return true;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['88'][1]++;}}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['87'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['198']++;return false;},selectionInContentEditableFalse:function(contentWindow){__cov_vheCMN3GGbqjl6$ZGZvugg.f['15']++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['199']++;var sawtrue,sawfalse=this.findMatchingSelectionParent(function(el){__cov_vheCMN3GGbqjl6$ZGZvugg.f['16']++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['200']++;var ce=(__cov_vheCMN3GGbqjl6$ZGZvugg.b['90'][0]++,el)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['90'][1]++,el.getAttribute('contenteditable'));__cov_vheCMN3GGbqjl6$ZGZvugg.s['201']++;if(ce==='true'){__cov_vheCMN3GGbqjl6$ZGZvugg.b['91'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['202']++;sawtrue=true;}else{__cov_vheCMN3GGbqjl6$ZGZvugg.b['91'][1]++;}__cov_vheCMN3GGbqjl6$ZGZvugg.s['203']++;return(__cov_vheCMN3GGbqjl6$ZGZvugg.b['92'][0]++,el.nodeName!=='#text')&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['92'][1]++,ce==='false');},contentWindow);__cov_vheCMN3GGbqjl6$ZGZvugg.s['204']++;return(__cov_vheCMN3GGbqjl6$ZGZvugg.b['93'][0]++,!sawtrue)&&(__cov_vheCMN3GGbqjl6$ZGZvugg.b['93'][1]++,sawfalse);},getSelectionHtml:function getSelectionHtml(doc){__cov_vheCMN3GGbqjl6$ZGZvugg.f['17']++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['205']++;var i,html='',sel=doc.getSelection(),len,container;__cov_vheCMN3GGbqjl6$ZGZvugg.s['206']++;if(sel.rangeCount){__cov_vheCMN3GGbqjl6$ZGZvugg.b['94'][0]++;__cov_vheCMN3GGbqjl6$ZGZvugg.s['207']++;container=doc.createElement('div');__cov_vheCMN3GGbqjl6$ZGZvugg.s['208']++;for(i=0,len=sel.rangeCount;i-1,isMac:window.navigator.platform.toUpperCase().indexOf('MAC')>=0,keyCode:{BACKSPACE:8,TAB:9,ENTER:13,ESCAPE:27,SPACE:32,DELETE:46,K:75,M:77,V:86},isMetaCtrlKey:function(event){__cov_z9IGZ1F6QFNdQud0YIqpew.f['3']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['18']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['7'][0]++,Util.isMac)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['7'][1]++,event.metaKey)||(__cov_z9IGZ1F6QFNdQud0YIqpew.b['7'][2]++,!Util.isMac)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['7'][3]++,event.ctrlKey)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['6'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['19']++;return true;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['6'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['20']++;return false;},isKey:function(event,keys){__cov_z9IGZ1F6QFNdQud0YIqpew.f['4']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['21']++;var keyCode=Util.getKeyCode(event);__cov_z9IGZ1F6QFNdQud0YIqpew.s['22']++;if(false===Array.isArray(keys)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['8'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['23']++;return keyCode===keys;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['8'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['24']++;if(-1===keys.indexOf(keyCode)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['9'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['25']++;return false;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['9'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['26']++;return true;},getKeyCode:function(event){__cov_z9IGZ1F6QFNdQud0YIqpew.f['5']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['27']++;var keyCode=event.which;__cov_z9IGZ1F6QFNdQud0YIqpew.s['28']++;if(null===keyCode){__cov_z9IGZ1F6QFNdQud0YIqpew.b['10'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['29']++;keyCode=event.charCode!==null?(__cov_z9IGZ1F6QFNdQud0YIqpew.b['11'][0]++,event.charCode):(__cov_z9IGZ1F6QFNdQud0YIqpew.b['11'][1]++,event.keyCode);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['10'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['30']++;return keyCode;},blockContainerElementNames:['p','h1','h2','h3','h4','h5','h6','blockquote','pre','ul','li','ol','address','article','aside','audio','canvas','dd','dl','dt','fieldset','figcaption','figure','footer','form','header','hgroup','main','nav','noscript','output','section','video','table','thead','tbody','tfoot','tr','th','td'],emptyElementNames:['br','col','colgroup','hr','img','input','source','wbr'],extend:function extend(){__cov_z9IGZ1F6QFNdQud0YIqpew.f['6']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['31']++;var args=[true].concat(Array.prototype.slice.call(arguments));__cov_z9IGZ1F6QFNdQud0YIqpew.s['32']++;return copyInto.apply(this,args);},defaults:function defaults(){__cov_z9IGZ1F6QFNdQud0YIqpew.f['7']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['33']++;var args=[false].concat(Array.prototype.slice.call(arguments));__cov_z9IGZ1F6QFNdQud0YIqpew.s['34']++;return copyInto.apply(this,args);},createLink:function(document,textNodes,href,target){__cov_z9IGZ1F6QFNdQud0YIqpew.f['8']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['35']++;var anchor=document.createElement('a');__cov_z9IGZ1F6QFNdQud0YIqpew.s['36']++;Util.moveTextRangeIntoElement(textNodes[0],textNodes[textNodes.length-1],anchor);__cov_z9IGZ1F6QFNdQud0YIqpew.s['37']++;anchor.setAttribute('href',href);__cov_z9IGZ1F6QFNdQud0YIqpew.s['38']++;if(target){__cov_z9IGZ1F6QFNdQud0YIqpew.b['12'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['39']++;if(target==='_blank'){__cov_z9IGZ1F6QFNdQud0YIqpew.b['13'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['40']++;anchor.setAttribute('rel','noopener noreferrer');}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['13'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['41']++;anchor.setAttribute('target',target);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['12'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['42']++;return anchor;},findOrCreateMatchingTextNodes:function(document,element,match){__cov_z9IGZ1F6QFNdQud0YIqpew.f['9']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['43']++;var treeWalker=document.createTreeWalker(element,NodeFilter.SHOW_ALL,null,false),matchedNodes=[],currentTextIndex=0,startReached=false,currentNode=null,newNode=null;__cov_z9IGZ1F6QFNdQud0YIqpew.s['44']++;while((currentNode=treeWalker.nextNode())!==null){__cov_z9IGZ1F6QFNdQud0YIqpew.s['45']++;if(currentNode.nodeType>3){__cov_z9IGZ1F6QFNdQud0YIqpew.b['14'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['46']++;continue;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['14'][1]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['47']++;if(currentNode.nodeType===3){__cov_z9IGZ1F6QFNdQud0YIqpew.b['15'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['48']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['17'][0]++,!startReached)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['17'][1]++,match.startmatch.end+1)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['21'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['56']++;throw new Error('PerformLinking overshot the target!');}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['21'][1]++;}}__cov_z9IGZ1F6QFNdQud0YIqpew.s['57']++;if(startReached){__cov_z9IGZ1F6QFNdQud0YIqpew.b['23'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['58']++;matchedNodes.push((__cov_z9IGZ1F6QFNdQud0YIqpew.b['24'][0]++,newNode)||(__cov_z9IGZ1F6QFNdQud0YIqpew.b['24'][1]++,currentNode));}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['23'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['59']++;currentTextIndex+=currentNode.nodeValue.length;__cov_z9IGZ1F6QFNdQud0YIqpew.s['60']++;if(newNode!==null){__cov_z9IGZ1F6QFNdQud0YIqpew.b['25'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['61']++;currentTextIndex+=newNode.nodeValue.length;__cov_z9IGZ1F6QFNdQud0YIqpew.s['62']++;treeWalker.nextNode();}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['25'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['63']++;newNode=null;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['15'][1]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['64']++;if(currentNode.tagName.toLowerCase()==='img'){__cov_z9IGZ1F6QFNdQud0YIqpew.b['26'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['65']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['28'][0]++,!startReached)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['28'][1]++,match.start<=currentTextIndex)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['27'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['66']++;startReached=true;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['27'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['67']++;if(startReached){__cov_z9IGZ1F6QFNdQud0YIqpew.b['29'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['68']++;matchedNodes.push(currentNode);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['29'][1]++;}}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['26'][1]++;}}}}__cov_z9IGZ1F6QFNdQud0YIqpew.s['69']++;return matchedNodes;},splitStartNodeIfNeeded:function(currentNode,matchStartIndex,currentTextIndex){__cov_z9IGZ1F6QFNdQud0YIqpew.f['10']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['70']++;if(matchStartIndex!==currentTextIndex){__cov_z9IGZ1F6QFNdQud0YIqpew.b['30'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['71']++;return currentNode.splitText(matchStartIndex-currentTextIndex);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['30'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['72']++;return null;},splitEndNodeIfNeeded:function(currentNode,newNode,matchEndIndex,currentTextIndex){__cov_z9IGZ1F6QFNdQud0YIqpew.f['11']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['73']++;var textIndexOfEndOfFarthestNode,endSplitPoint;__cov_z9IGZ1F6QFNdQud0YIqpew.s['74']++;textIndexOfEndOfFarthestNode=currentTextIndex+currentNode.nodeValue.length+(newNode?(__cov_z9IGZ1F6QFNdQud0YIqpew.b['31'][0]++,newNode.nodeValue.length):(__cov_z9IGZ1F6QFNdQud0YIqpew.b['31'][1]++,0))-1;__cov_z9IGZ1F6QFNdQud0YIqpew.s['75']++;endSplitPoint=matchEndIndex-currentTextIndex-(newNode?(__cov_z9IGZ1F6QFNdQud0YIqpew.b['32'][0]++,currentNode.nodeValue.length):(__cov_z9IGZ1F6QFNdQud0YIqpew.b['32'][1]++,0));__cov_z9IGZ1F6QFNdQud0YIqpew.s['76']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['34'][0]++,textIndexOfEndOfFarthestNode>=matchEndIndex)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['34'][1]++,currentTextIndex!==textIndexOfEndOfFarthestNode)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['34'][2]++,endSplitPoint!==0)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['33'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['77']++;((__cov_z9IGZ1F6QFNdQud0YIqpew.b['35'][0]++,newNode)||(__cov_z9IGZ1F6QFNdQud0YIqpew.b['35'][1]++,currentNode)).splitText(endSplitPoint);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['33'][1]++;}},splitByBlockElements:function(element){__cov_z9IGZ1F6QFNdQud0YIqpew.f['12']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['78']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['37'][0]++,element.nodeType!==3)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['37'][1]++,element.nodeType!==1)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['36'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['79']++;return[];}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['36'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['80']++;var toRet=[],blockElementQuery=MediumEditor.util.blockContainerElementNames.join(',');__cov_z9IGZ1F6QFNdQud0YIqpew.s['81']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['39'][0]++,element.nodeType===3)||(__cov_z9IGZ1F6QFNdQud0YIqpew.b['39'][1]++,element.querySelectorAll(blockElementQuery).length===0)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['38'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['82']++;return[element];}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['38'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['83']++;for(var i=0;i0)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['45'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['100']++;break;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['45'][1]++;}}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['44'][1]++;}}__cov_z9IGZ1F6QFNdQud0YIqpew.s['101']++;nextNode=nodeIterator.nextNode();}__cov_z9IGZ1F6QFNdQud0YIqpew.s['102']++;return nextNode;},findPreviousSibling:function(node){__cov_z9IGZ1F6QFNdQud0YIqpew.f['14']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['103']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['48'][0]++,!node)||(__cov_z9IGZ1F6QFNdQud0YIqpew.b['48'][1]++,Util.isMediumEditorElement(node))){__cov_z9IGZ1F6QFNdQud0YIqpew.b['47'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['104']++;return false;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['47'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['105']++;var previousSibling=node.previousSibling;__cov_z9IGZ1F6QFNdQud0YIqpew.s['106']++;while((__cov_z9IGZ1F6QFNdQud0YIqpew.b['49'][0]++,!previousSibling)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['49'][1]++,!Util.isMediumEditorElement(node.parentNode))){__cov_z9IGZ1F6QFNdQud0YIqpew.s['107']++;node=node.parentNode;__cov_z9IGZ1F6QFNdQud0YIqpew.s['108']++;previousSibling=node.previousSibling;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['109']++;return previousSibling;},isDescendant:function isDescendant(parent,child,checkEquality){__cov_z9IGZ1F6QFNdQud0YIqpew.f['15']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['110']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['51'][0]++,!parent)||(__cov_z9IGZ1F6QFNdQud0YIqpew.b['51'][1]++,!child)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['50'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['111']++;return false;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['50'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['112']++;if(parent===child){__cov_z9IGZ1F6QFNdQud0YIqpew.b['52'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['113']++;return!!checkEquality;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['52'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['114']++;if(parent.nodeType!==1){__cov_z9IGZ1F6QFNdQud0YIqpew.b['53'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['115']++;return false;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['53'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['116']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['55'][0]++,nodeContainsWorksWithTextNodes)||(__cov_z9IGZ1F6QFNdQud0YIqpew.b['55'][1]++,child.nodeType!==3)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['54'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['117']++;return parent.contains(child);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['54'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['118']++;var node=child.parentNode;__cov_z9IGZ1F6QFNdQud0YIqpew.s['119']++;while(node!==null){__cov_z9IGZ1F6QFNdQud0YIqpew.s['120']++;if(node===parent){__cov_z9IGZ1F6QFNdQud0YIqpew.b['56'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['121']++;return true;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['56'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['122']++;node=node.parentNode;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['123']++;return false;},isElement:function isElement(obj){__cov_z9IGZ1F6QFNdQud0YIqpew.f['16']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['124']++;return!!((__cov_z9IGZ1F6QFNdQud0YIqpew.b['57'][0]++,obj)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['57'][1]++,obj.nodeType===1));},throttle:function(func,wait){__cov_z9IGZ1F6QFNdQud0YIqpew.f['17']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['125']++;var THROTTLE_INTERVAL=50,context,args,result,timeout=null,previous=0,later=function(){__cov_z9IGZ1F6QFNdQud0YIqpew.f['18']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['126']++;previous=Date.now();__cov_z9IGZ1F6QFNdQud0YIqpew.s['127']++;timeout=null;__cov_z9IGZ1F6QFNdQud0YIqpew.s['128']++;result=func.apply(context,args);__cov_z9IGZ1F6QFNdQud0YIqpew.s['129']++;if(!timeout){__cov_z9IGZ1F6QFNdQud0YIqpew.b['58'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['130']++;context=args=null;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['58'][1]++;}};__cov_z9IGZ1F6QFNdQud0YIqpew.s['131']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['60'][0]++,!wait)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['60'][1]++,wait!==0)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['59'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['132']++;wait=THROTTLE_INTERVAL;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['59'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['133']++;return function(){__cov_z9IGZ1F6QFNdQud0YIqpew.f['19']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['134']++;var now=Date.now(),remaining=wait-(now-previous);__cov_z9IGZ1F6QFNdQud0YIqpew.s['135']++;context=this;__cov_z9IGZ1F6QFNdQud0YIqpew.s['136']++;args=arguments;__cov_z9IGZ1F6QFNdQud0YIqpew.s['137']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['62'][0]++,remaining<=0)||(__cov_z9IGZ1F6QFNdQud0YIqpew.b['62'][1]++,remaining>wait)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['61'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['138']++;if(timeout){__cov_z9IGZ1F6QFNdQud0YIqpew.b['63'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['139']++;clearTimeout(timeout);__cov_z9IGZ1F6QFNdQud0YIqpew.s['140']++;timeout=null;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['63'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['141']++;previous=now;__cov_z9IGZ1F6QFNdQud0YIqpew.s['142']++;result=func.apply(context,args);__cov_z9IGZ1F6QFNdQud0YIqpew.s['143']++;if(!timeout){__cov_z9IGZ1F6QFNdQud0YIqpew.b['64'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['144']++;context=args=null;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['64'][1]++;}}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['61'][1]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['145']++;if(!timeout){__cov_z9IGZ1F6QFNdQud0YIqpew.b['65'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['146']++;timeout=setTimeout(later,remaining);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['65'][1]++;}}__cov_z9IGZ1F6QFNdQud0YIqpew.s['147']++;return result;};},traverseUp:function(current,testElementFunction){__cov_z9IGZ1F6QFNdQud0YIqpew.f['20']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['148']++;if(!current){__cov_z9IGZ1F6QFNdQud0YIqpew.b['66'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['149']++;return false;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['66'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['150']++;do{__cov_z9IGZ1F6QFNdQud0YIqpew.s['151']++;if(current.nodeType===1){__cov_z9IGZ1F6QFNdQud0YIqpew.b['67'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['152']++;if(testElementFunction(current)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['68'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['153']++;return current;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['68'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['154']++;if(Util.isMediumEditorElement(current)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['69'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['155']++;return false;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['69'][1]++;}}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['67'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['156']++;current=current.parentNode;}while(current);__cov_z9IGZ1F6QFNdQud0YIqpew.s['157']++;return false;},htmlEntities:function(str){__cov_z9IGZ1F6QFNdQud0YIqpew.f['21']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['158']++;return String(str).replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"');},insertHTMLCommand:function(doc,html){__cov_z9IGZ1F6QFNdQud0YIqpew.f['22']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['159']++;var selection,range,el,fragment,node,lastNode,toReplace,res=false,ecArgs=['insertHTML',false,html];__cov_z9IGZ1F6QFNdQud0YIqpew.s['160']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['71'][0]++,!MediumEditor.util.isEdge)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['71'][1]++,doc.queryCommandSupported('insertHTML'))){__cov_z9IGZ1F6QFNdQud0YIqpew.b['70'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['161']++;try{__cov_z9IGZ1F6QFNdQud0YIqpew.s['162']++;return doc.execCommand.apply(doc,ecArgs);}catch(ignore){}}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['70'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['163']++;selection=doc.getSelection();__cov_z9IGZ1F6QFNdQud0YIqpew.s['164']++;if(selection.rangeCount){__cov_z9IGZ1F6QFNdQud0YIqpew.b['72'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['165']++;range=selection.getRangeAt(0);__cov_z9IGZ1F6QFNdQud0YIqpew.s['166']++;toReplace=range.commonAncestorContainer;__cov_z9IGZ1F6QFNdQud0YIqpew.s['167']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['74'][0]++,Util.isMediumEditorElement(toReplace))&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['74'][1]++,!toReplace.firstChild)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['73'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['168']++;range.selectNode(toReplace.appendChild(doc.createTextNode('')));}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['73'][1]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['169']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['76'][0]++,toReplace.nodeType===3)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['76'][1]++,range.startOffset===0)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['76'][2]++,range.endOffset===toReplace.nodeValue.length)||(__cov_z9IGZ1F6QFNdQud0YIqpew.b['76'][3]++,toReplace.nodeType!==3)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['76'][4]++,toReplace.innerHTML===range.toString())){__cov_z9IGZ1F6QFNdQud0YIqpew.b['75'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['170']++;while((__cov_z9IGZ1F6QFNdQud0YIqpew.b['77'][0]++,!Util.isMediumEditorElement(toReplace))&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['77'][1]++,toReplace.parentNode)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['77'][2]++,toReplace.parentNode.childNodes.length===1)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['77'][3]++,!Util.isMediumEditorElement(toReplace.parentNode))){__cov_z9IGZ1F6QFNdQud0YIqpew.s['171']++;toReplace=toReplace.parentNode;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['172']++;range.selectNode(toReplace);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['75'][1]++;}}__cov_z9IGZ1F6QFNdQud0YIqpew.s['173']++;range.deleteContents();__cov_z9IGZ1F6QFNdQud0YIqpew.s['174']++;el=doc.createElement('div');__cov_z9IGZ1F6QFNdQud0YIqpew.s['175']++;el.innerHTML=html;__cov_z9IGZ1F6QFNdQud0YIqpew.s['176']++;fragment=doc.createDocumentFragment();__cov_z9IGZ1F6QFNdQud0YIqpew.s['177']++;while(el.firstChild){__cov_z9IGZ1F6QFNdQud0YIqpew.s['178']++;node=el.firstChild;__cov_z9IGZ1F6QFNdQud0YIqpew.s['179']++;lastNode=fragment.appendChild(node);}__cov_z9IGZ1F6QFNdQud0YIqpew.s['180']++;range.insertNode(fragment);__cov_z9IGZ1F6QFNdQud0YIqpew.s['181']++;if(lastNode){__cov_z9IGZ1F6QFNdQud0YIqpew.b['78'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['182']++;range=range.cloneRange();__cov_z9IGZ1F6QFNdQud0YIqpew.s['183']++;range.setStartAfter(lastNode);__cov_z9IGZ1F6QFNdQud0YIqpew.s['184']++;range.collapse(true);__cov_z9IGZ1F6QFNdQud0YIqpew.s['185']++;MediumEditor.selection.selectRange(doc,range);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['78'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['186']++;res=true;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['72'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['187']++;if(doc.execCommand.callListeners){__cov_z9IGZ1F6QFNdQud0YIqpew.b['79'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['188']++;doc.execCommand.callListeners(ecArgs,res);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['79'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['189']++;return res;},execFormatBlock:function(doc,tagName){__cov_z9IGZ1F6QFNdQud0YIqpew.f['23']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['190']++;var blockContainer=Util.getTopBlockContainer(MediumEditor.selection.getSelectionStart(doc)),childNodes;__cov_z9IGZ1F6QFNdQud0YIqpew.s['191']++;if(tagName==='blockquote'){__cov_z9IGZ1F6QFNdQud0YIqpew.b['80'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['192']++;if(blockContainer){__cov_z9IGZ1F6QFNdQud0YIqpew.b['81'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['193']++;childNodes=Array.prototype.slice.call(blockContainer.childNodes);__cov_z9IGZ1F6QFNdQud0YIqpew.s['194']++;if(childNodes.some(function(childNode){__cov_z9IGZ1F6QFNdQud0YIqpew.f['24']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['195']++;return Util.isBlockContainer(childNode);})){__cov_z9IGZ1F6QFNdQud0YIqpew.b['82'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['196']++;return doc.execCommand('outdent',false,null);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['82'][1]++;}}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['81'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['197']++;if(Util.isIE){__cov_z9IGZ1F6QFNdQud0YIqpew.b['83'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['198']++;return doc.execCommand('indent',false,tagName);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['83'][1]++;}}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['80'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['199']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['85'][0]++,blockContainer)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['85'][1]++,tagName===blockContainer.nodeName.toLowerCase())){__cov_z9IGZ1F6QFNdQud0YIqpew.b['84'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['200']++;tagName='p';}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['84'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['201']++;if(Util.isIE){__cov_z9IGZ1F6QFNdQud0YIqpew.b['86'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['202']++;tagName='<'+tagName+'>';}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['86'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['203']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['88'][0]++,blockContainer)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['88'][1]++,blockContainer.nodeName.toLowerCase()==='blockquote')){__cov_z9IGZ1F6QFNdQud0YIqpew.b['87'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['204']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['90'][0]++,Util.isIE)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['90'][1]++,tagName==='

    ')){__cov_z9IGZ1F6QFNdQud0YIqpew.b['89'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['205']++;return doc.execCommand('outdent',false,tagName);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['89'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['206']++;if(((__cov_z9IGZ1F6QFNdQud0YIqpew.b['92'][0]++,Util.isFF)||(__cov_z9IGZ1F6QFNdQud0YIqpew.b['92'][1]++,Util.isEdge))&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['92'][2]++,tagName==='p')){__cov_z9IGZ1F6QFNdQud0YIqpew.b['91'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['207']++;childNodes=Array.prototype.slice.call(blockContainer.childNodes);__cov_z9IGZ1F6QFNdQud0YIqpew.s['208']++;if(childNodes.some(function(childNode){__cov_z9IGZ1F6QFNdQud0YIqpew.f['25']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['209']++;return!Util.isBlockContainer(childNode);})){__cov_z9IGZ1F6QFNdQud0YIqpew.b['93'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['210']++;doc.execCommand('formatBlock',false,tagName);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['93'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['211']++;return doc.execCommand('outdent',false,tagName);}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['91'][1]++;}}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['87'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['212']++;return doc.execCommand('formatBlock',false,tagName);},setTargetBlank:function(el,anchorUrl){__cov_z9IGZ1F6QFNdQud0YIqpew.f['26']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['213']++;var i,url=(__cov_z9IGZ1F6QFNdQud0YIqpew.b['94'][0]++,anchorUrl)||(__cov_z9IGZ1F6QFNdQud0YIqpew.b['94'][1]++,false);__cov_z9IGZ1F6QFNdQud0YIqpew.s['214']++;if(el.nodeName.toLowerCase()==='a'){__cov_z9IGZ1F6QFNdQud0YIqpew.b['95'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['215']++;el.target='_blank';__cov_z9IGZ1F6QFNdQud0YIqpew.s['216']++;el.rel='noopener noreferrer';}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['95'][1]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['217']++;el=el.getElementsByTagName('a');__cov_z9IGZ1F6QFNdQud0YIqpew.s['218']++;for(i=0;idepth2){__cov_z9IGZ1F6QFNdQud0YIqpew.b['132'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['337']++;node1=node1.parentNode;__cov_z9IGZ1F6QFNdQud0YIqpew.s['338']++;depth1-=1;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['132'][1]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['339']++;node2=node2.parentNode;__cov_z9IGZ1F6QFNdQud0YIqpew.s['340']++;depth2-=1;}}__cov_z9IGZ1F6QFNdQud0YIqpew.s['341']++;while(node1!==node2){__cov_z9IGZ1F6QFNdQud0YIqpew.s['342']++;node1=node1.parentNode;__cov_z9IGZ1F6QFNdQud0YIqpew.s['343']++;node2=node2.parentNode;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['344']++;return node1;},isElementAtBeginningOfBlock:function(node){__cov_z9IGZ1F6QFNdQud0YIqpew.f['36']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['345']++;var textVal,sibling;__cov_z9IGZ1F6QFNdQud0YIqpew.s['346']++;while((__cov_z9IGZ1F6QFNdQud0YIqpew.b['133'][0]++,!Util.isBlockContainer(node))&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['133'][1]++,!Util.isMediumEditorElement(node))){__cov_z9IGZ1F6QFNdQud0YIqpew.s['347']++;sibling=node;__cov_z9IGZ1F6QFNdQud0YIqpew.s['348']++;while(sibling=sibling.previousSibling){__cov_z9IGZ1F6QFNdQud0YIqpew.s['349']++;textVal=sibling.nodeType===3?(__cov_z9IGZ1F6QFNdQud0YIqpew.b['134'][0]++,sibling.nodeValue):(__cov_z9IGZ1F6QFNdQud0YIqpew.b['134'][1]++,sibling.textContent);__cov_z9IGZ1F6QFNdQud0YIqpew.s['350']++;if(textVal.length>0){__cov_z9IGZ1F6QFNdQud0YIqpew.b['135'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['351']++;return false;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['135'][1]++;}}__cov_z9IGZ1F6QFNdQud0YIqpew.s['352']++;node=node.parentNode;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['353']++;return true;},isMediumEditorElement:function(element){__cov_z9IGZ1F6QFNdQud0YIqpew.f['37']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['354']++;return(__cov_z9IGZ1F6QFNdQud0YIqpew.b['136'][0]++,element)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['136'][1]++,element.getAttribute)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['136'][2]++,!!element.getAttribute('data-medium-editor-element'));},getContainerEditorElement:function(element){__cov_z9IGZ1F6QFNdQud0YIqpew.f['38']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['355']++;return Util.traverseUp(element,function(node){__cov_z9IGZ1F6QFNdQud0YIqpew.f['39']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['356']++;return Util.isMediumEditorElement(node);});},isBlockContainer:function(element){__cov_z9IGZ1F6QFNdQud0YIqpew.f['40']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['357']++;return(__cov_z9IGZ1F6QFNdQud0YIqpew.b['137'][0]++,element)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['137'][1]++,element.nodeType!==3)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['137'][2]++,Util.blockContainerElementNames.indexOf(element.nodeName.toLowerCase())!==-1);},getClosestBlockContainer:function(node){__cov_z9IGZ1F6QFNdQud0YIqpew.f['41']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['358']++;return Util.traverseUp(node,function(node){__cov_z9IGZ1F6QFNdQud0YIqpew.f['42']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['359']++;return(__cov_z9IGZ1F6QFNdQud0YIqpew.b['138'][0]++,Util.isBlockContainer(node))||(__cov_z9IGZ1F6QFNdQud0YIqpew.b['138'][1]++,Util.isMediumEditorElement(node));});},getTopBlockContainer:function(element){__cov_z9IGZ1F6QFNdQud0YIqpew.f['43']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['360']++;var topBlock=Util.isBlockContainer(element)?(__cov_z9IGZ1F6QFNdQud0YIqpew.b['139'][0]++,element):(__cov_z9IGZ1F6QFNdQud0YIqpew.b['139'][1]++,false);__cov_z9IGZ1F6QFNdQud0YIqpew.s['361']++;Util.traverseUp(element,function(el){__cov_z9IGZ1F6QFNdQud0YIqpew.f['44']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['362']++;if(Util.isBlockContainer(el)){__cov_z9IGZ1F6QFNdQud0YIqpew.b['140'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['363']++;topBlock=el;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['140'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['364']++;if((__cov_z9IGZ1F6QFNdQud0YIqpew.b['142'][0]++,!topBlock)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['142'][1]++,Util.isMediumEditorElement(el))){__cov_z9IGZ1F6QFNdQud0YIqpew.b['141'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['365']++;topBlock=el;__cov_z9IGZ1F6QFNdQud0YIqpew.s['366']++;return true;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['141'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['367']++;return false;});__cov_z9IGZ1F6QFNdQud0YIqpew.s['368']++;return topBlock;},getFirstSelectableLeafNode:function(element){__cov_z9IGZ1F6QFNdQud0YIqpew.f['45']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['369']++;while((__cov_z9IGZ1F6QFNdQud0YIqpew.b['143'][0]++,element)&&(__cov_z9IGZ1F6QFNdQud0YIqpew.b['143'][1]++,element.firstChild)){__cov_z9IGZ1F6QFNdQud0YIqpew.s['370']++;element=element.firstChild;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['371']++;element=Util.traverseUp(element,function(el){__cov_z9IGZ1F6QFNdQud0YIqpew.f['46']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['372']++;return Util.emptyElementNames.indexOf(el.nodeName.toLowerCase())===-1;});__cov_z9IGZ1F6QFNdQud0YIqpew.s['373']++;if(element.nodeName.toLowerCase()==='table'){__cov_z9IGZ1F6QFNdQud0YIqpew.b['144'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['374']++;var firstCell=element.querySelector('th, td');__cov_z9IGZ1F6QFNdQud0YIqpew.s['375']++;if(firstCell){__cov_z9IGZ1F6QFNdQud0YIqpew.b['145'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['376']++;element=firstCell;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['145'][1]++;}}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['144'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['377']++;return element;},getFirstTextNode:function(element){__cov_z9IGZ1F6QFNdQud0YIqpew.f['47']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['378']++;Util.warn('getFirstTextNode is deprecated and will be removed in version 6.0.0');__cov_z9IGZ1F6QFNdQud0YIqpew.s['379']++;return Util._getFirstTextNode(element);},_getFirstTextNode:function(element){__cov_z9IGZ1F6QFNdQud0YIqpew.f['48']++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['380']++;if(element.nodeType===3){__cov_z9IGZ1F6QFNdQud0YIqpew.b['146'][0]++;__cov_z9IGZ1F6QFNdQud0YIqpew.s['381']++;return element;}else{__cov_z9IGZ1F6QFNdQud0YIqpew.b['146'][1]++;}__cov_z9IGZ1F6QFNdQud0YIqpew.s['382']++;for(var i=0;i1?(__cov_PadPgZ3bzrHvy3_NdVOqjg.b['1'][0]++,split[1]):(__cov_PadPgZ3bzrHvy3_NdVOqjg.b['1'][1]++,'');__cov_PadPgZ3bzrHvy3_NdVOqjg.s['3']++;return{major:parseInt(version[0],10),minor:parseInt(version[1],10),revision:parseInt(version[2],10),preRelease:preRelease,toString:function(){__cov_PadPgZ3bzrHvy3_NdVOqjg.f['2']++;__cov_PadPgZ3bzrHvy3_NdVOqjg.s['4']++;return[version[0],version[1],version[2]].join('.')+(preRelease?(__cov_PadPgZ3bzrHvy3_NdVOqjg.b['2'][0]++,'-'+preRelease):(__cov_PadPgZ3bzrHvy3_NdVOqjg.b['2'][1]++,''));}};};__cov_PadPgZ3bzrHvy3_NdVOqjg.s['5']++;MediumEditor.version=MediumEditor.parseVersionString.call(this,{'version':'6.0.0'}.version); diff --git a/.jshintrc b/.jshintrc index 09b4699..21cd0cd 100644 --- a/.jshintrc +++ b/.jshintrc @@ -14,5 +14,6 @@ "sub": true, "undef": true, "unused": true, - "validthis": true + "validthis": true, + "esnext": true } diff --git a/Gruntfile.js b/Gruntfile.js index 1160d67..40e8ab5 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -8,10 +8,12 @@ module.exports = function (grunt) { src: 'src', dest: 'dev' }, + gruntConfig = { pkg: grunt.file.readJSON('package.json'), globalConfig: globalConfig }, + srcFiles = [ 'src/js/globals.js', 'src/js/util.js', @@ -32,9 +34,23 @@ module.exports = function (grunt) { 'src/js/extensions/placeholder.js', 'src/js/extensions/toolbar.js', 'src/js/extensions/deprecated/image-dragging.js', + 'src/js/version.js', 'src/js/core.js', 'src/js/defaults/options.js', - 'src/js/version.js' + 'src/js/extend.js', + 'assests/js/lib/file-upload/jquery.ui.widget.js', + 'assests/js/lib/file-upload/jquery.fileupload.js', + 'assests/js/lib/file-upload/jquery.iframe-transport.js', + 'assests/js/lib/handlebars.runtime.min.js', + 'assests/js/lib/jquery-sortable-min.js', + 'assests/js/lib/embed/templates.js', + 'assests/js/lib/embed/core.js', + 'assests/js/lib/embed/embeds.js', + 'assests/js/lib/embed/images.js', + 'assests/js/lib/embed/emoji.js', + 'assests/js/lib/embed/actions.js', + 'assests/js/lib/embed/emoji.js', + 'assests/js/custom.js', ], browsers = [{ browserName: 'internet explorer', @@ -95,12 +111,45 @@ module.exports = function (grunt) { options: { ignores: ['src/js/polyfills.js'], jshintrc: true, - reporter: require('jshint-stylish') + reporter: require('jshint-stylish'), + fix: true + }, + all: { + src: [ + 'src/js/**/*.js', + 'assests/js/**/*.js', + 'spec/*.spec.js', + 'Gruntfile.js' + ] + } + }; + + gruntConfig.eslint = { + options: { + format: require('eslint-tap'), + reset: false, + fix: true }, all: { src: [ 'src/js/**/*.js', 'spec/*.spec.js', + 'assests/js/**/*.js', + 'Gruntfile.js' + ] + } + }; + + gruntConfig.fixmyjs = { + options: { + config: '.jshintrc', + indentpref: 'spaces' + }, + all: { + src: [ + 'src/js/**/*.js', + 'assests/js/**/*.js', + 'spec/*.spec.js', 'Gruntfile.js' ] } @@ -167,7 +216,7 @@ module.exports = function (grunt) { report: 'gzip' }, build: { - src: 'dist/js/medium-editor.js', + src: 'dist/js/<%= pkg.name %>.js', dest: 'dist/js/<%= pkg.name %>.min.js' } }; @@ -194,40 +243,37 @@ module.exports = function (grunt) { includePaths: ['src/sass/'] }, files: { - 'dist/css/medium-editor.css': 'src/sass/medium-editor.scss', - 'dist/css/themes/bootstrap.css': 'src/sass/themes/bootstrap.scss', - 'dist/css/themes/default.css': 'src/sass/themes/default.scss', - 'dist/css/themes/flat.css': 'src/sass/themes/flat.scss', - 'dist/css/themes/mani.css': 'src/sass/themes/mani.scss', - 'dist/css/themes/roman.css': 'src/sass/themes/roman.scss', - 'dist/css/themes/tim.css': 'src/sass/themes/tim.scss', - 'dist/css/themes/beagle.css': 'src/sass/themes/beagle.scss' + 'src/css/medium-editor.css': 'src/sass/medium-editor.scss', + 'src/css/themes/bootstrap.css': 'src/sass/themes/bootstrap.scss', + 'src/css/themes/default.css': 'src/sass/themes/default.scss', + 'src/css/themes/flat.css': 'src/sass/themes/flat.scss', + 'src/css/themes/mani.css': 'src/sass/themes/mani.scss', + 'src/css/themes/roman.css': 'src/sass/themes/roman.scss', + 'src/css/themes/tim.css': 'src/sass/themes/tim.scss', + 'src/css/themes/beagle.css': 'src/sass/themes/beagle.scss' } } }; - gruntConfig.cssmin = { - main: { - options: { - noAdvanced: true - }, - - expand: true, - cwd: 'dist/css/', - src: ['*.css', '!*.min.css'], - dest: 'dist/css/', - ext: '.min.css' + gruntConfig.concat_css = { + options: { + // Task-specific options go here. }, - themes: { - options: { - noAdvanced: true - }, + all: { + src: ['src/css/medium-editor.css', 'src/css/themes/default.css', 'assests/css/insert-plugin.css', 'assests/css/demo.css', 'assests/css/emoji.css'], + dest: "dist/css/vikids-editor.css" + }, + }; - expand: true, - cwd: 'dist/css/themes/', - src: ['*.css', '!*.min.css'], - dest: 'dist/css/themes/', - ext: '.min.css' + gruntConfig.cssmin = { + options: { + mergeIntoShorthands: false, + roundingPrecision: -1 + }, + target: { + files: { + 'dist/css/vikids-editor.min.css': ['dist/css/vikids-editor.css'] + } } }; @@ -250,7 +296,7 @@ module.exports = function (grunt) { gruntConfig.watch = { scripts: { - files: ['src/js/**/*.js', 'spec/**/*.js', 'Gruntfile.js'], + files: ['src/js/**/*.js', 'assests/js/**/*.js', 'spec/**/*.js', 'Gruntfile.js'], tasks: ['js'], options: { debounceDelay: 250 @@ -271,9 +317,7 @@ module.exports = function (grunt) { }, dist: { src: ['src/js/polyfills.js'] - .concat(['src/wrappers/start.js']) - .concat(srcFiles) - .concat(['src/wrappers/end.js']), + .concat(srcFiles), dest: 'dist/js/<%= pkg.name %>.js', nonull: true } @@ -332,6 +376,7 @@ module.exports = function (grunt) { ] }); + if (parseInt(process.env.TRAVIS_PULL_REQUEST, 10) > 0) { grunt.registerTask('travis', ['jshint', 'jscs', 'jasmine:suite', 'csslint', 'coveralls']); } else { @@ -340,9 +385,12 @@ module.exports = function (grunt) { grunt.registerTask('test', ['jshint', 'jscs', 'concat', 'jasmine:suite', 'csslint']); grunt.registerTask('sauce', ['connect', 'saucelabs-jasmine']); - grunt.registerTask('js', ['jshint', 'jscs', 'concat', 'jasmine:suite', 'uglify']); - grunt.registerTask('css', ['sass', 'autoprefixer', 'cssmin', 'csslint']); + grunt.registerTask('js', ['concat', 'uglify']); + grunt.registerTask('css', ['sass', 'autoprefixer', 'concat_css', 'cssmin']); grunt.registerTask('default', ['js', 'css']); + // grunt.registerTask('default', ['eslint']); + // grunt.registerTask('default', ['fixmyjs']); + // grunt.registerTask('default', ['babel']); // release tasks grunt.registerTask('patch', ['bump', 'css', 'js']); diff --git a/README.md b/README.md index a98a1d3..2183e38 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,5 @@ -# This is a HTML code editor. -This is a customize MediumEditor with the additional features than other Edit. -User can generate all html contents by using special pattern. - -- How to create img elements - - [![title](image_path)] - - Example: - [![Houses](http://sfeizigroup.com/wp-content/uploads/2017/05/slide-5.jpg)] - - ![url parse](./asserts/img/a.png) +# Vikids Editor +This is an advanced Medium Editor with many additional features. ## Main features @@ -18,14 +8,143 @@ User can generate all html contents by using special pattern. - New Line - Bold, italic, underlined. - Paste from buffer as plain text -- URL Parse +- Drag and Drop +- Special Code Patterns - Custom Emoji .... +## How to install Dependencies +#### - Install Node.js +##### Windows +- [Please download NodeJS here](https://stackoverflow.com/questions/11944932/how-to-download-a-file-with-node-js-without-using-third-party-libraries "Please download NodeJS here") + +##### MAC + - [Please download NodeJS for mac here](https://nodejs.org/dist/v10.15.1/node-v10.15.1.pkg "Please download NodeJS for mac here") + +- NodeJS Install using Homebrew + - Install Homebrew using Mac Terminal +``` +$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) +``` + - Install NodeJS +``` +$ brew install node +``` + +#### - Install NPM packages + +``` +$ cd vikids_editor +$ npm install +``` + +## How to bundle Javascript library and CSS file +``` +$ cd vikids_editor +$ grunt js +$ grunt css +``` + +## How to use in your web application +1. Link css font file +2. Link CSS min file in your application +3. Import javascript min file +4. Define the class name of the container element as 'editable' +5. Setting configuration + - UploadURL attribute + data-upload-url="Your uploadURL endpoint" + Default value is /upload + + - DeleteURL attribute + data-upload-url="Your deleteURL endpoint" + Default value is /delete + ` + +## Sample Code +``` + + + + + Custom Editor + + + + +

    + // Set the class name of container as 'editable', +
    +

    Advanced Medium Editor

    +
    +
    + + // Import JQUERY + + + // USER Configuration + + + // Import the js min file + + + + +``` + +## How to use this library functions +1. Text Editor +User can edit all text using tooltip toolbar. +- New Line +- Bold, italic, underlined. +- Align Left, Align Center, Align Right +- Header Text (h1, h2, h3, h4, h5, h6) + + ![Tooltip Toolbar](./assests/img/tooltip-text.png) + +2. Embed Media files +User can embed their media files(Video, Music, Photo, Youtube, Vimemo) +There are three method to embed the media files in your content. +- Drag and Drap + + Ex: Image, Video insert by drag and drop + + ![Drag and Drop](./assests/img/dragdrop.gif) + +- Special Code Pattern + User can generate all html contents by using special pattern. + Live URL: https://medium-editor-3379b.firebaseapp.com + Pattern: + ``` + [![image caption](image_url)] + [@[video caption](video url)] + ``` + + Example: + + `[![Houses](http://sfeizigroup.com/wp-content/uploads/2017/05/slide-5.jpg)]` + + `[!Houses](http://sfeizigroup.com/wp-content/uploads/2017/05/slide-5.jpg)]` + + ![Houses](http://sfeizigroup.com/wp-content/uploads/2017/05/slide-5.jpg) + + - Image insert by code pattern + + ![Code Pattern for Photo](./assests/img/patternimage.gif) + + - Video insert by code pattern + + ![Code Pattern for Video](./assests/img/videopattern.gif) + +- Empty New line + + - Image insert by New line -## How to install dependencies + ![Code Pattern for Video](./assests/img/photoline.gif) -$ cd vikids_editor + - Image insert by code pattern -$ npm install - \ No newline at end of file + ![Code Pattern for Video](./assests/img/videoline.gif) diff --git a/_SpecRunner.html b/_SpecRunner.html new file mode 100644 index 0000000..72a111a --- /dev/null +++ b/_SpecRunner.html @@ -0,0 +1,119 @@ + + + + + Jasmine Spec Runner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app.js b/app.js new file mode 100644 index 0000000..d6b703f --- /dev/null +++ b/app.js @@ -0,0 +1,38 @@ +let express = require('express') +let path = require('path') +var bodyParser = require('body-parser'); +var cookieParser = require('cookie-parser'); +var logger = require('morgan'); +var fileUpload = require('express-fileupload'); +var cors = require('cors'); + +var blogRouter = require('./server/routes/blog'); +var mediaRouter = require('./server/routes/media'); + + +let app = express() +app.use(cors()); +const port = 8080; + +app.use(logger('dev')); +app.use(express.json()); +app.use(express.urlencoded({ extended: false })); +app.use(cookieParser()); +app.use(express.static(path.join(__dirname, '/'))); +app.use(fileUpload()); +app.use(express.static('assests/medias')) + + +app.use('/blog', blogRouter); +app.use('/media', mediaRouter); + +app.get('/', (req, res, next) => { + res.render('index.html'); +}); + +app.use(function(req, res, next) { + var err = new Error('Not Found'); + err.status = 404; + next(err); +}); +module.exports = app; \ No newline at end of file diff --git a/assests/css/demo.css b/assests/css/demo.css index 0521e2a..3a6984d 100644 --- a/assests/css/demo.css +++ b/assests/css/demo.css @@ -52,7 +52,7 @@ h4 { } p { - margin-bottom: 40px; + /* margin-bottom: 40px; */ } a { @@ -99,9 +99,10 @@ blockquote { .secondEditable { outline: none; - margin: 0 0 20px 0; - padding: 0 0 20px 0; - border-bottom: 1px solid #dbdbdb; + min-height: 38px; + margin: 0 0 0 0; + display: block; + padding: 20px 0px; } #columns { @@ -136,10 +137,12 @@ body { } .editable { - outline: none; min-height: 38px; - margin: 0 0 20px 0; - padding: 0 0 20px 0; + margin: 0 0 0 0; + display: block; + padding: 20px 0px; + display: flow-root; + position: relative; } h2 { @@ -178,4 +181,16 @@ footer .fa { .medium-insert-embeds>figure { margin: 0; -} \ No newline at end of file +} + +#emojify { + font-size: 32px; + font-family: Helvetica, Arial; +} + +.emojified { + height: 1em; + width: 1em; + padding: 0 .05em 0 .1em; + vertical-align: -0.2em; +} diff --git a/assests/css/emoji.css b/assests/css/emoji.css new file mode 100755 index 0000000..e835390 --- /dev/null +++ b/assests/css/emoji.css @@ -0,0 +1,171 @@ +.emoji_btn { + width: 25px; + height: 25px; + position: absolute; + float: right; + right: -30px; + /* top: unset !important; + left: unset !important; */ +} + +.emoji_container * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.emoji_container { + display: none; + position: absolute; + background-color: #fff; + border: 1px solid #bfbfbf; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.176); +} + +.emoji_container ul { + list-style: none; + padding-left: 0; + margin: 0; +} + +.emoji_content { + height: 277px; + overflow-y: auto; + padding: 5px; +} + +.emoji_content ul { + padding-top: 1px; + padding-left: 1px; +} + +.emoji_content ul li { + width: 54px; + height: 54px; + float: left; + border: 1px solid #e3e3e3; + margin-top: -1px; + margin-left: -1px; +} + +.emoji_content ul li a { + display: block; + line-height: 45px; + text-align: center; + cursor: pointer; +} + +.emoji_content ul li a img { + vertical-align: middle; + max-width: 30px; + max-height: 30px; +} + +.emoji_content .mCSB_scrollTools { + width: 10px; +} + +.emoji_content .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical, .emoji_content .mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical { + margin: 5px 0; +} + +.emoji_tab { + background-color: #f7f7f7; + border-top: 1px solid #e3e3e3; + color: #666; + height: 32px; + position: relative; +} + +.emoji_tab_prev { + border-top: 4px solid transparent; + border-bottom: 4px solid transparent; + border-right: 4px dashed; + cursor: pointer; + left: 8px; + top: 12px; + position: absolute; + display: inline-block; + height: 0; + vertical-align: middle; + width: 0; +} + +.emoji_tab_next { + border-top: 4px solid transparent; + border-bottom: 4px solid transparent; + border-left: 4px dashed; + cursor: pointer; + right: 7px; + top: 12px; + position: absolute; + display: inline-block; + height: 0; + vertical-align: middle; + width: 0; +} + +.emoji_tab_list { + left: 22px; + overflow: hidden; + position: absolute; + top: 0; +} + +.emoji_tab_list ul { + width: 1500px; + transition: all 0.8s ease 0s; +} + +.emoji_tab_list ul li { + border-top: 0 none; + cursor: pointer; + float: left; + height: 22px; + line-height: 22px; + margin: 5px 4px 0 0; + font-size: 12px; + border-radius: 3px; + text-align: center; + width: 68px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.emoji_tab_list ul li:hover { + background: #e5e5e5; +} + +.emoji_tab_list ul li.selected { + color: #fff; + background: steelblue; +} + +.emoji_preview { + position: absolute; + top: 0; + border: 1px solid #c8c8c8; + border-radius: 50%; + width: 65px; + height: 65px; + background: #ffffff; + text-align: center; + line-height: 65px; + box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.176); + z-index: 2; + display: none; +} + +.emoji_preview img { + vertical-align: middle; + max-width: 42px; + max-height: 42px; +} + +.emoji_icon { + height: 1.2em; + width: 1.2em; + padding: 0 .05em 0.05em; + vertical-align: -0.2em; +} \ No newline at end of file diff --git a/dist/css/medium-editor-insert-plugin.css b/assests/css/insert-plugin.css similarity index 96% rename from dist/css/medium-editor-insert-plugin.css rename to assests/css/insert-plugin.css index 4e13b3f..2bc0ce1 100755 --- a/dist/css/medium-editor-insert-plugin.css +++ b/assests/css/insert-plugin.css @@ -1,11 +1,3 @@ -/*! - * medium-editor-insert-plugin v2.5.0 - jQuery insert plugin for MediumEditor - * - * http://linkesch.com/medium-editor-insert-plugin - * - * Copyright (c) 2014 Pavel Linkesch (http://linkesch.com) - * Released under the MIT license - */ .medium-insert-images, .mediumInsert { text-align: center; } diff --git a/assests/img/dragdrop.gif b/assests/img/dragdrop.gif new file mode 100644 index 0000000..09e09fc Binary files /dev/null and b/assests/img/dragdrop.gif differ diff --git a/assests/img/emoji/01.png b/assests/img/emoji/01.png new file mode 100644 index 0000000..2f4af2c Binary files /dev/null and b/assests/img/emoji/01.png differ diff --git a/assests/img/emoji/02.png b/assests/img/emoji/02.png new file mode 100644 index 0000000..c45202b Binary files /dev/null and b/assests/img/emoji/02.png differ diff --git a/assests/img/emoji/03.png b/assests/img/emoji/03.png new file mode 100644 index 0000000..968e2e2 Binary files /dev/null and b/assests/img/emoji/03.png differ diff --git a/assests/img/emoji/04.png b/assests/img/emoji/04.png new file mode 100644 index 0000000..ac79fe0 Binary files /dev/null and b/assests/img/emoji/04.png differ diff --git a/assests/img/emoji/05.png b/assests/img/emoji/05.png new file mode 100644 index 0000000..1ee095a Binary files /dev/null and b/assests/img/emoji/05.png differ diff --git a/assests/img/emoji/06.png b/assests/img/emoji/06.png new file mode 100644 index 0000000..7af84ad Binary files /dev/null and b/assests/img/emoji/06.png differ diff --git a/assests/img/emoji/07.png b/assests/img/emoji/07.png new file mode 100644 index 0000000..2723f8d Binary files /dev/null and b/assests/img/emoji/07.png differ diff --git a/assests/img/emoji/08.png b/assests/img/emoji/08.png new file mode 100644 index 0000000..906a682 Binary files /dev/null and b/assests/img/emoji/08.png differ diff --git a/assests/img/emoji/09.png b/assests/img/emoji/09.png new file mode 100644 index 0000000..2331670 Binary files /dev/null and b/assests/img/emoji/09.png differ diff --git a/assests/img/emoji/10.png b/assests/img/emoji/10.png new file mode 100644 index 0000000..4763edf Binary files /dev/null and b/assests/img/emoji/10.png differ diff --git a/assests/img/emoji/11.png b/assests/img/emoji/11.png new file mode 100644 index 0000000..327814b Binary files /dev/null and b/assests/img/emoji/11.png differ diff --git a/assests/img/emoji/12.png b/assests/img/emoji/12.png new file mode 100644 index 0000000..56e21cc Binary files /dev/null and b/assests/img/emoji/12.png differ diff --git a/assests/img/emoji/13.png b/assests/img/emoji/13.png new file mode 100644 index 0000000..8dfe1b5 Binary files /dev/null and b/assests/img/emoji/13.png differ diff --git a/assests/img/emoji/14.png b/assests/img/emoji/14.png new file mode 100644 index 0000000..66d6afc Binary files /dev/null and b/assests/img/emoji/14.png differ diff --git a/assests/img/emoji/15.png b/assests/img/emoji/15.png new file mode 100644 index 0000000..5ba3180 Binary files /dev/null and b/assests/img/emoji/15.png differ diff --git a/assests/img/emoji/16.png b/assests/img/emoji/16.png new file mode 100644 index 0000000..adb9fca Binary files /dev/null and b/assests/img/emoji/16.png differ diff --git a/assests/img/emoji/17.png b/assests/img/emoji/17.png new file mode 100644 index 0000000..1602b85 Binary files /dev/null and b/assests/img/emoji/17.png differ diff --git a/assests/img/emoji/18.png b/assests/img/emoji/18.png new file mode 100644 index 0000000..d29d7e7 Binary files /dev/null and b/assests/img/emoji/18.png differ diff --git a/assests/img/emoji/19.png b/assests/img/emoji/19.png new file mode 100644 index 0000000..34af07b Binary files /dev/null and b/assests/img/emoji/19.png differ diff --git a/assests/img/emoji/20.png b/assests/img/emoji/20.png new file mode 100644 index 0000000..4e939c0 Binary files /dev/null and b/assests/img/emoji/20.png differ diff --git a/assests/img/patternimage.gif b/assests/img/patternimage.gif new file mode 100644 index 0000000..4a8116f Binary files /dev/null and b/assests/img/patternimage.gif differ diff --git a/assests/img/photoline.gif b/assests/img/photoline.gif new file mode 100644 index 0000000..10ff7e2 Binary files /dev/null and b/assests/img/photoline.gif differ diff --git a/assests/img/tooltip-media.png b/assests/img/tooltip-media.png new file mode 100644 index 0000000..8f93325 Binary files /dev/null and b/assests/img/tooltip-media.png differ diff --git a/assests/img/tooltip-text.png b/assests/img/tooltip-text.png new file mode 100644 index 0000000..59a7fda Binary files /dev/null and b/assests/img/tooltip-text.png differ diff --git a/assests/img/videoline.gif b/assests/img/videoline.gif new file mode 100644 index 0000000..6064b5a Binary files /dev/null and b/assests/img/videoline.gif differ diff --git a/assests/img/videopattern.gif b/assests/img/videopattern.gif new file mode 100644 index 0000000..e321449 Binary files /dev/null and b/assests/img/videopattern.gif differ diff --git a/assests/js/custom.js b/assests/js/custom.js index a81e0b9..60fd164 100644 --- a/assests/js/custom.js +++ b/assests/js/custom.js @@ -1,13 +1,40 @@ -var editor = new MediumEditor('.editable', { - buttonLabels: 'fontawesome', - paste: { - cleanPastedHTML: true, - forcePlainText: false - } -}); - $(function () { - $('.editable').mediumInsert({ - editor: editor - }); + $('.editable').each((index, node) => { + $(node).mediumInsert({ + editor: new MediumEditor(node, { + buttonLabels: 'fontawesome', + paste: { + cleanPastedHTML: true, + forcePlainText: false + } + }), + enabled: (node.getAttribute("media-upload") === "enable"), + addons: { + images: { + fileUploadOptions: { + url: node.getAttribute("media-url") || "media", + }, + }, + actions: { + actionsOption: { + uploadURL: node.getAttribute("content-url") || "contentSave", + }, + elementId: index, + }, + emoji : { + showTab: false, + animation: 'slide', + position: 'topLeft', + icons: [{ + name: "custom", + path: "assests/img/emoji/", + maxNum: 91, + excludeNums: [41, 45, 54], + file: ".gif" + }], + elementId: index, + } + }, + }); + }) }); diff --git a/assests/js/lib/embed/actions.js b/assests/js/lib/embed/actions.js new file mode 100644 index 0000000..1191e9a --- /dev/null +++ b/assests/js/lib/embed/actions.js @@ -0,0 +1,166 @@ +/*global MediumEditor*/ + +; (function ($, window, document, Util, undefined) { + + 'use strict'; + + /** Default values */ + var pluginName = 'mediumInsert', + addonName = 'Actions', + defaults = { + enableButton: false, + }; + + function ucfirst(str) { + return str.charAt(0).toUpperCase() + str.slice(1); + } + + /** + * Actions object + * + * Sets options, variables and calls init() function + * + * @constructor + * @param {DOM} el - DOM element to init the plugin on + * @param {object} options - Options to override defaults + * @return {void} + */ + + function Actions(el, options) { + this.el = el; + this.$el = $(el); + this.$currentImage = null; + this.templates = window.MediumInsert.Templates; + this.core = this.$el.data('plugin_' + pluginName); + this.options = $.extend(true, {}, defaults, options); + this._name = pluginName; + this.elementId = `medium-content-${options.elementId}`; + this.validNavigation = false; + + // Extend editor's functions + if (this.core.getEditor()) { + this.core.getEditor()._serializePreImages = this.core.getEditor().serialize; + this.core.getEditor().serialize = this.editorSerialize; + } + this.init(); + } + + /** + * Initialization + * + * @return {void} + */ + + Actions.prototype.init = function (content) { + this.exceptionEvents(); + this.windowsCloseEvent(); + window.setInterval(() => { + this.saveStorage(this.el.innerHTML) + }, 2000) + }; + + /** + * Exception Closing Events + * + * @return {void} + */ + + Actions.prototype.exceptionEvents = function () { + $(document).on('keypress', function(e) { + if (e.keyCode == 116){ + this.validNavigation = true; + } + }); + + $(document).on("click", "a" , function() { + this.validNavigation = true; + + }); + + $(document).on("submit", "form" , function() { + this.validNavigation = true; + }); + + $(document).bind("click", "input[type=submit]" , function() { + this.validNavigation = true; + }); + + $(document).bind("click", "button[type=submit]" , function() { + this.validNavigation = true; + }); + }; + + /** + * Windows Closing Events + * + * @return {void} + */ + + Actions.prototype.windowsCloseEvent = function () { + window.onbeforeunload = function() { + localStorage.clear(); + // return ''; + }; + }; + + /** + * Save all content data to local storage if there is any changes and request saveAction. + * + * @returns {void} + */ + Actions.prototype.saveStorage = function (content) { + if (content) { + } else { + console.log("NO content", content); + } + if (content !== window.localStorage.getItem(this.elementId)) { + window.localStorage.setItem(this.elementId, content); + console.log(`Content updated for ${this.elementId}`); + + // Request content saveACtion + this.actionRequest('put', this.options.actionsOption.uploadURL, JSON.stringify({ "content" : content })); + } + } + + /** + * Remove all content data from local storage + * + * @returns {void} + */ + Actions.prototype.destoryStorage = function () { + if (window.localStorage.getItem(this.elementId)) { + window.localStorage.removeItem(this.elementId) + console.log(`Content removed for ${this.elementId} from localstorage`); + } + } + + /** + * Request Action + * + * @returns {void} + */ + Actions.prototype.actionRequest = function (method='get', url, data) { + $.ajax({ + url: url, + headers: { + 'Accept' : 'application/json', + 'Content-Type': 'application/json' + }, + type: method, + data: data, + success: function(d) { + console.log('Your request successfully') + } + }); + } + + /** Plugin initialization */ + $.fn[pluginName + addonName] = function (options) { + return this.each(function () { + if (!$.data(this, 'plugin_' + pluginName + addonName)) { + $.data(this, 'plugin_' + pluginName + addonName, new Actions(this, options)); + } + }); + }; + +})(jQuery, window, document, MediumEditor.util); diff --git a/assests/js/lib/embed/caret.js b/assests/js/lib/embed/caret.js new file mode 100755 index 0000000..552ecf9 --- /dev/null +++ b/assests/js/lib/embed/caret.js @@ -0,0 +1,486 @@ +(function(root, factory) { + if (typeof define === "function" && define.amd) { + define(["jquery"], function($) { + return (root.returnExportsGlobal = factory($)); + }); + } else if (typeof exports === "object") { + module.exports = factory(require("jquery")); + } else { + factory(jQuery); + } +})(this, function($) { + "use strict"; + var EditableCaret, + InputCaret, + Mirror, + Utils, + discoveryIframeOf, + methods, + oDocument, + oFrame, + oWindow, + pluginName, + setContextBy; + + pluginName = "caret"; + + EditableCaret = (function() { + function EditableCaret($inputor) { + this.$inputor = $inputor; + this.domInputor = this.$inputor[0]; + } + + EditableCaret.prototype.setPos = function(pos) { + var fn, found, offset, sel; + if ((sel = oWindow.getSelection())) { + offset = 0; + found = false; + (fn = function(pos, parent) { + var node, range, _i, _len, _ref, _results; + _ref = parent.childNodes; + _results = []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + node = _ref[_i]; + if (found) { + break; + } + if (node.nodeType === 3) { + if (offset + node.length >= pos) { + found = true; + range = oDocument.createRange(); + range.setStart(node, pos - offset); + sel.removeAllRanges(); + sel.addRange(range); + break; + } else { + _results.push((offset += node.length)); + } + } else { + _results.push(fn(pos, node)); + } + } + return _results; + })(pos, this.domInputor); + } + return this.domInputor; + }; + + EditableCaret.prototype.getIEPosition = function() { + return this.getPosition(); + }; + + EditableCaret.prototype.getPosition = function() { + var inputor_offset, offset; + offset = this.getOffset(); + inputor_offset = this.$inputor.offset(); + offset.left -= inputor_offset.left; + offset.top -= inputor_offset.top; + return offset; + }; + + EditableCaret.prototype.getOldIEPos = function() { + var preCaretTextRange, textRange; + textRange = oDocument.selection.createRange(); + preCaretTextRange = oDocument.body.createTextRange(); + preCaretTextRange.moveToElementText(this.domInputor); + preCaretTextRange.setEndPoint("EndToEnd", textRange); + return preCaretTextRange.text.length; + }; + + EditableCaret.prototype.getPos = function() { + var clonedRange, pos, range; + if ((range = this.range())) { + clonedRange = range.cloneRange(); + clonedRange.selectNodeContents(this.domInputor); + clonedRange.setEnd(range.endContainer, range.endOffset); + pos = clonedRange.toString().length; + clonedRange.detach(); + return pos; + } else if (oDocument.selection) { + return this.getOldIEPos(); + } + }; + + EditableCaret.prototype.getOldIEOffset = function() { + var range, rect; + range = oDocument.selection.createRange().duplicate(); + range.moveStart("character", -1); + rect = range.getBoundingClientRect(); + return { + height: rect.bottom - rect.top, + left: rect.left, + top: rect.top + }; + }; + + EditableCaret.prototype.getOffset = function(pos) { + var clonedRange, offset, range, rect, shadowCaret; + if (oWindow.getSelection && (range = this.range())) { + if ( + range.endOffset - 1 > 0 && + range.endContainer !== this.domInputor + ) { + clonedRange = range.cloneRange(); + clonedRange.setStart( + range.endContainer, + range.endOffset - 1 + ); + clonedRange.setEnd(range.endContainer, range.endOffset); + rect = clonedRange.getBoundingClientRect(); + offset = { + height: rect.height, + left: rect.left + rect.width, + top: rect.top + }; + clonedRange.detach(); + } + if ( + !offset || + (offset != null ? offset.height : void 0) === 0 + ) { + clonedRange = range.cloneRange(); + shadowCaret = $(oDocument.createTextNode("|")); + clonedRange.insertNode(shadowCaret[0]); + clonedRange.selectNode(shadowCaret[0]); + rect = clonedRange.getBoundingClientRect(); + offset = { + height: rect.height, + left: rect.left, + top: rect.top + }; + shadowCaret.remove(); + clonedRange.detach(); + } + } else if (oDocument.selection) { + offset = this.getOldIEOffset(); + } + if (offset) { + offset.top += $(oWindow).scrollTop(); + offset.left += $(oWindow).scrollLeft(); + } + return offset; + }; + + EditableCaret.prototype.range = function() { + var sel; + if (!oWindow.getSelection) { + return; + } + sel = oWindow.getSelection(); + if (sel.rangeCount > 0) { + return sel.getRangeAt(0); + } else { + return null; + } + }; + + return EditableCaret; + })(); + + InputCaret = (function() { + function InputCaret($inputor) { + this.$inputor = $inputor; + this.domInputor = this.$inputor[0]; + } + + InputCaret.prototype.getIEPos = function() { + var endRange, + inputor, + len, + normalizedValue, + pos, + range, + textInputRange; + inputor = this.domInputor; + range = oDocument.selection.createRange(); + pos = 0; + if (range && range.parentElement() === inputor) { + normalizedValue = inputor.value.replace(/\r\n/g, "\n"); + len = normalizedValue.length; + textInputRange = inputor.createTextRange(); + textInputRange.moveToBookmark(range.getBookmark()); + endRange = inputor.createTextRange(); + endRange.collapse(false); + if ( + textInputRange.compareEndPoints("StartToEnd", endRange) > -1 + ) { + pos = len; + } else { + pos = -textInputRange.moveStart("character", -len); + } + } + return pos; + }; + + InputCaret.prototype.getPos = function() { + if (oDocument.selection) { + return this.getIEPos(); + } else { + return this.domInputor.selectionStart; + } + }; + + InputCaret.prototype.setPos = function(pos) { + var inputor, range; + inputor = this.domInputor; + if (oDocument.selection) { + range = inputor.createTextRange(); + range.move("character", pos); + range.select(); + } else if (inputor.setSelectionRange) { + inputor.setSelectionRange(pos, pos); + } + return inputor; + }; + + InputCaret.prototype.getIEOffset = function(pos) { + var h, textRange, x, y; + textRange = this.domInputor.createTextRange(); + pos || (pos = this.getPos()); + textRange.move("character", pos); + x = textRange.boundingLeft; + y = textRange.boundingTop; + h = textRange.boundingHeight; + return { + left: x, + top: y, + height: h + }; + }; + + InputCaret.prototype.getOffset = function(pos) { + var $inputor, offset, position; + $inputor = this.$inputor; + if (oDocument.selection) { + offset = this.getIEOffset(pos); + offset.top += $(oWindow).scrollTop() + $inputor.scrollTop(); + offset.left += $(oWindow).scrollLeft() + $inputor.scrollLeft(); + return offset; + } else { + offset = $inputor.offset(); + position = this.getPosition(pos); + return (offset = { + left: offset.left + position.left - $inputor.scrollLeft(), + top: offset.top + position.top - $inputor.scrollTop(), + height: position.height + }); + } + }; + + InputCaret.prototype.getPosition = function(pos) { + var $inputor, at_rect, end_range, format, html, mirror, start_range; + $inputor = this.$inputor; + format = function(value) { + value = value + .replace(/<|>|`|"|&/g, "?") + .replace(/\r\n|\r|\n/g, "
    "); + if (/firefox/i.test(navigator.userAgent)) { + value = value.replace(/\s/g, " "); + } + return value; + }; + if (pos === void 0) { + pos = this.getPos(); + } + start_range = $inputor.val().slice(0, pos); + end_range = $inputor.val().slice(pos); + html = + "" + + format(start_range) + + ""; + html += + "|"; + html += + "" + + format(end_range) + + ""; + mirror = new Mirror($inputor); + return (at_rect = mirror.create(html).rect()); + }; + + InputCaret.prototype.getIEPosition = function(pos) { + var h, inputorOffset, offset, x, y; + offset = this.getIEOffset(pos); + inputorOffset = this.$inputor.offset(); + x = offset.left - inputorOffset.left; + y = offset.top - inputorOffset.top; + h = offset.height; + return { + left: x, + top: y, + height: h + }; + }; + + return InputCaret; + })(); + + Mirror = (function() { + Mirror.prototype.css_attr = [ + "borderBottomWidth", + "borderLeftWidth", + "borderRightWidth", + "borderTopStyle", + "borderRightStyle", + "borderBottomStyle", + "borderLeftStyle", + "borderTopWidth", + "boxSizing", + "fontFamily", + "fontSize", + "fontWeight", + "height", + "letterSpacing", + "lineHeight", + "marginBottom", + "marginLeft", + "marginRight", + "marginTop", + "outlineWidth", + "overflow", + "overflowX", + "overflowY", + "paddingBottom", + "paddingLeft", + "paddingRight", + "paddingTop", + "textAlign", + "textOverflow", + "textTransform", + "whiteSpace", + "wordBreak", + "wordWrap" + ]; + + function Mirror($inputor) { + this.$inputor = $inputor; + } + + Mirror.prototype.mirrorCss = function() { + var css, + _this = this; + css = { + position: "absolute", + left: -9999, + top: 0, + zIndex: -20000 + }; + if (this.$inputor.prop("tagName") === "TEXTAREA") { + this.css_attr.push("width"); + } + $.each(this.css_attr, function(i, p) { + return (css[p] = _this.$inputor.css(p)); + }); + return css; + }; + + Mirror.prototype.create = function(html) { + this.$mirror = $("
    "); + this.$mirror.css(this.mirrorCss()); + this.$mirror.html(html); + this.$inputor.after(this.$mirror); + return this; + }; + + Mirror.prototype.rect = function() { + var $flag, pos, rect; + $flag = this.$mirror.find("#caret"); + pos = $flag.position(); + rect = { + left: pos.left, + top: pos.top, + height: $flag.height() + }; + this.$mirror.remove(); + return rect; + }; + + return Mirror; + })(); + + Utils = { + contentEditable: function($inputor) { + return !!( + $inputor[0].contentEditable && + $inputor[0].contentEditable === "true" + ); + } + }; + + methods = { + pos: function(pos) { + if (pos || pos === 0) { + return this.setPos(pos); + } else { + return this.getPos(); + } + }, + position: function(pos) { + if (oDocument.selection) { + return this.getIEPosition(pos); + } else { + return this.getPosition(pos); + } + }, + offset: function(pos) { + var offset; + offset = this.getOffset(pos); + return offset; + } + }; + + oDocument = null; + + oWindow = null; + + oFrame = null; + + setContextBy = function(settings) { + var iframe; + if ((iframe = settings != null ? settings.iframe : void 0)) { + oFrame = iframe; + oWindow = iframe.contentWindow; + return (oDocument = iframe.contentDocument || oWindow.document); + } else { + oFrame = void 0; + oWindow = window; + return (oDocument = document); + } + }; + + discoveryIframeOf = function($dom) { + var error; + oDocument = $dom[0].ownerDocument; + oWindow = oDocument.defaultView || oDocument.parentWindow; + try { + return (oFrame = oWindow.frameElement); + } catch (_error) { + error = _error; + } + }; + + $.fn.caret = function(method, value, settings) { + var caret; + if (methods[method]) { + if ($.isPlainObject(value)) { + setContextBy(value); + value = void 0; + } else { + setContextBy(settings); + } + caret = Utils.contentEditable(this) + ? new EditableCaret(this) + : new InputCaret(this); + return methods[method].apply(caret, [value]); + } else { + return $.error( + "Method " + method + " does not exist on jQuery.caret" + ); + } + }; + + $.fn.caret.EditableCaret = EditableCaret; + $.fn.caret.InputCaret = InputCaret; + $.fn.caret.Utils = Utils; + $.fn.caret.apis = methods; +}); diff --git a/assests/js/lib/embed/config.js b/assests/js/lib/embed/config.js new file mode 100644 index 0000000..2e9db90 --- /dev/null +++ b/assests/js/lib/embed/config.js @@ -0,0 +1,24 @@ +'use strict'; +var Config = {}; +Config.Emoji = [ + ["01.png", "\u00A1", ["smile"]], + ["02.png", "\u00A2", ["angry"]], + ["03.png", "\u00A3", ["heart"]], + ["04.png", "\u00A4", ["kid"]], + ["05.png", "\u00A5", ["copyright"]], + ["06.png", "\u00A6", ["copyright"]], + ["07.png", "\u00A7", ["copyright"]], + ["08.png", "\u00A8", ["copyright"]], + ["09.png", "\u00A9", ["copyright"]], + ["10.png", "\u00B0", ["copyright"]], + ["11.png", "\u00B1", ["copyright"]], + ["12.png", "\u00B2", ["copyright"]], + ["13.png", "\u00B3", ["copyright"]], + ["14.png", "\u00B4", ["copyright"]], + ["15.png", "\u00B5", ["copyright"]], + ["16.png", "\u00B6", ["copyright"]], + ["17.png", "\u00B7", ["copyright"]], + ["18.png", "\u00B8", ["copyright"]], + ["19.png", "\u00B9", ["copyright"]], + ["20.png", "\u00C0", ["copyright"]], +] \ No newline at end of file diff --git a/assests/js/lib/embed/core.js b/assests/js/lib/embed/core.js index 2dd25a8..0f1de8b 100755 --- a/assests/js/lib/embed/core.js +++ b/assests/js/lib/embed/core.js @@ -9,10 +9,13 @@ enabled: true, addons: { images: true, // boolean or object containing configuration - embeds: true - } + embeds: true, + actions: true, + emoji: true, + }, }; + /** * Capitalize first character * @@ -42,7 +45,8 @@ this.$el = $(el); this.templates = window.MediumInsert.Templates; this.extend = new Extend(); - this.targetEl = '' + this.targetEl = '', + this.ctTime = null; if (options) { // Fix #142 @@ -59,7 +63,6 @@ this._defaults = defaults; this._name = pluginName; - // Extend editor's functions if (this.options && this.options.editor) { if (this.options.editor._serialize === undefined) { @@ -110,9 +113,11 @@ Core.prototype.events = function () { var that = this; + this.$el - .on('dragover drop', function (e) { + .on('drop', function (e) { e.preventDefault(); + $.proxy(that, 'dragDropAction')(e); }) .on('keyup click', $.proxy(this, 'toggleButtons')) .on('selectstart mousedown', '.medium-insert, .medium-insert-buttons', $.proxy(this, 'disableSelection')) @@ -297,6 +302,12 @@ that.$el[addonName](options); that.options.addons[addon] = that.$el.data('plugin_' + addonName).options; }); + + if (this.options.enabled) { + this.$el.append(this.templates['src/js/templates/images-fileupload.hbs']()); + this.$el.find('input:file').hide(); + this.$el.data('plugin_' + pluginName + ucfirst('images'))['add'](true); + } }; /** @@ -353,8 +364,18 @@ return; } + const filteredAddons = + Object.keys(this.options.addons) + .filter(key => ( + this.options.addons[key].enableButton === 'undefined' || this.options.addons[key].enableButton + )) + .reduce((obj, key) => { + obj[key] = this.options.addons[key]; + return obj; + }, {}); + return this.templates['src/js/templates/core-buttons.hbs']({ - addons: this.options.addons + addons: filteredAddons }).trim(); }; @@ -377,6 +398,7 @@ */ Core.prototype.toggleButtons = function (e) { + this.$el.data('plugin_' + pluginName + ucfirst('emoji'))['setPosition'](); this.capturePattern(); var $el = $(e.target), @@ -384,7 +406,6 @@ that = this, range, $current, $p, activeAddon; - if (this.options.enabled === false) { return; } @@ -509,7 +530,7 @@ if (this.$el.hasClass('medium-editor-placeholder') === false && position.left < 0) { position.left = $p.position().left; } - + console.log(position) $buttons.css(position); } }; @@ -521,7 +542,6 @@ */ Core.prototype.toggleAddons = function () { - console.log('insert new medias (core->toglleAddons)') if (this.$el.find('.medium-insert-buttons').attr('data-active-addon') === 'images') { this.$el.find('.medium-insert-buttons').find('button[data-addon="images"]').click(); return; @@ -552,13 +572,35 @@ */ Core.prototype.addonAction = function (e) { - console.log('select any media type here', e.currentTarget) var $a = $(e.currentTarget), addon = $a.data('addon'), action = $a.data('action'); this.$el.data('plugin_' + pluginName + ucfirst(addon))[action](); }; + + /** + * Call drag-drop's action + * + * @param {Event} e + * @return {void} + */ + + Core.prototype.dragDropAction = function (e) { + + var targetElement = e.target; + if(e.type === 'drop') { + this.$el.find('.medium-insert-active').removeClass('medium-insert-active'); + this.$el.find('.medium-insert-embeds-active').removeClass('medium-insert-embeds-active'); + e.target.click(); + + var newMediaDiv = document.createElement("div"); + newMediaDiv.className = 'medium-insert-active'; + targetElement.after(newMediaDiv); + } + }; + + /** * Move caret at the beginning of the empty paragraph * @@ -569,14 +611,14 @@ */ Core.prototype.appendAttribute = function (state) { - const { tokens } = state; + var { tokens } = state; for (let i = 0; i < tokens.length; i += 1) { if (tokens[i].map) { tokens[i].attrJoin('class', `line${String(tokens[i].map[0])} line-block`); tokens[i].attrJoin('data-line', `${String([tokens[i].map[0], tokens[i].map[1]])}`); } } - } + }; Core.prototype.moveCaret = function ($el, position) { var range, sel, el, textEl; @@ -681,8 +723,8 @@ Core.prototype.createEmptyMediaDiv = function (data, className) { - const newelement = this.targetEl.clone() - const newMediaDiv = document.createElement("div") + var newelement = this.targetEl.clone(); + var newMediaDiv = document.createElement("div"); newMediaDiv.className = className; // newMediaDiv.innerHTML = '
    ' @@ -702,18 +744,17 @@ */ Core.prototype.embedMedia = function(data, that, result) { - console.log('Validate Response successflully ===>', result, data) - if(result === 'success' && data.type === 'img') { - that.createEmptyMediaDiv(data, "medium-insert-active") - that.$el.data('plugin_' + pluginName + ucfirst('images'))['uploadAdd'](data, {}); + that.createEmptyMediaDiv(data, "medium-insert-active"); + + that.$el.data('plugin_' + pluginName + ucfirst('images'))['showImageByURL'](data); } if(result === 'success' && data.type === 'mov') { - that.createEmptyMediaDiv(data, "medium-insert-embeds-active") + that.createEmptyMediaDiv(data, "medium-insert-embeds-active"); that.$el.data('plugin_' + pluginName + ucfirst('embeds'))['oembed'](data.url, null, data.alt); } - } + }; /** @@ -721,7 +762,7 @@ * * @param {string} url * @param {int} timeoutT - * @return {function} + * @return {function} */ Core.prototype.imageValidate = function (url, timeoutT) { @@ -741,10 +782,10 @@ // loading, but doens't trigger new load img.src = "//!!!!/noexist.jpg"; resolve("timeout"); - }, timeout); + }, timeout); img.src = url; }); - } + }; /** @@ -752,19 +793,19 @@ * * @param {string} url * @param {function} callback - * @return {function} + * @return {function} */ Core.prototype.videoValidate = function (src, callback) { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { - if (this.readyState == 4 && this.status == 200) { + if (this.readyState === 4 && this.status === 200) { callback('success'); } }; xhttp.open("GET", `https://iframe.ly/api/iframely?url=${src}&api_key=e9fb88937d4a97e3361b89`, true); xhttp.send(); - } + }; /** @@ -772,20 +813,20 @@ * * @param {string} mediaTyepe * @param {string} mediaPath - * @return {bool} + * @return {bool} */ Core.prototype.checkMediaUrlParse = function (mediaType, mediaPath) { return mediaType === 'img' ? (()=>{ - const regex = /(.+\.(jpg|png|jpeg))/g; - const matches = regex.exec(mediaPath); + var regex = /(.+\.(jpg|png|jpeg))/g; + var matches = regex.exec(mediaPath); return matches ? true: false; })() : (()=>{ - const regex = /(www\..+\..+)/g; - const matches = regex.exec(mediaPath); + var regex = /(www\..+\..+)/g; + var matches = regex.exec(mediaPath); return matches ? true: false; })(); }; @@ -795,98 +836,147 @@ * Pattern validation check * * @param {html elements} targetEl - * @return {object} + * @return {object} */ Core.prototype.checkTemplateValidate = function () { - const str = this.targetEl[0].innerText; + var str = this.targetEl[0].innerText; + + // var regex = /\[\!\[(.*?)\]\((.+\.(png|jpg|jpeg))\)\]/g; + var regex = /\[(!|@)\[(.*?)\]\((.+)\)\]/g; + var matches = regex.exec(str); - // const regex = /\[\!\[(.*?)\]\((.+\.(png|jpg|jpeg))\)\]/g; - const regex = /\[(!|@)\[(.*?)\]\((.+)\)\]/g; - const matches = regex.exec(str); - return matches && matches[2] ? (()=>{ - const mediaType = matches[1] === '!' ? 'img' : 'mov'; - const altText = matches[2] - const filePath = matches[3]; - - console.log('template validate') - console.log(`PatternType => ${mediaType}, AltText => ${altText}, FilePath => ${filePath}`) + var mediaType = matches[1] === '!' ? 'img' : 'mov'; + var altText = matches[2]; + var filePath = matches[3]; // check if the current file is valid media file - const fileURLValidate= this.checkMediaUrlParse(mediaType, filePath) + var fileURLValidate= this.checkMediaUrlParse(mediaType, filePath); if (fileURLValidate) { - const startPos = matches.index; - const lastPos = matches.index + matches[0].length; - const preText = str.slice(0, startPos); - const lastText = str.slice(lastPos); + var startPos = matches.index; + var lastPos = matches.index + matches[0].length; + var preText = str.slice(0, startPos); + var lastText = str.slice(lastPos); return { - url: filePath, - alt: altText, + url: filePath, + alt: altText, type: mediaType, - preText: preText, + preText: preText, lastText: lastText }; - + } else { - console.log('File is not valid media file') + console.log('File is not valid media file'); return false; - } + } })() : (()=>{ - return false + return false; })(); }; + Core.prototype.getCursorPosition = function (element) { + element = element || document.querySelector('.editable'); + var caretOffset = 0; + var preCaretRange = ''; + var doc = element.ownerDocument || element.document; + var win = doc.defaultView || doc.parentWindow; + var sel; + if (typeof win.getSelection !== "undefined") { + sel = win.getSelection(); + if (sel.rangeCount > 0) { + var range = win.getSelection().getRangeAt(0); + preCaretRange = range.cloneRange(); + preCaretRange.selectNodeContents(element); + preCaretRange.setEnd(range.endContainer, range.endOffset); + caretOffset = preCaretRange.toString().length; + } + } else if ( (sel = doc.selection) && sel.type !=="Control") { + var textRange = sel.createRange(); + var preCaretTextRange = doc.body.createTextRange(); + preCaretTextRange.moveToElementText(element); + preCaretTextRange.setEndPoint("EndToEnd", textRange); + caretOffset = preCaretTextRange.text.length; + } + + return {point: caretOffset, text: preCaretRange.toString()}; + }; + + Core.prototype.getAllTextnodes = function (el) { + el = el || document.querySelector('.editable'); + var n, a=[], walk=document.createTreeWalker(el,NodeFilter.SHOW_TEXT,null,false); + while(n=walk.nextNode()) a.push(n); + return a; + }; + + Core.prototype.getCursorData = function (el, position){ + el = el || document.querySelector('.editable'); + var node, nodes = this.getAllTextnodes(el); + for(var n = 0; n < nodes.length; n++) { + if (position > nodes[n].nodeValue.length && nodes[n+1]) { + // remove amount from the position, go to next node + position -= nodes[n].nodeValue.length; + } else { + node = nodes[n]; + break; + } + } + // you'll need the node and the position (offset) to set the caret + return { node: node, position: position }; + }; + + Core.prototype.setCursorPosition = function (d) { + var sel = window.getSelection(), + range = document.createRange(); + range.setStart(d.node, d.position); + range.collapse(true); + sel.removeAllRanges(); + sel.addRange(range); + }; + + Core.prototype.checkInputMediaToolbar = function () { + var cPoint = this.getCursorPosition(); + var cPointDetail = this.getCursorData(null, cPoint.point); + }; + Core.prototype.checkCustomPattern = function () { var an = window.getSelection().anchorNode; this.targetEl = $(an.parentElement); - - // var $place1 = this.$el.find('.medium-insert-images'); - // var $place2 = this.$el.find('.medium-insert-embeds-active'); - // console.log(this.$el) - // console.log($place1) - // console.log($place2) - + this.checkInputMediaToolbar(); // Parsed element data || false - const templateValidate = this.checkTemplateValidate(); - console.log('template validate', templateValidate) + var templateValidate = this.checkTemplateValidate(); if (templateValidate) { - const mediaTyepe = templateValidate.type; - const mediaPath = templateValidate.url; + var mediaTyepe = templateValidate.type; + var mediaPath = templateValidate.url; // Check the the media file validation provided by URL if(mediaTyepe === 'img') { this.imageValidate(mediaPath) .then(this.embedMedia.bind(null, templateValidate, this)); - } else { - this.videoValidate(mediaPath, this.embedMedia.bind(null, templateValidate, this)) } + // else { + // this.videoValidate(mediaPath, this.embedMedia.bind(null, templateValidate, this)) + // } } - } - - Core.prototype.simulateKeydown = function (el, keycode, isCtrl, isAlt, isShift) { - var e = new KeyboardEvent( "keydown", { bubbles:true, cancelable:true, char:String.fromCharCode(keycode), key:String.fromCharCode(keycode), shiftKey:isShift, ctrlKey:isCtrl, altKey:isAlt } ); - Object.defineProperty(e, 'keyCode', {get : function() { return this.keyCodeVal; } }); - e.keyCodeVal = keycode; - el.dispatchEvent(e); - } - + }; + Core.prototype.capturePattern = function () { - if(ctTime) { - window.clearTimeout(ctTime) - ctTime = null - } else { - ctTime = window.setTimeout(() => { - this.checkCustomPattern(); - }, 100); + if(this.ctTime) { + window.clearTimeout(this.ctTime); + this.ctTime = null; } - } + + this.ctTime = window.setTimeout(() => { + this.checkCustomPattern(); + }, 500); + + }; /** Plugin initialization */ diff --git a/assests/js/lib/embed/embeds.js b/assests/js/lib/embed/embeds.js index a560b6f..1d09760 100755 --- a/assests/js/lib/embed/embeds.js +++ b/assests/js/lib/embed/embeds.js @@ -26,7 +26,7 @@ label: '' // added: function ($el) {}, // removed: function ($el) {} - } + }, }, actions: { remove: { @@ -39,9 +39,15 @@ } } }, - parseOnPaste: false + parseOnPaste: false, + enableButton: true, }; + + function ucfirst(str) { + return str.charAt(0).toUpperCase() + str.slice(1); + } + /** * Embeds object * @@ -56,7 +62,6 @@ function Embeds(el, options) { - console.log('emped ===> @@@@@@@@@@@@@@') this.el = el; this.$el = $(el); this.templates = window.MediumInsert.Templates; @@ -177,7 +182,6 @@ */ Embeds.prototype.add = function () { - console.log('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') var $place = this.$el.find('.medium-insert-active'); // Fix #132 @@ -200,10 +204,6 @@ this.core.hideButtons(); }; - Embeds.prototype.test = function() { - console.log('Thisis a test function') - } - /** * Toggles placeholder * @@ -267,9 +267,6 @@ */ Embeds.prototype.processLink = function (e) { - // console.log(this.core.capturePattern) - console.log('------------ Embded ProcessLink ---------------') - var $place = this.$el.find('.medium-insert-embeds-active'), url; @@ -329,9 +326,8 @@ */ Embeds.prototype.oembed = function (url, pasted, altText) { - console.log('Embded->Oembed 335 ===>', url, pasted) - var that = this; + var that = this; $.support.cors = true; $.ajax({ @@ -344,14 +340,15 @@ }, success: function (data) { var html = data && data.html; - console.log('response data ===>', html) if (that.options.storeMeta) { html += '
    '; } - if (data && !html && data.type === 'photo' && data.url) { + if (data && data.type.match(/(photo|rich)/) && data.url) { + that.$el.data('plugin_' + pluginName + ucfirst('images'))['showImageByURL']({type: 'image', url: data.url}, {}); html = ''; + return; } if (!html) { @@ -432,10 +429,12 @@ */ Embeds.prototype.embed = function (html, pastedUrl, altText) { - var $place = this.$el.find('.medium-insert-embeds-active'), + var $place = this.$el.find('.medium-insert-embeds-active').length? this.$el.find('.medium-insert-embeds-active') : this.$el.find('.medium-insert-active'), $div, that; that = this; + $place.attr('class', 'medium-insert-embeds-active'); + if (!html) { alert('Incorrect URL format specified'); return false; @@ -461,7 +460,6 @@ $place.after(this.templates['src/js/templates/embeds-wrapper.hbs']({ html: html })); - $place.text($place.text().replace(pastedUrl, '')); } else { if(altText) { @@ -471,10 +469,10 @@ if (that.options.captions) { that.core.addCaption($place.find('figure'), that.options.captionPlaceholder); - that.core.addCaptionContent($place, altText) + that.core.addCaptionContent($place, altText); } - $place.replaceWith($place.find('.medium-insert-embeds')) + $place.replaceWith($place.find('.medium-insert-embeds')); } else { $place.after(this.templates['src/js/templates/embeds-wrapper.hbs']({ html: html @@ -505,7 +503,7 @@ * @return {void} */ Embeds.prototype.convertBadEmbed = function (content) { - console.log('Embed->convertBadEmbed 527 ===>', content) + var $place, $empty, $content, emptyTemplate = this.templates['src/js/templates/core-empty-line.hbs']().trim(); @@ -775,7 +773,7 @@ const parseData = this.extend.getFind(peC); if (parseData) { - const elements = this.extend.createContent(parseData) + const elements = this.extend.createContent(parseData); this.extend.updateContent(pe, elements); } } @@ -785,18 +783,18 @@ Object.defineProperty(e, 'keyCode', {get : function() { return this.keyCodeVal; } }); e.keyCodeVal = keycode; el.dispatchEvent(e); - } + }; Embeds.prototype.capturePattern = function () { if(ctTime) { - window.clearTimeout(ctTime) - ctTime = null + window.clearTimeout(ctTime); + ctTime = null; } else { ctTime = window.setTimeout(() => { this.checkCustomPattern(); }, 100); } - } + }; /** Plugin initialization */ diff --git a/assests/js/lib/embed/emoji.js b/assests/js/lib/embed/emoji.js new file mode 100755 index 0000000..b72bba4 --- /dev/null +++ b/assests/js/lib/embed/emoji.js @@ -0,0 +1,355 @@ +(function ($, window, document) { + 'use strict'; + + var pluginName = 'mediumInsert', + addonName = 'Emoji', + defaults = { + showTab: true, + animation: 'fade', + icons: [], + enableButton: false, + }; + + + function ucfirst(str) { + return str.charAt(0).toUpperCase() + str.slice(1); + } + + + function Emoji(el, options) { + this.el = el; + this.$el = $(el); + this.$currentImage = null; + this.templates = window.MediumInsert.Templates; + this.core = this.$el.data('plugin_' + pluginName); + this.options = $.extend(true, {}, defaults, options); + this._name = pluginName; + this.elementId = `medium-content-${options.elementId}`; + this.validNavigation = false; + + this.index = this.options.elementId; + switch (options.animation) { + case 'none': + this.showFunc = 'show'; + this.hideFunc = 'hide'; + this.toggleFunc = 'toggle'; + break; + case 'slide': + this.showFunc = 'slideDown'; + this.hideFunc = 'slideUp'; + this.toggleFunc = 'slideToggle'; + break; + case 'fade': + this.showFunc = 'fadeIn'; + this.hideFunc = 'fadeOut'; + this.toggleFunc = 'fadeToggle'; + break; + default: + this.showFunc = 'fadeIn'; + this.hideFunc = 'fadeOut'; + this.toggleFunc = 'fadeToggle'; + break; + } + + this._init(); + } + + Emoji.prototype = { + _init: function () { + var that = this; + var btn = this.options.button; + var newBtn, + contentTop, + contentLeft, + panelTop, + panelLeft; + var ix = that.index; + if (!btn) { + newBtn = ''; + contentTop = this.$el.offset().top + this.$el.outerHeight() + 10; + contentLeft = this.$el.offset().left + 2; + $(newBtn).appendTo(this.$el); + // $('#emoji_btn_' + ix).css({ 'top': contentTop + 'px', 'left': contentLeft + 'px' }); + btn = '#emoji_btn_' + ix; + } + + var showTab = this.options.showTab; + var iconsGroup = this.options.icons; + var groupLength = iconsGroup.length; + if (groupLength === 0) { + alert('Missing icons config!'); + return false; + } + + var emoji_container = '
    '; + var emoji_content = ''; + var emoji_preview = '
    '; + emoji_container += emoji_content; + emoji_container += emoji_tab; + emoji_container += emoji_preview; + + $(emoji_container).appendTo($('body')); + + // calc panel width + var panelWidth = '384px'; + var winWidth = $(window).width(); + if (winWidth < 544) { + switch (this.options.position) { + case 'topLeft': + case 'bottomLeft': + panelWidth = (winWidth - $(btn).offset().right * 2) + 'px'; + break; + default: + panelWidth = (winWidth - $(btn).offset().left * 2) + 'px'; + } + } + $('#emoji_container_' + ix).css('width', panelWidth); + $('#emoji_container_' + ix + ' .emoji_tab_list').css('width', (parseInt(panelWidth) - 44) + 'px'); + + // calc panel position + switch (this.options.position) { + case 'topLeft': + panelTop = $(btn).offset().top - $('#emoji_container_' + ix).outerHeight() - 5; + panelLeft = $(btn).offset().left - $('#emoji_container_' + ix).outerWidth() + $(btn).outerHeight(); + break; + case 'topRight': + panelTop = $(btn).offset().top - $('#emoji_container_' + ix).outerHeight() - 5; + panelLeft = $(btn).offset().left; + break; + case 'bottomLeft': + panelTop = $(btn).offset().top + $(btn).outerHeight() + 5; + panelLeft = $(btn).offset().left - $('#emoji_container_' + ix).outerWidth() + $(btn).outerHeight(); + break; + default: + panelTop = $(btn).offset().top + $(btn).outerHeight() + 5; + panelLeft = $(btn).offset().left; + } + $('#emoji_container_' + ix).css({ 'top': panelTop + 'px', 'left': panelLeft + 'px' }); + + var pageCount = groupLength % 8 === 0 ? parseInt(groupLength / 8) : parseInt(groupLength / 8) + 1; + var pageIndex = 1; + $(document).on({ + 'click': function (e) { + var target = e.target; + var field = that.$el[0]; + var code, + tab, + imgSrc, + insertHtml; + if (target === $(btn)[0]) { + $('#emoji_container_' + ix)[that.toggleFunc](); + that.$el.focus(); + } else if ($(target).parents('#emoji_container_' + ix).length > 0) { + code = $(target).data('emoji_code') || $(target).parent().data('emoji_code'); + tab = $(target).data('emoji_tab'); + if (code) { + if (field.nodeName === 'DIV') { + var newElementContainer = document.createElement('span') + imgSrc = $('#emoji_container_' + ix + ' a[data-emoji_code="' + code + '"] img').attr('src'); + newElementContainer.innerHTML = `` + insertHtml = newElementContainer.outerHTML; + that._insertAtCursor(field, insertHtml, false); + } else { + that._insertAtCursor(field, code); + } + that.hide(); + } + else if (tab) { + if (!$(target).hasClass('selected')) { + $('#emoji_container_' + ix + ' .emoji_icons').hide(); + $('#emoji_container_' + ix + ' #' + tab).show(); + $(target).addClass('selected').siblings().removeClass('selected'); + } + } else if ($(target).hasClass('emoji_tab_prev')) { + if (pageIndex > 1) { + $('#emoji_container_' + ix + ' .emoji_tab_list ul').css('margin-left', ('-503' * (pageIndex - 2)) + 'px'); + pageIndex--; + } + + } else if ($(target).hasClass('emoji_tab_next')) { + if (pageIndex < pageCount) { + $('#emoji_container_' + ix + ' .emoji_tab_list ul').css('margin-left', ('-503' * pageIndex) + 'px'); + pageIndex++; + } + } + that.$el.focus(); + } else if ($('#emoji_container_' + ix + ':visible').length > 0) { + that.hide(); + that.$el.focus(); + } + } + }); + + $('#emoji_container_' + ix + ' .emoji_icons a').mouseenter(function () { + var index = $(this).data('index'); + if (parseInt(index / 5) % 2 === 0) { + $('#emoji_container_' + ix + ' .emoji_preview').css({ 'left': 'auto', 'right': 0 }); + } else { + $('#emoji_container_' + ix + ' .emoji_preview').css({ 'left': 0, 'right': 'auto' }); + } + var src = $(this).find('img').attr('src'); + $('#emoji_container_' + ix + ' .emoji_preview img').attr('src', src).parent().show(); + }); + + $('#emoji_container_' + ix + ' .emoji_icons a').mouseleave(function () { + $('#emoji_container_' + ix + ' .emoji_preview img').removeAttr('src').parent().hide(); + }); + }, + + _insertAtCursor: function (field, value, selectPastedContent) { + var sel, range; + if (field.nodeName === 'DIV') { + field.focus(); + if (window.getSelection) { + sel = window.getSelection(); + if (sel.getRangeAt && sel.rangeCount) { + range = sel.getRangeAt(0); + range.deleteContents(); + var el = document.createElement('div'); + el.innerHTML = value; + var frag = document.createDocumentFragment(), node, lastNode; + while ((node = el.firstChild)) { + lastNode = frag.appendChild(node); + } + var firstNode = frag.firstChild; + range.insertNode(frag); + + if (lastNode) { + range = range.cloneRange(); + range.setStartAfter(lastNode); + if (selectPastedContent) { + range.setStartBefore(firstNode); + } else { + range.collapse(true); + } + sel.removeAllRanges(); + sel.addRange(range); + } + } + } else if ((sel = document.selection) && sel.type !== 'Control') { + var originalRange = sel.createRange(); + originalRange.collapse(true); + sel.createRange().pasteHTML(value); + if (selectPastedContent) { + range = sel.createRange(); + range.setEndPoint('StartToStart', originalRange); + range.select(); + } + } + } else { + if (document.selection) { + field.focus(); + sel = document.selection.createRange(); + sel.text = value; + sel.select(); + } + else if (field.selectionStart || field.selectionStart === 0) { + var startPos = field.selectionStart; + var endPos = field.selectionEnd; + var restoreTop = field.scrollTop; + field.value = field.value.substring(0, startPos) + value + field.value.substring(endPos, field.value.length); + if (restoreTop > 0) { + field.scrollTop = restoreTop; + } + field.focus(); + field.selectionStart = startPos + value.length; + field.selectionEnd = startPos + value.length; + } else { + field.value += value; + field.focus(); + } + } + + }, + + show: function () { + $('#emoji_container_' + this.index)[this.showFunc](); + }, + + hide: function () { + $('#emoji_container_' + this.index)[this.hideFunc](); + }, + + toggle: function () { + $('#emoji_container_' + this.index)[this.toggleFunc](); + }, + + setPosition: function () { + this.setContainer(); + const position = this.$el.caret('position'); + $('#emoji_btn_' + this.index).css({ 'top': position.top + 'px'}); + }, + + setContainer: function () { + const btn = '#emoji_btn_' + this.index; + const position = this.$el.caret('offset'); + const panelTop = position.top > 350 ? ($(btn).offset().top + $(btn).outerHeight() - 300) : ($(btn).offset().top + $(btn).outerHeight() + 10); + const panelLeft = $(btn).offset().left; + + $('#emoji_container_' + this.index).css({ 'top': panelTop + 'px'}); + } + }; + + /** Emoji initialization */ + $.fn[pluginName + addonName] = function (options) { + return this.each(function () { + if (!$.data(this, 'plugin_' + pluginName + addonName)) { + $.data(this, 'plugin_' + pluginName + addonName, new Emoji(this, options)); + } + }); + }; + +}(jQuery, window, document)); diff --git a/assests/js/lib/embed/images.js b/assests/js/lib/embed/images.js index 2c6f8d1..6e01055 100755 --- a/assests/js/lib/embed/images.js +++ b/assests/js/lib/embed/images.js @@ -9,17 +9,19 @@ addonName = 'Images', // first char is uppercase defaults = { label: '', - deleteMethod: 'POST', - deleteScript: 'delete.php', - preview: true, + preview: false, captions: true, captionPlaceholder: 'Type caption for image (optional)', autoGrid: 3, - fileUploadOptions: { // See https://github.com/blueimp/jQuery-File-Upload/wiki/Options + fileUploadOptions: { url: null, - acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i + type: 'POST', + acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i, + sequentialUploads: true, + }, + fileDeleteOptions: { + type: 'DELETE' }, - fileDeleteOptions: {}, styles: { wide: { label: '' @@ -72,10 +74,16 @@ messages: { acceptFileTypesError: 'This file is not in a supported format: ', maxFileSizeError: 'This file is too big: ' - } + }, + enableButton: true, + // uploadError: function($el, data) {} // uploadCompleted: function ($el, data) {} }; + function ucfirst(str) { + return str.charAt(0).toUpperCase() + str.slice(1); + } + /** * Images object @@ -194,41 +202,51 @@ * @return {void} */ - Images.prototype.add = function () { - var that = this, - $file = $(this.templates['src/js/templates/images-fileupload.hbs']()), - fileUploadOptions = { - dataType: 'json', - add: function (e, data) { - $.proxy(that, 'uploadAdd', e, data)(); - }, - done: function (e, data) { - $.proxy(that, 'uploadDone', e, data)(); - } - }; - - // Only add progress callbacks for browsers that support XHR2, - // and test for XHR2 per: - // http://stackoverflow.com/questions/6767887/ - // what-is-the-best-way-to-check-for-xhr2-file-upload-support - if (new XMLHttpRequest().upload) { - fileUploadOptions.progress = function (e, data) { - $.proxy(that, 'uploadProgress', e, data)(); - }; - - fileUploadOptions.progressall = function (e, data) { - $.proxy(that, 'uploadProgressall', e, data)(); - }; - } - - $file.fileupload($.extend(true, {}, this.options.fileUploadOptions, fileUploadOptions)); + Images.prototype.add = function (mediaData) { + if(mediaData) { + var that = this, + $file = this.$el.find('input:file'), + fileUploadOptions = { + dataType: 'json', + replaceFileInput: true, + dropZone: $(this.$el), + drop: function (e, data) { + // e.preventDefault(); + }, + add: function (e, data) { + $.proxy(that, 'uploadAdd', e, data)(); + }, + done: function (e, data) { + $.proxy(that, 'uploadDone', e, data)(); + } + }; + + // Only add progress callbacks for browsers that support XHR2, + // and test for XHR2 per: + // http://stackoverflow.com/questions/6767887/ + // what-is-the-best-way-to-check-for-xhr2-file-upload-support + if (new XMLHttpRequest().upload) { + fileUploadOptions.progress = function (e, data) { + $.proxy(that, 'uploadProgress', e, data)(); + }; + + fileUploadOptions.progressall = function (e, data) { + $.proxy(that, 'uploadProgressall', e, data)(); + }; + } + $(this.$el).bind('drop dragover', function (e) { + e.preventDefault(); + }); - $file.click(); + $file.fileupload($.extend(true, {}, this.options.fileUploadOptions, fileUploadOptions)); + } else { + var $file = this.$el.find('input:file'); + $file.click(); + } }; /** * Callback invoked as soon as files are added to the fileupload widget - via file input selection, drag & drop or add API call. - * https://github.com/blueimp/jQuery-File-Upload/wiki/Options#add * * @param {Event} e * @param {object} data @@ -243,65 +261,69 @@ acceptFileTypes = this.options.fileUploadOptions.acceptFileTypes, maxFileSize = this.options.fileUploadOptions.maxFileSize, reader; - - if(file) { - if (acceptFileTypes && !acceptFileTypes.test(file.type)) { - uploadErrors.push(this.options.messages.acceptFileTypesError + file.name); - } else if (maxFileSize && file.size > maxFileSize) { - uploadErrors.push(this.options.messages.maxFileSizeError + file.name); - } - if (uploadErrors.length > 0) { - if (this.options.uploadFailed && typeof this.options.uploadFailed === "function") { - this.options.uploadFailed(uploadErrors, data); - return; - } - - alert(uploadErrors.join("\n")); - return; - } - - this.core.hideButtons(); - - // Replace paragraph with div, because figure elements can't be inside paragraph - if ($place.is('p')) { - $place.replaceWith('
    ' + $place.html() + '
    '); - $place = this.$el.find('.medium-insert-active'); - if ($place.next().is('p')) { - this.core.moveCaret($place.next()); - } else { - $place.after('


    '); // add empty paragraph so we can move the caret to the next line. - this.core.moveCaret($place.next()); - } - } - - $place.addClass('medium-insert-images'); - - if (this.options.preview === false && $place.find('progress').length === 0 && (new XMLHttpRequest().upload)) { - $place.append(this.templates['src/js/templates/images-progressbar.hbs']()); - } - - if (data.autoUpload || (data.autoUpload !== false && $(e.target).fileupload('option', 'autoUpload'))) { - data.process().done(function () { - // If preview is set to true, let the showImage handle the upload start - if (that.options.preview) { - reader = new FileReader(); - - reader.onload = function (e) { - $.proxy(that, 'showImage', e.target.result, data)(); - }; - - reader.readAsDataURL(data.files[0]); - } else { - data.submit(); - } - }); - } - } else { + if (acceptFileTypes && !acceptFileTypes.test(file.type)) { + uploadErrors.push(this.options.messages.acceptFileTypesError + file.name); + } else if (maxFileSize && file.size > maxFileSize) { + uploadErrors.push(this.options.messages.maxFileSizeError + file.name); + } + + if (uploadErrors.length > 0) { + if (this.options.uploadFailed && typeof this.options.uploadFailed === "function") { + this.options.uploadFailed(uploadErrors, data); + return; + } + + alert(uploadErrors.join("\n")); + return; + } + + this.core.hideButtons(); - $place.addClass('medium-insert-images'); - $.proxy(that, 'showImage', e, {})(); + // Replace paragraph with div, because figure elements can't be inside paragraph, + if ($place.is('p')) { + $place.replaceWith('
    ' + $place.html() + '
    '); + $place = this.$el.find('.medium-insert-active'); + if ($place.next().is('p')) { + this.core.moveCaret($place.next()); + } else { + $place.after('


    '); // add empty paragraph so we can move the caret to the next line. + this.core.moveCaret($place.next()); } + } + + this.$el.find('.medium-insert-active').map((element)=>{ + element && element.removeClass('medium-insert-active'); + }); + this.$el.find('.medium-insert-embeds-active').map((element)=>{ + element && element.removeClass('medium-insert-embeds-active'); + }); + + $place.addClass('medium-insert-images medium-insert-active'); + + if (this.options.preview === false && $place.find('progress').length === 0 && (new XMLHttpRequest().upload)) { + $place.append(this.templates['src/js/templates/images-progressbar.hbs']()); + } + + if (data.autoUpload || (data.autoUpload !== false && $(e.target).fileupload('option', 'autoUpload'))) { + + data.process().done(function () { + // If preview is set to true, let the showImage handle the upload start + if (that.options.preview) { + reader = new FileReader(); + + reader.onload = function (e) { + // first parameter is File content (data:image/jpeg;base64) + $.proxy(that, 'showImage', e.target.result, data)(); + }; + + reader.readAsDataURL(data.files[0]); + } else { + // If preview is set to false, then do force upload + data.submit(); + } + }); + } }; /** @@ -340,6 +362,7 @@ */ Images.prototype.uploadProgress = function (e, data) { + var progress, $progressbar; if (this.options.preview) { @@ -364,8 +387,14 @@ */ Images.prototype.uploadDone = function (e, data) { - $.proxy(this, 'showImage', data.result.files[0].url, data)(); - + if(data.result) { + if(data.result.type ==='img') { + $.proxy(this, 'showImage', data.result, data)(); + } else { + // this.$el.data('plugin_' + pluginName + ucfirst('embeds'))['oembed'](data.result.url); + // this.$el.data('plugin_' + pluginName + ucfirst('embeds'))['oembed']('https://www.youtube.com/watch?v=2Lwd46qBrqU'); + } + } this.core.clean(); this.sorting(); }; @@ -373,7 +402,7 @@ /** * Add uploaded / preview image to DOM * - * @param {string} img + * @param {string} img // File data or File URL * @returns {void} */ @@ -381,7 +410,7 @@ var $place = this.$el.find('.medium-insert-active'), domImage, that; - + // Hide editor's placeholder $place.click(); @@ -390,8 +419,10 @@ that = this; if (this.options.preview && data.context) { domImage = this.getDOMImage(); + const fileUrl = img.url.match(/(http|https):\/\//)? img.url: `http://${img.url}`; + domImage.onload = function () { - data.context.find('img').attr('src', img); + data.context.find('img').attr('src', fileUrl); if (this.options.uploadCompleted) { this.options.uploadCompleted(data.context, data); @@ -399,7 +430,8 @@ that.core.triggerInput(); }.bind(this); - domImage.src = img; + domImage.src = fileUrl; + } else { data.context = $(this.templates['src/js/templates/images-image.hbs']({ img: typeof img === 'object'? img.url : img, @@ -407,18 +439,6 @@ })).appendTo($place); $place.find('br').remove(); - - if (typeof img === 'object' && that.options.captions) { - const $image = $place.find('img'); - - img.alt? - (()=>{ - that.core.addCaption($image.closest('figure'), that.options.captionPlaceholder) - that.core.addCaptionContent($place, img.alt) - })() - : - null; - } if (this.options.autoGrid && $place.find('figure').length >= this.options.autoGrid) { $.each(this.options.styles, function (style, options) { @@ -438,10 +458,13 @@ } } + // Preview is to set as true, then upload media files here if (this.options.preview) { data.submit(); } else if (this.options.uploadCompleted) { - this.options.uploadCompleted(data.context, data); + // this.options.uploadCompleted(data.context, data); + data.submit(); + } } @@ -450,6 +473,58 @@ return data.context; }; + /** + * Display image to DOM + * + * @param {string} img // File data or File URL + * @returns {void} + */ + Images.prototype.showImageByURL = function (img) { + var $place = this.$el.find('.medium-insert-active').length? this.$el.find('.medium-insert-active') : this.$el.find('.medium-insert-embeds-active'), + that = this; + + $place.attr('class', 'medium-insert-active medium-insert-images'); + $place.click(); + + $place[0].innerHTML = this.templates['src/js/templates/images-image.hbs']({ + img: typeof img === 'object'? img.url : img, + progress: this.options.preview + }); + + $place.find('br').remove(); + + if (typeof img === 'object' && that.options.captions) { + const $image = $place.find('img'); + + img.alt? + (()=>{ + that.core.addCaption($image.closest('figure'), that.options.captionPlaceholder); + that.core.addCaptionContent($place, img.alt); + })() + : + null; + } + + if (this.options.autoGrid && $place.find('figure').length >= this.options.autoGrid) { + $.each(this.options.styles, function (style, options) { + var className = 'medium-insert-images-' + style; + + $place.removeClass(className); + + if (options.removed) { + options.removed($place); + } + }); + + $place.addClass('medium-insert-images-grid'); + + if (this.options.styles.grid.added) { + this.options.styles.grid.added($place); + } + } + this.core.triggerInput(); + }; + Images.prototype.getDOMImage = function () { return new window.Image(); }; @@ -494,6 +569,7 @@ */ Images.prototype.unselectImage = function (e) { + var $el = $(e.target), $image = this.$el.find('.medium-insert-image-active'); @@ -523,6 +599,7 @@ */ Images.prototype.removeImage = function (e) { + var images = [], $selectedImage = this.$el.find('.medium-insert-image-active'), $parent, $empty, selection, range, current, caretPosition, $current, $sibling, selectedHtml, i; @@ -600,20 +677,14 @@ */ Images.prototype.deleteFile = function (file, $el) { - // only take action if there is a truthy value - if (this.options.deleteScript) { - // try to run it as a callback - if (typeof this.options.deleteScript === 'function') { - this.options.deleteScript(file, $el); - // otherwise, it's probably a string, call it as ajax - } else { - $.ajax($.extend(true, {}, { - url: this.options.deleteScript, - type: this.options.deleteMethod || 'POST', - data: { file: file } - }, this.options.fileDeleteOptions)); - } - } + const { url } = this.options.fileUploadOptions; + + $.ajax($.extend(true, {}, { + url: url, + data: { file: file } + }, this.options.fileDeleteOptions)) + .then(res => console.log(res.msg)) + }; /** diff --git a/assests/js/lib/embed/templates.js b/assests/js/lib/embed/templates.js index f86b6cf..bc32731 100755 --- a/assests/js/lib/embed/templates.js +++ b/assests/js/lib/embed/templates.js @@ -80,7 +80,7 @@ this["MediumInsert"]["Templates"]["src/js/templates/images-image.hbs"] = Handleb return "
    \n \"\"\n" + + "\" alt=\"\" class=\"editable-content\" />\n" + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.progress : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") + "
    \n"; },"useData":true}); diff --git a/assests/js/lib/embed/templates/images-image.hbs b/assests/js/lib/embed/templates/images-image.hbs index 491a2e1..3999439 100755 --- a/assests/js/lib/embed/templates/images-image.hbs +++ b/assests/js/lib/embed/templates/images-image.hbs @@ -1,6 +1,7 @@ -
    +{{!--
    +
    ddd
    {{#if progress }}
    {{/if}} -
    +
    --}} diff --git a/assests/js/lib/embed/uploader.js b/assests/js/lib/embed/uploader.js index b33a197..3273a20 100644 --- a/assests/js/lib/embed/uploader.js +++ b/assests/js/lib/embed/uploader.js @@ -15,46 +15,19 @@ $(function () { '/cors/result.html?%s' ) ); - - if (window.location.hostname === 'blueimp.github.io') { - // Demo settings: - $('#fileupload').fileupload('option', { - url: '//jquery-file-upload.appspot.com/', - // Enable image resizing, except for Android and Opera, - // which actually support image resizing, but fail to - // send Blob objects via XHR requests: - disableImageResize: /Android(?!.*Chrome)|Opera/ - .test(window.navigator.userAgent), - maxFileSize: 999000, - acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i - }); - // Upload server status check for browsers with CORS support: - if ($.support.cors) { - $.ajax({ - url: '//jquery-file-upload.appspot.com/', - type: 'HEAD' - }).fail(function () { - $('
    ') - .text('Upload server currently unavailable - ' + - new Date()) - .appendTo('#fileupload'); - }); - } - } else { - // Load existing files: - $('#fileupload').addClass('fileupload-processing'); - $.ajax({ - // Uncomment the following to send cross-domain cookies: - //xhrFields: {withCredentials: true}, - url: $('#fileupload').fileupload('option', 'url'), - dataType: 'json', - context: $('#fileupload')[0] - }).always(function () { - $(this).removeClass('fileupload-processing'); - }).done(function (result) { - $(this).fileupload('option', 'done') - .call(this, $.Event('done'), {result: result}); - }); - } - -}); \ No newline at end of file + + // Load existing files: + $('#fileupload').addClass('fileupload-processing'); + $.ajax({ + // Uncomment the following to send cross-domain cookies: + //xhrFields: {withCredentials: true}, + url: $('#fileupload').fileupload('option', 'url'), + dataType: 'json', + context: $('#fileupload')[0] + }).always(function () { + $(this).removeClass('fileupload-processing'); + }).done(function (result) { + $(this).fileupload('option', 'done') + .call(this, $.Event('done'), {result: result}); + }); +}); diff --git a/assests/medias/4mw9ow.jpeg b/assests/medias/4mw9ow.jpeg new file mode 100644 index 0000000..20161ec Binary files /dev/null and b/assests/medias/4mw9ow.jpeg differ diff --git a/assests/medias/f6e7na.jpg b/assests/medias/f6e7na.jpg new file mode 100644 index 0000000..7d6f363 Binary files /dev/null and b/assests/medias/f6e7na.jpg differ diff --git a/assests/medias/iyir8k.jpg b/assests/medias/iyir8k.jpg new file mode 100644 index 0000000..2f02a1b Binary files /dev/null and b/assests/medias/iyir8k.jpg differ diff --git a/bin/www b/bin/www new file mode 100644 index 0000000..7fd690e --- /dev/null +++ b/bin/www @@ -0,0 +1,91 @@ +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var app = require('../app'); +var debug = require('debug')('server:server'); +var http = require('http'); + +/** + * Get port from environment and store in Express. + */ + +var port = normalizePort(process.env.PORT || '3000'); +console.log('Server started on ', port) +app.set('port', port); + +/** + * Create HTTP server. + */ + +var server = http.createServer(app); + +/** + * Listen on provided port, on all network interfaces. + */ + +server.listen(port); +server.on('error', onError); +server.on('listening', onListening); + +/** + * Normalize a port into a number, string, or false. + */ + +function normalizePort(val) { + var port = parseInt(val, 10); + + if (isNaN(port)) { + // named pipe + return val; + } + + if (port >= 0) { + // port number + return port; + } + + return false; +} + +/** + * Event listener for HTTP server "error" event. + */ + +function onError(error) { + if (error.syscall !== 'listen') { + throw error; + } + + var bind = typeof port === 'string' + ? 'Pipe ' + port + : 'Port ' + port; + + // handle specific listen errors with friendly messages + switch (error.code) { + case 'EACCES': + console.error(bind + ' requires elevated privileges'); + process.exit(1); + break; + case 'EADDRINUSE': + console.error(bind + ' is already in use'); + process.exit(1); + break; + default: + throw error; + } +} + +/** + * Event listener for HTTP server "listening" event. + */ + +function onListening() { + var addr = server.address(); + var bind = typeof addr === 'string' + ? 'pipe ' + addr + : 'port ' + addr.port; + debug('Listening on ' + bind); +} diff --git a/dist/css/medium-editor-insert-plugin-frontend.css b/dist/css/medium-editor-insert-plugin-frontend.css deleted file mode 100755 index 97fbc9d..0000000 --- a/dist/css/medium-editor-insert-plugin-frontend.css +++ /dev/null @@ -1,76 +0,0 @@ -/*! - * medium-editor-insert-plugin v2.5.0 - jQuery insert plugin for MediumEditor - * - * http://linkesch.com/medium-editor-insert-plugin - * - * Copyright (c) 2014 Pavel Linkesch (http://linkesch.com) - * Released under the MIT license - */ - -.medium-insert-images, .mediumInsert { - text-align: center; } - .medium-insert-images figure, .mediumInsert figure { - margin: 0; - display: block; } - .medium-insert-images figure img, .mediumInsert figure img { - max-width: 100%; - margin-top: 1em; - vertical-align: top; } - .medium-insert-images figure:first-child img, .mediumInsert figure:first-child img { - margin-top: 0; } - .medium-insert-images.medium-insert-images-left, .medium-insert-images-left.mediumInsert, .mediumInsert.small { - max-width: 33.33%; - float: left; - margin: 0 30px 20px 0; } - .medium-insert-images.medium-insert-images-right, .medium-insert-images-right.mediumInsert { - max-width: 33.33%; - float: right; - margin: 0 0 20px 30px; } - .medium-insert-images.medium-insert-images-grid, .medium-insert-images-grid.mediumInsert { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-align: start; - align-items: flex-start; - -ms-flex-pack: center; - justify-content: center; - margin: 0.5em -0.5em; } - .medium-insert-images.medium-insert-images-grid figure, .medium-insert-images-grid.mediumInsert figure { - width: 33.33%; - display: inline-block; } - .medium-insert-images.medium-insert-images-grid figure img, .medium-insert-images-grid.mediumInsert figure img { - max-width: calc(100% - 1em); - margin: 0.5em; } - -.medium-insert-embeds, .mediumInsert-embeds { - text-align: center; - margin: 1em 0; - position: relative; } - .medium-insert-embeds iframe, .mediumInsert-embeds iframe { - margin: 0 auto !important; } - .medium-insert-embeds div, .mediumInsert-embeds div { - margin: 0 auto !important; } - .medium-insert-embeds.medium-insert-embeds-left, .medium-insert-embeds-left.mediumInsert-embeds { - width: 33.33%; - float: left; - margin: 0 30px 20px 0; } - .medium-insert-embeds.medium-insert-embeds-right, .medium-insert-embeds-right.mediumInsert-embeds { - width: 33.33%; - float: right; - margin: 0 0 20px 30px; } - -.medium-insert-images figure, .mediumInsert figure, .medium-insert-embeds figure, .mediumInsert-embeds figure { - position: relative; } - .medium-insert-images figure figcaption, .mediumInsert figure figcaption, .medium-insert-embeds figure figcaption, .mediumInsert-embeds figure figcaption { - position: relative; - z-index: 1; - display: block; - text-align: center; - margin: 10px 0; - color: #ccc; - font-size: 0.8em; - font-style: italic; - outline: 0 solid transparent; } - .medium-insert-images figure figcaption:focus, .mediumInsert figure figcaption:focus, .medium-insert-embeds figure figcaption:focus, .mediumInsert-embeds figure figcaption:focus { - outline: 0 solid transparent; } diff --git a/dist/css/medium-editor-insert-plugin-frontend.min.css b/dist/css/medium-editor-insert-plugin-frontend.min.css deleted file mode 100755 index 986f9f0..0000000 --- a/dist/css/medium-editor-insert-plugin-frontend.min.css +++ /dev/null @@ -1,10 +0,0 @@ -/*! - * medium-editor-insert-plugin v2.5.0 - jQuery insert plugin for MediumEditor - * - * http://linkesch.com/medium-editor-insert-plugin - * - * Copyright (c) 2014 Pavel Linkesch (http://linkesch.com) - * Released under the MIT license - */ - -.medium-insert-images,.mediumInsert{text-align:center}.medium-insert-images figure,.mediumInsert figure{margin:0;display:block}.medium-insert-images figure img,.mediumInsert figure img{max-width:100%;margin-top:1em;vertical-align:top}.medium-insert-images figure:first-child img,.mediumInsert figure:first-child img{margin-top:0}.medium-insert-images-left.mediumInsert,.medium-insert-images.medium-insert-images-left,.mediumInsert.small{max-width:33.33%;float:left;margin:0 30px 20px 0}.medium-insert-images-right.mediumInsert,.medium-insert-images.medium-insert-images-right{max-width:33.33%;float:right;margin:0 0 20px 30px}.medium-insert-images-grid.mediumInsert,.medium-insert-images.medium-insert-images-grid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center;margin:.5em -.5em}.medium-insert-images-grid.mediumInsert figure,.medium-insert-images.medium-insert-images-grid figure{width:33.33%;display:inline-block}.medium-insert-images-grid.mediumInsert figure img,.medium-insert-images.medium-insert-images-grid figure img{max-width:calc(100% - 1em);margin:.5em}.medium-insert-embeds,.mediumInsert-embeds{text-align:center;margin:1em 0;position:relative}.medium-insert-embeds div,.medium-insert-embeds iframe,.mediumInsert-embeds div,.mediumInsert-embeds iframe{margin:0 auto!important}.medium-insert-embeds-left.mediumInsert-embeds,.medium-insert-embeds.medium-insert-embeds-left{width:33.33%;float:left;margin:0 30px 20px 0}.medium-insert-embeds-right.mediumInsert-embeds,.medium-insert-embeds.medium-insert-embeds-right{width:33.33%;float:right;margin:0 0 20px 30px}.medium-insert-embeds figure,.medium-insert-images figure,.mediumInsert figure,.mediumInsert-embeds figure{position:relative}.medium-insert-embeds figure figcaption,.medium-insert-images figure figcaption,.mediumInsert figure figcaption,.mediumInsert-embeds figure figcaption{position:relative;z-index:1;display:block;text-align:center;margin:10px 0;color:#ccc;font-size:.8em;font-style:italic;outline:0 solid transparent}.medium-insert-embeds figure figcaption:focus,.medium-insert-images figure figcaption:focus,.mediumInsert figure figcaption:focus,.mediumInsert-embeds figure figcaption:focus{outline:0 solid transparent} \ No newline at end of file diff --git a/dist/css/medium-editor-insert-plugin.min.css b/dist/css/medium-editor-insert-plugin.min.css deleted file mode 100755 index 2df3f82..0000000 --- a/dist/css/medium-editor-insert-plugin.min.css +++ /dev/null @@ -1,10 +0,0 @@ -/*! - * medium-editor-insert-plugin v2.5.0 - jQuery insert plugin for MediumEditor - * - * http://linkesch.com/medium-editor-insert-plugin - * - * Copyright (c) 2014 Pavel Linkesch (http://linkesch.com) - * Released under the MIT license - */ - -.medium-insert-images,.mediumInsert{text-align:center}.medium-insert-images figure,.mediumInsert figure{margin:0;display:block}.medium-insert-images figure img,.mediumInsert figure img{max-width:100%;margin-top:1em;vertical-align:top}.medium-insert-images figure:first-child img,.mediumInsert figure:first-child img{margin-top:0}.medium-insert-images-left.mediumInsert,.medium-insert-images.medium-insert-images-left,.mediumInsert.small{max-width:33.33%;float:left;margin:0 30px 20px 0}.medium-insert-images-right.mediumInsert,.medium-insert-images.medium-insert-images-right{max-width:33.33%;float:right;margin:0 0 20px 30px}.medium-insert-images-grid.mediumInsert,.medium-insert-images.medium-insert-images-grid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center;margin:.5em -.5em}.medium-insert-images-grid.mediumInsert figure,.medium-insert-images.medium-insert-images-grid figure{width:33.33%;display:inline-block}.medium-insert-images-grid.mediumInsert figure img,.medium-insert-images.medium-insert-images-grid figure img{max-width:calc(100% - 1em);margin:.5em}.medium-insert-embeds,.mediumInsert-embeds{text-align:center;margin:1em 0;position:relative}.medium-insert-embeds div,.medium-insert-embeds iframe,.mediumInsert-embeds div,.mediumInsert-embeds iframe{margin:0 auto!important}.medium-insert-embeds-left.mediumInsert-embeds,.medium-insert-embeds.medium-insert-embeds-left{width:33.33%;float:left;margin:0 30px 20px 0}.medium-insert-embeds-right.mediumInsert-embeds,.medium-insert-embeds.medium-insert-embeds-right{width:33.33%;float:right;margin:0 0 20px 30px}.medium-insert-embeds figure,.medium-insert-images figure,.mediumInsert figure,.mediumInsert-embeds figure{position:relative}.medium-insert-embeds figure figcaption,.medium-insert-images figure figcaption,.mediumInsert figure figcaption,.mediumInsert-embeds figure figcaption{position:relative;z-index:1;display:block;text-align:center;margin:10px 0;color:#ccc;font-size:.8em;font-style:italic;outline:0 solid transparent}.medium-editor-insert-plugin:focus,.medium-insert-embeds figure figcaption:focus,.medium-insert-images figure figcaption:focus,.mediumInsert figure figcaption:focus,.mediumInsert-embeds figure figcaption:focus{outline:0 solid transparent}.medium-editor-insert-plugin{outline:0 solid transparent}.medium-editor-insert-plugin .clearfix:after,.medium-editor-insert-plugin .clearfix:before,.medium-editor-insert-plugin:after,.medium-editor-insert-plugin:before{content:" ";display:table;clear:both}.medium-editor-insert-plugin p{margin:1em 0}.medium-editor-insert-plugin progress{display:block;margin:1em auto}.medium-editor-insert-plugin .hide{display:none}.medium-editor-insert-plugin.medium-editor-placeholder:after{padding:1em 0}.medium-editor-insert-plugin .medium-insert-buttons{position:absolute;color:#ddd;font-size:.9em}.medium-editor-insert-plugin .medium-insert-buttons button{display:block;cursor:pointer;color:#ddd;background:#fff;width:32px;height:32px;box-sizing:border-box;border-radius:20px;border:1px solid #ddd;line-height:30px;text-align:center;padding:0}.medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-show{font-size:25px;transform:rotate(0);transition:transform 100ms}.medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-show span{display:block;margin-top:-4px}.medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-show.medium-insert-buttons-rotate{transition:transform 250ms;transform:rotate(45deg)}.medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-addons{margin:0;padding:0;list-style:none;display:none;position:relative;z-index:2;left:55px;top:-32px}.medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-addons li{display:inline-block;margin:0 5px}.medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-addons li .fa{font-size:15px}.medium-insert-caption-placeholder{position:relative}.medium-insert-caption-placeholder:after{position:absolute;top:0;left:0;width:100%;text-align:center;content:attr(data-placeholder)}.dragging{cursor:move}.medium-insert-image-active{outline:2px solid #000}.medium-insert-images-toolbar{display:none}.medium-insert-images,.mediumInsert{margin:1em 0}.medium-insert-images .dragged,.mediumInsert .dragged{position:absolute;top:0;opacity:.5;z-index:2000}.medium-insert-images .placeholder,.mediumInsert .placeholder{position:relative;margin:0;padding:0;border:none}.medium-insert-images .medium-insert-images-progress,.mediumInsert .medium-insert-images-progress{position:absolute;width:100%;height:100%;top:0;right:0;background:rgba(255,255,255,.4)}.medium-insert-embeds-input{position:relative;color:#ccc;z-index:1;text-align:left}.medium-insert-embeds-placeholder{position:relative}.medium-insert-embeds-placeholder:after{position:absolute;top:0;left:0;content:attr(data-placeholder);color:#ccc}.medium-insert-embeds-selected .medium-insert-embed{outline:2px solid #000}.medium-insert-embeds-toolbar{display:none}.medium-insert-embeds .medium-insert-embeds-overlay,.mediumInsert-embeds .medium-insert-embeds-overlay{position:absolute;width:100%;height:100%;top:0;left:0} \ No newline at end of file diff --git a/dist/css/medium-editor.min.css b/dist/css/medium-editor.min.css deleted file mode 100644 index e46f81c..0000000 --- a/dist/css/medium-editor.min.css +++ /dev/null @@ -1 +0,0 @@ -.medium-editor-anchor-preview,.medium-editor-toolbar{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;z-index:2000}@-webkit-keyframes medium-editor-image-loading{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes medium-editor-image-loading{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes medium-editor-pop-upwards{0%{opacity:0;-webkit-transform:matrix(.97,0,0,1,0,12);transform:matrix(.97,0,0,1,0,12)}20%{opacity:.7;-webkit-transform:matrix(.99,0,0,1,0,2);transform:matrix(.99,0,0,1,0,2)}40%{opacity:1;-webkit-transform:matrix(1,0,0,1,0,-1);transform:matrix(1,0,0,1,0,-1)}100%{-webkit-transform:matrix(1,0,0,1,0,0);transform:matrix(1,0,0,1,0,0)}}@keyframes medium-editor-pop-upwards{0%{opacity:0;-webkit-transform:matrix(.97,0,0,1,0,12);transform:matrix(.97,0,0,1,0,12)}20%{opacity:.7;-webkit-transform:matrix(.99,0,0,1,0,2);transform:matrix(.99,0,0,1,0,2)}40%{opacity:1;-webkit-transform:matrix(1,0,0,1,0,-1);transform:matrix(1,0,0,1,0,-1)}100%{-webkit-transform:matrix(1,0,0,1,0,0);transform:matrix(1,0,0,1,0,0)}}.medium-editor-anchor-preview{left:0;line-height:1.4;max-width:280px;position:absolute;text-align:center;top:0;word-break:break-all;word-wrap:break-word;visibility:hidden}.medium-editor-anchor-preview a{color:#fff;display:inline-block;margin:5px 5px 10px}.medium-editor-placeholder-relative:after,.medium-editor-placeholder:after{content:attr(data-placeholder)!important;white-space:pre;padding:inherit;margin:inherit;font-style:italic}.medium-editor-anchor-preview-active{visibility:visible}.medium-editor-dragover{background:#ddd}.medium-editor-image-loading{-webkit-animation:medium-editor-image-loading 1s infinite ease-in-out;animation:medium-editor-image-loading 1s infinite ease-in-out;background-color:#333;border-radius:100%;display:inline-block;height:40px;width:40px}.medium-editor-placeholder{position:relative}.medium-editor-placeholder:after{position:absolute;left:0;top:0}.medium-editor-placeholder-relative,.medium-editor-placeholder-relative:after{position:relative}.medium-toolbar-arrow-over:before,.medium-toolbar-arrow-under:after{border-style:solid;content:'';display:block;height:0;left:50%;margin-left:-8px;position:absolute;width:0}.medium-toolbar-arrow-under:after{border-width:8px 8px 0}.medium-toolbar-arrow-over:before{border-width:0 8px 8px;top:-8px}.medium-editor-toolbar{left:0;position:absolute;top:0;visibility:hidden}.medium-editor-toolbar ul{margin:0;padding:0}.medium-editor-toolbar li{float:left;list-style:none;margin:0;padding:0}.medium-editor-toolbar li button{box-sizing:border-box;cursor:pointer;display:block;font-size:14px;line-height:1.33;margin:0;padding:15px;text-decoration:none}.medium-editor-toolbar li button:focus{outline:0}.medium-editor-toolbar li .medium-editor-action-underline{text-decoration:underline}.medium-editor-toolbar li .medium-editor-action-pre{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:12px;font-weight:100;padding:15px 0}.medium-editor-toolbar-active{visibility:visible}.medium-editor-sticky-toolbar{position:fixed;top:1px}.medium-editor-relative-toolbar{position:relative}.medium-editor-toolbar-active.medium-editor-stalker-toolbar{-webkit-animation:medium-editor-pop-upwards 160ms forwards linear;animation:medium-editor-pop-upwards 160ms forwards linear}.medium-editor-action-bold{font-weight:bolder}.medium-editor-action-italic{font-style:italic}.medium-editor-toolbar-form{display:none}.medium-editor-toolbar-form a,.medium-editor-toolbar-form input{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.medium-editor-toolbar-form .medium-editor-toolbar-form-row{line-height:14px;margin-left:5px;padding-bottom:5px}.medium-editor-toolbar-form .medium-editor-toolbar-input,.medium-editor-toolbar-form label{border:none;box-sizing:border-box;font-size:14px;margin:0;padding:6px;width:316px;display:inline-block}.medium-editor-toolbar-form .medium-editor-toolbar-input:focus,.medium-editor-toolbar-form label:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;box-shadow:none;outline:0}.medium-editor-toolbar-form a{display:inline-block;font-size:24px;font-weight:bolder;margin:0 10px;text-decoration:none}.medium-editor-toolbar-form-active{display:block}.medium-editor-toolbar-actions:after{clear:both;content:"";display:table}.medium-editor-element{word-wrap:break-word;min-height:30px}.medium-editor-element img{max-width:100%}.medium-editor-element sub{vertical-align:sub}.medium-editor-element sup{vertical-align:super}.medium-editor-hidden{display:none} \ No newline at end of file diff --git a/dist/css/themes/beagle.min.css b/dist/css/themes/beagle.min.css deleted file mode 100644 index 5afbb97..0000000 --- a/dist/css/themes/beagle.min.css +++ /dev/null @@ -1 +0,0 @@ -.medium-toolbar-arrow-under:after{border-color:#000 transparent transparent;top:40px}.medium-toolbar-arrow-over:before{border-color:transparent transparent #000}.medium-editor-toolbar{background-color:#000;border:none;border-radius:50px}.medium-editor-toolbar li button{background-color:transparent;border:none;box-sizing:border-box;color:#ccc;height:40px;min-width:40px;padding:5px 12px;-webkit-transition:background-color .2s ease-in,color .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in}.medium-editor-toolbar li .medium-editor-button-active,.medium-editor-toolbar li button:hover{background-color:#000;color:#a2d7c7}.medium-editor-toolbar li .medium-editor-button-first{border-bottom-left-radius:50px;border-top-left-radius:50px;padding-left:24px}.medium-editor-toolbar li .medium-editor-button-last{border-bottom-right-radius:50px;border-right:none;border-top-right-radius:50px;padding-right:24px}.medium-editor-toolbar-form{background:#000;border-radius:50px;color:#ccc;overflow:hidden}.medium-editor-toolbar-form .medium-editor-toolbar-input{background:#000;box-sizing:border-box;color:#ccc;height:40px;padding-left:16px;width:220px}.medium-editor-toolbar-form .medium-editor-toolbar-input::-webkit-input-placeholder{color:#f8f5f3;color:rgba(248,245,243,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-moz-placeholder{color:#f8f5f3;color:rgba(248,245,243,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input::-moz-placeholder{color:#f8f5f3;color:rgba(248,245,243,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-ms-input-placeholder{color:#f8f5f3;color:rgba(248,245,243,.8)}.medium-editor-toolbar-form a{color:#ccc;-webkit-transform:translateY(2px);transform:translateY(2px)}.medium-editor-toolbar-form .medium-editor-toolbar-close{margin-right:16px}.medium-editor-toolbar-anchor-preview{background:#000;border-radius:50px;padding:5px 12px}.medium-editor-anchor-preview a{color:#ccc;text-decoration:none}.medium-editor-toolbar-actions button,.medium-editor-toolbar-actions li{border-radius:50px} \ No newline at end of file diff --git a/dist/css/themes/bootstrap.min.css b/dist/css/themes/bootstrap.min.css deleted file mode 100644 index 4063c75..0000000 --- a/dist/css/themes/bootstrap.min.css +++ /dev/null @@ -1 +0,0 @@ -.medium-toolbar-arrow-under:after{border-color:#428bca transparent transparent;top:60px}.medium-toolbar-arrow-over:before{border-color:transparent transparent #428bca}.medium-editor-toolbar{background-color:#428bca;border:1px solid #357ebd;border-radius:4px}.medium-editor-toolbar li button{background-color:transparent;border:none;border-right:1px solid #357ebd;box-sizing:border-box;color:#fff;height:60px;min-width:60px;-webkit-transition:background-color .2s ease-in,color .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in}.medium-editor-toolbar li .medium-editor-button-active,.medium-editor-toolbar li button:hover{background-color:#3276b1;color:#fff}.medium-editor-toolbar li .medium-editor-button-first{border-bottom-left-radius:4px;border-top-left-radius:4px}.medium-editor-toolbar li .medium-editor-button-last{border-bottom-right-radius:4px;border-right:none;border-top-right-radius:4px}.medium-editor-toolbar-form{background:#428bca;border-radius:4px;color:#fff}.medium-editor-toolbar-form .medium-editor-toolbar-input{background:#428bca;color:#fff;height:60px}.medium-editor-toolbar-form .medium-editor-toolbar-input::-webkit-input-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-moz-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input::-moz-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-ms-input-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form a{color:#fff}.medium-editor-toolbar-anchor-preview{background:#428bca;border-radius:4px;color:#fff}.medium-editor-placeholder:after{color:#357ebd} \ No newline at end of file diff --git a/dist/css/themes/default.min.css b/dist/css/themes/default.min.css deleted file mode 100644 index ac58478..0000000 --- a/dist/css/themes/default.min.css +++ /dev/null @@ -1 +0,0 @@ -.medium-toolbar-arrow-under:after{border-color:#242424 transparent transparent;top:50px}.medium-toolbar-arrow-over:before{border-color:transparent transparent #242424;top:-8px}.medium-editor-toolbar{background-color:#242424;background:-webkit-linear-gradient(top,#242424,rgba(36,36,36,.75));background:linear-gradient(to bottom,#242424,rgba(36,36,36,.75));border:1px solid #000;border-radius:5px;box-shadow:0 0 3px #000}.medium-editor-toolbar li button{background-color:#242424;background:-webkit-linear-gradient(top,#242424,rgba(36,36,36,.89));background:linear-gradient(to bottom,#242424,rgba(36,36,36,.89));border:0;border-right:1px solid #000;border-left:1px solid #333;border-left:1px solid rgba(255,255,255,.1);box-shadow:0 2px 2px rgba(0,0,0,.3);color:#fff;height:50px;min-width:50px;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in}.medium-editor-toolbar li button:hover{background-color:#000;color:#ff0}.medium-editor-toolbar li .medium-editor-button-first{border-bottom-left-radius:5px;border-top-left-radius:5px}.medium-editor-toolbar li .medium-editor-button-last{border-bottom-right-radius:5px;border-top-right-radius:5px}.medium-editor-toolbar li .medium-editor-button-active{background-color:#000;background:-webkit-linear-gradient(top,#242424,rgba(0,0,0,.89));background:linear-gradient(to bottom,#242424,rgba(0,0,0,.89));color:#fff}.medium-editor-toolbar-form{background:#242424;border-radius:5px;color:#999}.medium-editor-toolbar-form .medium-editor-toolbar-input{background:#242424;box-sizing:border-box;color:#ccc;height:50px}.medium-editor-toolbar-form a{color:#fff}.medium-editor-toolbar-anchor-preview{background:#242424;border-radius:5px;color:#fff}.medium-editor-placeholder:after{color:#b3b3b1} \ No newline at end of file diff --git a/dist/css/themes/flat.min.css b/dist/css/themes/flat.min.css deleted file mode 100644 index b97ec7d..0000000 --- a/dist/css/themes/flat.min.css +++ /dev/null @@ -1 +0,0 @@ -.medium-toolbar-arrow-under:after{top:60px;border-color:#57ad68 transparent transparent}.medium-toolbar-arrow-over:before{top:-8px;border-color:transparent transparent #57ad68}.medium-editor-toolbar{background-color:#57ad68}.medium-editor-toolbar li{padding:0}.medium-editor-toolbar li button{min-width:60px;height:60px;border:none;border-right:1px solid #9ccea6;background-color:transparent;color:#fff;-webkit-transition:background-color .2s ease-in,color .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in}.medium-editor-toolbar li button:hover{background-color:#346a3f;color:#fff}.medium-editor-toolbar li .medium-editor-button-active{background-color:#23482a;color:#fff}.medium-editor-toolbar li .medium-editor-button-last{border-right:none}.medium-editor-toolbar-form .medium-editor-toolbar-input{height:60px;background:#57ad68;color:#fff}.medium-editor-toolbar-form .medium-editor-toolbar-input::-webkit-input-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-moz-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input::-moz-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-ms-input-placeholder{color:#fff;color:rgba(255,255,255,.8)}.medium-editor-toolbar-form a{color:#fff}.medium-editor-toolbar-anchor-preview{background:#57ad68;color:#fff}.medium-editor-placeholder:after{color:#9ccea6} \ No newline at end of file diff --git a/dist/css/themes/mani.min.css b/dist/css/themes/mani.min.css deleted file mode 100644 index 7a10b7a..0000000 --- a/dist/css/themes/mani.min.css +++ /dev/null @@ -1 +0,0 @@ -.medium-toolbar-arrow-over:before,.medium-toolbar-arrow-under:after{display:none}.medium-editor-toolbar{border:1px solid #cdd6e0;background-color:#dee7f0;background-color:rgba(222,231,240,.95);background:-webkit-linear-gradient(bottom,#dee7f0,#fff);background:linear-gradient(to top,#dee7f0,#fff);border-radius:2px;box-shadow:0 2px 6px rgba(0,0,0,.45)}.medium-editor-toolbar li button{min-width:50px;height:50px;border:none;border-right:1px solid #cdd6e0;background-color:transparent;color:#40648a;-webkit-transition:background-color .2s ease-in,color .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in}.medium-editor-toolbar li button:hover{background-color:#5c90c7;background-color:rgba(92,144,199,.45);color:#fff}.medium-editor-toolbar li .medium-editor-button-first{border-top-left-radius:2px;border-bottom-left-radius:2px}.medium-editor-toolbar li .medium-editor-button-last{border-top-right-radius:2px;border-bottom-right-radius:2px}.medium-editor-toolbar li .medium-editor-button-active{background-color:#5c90c7;background-color:rgba(92,144,199,.45);color:#000;background:-webkit-linear-gradient(top,#dee7f0,rgba(0,0,0,.1));background:linear-gradient(to bottom,#dee7f0,rgba(0,0,0,.1))}.medium-editor-toolbar-form{background:#dee7f0;color:#999;border-radius:2px}.medium-editor-toolbar-form .medium-editor-toolbar-input{height:50px;background:#dee7f0;color:#40648a;box-sizing:border-box}.medium-editor-toolbar-form a{color:#40648a}.medium-editor-toolbar-anchor-preview{background:#dee7f0;color:#40648a;border-radius:2px}.medium-editor-placeholder:after{color:#cdd6e0} \ No newline at end of file diff --git a/dist/css/themes/roman.min.css b/dist/css/themes/roman.min.css deleted file mode 100644 index 1568f68..0000000 --- a/dist/css/themes/roman.min.css +++ /dev/null @@ -1 +0,0 @@ -.medium-toolbar-arrow-over:before,.medium-toolbar-arrow-under:after{display:none}.medium-editor-toolbar{background-color:#fff;background-color:rgba(255,255,255,.95);border-radius:5px;box-shadow:0 2px 6px rgba(0,0,0,.45)}.medium-editor-toolbar li button{min-width:50px;height:50px;border:none;border-right:1px solid #a8a8a8;background-color:transparent;color:#889aac;box-shadow:inset 0 0 3px #f8f8e6;background:-webkit-linear-gradient(top,#fff,rgba(0,0,0,.2));background:linear-gradient(to bottom,#fff,rgba(0,0,0,.2));text-shadow:1px 4px 6px #def,0 0 0 #000,1px 4px 6px #def;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in}.medium-editor-toolbar li button:hover{background-color:#fff;color:#fff;color:rgba(0,0,0,.8)}.medium-editor-toolbar li .medium-editor-button-first{border-top-left-radius:5px;border-bottom-left-radius:5px}.medium-editor-toolbar li .medium-editor-button-last{border-top-right-radius:5px;border-bottom-right-radius:5px}.medium-editor-toolbar li .medium-editor-button-active{background-color:#ccc;color:#000;color:rgba(0,0,0,.8);background:-webkit-linear-gradient(bottom,#fff,rgba(0,0,0,.1));background:linear-gradient(to top,#fff,rgba(0,0,0,.1))}.medium-editor-toolbar-form{background:#fff;color:#999;border-radius:5px}.medium-editor-toolbar-form .medium-editor-toolbar-input{margin:0;height:50px;background:#fff;color:#a8a8a8}.medium-editor-toolbar-form a{color:#889aac}.medium-editor-toolbar-anchor-preview{background:#fff;color:#889aac;border-radius:5px}.medium-editor-placeholder:after{color:#a8a8a8} \ No newline at end of file diff --git a/dist/css/themes/tim.min.css b/dist/css/themes/tim.min.css deleted file mode 100644 index 882dfe3..0000000 --- a/dist/css/themes/tim.min.css +++ /dev/null @@ -1 +0,0 @@ -.medium-toolbar-arrow-under:after{border-color:#2f1e07 transparent transparent;top:60px}.medium-toolbar-arrow-over:before{border-color:transparent transparent #2f1e07}.medium-editor-toolbar{background-color:#2f1e07;border:1px solid #5b3a0e;border-radius:6px}.medium-editor-toolbar li button{background-color:transparent;border:none;border-right:1px solid #5b3a0e;box-sizing:border-box;color:#ffedd5;height:60px;min-width:60px;-webkit-transition:background-color .2s ease-in,color .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in}.medium-editor-toolbar li .medium-editor-button-active,.medium-editor-toolbar li button:hover{background-color:#030200;color:#ffedd5}.medium-editor-toolbar li .medium-editor-button-first{border-bottom-left-radius:6px;border-top-left-radius:6px}.medium-editor-toolbar li .medium-editor-button-last{border-bottom-right-radius:6px;border-right:none;border-top-right-radius:6px}.medium-editor-toolbar-form{background:#2f1e07;border-radius:6px;color:#ffedd5}.medium-editor-toolbar-form .medium-editor-toolbar-input{background:#2f1e07;color:#ffedd5;height:60px}.medium-editor-toolbar-form .medium-editor-toolbar-input::-webkit-input-placeholder{color:#ffedd5;color:rgba(255,237,213,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-moz-placeholder{color:#ffedd5;color:rgba(255,237,213,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input::-moz-placeholder{color:#ffedd5;color:rgba(255,237,213,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-ms-input-placeholder{color:#ffedd5;color:rgba(255,237,213,.8)}.medium-editor-toolbar-form a{color:#ffedd5}.medium-editor-toolbar-anchor-preview{background:#2f1e07;border-radius:6px;color:#ffedd5}.medium-editor-placeholder:after{color:#5b3a0e} \ No newline at end of file diff --git a/dist/css/vikids-editor.css b/dist/css/vikids-editor.css new file mode 100644 index 0000000..94e05c0 --- /dev/null +++ b/dist/css/vikids-editor.css @@ -0,0 +1,815 @@ +@keyframes medium-editor-image-loading { + 0% { + transform: scale(0); } + 100% { + transform: scale(1); } } + +@keyframes medium-editor-pop-upwards { + 0% { + opacity: 0; + transform: matrix(0.97, 0, 0, 1, 0, 12); } + 20% { + opacity: .7; + transform: matrix(0.99, 0, 0, 1, 0, 2); } + 40% { + opacity: 1; + transform: matrix(1, 0, 0, 1, 0, -1); } + 100% { + transform: matrix(1, 0, 0, 1, 0, 0); } } + +.medium-editor-anchor-preview { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 16px; + left: 0; + line-height: 1.4; + max-width: 280px; + position: absolute; + text-align: center; + top: 0; + word-break: break-all; + word-wrap: break-word; + visibility: hidden; + z-index: 2000; } + .medium-editor-anchor-preview a { + color: #fff; + display: inline-block; + margin: 5px 5px 10px; } + +.medium-editor-anchor-preview-active { + visibility: visible; } + +.medium-editor-dragover { + background: #ddd; } + +.medium-editor-image-loading { + animation: medium-editor-image-loading 1s infinite ease-in-out; + background-color: #333; + border-radius: 100%; + display: inline-block; + height: 40px; + width: 40px; } + +.medium-editor-placeholder { + position: relative; } + .medium-editor-placeholder:after { + content: attr(data-placeholder) !important; + font-style: italic; + position: absolute; + left: 0; + top: 0; + white-space: pre; + padding: inherit; + margin: inherit; } + +.medium-editor-placeholder-relative { + position: relative; } + .medium-editor-placeholder-relative:after { + content: attr(data-placeholder) !important; + font-style: italic; + position: relative; + white-space: pre; + padding: inherit; + margin: inherit; } + +.medium-toolbar-arrow-under:after, .medium-toolbar-arrow-over:before { + border-style: solid; + content: ''; + display: block; + height: 0; + left: 50%; + margin-left: -8px; + position: absolute; + width: 0; } + +.medium-toolbar-arrow-under:after { + border-width: 8px 8px 0 8px; } + +.medium-toolbar-arrow-over:before { + border-width: 0 8px 8px 8px; + top: -8px; } + +.medium-editor-toolbar { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 16px; + left: 0; + position: absolute; + top: 0; + visibility: hidden; + z-index: 2000; } + .medium-editor-toolbar ul { + margin: 0; + padding: 0; } + .medium-editor-toolbar li { + float: left; + list-style: none; + margin: 0; + padding: 0; } + .medium-editor-toolbar li button { + box-sizing: border-box; + cursor: pointer; + display: block; + font-size: 14px; + line-height: 1.33; + margin: 0; + padding: 15px; + text-decoration: none; } + .medium-editor-toolbar li button:focus { + outline: none; } + .medium-editor-toolbar li .medium-editor-action-underline { + text-decoration: underline; } + .medium-editor-toolbar li .medium-editor-action-pre { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 12px; + font-weight: 100; + padding: 15px 0; } + +.medium-editor-toolbar-active { + visibility: visible; } + +.medium-editor-sticky-toolbar { + position: fixed; + top: 1px; } + +.medium-editor-relative-toolbar { + position: relative; } + +.medium-editor-toolbar-active.medium-editor-stalker-toolbar { + animation: medium-editor-pop-upwards 160ms forwards linear; } + +.medium-editor-action-bold { + font-weight: bolder; } + +.medium-editor-action-italic { + font-style: italic; } + +.medium-editor-toolbar-form { + display: none; } + .medium-editor-toolbar-form input, + .medium-editor-toolbar-form a { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } + .medium-editor-toolbar-form .medium-editor-toolbar-form-row { + line-height: 14px; + margin-left: 5px; + padding-bottom: 5px; } + .medium-editor-toolbar-form .medium-editor-toolbar-input, + .medium-editor-toolbar-form label { + border: none; + box-sizing: border-box; + font-size: 14px; + margin: 0; + padding: 6px; + width: 316px; + display: inline-block; } + .medium-editor-toolbar-form .medium-editor-toolbar-input:focus, + .medium-editor-toolbar-form label:focus { + appearance: none; + border: none; + box-shadow: none; + outline: 0; } + .medium-editor-toolbar-form a { + display: inline-block; + font-size: 24px; + font-weight: bolder; + margin: 0 10px; + text-decoration: none; } + +.medium-editor-toolbar-form-active { + display: block; } + +.medium-editor-toolbar-actions:after { + clear: both; + content: ""; + display: table; } + +.medium-editor-element { + word-wrap: break-word; + min-height: 30px; } + .medium-editor-element img { + max-width: 100%; } + .medium-editor-element sub { + vertical-align: sub; } + .medium-editor-element sup { + vertical-align: super; } + +.medium-editor-hidden { + display: none; } +.medium-toolbar-arrow-under:after { + border-color: #242424 transparent transparent transparent; + top: 50px; } + +.medium-toolbar-arrow-over:before { + border-color: transparent transparent #242424 transparent; + top: -8px; } + +.medium-editor-toolbar { + background-color: #242424; + background: linear-gradient(to bottom, #242424, rgba(36, 36, 36, 0.75)); + border: 1px solid #000; + border-radius: 5px; + box-shadow: 0 0 3px #000; + width: max-content; } + .medium-editor-toolbar li button { + background-color: #242424; + background: linear-gradient(to bottom, #242424, rgba(36, 36, 36, 0.89)); + border: 0; + border-right: 1px solid #000; + border-left: 1px solid #333; + border-left: 1px solid rgba(255, 255, 255, 0.1); + box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3); + color: #fff; + height: 50px; + min-width: 50px; + transition: background-color .2s ease-in; } + .medium-editor-toolbar li button:hover { + background-color: #000; + color: yellow; } + .medium-editor-toolbar li .medium-editor-button-first { + border-bottom-left-radius: 5px; + border-top-left-radius: 5px; } + .medium-editor-toolbar li .medium-editor-button-last { + border-bottom-right-radius: 5px; + border-top-right-radius: 5px; } + .medium-editor-toolbar li .medium-editor-button-active { + background-color: #000; + background: linear-gradient(to bottom, #242424, rgba(0, 0, 0, 0.89)); + color: #fff; } + +.medium-editor-toolbar-form { + background: #242424; + border-radius: 5px; + color: #999; } + .medium-editor-toolbar-form .medium-editor-toolbar-input { + background: #242424; + box-sizing: border-box; + color: #ccc; + height: 50px; } + .medium-editor-toolbar-form a { + color: #fff; } + +.medium-editor-toolbar-anchor-preview { + background: #242424; + border-radius: 5px; + color: #fff; } + +.medium-editor-placeholder:after { + color: #b3b3b1; } +.medium-insert-images, .mediumInsert { + text-align: center; } + .medium-insert-images figure, .mediumInsert figure { + margin: 0; + display: block; } + .medium-insert-images figure img, .mediumInsert figure img { + max-width: 100%; + margin-top: 1em; + vertical-align: top; } + .medium-insert-images figure:first-child img, .mediumInsert figure:first-child img { + margin-top: 0; } + .medium-insert-images.medium-insert-images-left, .medium-insert-images-left.mediumInsert, .mediumInsert.small { + max-width: 33.33%; + float: left; + margin: 0 30px 20px 0; } + .medium-insert-images.medium-insert-images-right, .medium-insert-images-right.mediumInsert { + max-width: 33.33%; + float: right; + margin: 0 0 20px 30px; } + .medium-insert-images.medium-insert-images-grid, .medium-insert-images-grid.mediumInsert { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: start; + align-items: flex-start; + -ms-flex-pack: center; + justify-content: center; + margin: 0.5em -0.5em; } + .medium-insert-images.medium-insert-images-grid figure, .medium-insert-images-grid.mediumInsert figure { + width: 33.33%; + display: inline-block; } + .medium-insert-images.medium-insert-images-grid figure img, .medium-insert-images-grid.mediumInsert figure img { + max-width: calc(100% - 1em); + margin: 0.5em; } + +.medium-insert-embeds, .mediumInsert-embeds { + text-align: center; + margin: 1em 0; + position: relative; } + .medium-insert-embeds iframe, .mediumInsert-embeds iframe { + margin: 0 auto !important; } + .medium-insert-embeds div, .mediumInsert-embeds div { + margin: 0 auto !important; } + .medium-insert-embeds.medium-insert-embeds-left, .medium-insert-embeds-left.mediumInsert-embeds { + width: 33.33%; + float: left; + margin: 0 30px 20px 0; } + .medium-insert-embeds.medium-insert-embeds-right, .medium-insert-embeds-right.mediumInsert-embeds { + width: 33.33%; + float: right; + margin: 0 0 20px 30px; } + +.medium-insert-images figure, .mediumInsert figure, .medium-insert-embeds figure, .mediumInsert-embeds figure { + position: relative; } + .medium-insert-images figure figcaption, .mediumInsert figure figcaption, .medium-insert-embeds figure figcaption, .mediumInsert-embeds figure figcaption { + position: relative; + z-index: 1; + display: block; + text-align: center; + margin: 10px 0; + color: #ccc; + font-size: 0.8em; + font-style: italic; + outline: 0 solid transparent; } + .medium-insert-images figure figcaption:focus, .mediumInsert figure figcaption:focus, .medium-insert-embeds figure figcaption:focus, .mediumInsert-embeds figure figcaption:focus { + outline: 0 solid transparent; } + +.medium-editor-insert-plugin { + outline: 0 solid transparent; } + .medium-editor-insert-plugin:focus { + outline: 0 solid transparent; } + .medium-editor-insert-plugin .clearfix:before, .medium-editor-insert-plugin:before, .medium-editor-insert-plugin .clearfix:after, .medium-editor-insert-plugin:after { + content: " "; + display: table; + clear: both; } + .medium-editor-insert-plugin p { + margin: 1em 0; } + .medium-editor-insert-plugin progress { + display: block; + margin: 1em auto; } + .medium-editor-insert-plugin .hide { + display: none; } + .medium-editor-insert-plugin.medium-editor-placeholder:after { + padding: 1em 0; } + .medium-editor-insert-plugin .medium-insert-buttons { + position: absolute; + color: #ddd; + font-size: 0.9em; } + .medium-editor-insert-plugin .medium-insert-buttons button { + display: block; + cursor: pointer; + color: #ddd; + background: #fff; + width: 32px; + height: 32px; + box-sizing: border-box; + border-radius: 20px; + border: 1px solid #ddd; + line-height: 30px; + text-align: center; + padding: 0; } + .medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-show { + font-size: 25px; + transform: rotate(0); + transition: transform 100ms; } + .medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-show span { + display: block; + margin-top: -4px; } + .medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-show.medium-insert-buttons-rotate { + transition: transform 250ms; + transform: rotate(45deg); } + .medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-addons { + margin: 0; + padding: 0; + list-style: none; + display: none; + position: relative; + z-index: 2; + left: 55px; + top: -32px; } + .medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-addons li { + display: inline-block; + margin: 0 5px; } + .medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-addons li .fa { + font-size: 15px; } + +.medium-insert-caption-placeholder { + position: relative; } + .medium-insert-caption-placeholder:after { + position: absolute; + top: 0; + left: 0; + width: 100%; + text-align: center; + content: attr(data-placeholder); } + +.dragging { + cursor: move; } + +.medium-insert-image-active { + outline: 2px solid #000; } + +.medium-insert-images-toolbar { + display: none; } + +.medium-insert-images, .mediumInsert { + margin: 1em 0; } + .medium-insert-images .dragged, .mediumInsert .dragged { + position: absolute; + top: 0; + opacity: .5; + z-index: 2000; } + .medium-insert-images .placeholder, .mediumInsert .placeholder { + position: relative; + margin: 0; + padding: 0; + border: none; } + .medium-insert-images .medium-insert-images-progress, .mediumInsert .medium-insert-images-progress { + position: absolute; + width: 100%; + height: 100%; + top: 0; + right: 0; + background: rgba(255, 255, 255, 0.4); } + +.medium-insert-embeds-input { + position: relative; + color: #ccc; + z-index: 1; + text-align: left; } + +.medium-insert-embeds-placeholder { + position: relative; } + .medium-insert-embeds-placeholder:after { + position: absolute; + top: 0; + left: 0; + content: attr(data-placeholder); + color: #ccc; } + +.medium-insert-embeds-selected .medium-insert-embed { + outline: 2px solid #000; } + +.medium-insert-embeds-toolbar { + display: none; } + +.medium-insert-embeds .medium-insert-embeds-overlay, .mediumInsert-embeds .medium-insert-embeds-overlay { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; } +*:focus { + outline: none; +} + +body { + font-family: Helvetica, Arial, sans-serif; + font-size: 22px; + line-height: 30px; +} + +.top-bar { + position: fixed; + top: 0; + left: 0; + width: auto; + z-index: 10; + padding: 10px; + background-color: #000; + background-color: rgba(0, 0, 0, .8); + box-shadow: 0 0 4px #000; + box-sizing: border-box; + color: #ccc; + font-size: 12px; + font-weight: bold; + text-align: center; + text-transform: uppercase; +} + +h1 { + font-size: 60px; + font-weight: bold; + text-align: center; + margin-bottom: 40px; + padding-bottom: 40px; + letter-spacing: -2px; + border-bottom: 1px solid #dbdbdb; +} + +h2 { + font-size: 32px; + line-height: 42px; +} + +h3 { + font-size: 26px; + line-height: 32px; +} + +h4 { + font-size: 24px; + line-height: 28px; +} + +p { + /* margin-bottom: 40px; */ +} + +a { + color:black; +} + +a:hover { + color:green; +} + +pre { + font-family: 'Menlo', monospace; + font-size: 15px; + background-color: #f0f0f0; + padding: 15px; + border: 1px solid #ccc; + border-radius: 5px; + color: #666; +} + + +blockquote { + display: block; + padding-left: 20px; + border-left: 6px solid #df0d32; + margin-left: -15px; + padding-left: 15px; + font-style: italic; + color: #555; +} + +#container { + width: 960px; + margin: 30px auto; +} + +#all-demos { + text-align: center; + border-bottom: 1px solid #dbdbdb; + padding-bottom: 40px; +} + +.editable, +.secondEditable + { + outline: none; + min-height: 38px; + margin: 0 0 0 0; + display: block; + padding: 20px 0px; +} + +#columns { + width: 90%; + margin: 30px auto; +} + +.column-container { + +} + +.column { + vertical-align: top; + display: inline-block; + width: 30%; + margin: 10px 1%; +} + +.medium-insert-caption-placeholder:after { + /* content: none !important; */ +} +body { + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-size: 22px; + line-height: 30px; +} + +#container { + max-width: 960px; + margin: 30px auto; + padding: 0 15px; +} + +.editable { + min-height: 38px; + margin: 0 0 0 0; + display: block; + padding: 20px 0px; + display: flow-root; + position: relative; +} + +h2 { + font-size: 32px; + line-height: 42px; + text-align: center; +} + +h3 { + font-size: 26px; + line-height: 32px; +} + +blockquote { + display: block; + margin: 0.5em 0 0.5em -25px; + border-left: 5px solid #efefef; + padding: 0.5em 20px; + color: #999; +} + +footer { + border-top: 5px solid #efefef; + padding-top: 30px; + text-align: center; +} + +footer a { + color: #000; + padding: 0 5px; +} + +footer .fa { + font-size: 2.5em; +} + +.medium-insert-embeds>figure { + margin: 0; +} + +#emojify { + font-size: 32px; + font-family: Helvetica, Arial; +} + +.emojified { + height: 1em; + width: 1em; + padding: 0 .05em 0 .1em; + vertical-align: -0.2em; +} +.emoji_btn { + width: 25px; + height: 25px; + position: absolute; + float: right; + right: -30px; + /* top: unset !important; + left: unset !important; */ +} + +.emoji_container * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.emoji_container { + display: none; + position: absolute; + background-color: #fff; + border: 1px solid #bfbfbf; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.176); +} + +.emoji_container ul { + list-style: none; + padding-left: 0; + margin: 0; +} + +.emoji_content { + height: 277px; + overflow-y: auto; + padding: 5px; +} + +.emoji_content ul { + padding-top: 1px; + padding-left: 1px; +} + +.emoji_content ul li { + width: 54px; + height: 54px; + float: left; + border: 1px solid #e3e3e3; + margin-top: -1px; + margin-left: -1px; +} + +.emoji_content ul li a { + display: block; + line-height: 45px; + text-align: center; + cursor: pointer; +} + +.emoji_content ul li a img { + vertical-align: middle; + max-width: 30px; + max-height: 30px; +} + +.emoji_content .mCSB_scrollTools { + width: 10px; +} + +.emoji_content .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical, .emoji_content .mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical { + margin: 5px 0; +} + +.emoji_tab { + background-color: #f7f7f7; + border-top: 1px solid #e3e3e3; + color: #666; + height: 32px; + position: relative; +} + +.emoji_tab_prev { + border-top: 4px solid transparent; + border-bottom: 4px solid transparent; + border-right: 4px dashed; + cursor: pointer; + left: 8px; + top: 12px; + position: absolute; + display: inline-block; + height: 0; + vertical-align: middle; + width: 0; +} + +.emoji_tab_next { + border-top: 4px solid transparent; + border-bottom: 4px solid transparent; + border-left: 4px dashed; + cursor: pointer; + right: 7px; + top: 12px; + position: absolute; + display: inline-block; + height: 0; + vertical-align: middle; + width: 0; +} + +.emoji_tab_list { + left: 22px; + overflow: hidden; + position: absolute; + top: 0; +} + +.emoji_tab_list ul { + width: 1500px; + transition: all 0.8s ease 0s; +} + +.emoji_tab_list ul li { + border-top: 0 none; + cursor: pointer; + float: left; + height: 22px; + line-height: 22px; + margin: 5px 4px 0 0; + font-size: 12px; + border-radius: 3px; + text-align: center; + width: 68px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.emoji_tab_list ul li:hover { + background: #e5e5e5; +} + +.emoji_tab_list ul li.selected { + color: #fff; + background: steelblue; +} + +.emoji_preview { + position: absolute; + top: 0; + border: 1px solid #c8c8c8; + border-radius: 50%; + width: 65px; + height: 65px; + background: #ffffff; + text-align: center; + line-height: 65px; + box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.176); + z-index: 2; + display: none; +} + +.emoji_preview img { + vertical-align: middle; + max-width: 42px; + max-height: 42px; +} + +.emoji_icon { + height: 1.2em; + width: 1.2em; + padding: 0 .05em 0.05em; + vertical-align: -0.2em; +} diff --git a/dist/css/vikids-editor.min.css b/dist/css/vikids-editor.min.css new file mode 100644 index 0000000..f642e7d --- /dev/null +++ b/dist/css/vikids-editor.min.css @@ -0,0 +1 @@ +.medium-editor-anchor-preview,.medium-editor-toolbar{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;left:0;top:0}@keyframes medium-editor-image-loading{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes medium-editor-pop-upwards{0%{opacity:0;transform:matrix(.97,0,0,1,0,12)}20%{opacity:.7;transform:matrix(.99,0,0,1,0,2)}40%{opacity:1;transform:matrix(1,0,0,1,0,-1)}100%{transform:matrix(1,0,0,1,0,0)}}.medium-editor-anchor-preview{line-height:1.4;max-width:280px;position:absolute;text-align:center;word-break:break-all;word-wrap:break-word;visibility:hidden;z-index:2000}.medium-editor-anchor-preview-active,.medium-editor-toolbar-active{visibility:visible}.medium-editor-anchor-preview a{color:#fff;display:inline-block;margin:5px 5px 10px}.medium-editor-dragover{background:#ddd}.medium-editor-image-loading{animation:medium-editor-image-loading 1s infinite ease-in-out;background-color:#333;border-radius:100%;display:inline-block;height:40px;width:40px}.medium-editor-placeholder{position:relative}.medium-editor-placeholder:after{content:attr(data-placeholder)!important;font-style:italic;position:absolute;left:0;top:0;white-space:pre;padding:inherit;margin:inherit}.medium-editor-placeholder-relative{position:relative}.medium-editor-placeholder-relative:after{content:attr(data-placeholder)!important;font-style:italic;position:relative;white-space:pre;padding:inherit;margin:inherit}.medium-toolbar-arrow-over:before,.medium-toolbar-arrow-under:after{border-style:solid;content:'';display:block;height:0;left:50%;margin-left:-8px;position:absolute;width:0}.medium-toolbar-arrow-under:after{border-width:8px 8px 0}.medium-toolbar-arrow-over:before{border-width:0 8px 8px}.medium-editor-toolbar{position:absolute;visibility:hidden;z-index:2000}.medium-editor-toolbar ul{margin:0;padding:0}.medium-editor-toolbar li{float:left;list-style:none;margin:0;padding:0}.medium-editor-toolbar li button{box-sizing:border-box;cursor:pointer;display:block;font-size:14px;line-height:1.33;margin:0;padding:15px;text-decoration:none}.medium-editor-toolbar li button:focus{outline:0}.medium-editor-toolbar li .medium-editor-action-underline{text-decoration:underline}.medium-editor-toolbar li .medium-editor-action-pre{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:12px;font-weight:100;padding:15px 0}.medium-editor-sticky-toolbar{position:fixed;top:1px}.medium-editor-relative-toolbar{position:relative}.medium-editor-toolbar-active.medium-editor-stalker-toolbar{animation:medium-editor-pop-upwards 160ms forwards linear}.medium-editor-action-bold{font-weight:bolder}.medium-editor-action-italic{font-style:italic}.medium-editor-toolbar-form{display:none}.medium-editor-toolbar-form a,.medium-editor-toolbar-form input{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.medium-editor-toolbar-form .medium-editor-toolbar-form-row{line-height:14px;margin-left:5px;padding-bottom:5px}.medium-editor-toolbar-form .medium-editor-toolbar-input,.medium-editor-toolbar-form label{border:none;box-sizing:border-box;font-size:14px;margin:0;padding:6px;width:316px;display:inline-block}.medium-editor-toolbar-form .medium-editor-toolbar-input:focus,.medium-editor-toolbar-form label:focus{appearance:none;border:none;box-shadow:none;outline:0}.medium-editor-toolbar-form a{display:inline-block;font-size:24px;font-weight:bolder;margin:0 10px;text-decoration:none}.medium-editor-toolbar-form-active{display:block}.medium-editor-toolbar-actions:after{clear:both;content:"";display:table}.medium-editor-element{word-wrap:break-word;min-height:30px}.medium-editor-element img{max-width:100%}.medium-editor-element sub{vertical-align:sub}.medium-editor-element sup{vertical-align:super}.medium-editor-hidden{display:none}.medium-toolbar-arrow-under:after{border-color:#242424 transparent transparent;top:50px}.medium-toolbar-arrow-over:before{border-color:transparent transparent #242424;top:-8px}.medium-editor-toolbar{background-color:#242424;background:linear-gradient(to bottom,#242424,rgba(36,36,36,.75));border:1px solid #000;border-radius:5px;box-shadow:0 0 3px #000;width:max-content}.medium-editor-toolbar li button{background-color:#242424;background:linear-gradient(to bottom,#242424,rgba(36,36,36,.89));border:0;border-right:1px solid #000;border-left:1px solid #333;border-left:1px solid rgba(255,255,255,.1);box-shadow:0 2px 2px rgba(0,0,0,.3);color:#fff;height:50px;min-width:50px;transition:background-color .2s ease-in}.medium-editor-toolbar li button:hover{background-color:#000;color:#ff0}.medium-editor-toolbar li .medium-editor-button-first{border-bottom-left-radius:5px;border-top-left-radius:5px}.medium-editor-toolbar li .medium-editor-button-last{border-bottom-right-radius:5px;border-top-right-radius:5px}.medium-editor-toolbar li .medium-editor-button-active{background-color:#000;background:linear-gradient(to bottom,#242424,rgba(0,0,0,.89));color:#fff}.medium-editor-toolbar-form{background:#242424;border-radius:5px;color:#999}.medium-editor-toolbar-form .medium-editor-toolbar-input{background:#242424;box-sizing:border-box;color:#ccc;height:50px}.medium-editor-toolbar-form a{color:#fff}.medium-editor-toolbar-anchor-preview{background:#242424;border-radius:5px;color:#fff}.medium-editor-placeholder:after{color:#b3b3b1}.medium-insert-images figure,.mediumInsert figure{margin:0;display:block}.medium-insert-images figure img,.mediumInsert figure img{max-width:100%;margin-top:1em;vertical-align:top}.medium-insert-images figure:first-child img,.mediumInsert figure:first-child img{margin-top:0}.medium-insert-images-left.mediumInsert,.medium-insert-images.medium-insert-images-left,.mediumInsert.small{max-width:33.33%;float:left;margin:0 30px 20px 0}.medium-insert-images-right.mediumInsert,.medium-insert-images.medium-insert-images-right{max-width:33.33%;float:right;margin:0 0 20px 30px}.medium-insert-images-grid.mediumInsert,.medium-insert-images.medium-insert-images-grid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center;margin:.5em -.5em}.medium-insert-images-grid.mediumInsert figure,.medium-insert-images.medium-insert-images-grid figure{width:33.33%;display:inline-block}.medium-insert-images-grid.mediumInsert figure img,.medium-insert-images.medium-insert-images-grid figure img{max-width:calc(100% - 1em);margin:.5em}.medium-insert-embeds,.mediumInsert-embeds{text-align:center;margin:1em 0;position:relative}.medium-insert-embeds div,.medium-insert-embeds iframe,.mediumInsert-embeds div,.mediumInsert-embeds iframe{margin:0 auto!important}.medium-insert-embeds-left.mediumInsert-embeds,.medium-insert-embeds.medium-insert-embeds-left{width:33.33%;float:left;margin:0 30px 20px 0}.medium-insert-embeds-right.mediumInsert-embeds,.medium-insert-embeds.medium-insert-embeds-right{width:33.33%;float:right;margin:0 0 20px 30px}.medium-insert-embeds figure,.medium-insert-images figure,.mediumInsert figure,.mediumInsert-embeds figure{position:relative}.medium-insert-embeds figure figcaption,.medium-insert-images figure figcaption,.mediumInsert figure figcaption,.mediumInsert-embeds figure figcaption{position:relative;z-index:1;display:block;text-align:center;margin:10px 0;color:#ccc;font-size:.8em;font-style:italic;outline:transparent solid 0}.medium-editor-insert-plugin,.medium-editor-insert-plugin:focus,.medium-insert-embeds figure figcaption:focus,.medium-insert-images figure figcaption:focus,.mediumInsert figure figcaption:focus,.mediumInsert-embeds figure figcaption:focus{outline:transparent solid 0}.medium-editor-insert-plugin .clearfix:after,.medium-editor-insert-plugin .clearfix:before,.medium-editor-insert-plugin:after,.medium-editor-insert-plugin:before{content:" ";display:table;clear:both}.medium-editor-insert-plugin p{margin:1em 0}.medium-editor-insert-plugin progress{display:block;margin:1em auto}.medium-editor-insert-plugin .hide{display:none}.medium-editor-insert-plugin.medium-editor-placeholder:after{padding:1em 0}.medium-editor-insert-plugin .medium-insert-buttons{position:absolute;color:#ddd;font-size:.9em}.medium-editor-insert-plugin .medium-insert-buttons button{display:block;cursor:pointer;color:#ddd;background:#fff;width:32px;height:32px;box-sizing:border-box;border-radius:20px;border:1px solid #ddd;line-height:30px;text-align:center;padding:0}.medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-show{font-size:25px;transform:rotate(0);transition:transform .1s}.medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-show span{display:block;margin-top:-4px}.medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-show.medium-insert-buttons-rotate{transition:transform 250ms;transform:rotate(45deg)}.medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-addons{margin:0;padding:0;list-style:none;display:none;position:relative;z-index:2;left:55px;top:-32px}.medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-addons li{display:inline-block;margin:0 5px}.emoji_container,.medium-insert-embeds-toolbar,.medium-insert-images-toolbar{display:none}.medium-editor-insert-plugin .medium-insert-buttons .medium-insert-buttons-addons li .fa{font-size:15px}.medium-insert-caption-placeholder{position:relative}.medium-insert-caption-placeholder:after{position:absolute;top:0;left:0;width:100%;text-align:center;content:attr(data-placeholder)}.dragging{cursor:move}.medium-insert-image-active{outline:#000 solid 2px}.medium-insert-images,.mediumInsert{text-align:center;margin:1em 0}.medium-insert-images .dragged,.mediumInsert .dragged{position:absolute;top:0;opacity:.5;z-index:2000}.medium-insert-images .placeholder,.mediumInsert .placeholder{position:relative;margin:0;padding:0;border:none}.medium-insert-images .medium-insert-images-progress,.mediumInsert .medium-insert-images-progress{position:absolute;width:100%;height:100%;top:0;right:0;background:rgba(255,255,255,.4)}.editable,.emoji_tab,.medium-insert-embeds-input,.medium-insert-embeds-placeholder{position:relative}.medium-insert-embeds-input{color:#ccc;z-index:1;text-align:left}.medium-insert-embeds-placeholder:after{position:absolute;top:0;left:0;content:attr(data-placeholder);color:#ccc}.medium-insert-embeds-selected .medium-insert-embed{outline:#000 solid 2px}.medium-insert-embeds .medium-insert-embeds-overlay,.mediumInsert-embeds .medium-insert-embeds-overlay{position:absolute;width:100%;height:100%;top:0;left:0}:focus{outline:0}.top-bar{position:fixed;top:0;left:0;width:auto;z-index:10;padding:10px;background-color:#000;background-color:rgba(0,0,0,.8);box-shadow:0 0 4px #000;box-sizing:border-box;color:#ccc;font-size:12px;font-weight:700;text-align:center;text-transform:uppercase}#all-demos,h1{border-bottom:1px solid #dbdbdb;padding-bottom:40px;text-align:center}a,footer a{color:#000}h1{font-size:60px;font-weight:700;margin-bottom:40px;letter-spacing:-2px}h4{font-size:24px;line-height:28px}a:hover{color:green}pre{font-family:Menlo,monospace;font-size:15px;background-color:#f0f0f0;padding:15px;border:1px solid #ccc;border-radius:5px;color:#666}blockquote{margin-left:-15px;padding-left:15px;font-style:italic}#container{width:960px}.editable,.secondEditable{outline:0;min-height:38px;margin:0;display:block;padding:20px 0}#columns{width:90%;margin:30px auto}.column{vertical-align:top;display:inline-block;width:30%;margin:10px 1%}body{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:22px;line-height:30px}#container{max-width:960px;margin:30px auto;padding:0 15px}.editable{min-height:38px;margin:0;padding:20px 0;display:flow-root}h2{font-size:32px;line-height:42px;text-align:center}h3{font-size:26px;line-height:32px}blockquote{display:block;margin:.5em 0 .5em -25px;border-left:5px solid #efefef;padding:.5em 20px;color:#999}footer{border-top:5px solid #efefef;padding-top:30px;text-align:center}footer a{padding:0 5px}footer .fa{font-size:2.5em}.medium-insert-embeds>figure{margin:0}#emojify{font-size:32px;font-family:Helvetica,Arial}.emojified{height:1em;width:1em;padding:0 .05em 0 .1em;vertical-align:-.2em}.emoji_btn{width:25px;height:25px;position:absolute;float:right;right:-30px}.emoji_container *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.emoji_container{position:absolute;background-color:#fff;border:1px solid #bfbfbf;box-shadow:0 1px 3px rgba(0,0,0,.176)}.emoji_container ul{list-style:none;padding-left:0;margin:0}.emoji_content{height:277px;overflow-y:auto;padding:5px}.emoji_content ul{padding-top:1px;padding-left:1px}.emoji_content ul li{width:54px;height:54px;float:left;border:1px solid #e3e3e3;margin-top:-1px;margin-left:-1px}.emoji_content ul li a{display:block;line-height:45px;text-align:center;cursor:pointer}.emoji_content ul li a img{vertical-align:middle;max-width:30px;max-height:30px}.emoji_content .mCSB_scrollTools{width:10px}.emoji_content .mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical,.emoji_content .mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical{margin:5px 0}.emoji_tab{background-color:#f7f7f7;border-top:1px solid #e3e3e3;color:#666;height:32px}.emoji_tab_next,.emoji_tab_prev{border-top:4px solid transparent;border-bottom:4px solid transparent;top:12px;display:inline-block;height:0;width:0;cursor:pointer;vertical-align:middle}.emoji_tab_prev{border-right:4px dashed;left:8px;position:absolute}.emoji_tab_next{border-left:4px dashed;right:7px;position:absolute}.emoji_tab_list{left:22px;overflow:hidden;position:absolute;top:0}.emoji_tab_list ul{width:1500px;transition:all .8s ease 0s}.emoji_tab_list ul li{border-top:0 none;cursor:pointer;float:left;height:22px;line-height:22px;margin:5px 4px 0 0;font-size:12px;border-radius:3px;text-align:center;width:68px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.emoji_tab_list ul li:hover{background:#e5e5e5}.emoji_tab_list ul li.selected{color:#fff;background:#4682b4}.emoji_preview{position:absolute;top:0;border:1px solid #c8c8c8;border-radius:50%;width:65px;height:65px;background:#fff;text-align:center;line-height:65px;box-shadow:1px 1px 3px rgba(0,0,0,.176);z-index:2;display:none}.emoji_preview img{vertical-align:middle;max-width:42px;max-height:42px}.emoji_icon{height:1.2em;width:1.2em;padding:0 .05em .05em;vertical-align:-.2em} \ No newline at end of file diff --git a/dist/js/medium-editor-insert-plugin.js b/dist/js/medium-editor-insert-plugin.js deleted file mode 100755 index 77f3802..0000000 --- a/dist/js/medium-editor-insert-plugin.js +++ /dev/null @@ -1,2369 +0,0 @@ -/*! - * medium-editor-insert-plugin v2.5.0 - jQuery insert plugin for MediumEditor - * - * http://linkesch.com/medium-editor-insert-plugin - * - * Copyright (c) 2014 Pavel Linkesch (http://linkesch.com) - * Released under the MIT license - */ - -(function (factory) { - if (typeof define === 'function' && define.amd) { - define(['jquery', 'handlebars/runtime', 'medium-editor', 'blueimp-file-upload', 'jquery-sortable'], factory); - } else if (typeof module === 'object' && module.exports) { - module.exports = function (jQuery) { - if (typeof window === 'undefined') { - throw new Error("medium-editor-insert-plugin runs only in a browser.") - } - - if (jQuery === undefined) { - jQuery = require('jquery'); - } - window.jQuery = jQuery; - - Handlebars = require('handlebars/runtime'); - MediumEditor = require('medium-editor'); - require('jquery-sortable'); - require('blueimp-file-upload'); - - factory(jQuery, Handlebars, MediumEditor); - return jQuery; - }; - } else { - factory(jQuery, Handlebars, MediumEditor); - } -}(function ($, Handlebars, MediumEditor) { - -this["MediumInsert"] = this["MediumInsert"] || {}; -this["MediumInsert"]["Templates"] = this["MediumInsert"]["Templates"] || {}; - -this["MediumInsert"]["Templates"]["src/js/templates/core-buttons.hbs"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) { - var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function"; - - return "
  • \n"; -},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - var stack1; - - return "
    \n \n
      \n" - + ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.addons : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "
    \n
    \n"; -},"useData":true}); - -this["MediumInsert"]["Templates"]["src/js/templates/core-caption.hbs"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - var helper; - - return "
    "; -},"useData":true}); - -this["MediumInsert"]["Templates"]["src/js/templates/core-empty-line.hbs"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - return "


    \n"; -},"useData":true}); - -this["MediumInsert"]["Templates"]["src/js/templates/embeds-toolbar.hbs"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) { - var stack1; - - return "
    \n
      \n" - + ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.styles : depth0),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "
    \n
    \n"; -},"2":function(container,depth0,helpers,partials,data) { - var stack1; - - return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.label : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : ""); -},"3":function(container,depth0,helpers,partials,data) { - var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function"; - - return "
  • \n \n
  • \n"; -},"5":function(container,depth0,helpers,partials,data) { - var stack1; - - return "
    \n
      \n" - + ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.actions : depth0),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "
    \n
    \n"; -},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}); - - return ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.styles : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "\n" - + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.actions : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : ""); -},"useData":true}); - -this["MediumInsert"]["Templates"]["src/js/templates/embeds-wrapper.hbs"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - var stack1, helper; - - return "
    \n
    \n
    \n " - + ((stack1 = ((helper = (helper = helpers.html || (depth0 != null ? depth0.html : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"html","hash":{},"data":data}) : helper))) != null ? stack1 : "") - + "\n
    \n
    \n
    \n
    "; -},"useData":true}); - -this["MediumInsert"]["Templates"]["src/js/templates/images-fileupload.hbs"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - return ""; -},"useData":true}); - -this["MediumInsert"]["Templates"]["src/js/templates/images-image.hbs"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) { - return "
    \n"; -},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}); - - return "
    \n \"\"\n" - + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.progress : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "
    \n"; -},"useData":true}); - -this["MediumInsert"]["Templates"]["src/js/templates/images-progressbar.hbs"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - return "0"; -},"useData":true}); - -this["MediumInsert"]["Templates"]["src/js/templates/images-toolbar.hbs"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) { - var stack1; - - return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.label : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : ""); -},"2":function(container,depth0,helpers,partials,data) { - var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function"; - - return "
  • \n \n
  • \n"; -},"4":function(container,depth0,helpers,partials,data) { - var stack1; - - return "
    \n
      \n" - + ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.actions : depth0),{"name":"each","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "
    \n
    \n"; -},"5":function(container,depth0,helpers,partials,data) { - var stack1; - - return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.label : depth0),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : ""); -},"6":function(container,depth0,helpers,partials,data) { - var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function"; - - return "
  • \n \n
  • \n"; -},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {}); - - return "
    \n
      \n" - + ((stack1 = helpers.each.call(alias1,(depth0 != null ? depth0.styles : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "
    \n
    \n\n" - + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.actions : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : ""); -},"useData":true}); -;(function ($, window, document, undefined) { - - 'use strict'; - - /** Default values */ - var pluginName = 'mediumInsert', - defaults = { - editor: null, - enabled: true, - addons: { - images: true, // boolean or object containing configuration - embeds: true - } - }; - - /** - * Capitalize first character - * - * @param {string} str - * @return {string} - */ - - function ucfirst(str) { - return str.charAt(0).toUpperCase() + str.slice(1); - } - - /** - * Core plugin's object - * - * Sets options, variables and calls init() function - * - * @constructor - * @param {DOM} el - DOM element to init the plugin on - * @param {object} options - Options to override defaults - * @return {void} - */ - - function Core(el, options) { - var editor; - - this.el = el; - this.$el = $(el); - this.templates = window.MediumInsert.Templates; - - if (options) { - // Fix #142 - // Avoid deep copying editor object, because since v2.3.0 it contains circular references which causes jQuery.extend to break - // Instead copy editor object to this.options manually - editor = options.editor; - options.editor = null; - } - this.options = $.extend(true, {}, defaults, options); - this.options.editor = editor; - if (options) { - options.editor = editor; // Restore original object definition - } - - this._defaults = defaults; - this._name = pluginName; - - // Extend editor's functions - if (this.options && this.options.editor) { - if (this.options.editor._serialize === undefined) { - this.options.editor._serialize = this.options.editor.serialize; - } - if (this.options.editor._destroy === undefined) { - this.options.editor._destroy = this.options.editor.destroy; - } - if (this.options.editor._setup === undefined) { - this.options.editor._setup = this.options.editor.setup; - } - this.options.editor._hideInsertButtons = this.hideButtons; - - this.options.editor.serialize = this.editorSerialize; - this.options.editor.destroy = this.editorDestroy; - this.options.editor.setup = this.editorSetup; - - if (this.options.editor.getExtensionByName('placeholder') !== undefined) { - this.options.editor.getExtensionByName('placeholder').updatePlaceholder = this.editorUpdatePlaceholder; - } - } - } - - /** - * Initialization - * - * @return {void} - */ - - Core.prototype.init = function () { - this.$el.addClass('medium-editor-insert-plugin'); - - if (typeof this.options.addons !== 'object' || Object.keys(this.options.addons).length === 0) { - this.disable(); - } - - this.initAddons(); - this.clean(); - this.events(); - }; - - /** - * Event listeners - * - * @return {void} - */ - - Core.prototype.events = function () { - var that = this; - - this.$el - .on('dragover drop', function (e) { - e.preventDefault(); - }) - .on('keyup click', $.proxy(this, 'toggleButtons')) - .on('selectstart mousedown', '.medium-insert, .medium-insert-buttons', $.proxy(this, 'disableSelection')) - .on('click', '.medium-insert-buttons-show', $.proxy(this, 'toggleAddons')) - .on('click', '.medium-insert-action', $.proxy(this, 'addonAction')) - .on('paste', '.medium-insert-caption-placeholder', function (e) { - $.proxy(that, 'removeCaptionPlaceholder')($(e.target)); - }); - - $(window).on('resize', $.proxy(this, 'positionButtons', null)); - }; - - /** - * Return editor instance - * - * @return {object} MediumEditor - */ - - Core.prototype.getEditor = function () { - return this.options.editor; - }; - - /** - * Extend editor's serialize function - * - * @return {object} Serialized data - */ - - Core.prototype.editorSerialize = function () { - var data = this._serialize(); - - $.each(data, function (key) { - var $data = $('
    ').html(data[key].value); - - $data.find('.medium-insert-buttons').remove(); - $data.find('.medium-insert-active').removeClass('medium-insert-active'); - - // Restore original embed code from embed wrapper attribute value. - $data.find('[data-embed-code]').each(function () { - var $this = $(this), - html = $('
    ').html($this.attr('data-embed-code')).text(); - $this.html(html); - }); - - data[key].value = $data.html(); - }); - - return data; - }; - - /** - * Extend editor's destroy function to deactivate this plugin too - * - * @return {void} - */ - - Core.prototype.editorDestroy = function () { - $.each(this.elements, function (key, el) { - if ($(el).data('plugin_' + pluginName) instanceof Core) { - $(el).data('plugin_' + pluginName).disable(); - } - }); - - this._destroy(); - }; - - /** - * Extend editor's setup function to activate this plugin too - * - * @return {void} - */ - - Core.prototype.editorSetup = function () { - this._setup(); - - $.each(this.elements, function (key, el) { - if ($(el).data('plugin_' + pluginName) instanceof Core) { - $(el).data('plugin_' + pluginName).enable(); - } - }); - }; - - /** - * Extend editor's placeholder.updatePlaceholder function to show placeholder dispite of the plugin buttons - * - * @return {void} - */ - - Core.prototype.editorUpdatePlaceholder = function (el, dontShow) { - var contents = $(el).children() - .not('.medium-insert-buttons').contents(); - - if (!dontShow && contents.length === 1 && contents[0].nodeName.toLowerCase() === 'br') { - this.showPlaceholder(el); - this.base._hideInsertButtons($(el)); - } else { - this.hidePlaceholder(el); - } - }; - - /** - * Trigger editableInput on editor - * - * @return {void} - */ - - Core.prototype.triggerInput = function () { - if (this.getEditor()) { - this.getEditor().trigger('editableInput', null, this.el); - } - }; - - /** - * Deselects selected text - * - * @return {void} - */ - - Core.prototype.deselect = function () { - document.getSelection().removeAllRanges(); - }; - - /** - * Disables the plugin - * - * @return {void} - */ - - Core.prototype.disable = function () { - this.options.enabled = false; - - this.$el.find('.medium-insert-buttons').addClass('hide'); - }; - - /** - * Enables the plugin - * - * @return {void} - */ - - Core.prototype.enable = function () { - this.options.enabled = true; - - this.$el.find('.medium-insert-buttons').removeClass('hide'); - }; - - /** - * Disables selectstart mousedown events on plugin elements except images - * - * @return {void} - */ - - Core.prototype.disableSelection = function (e) { - var $el = $(e.target); - - if ($el.is('img') === false || $el.hasClass('medium-insert-buttons-show')) { - e.preventDefault(); - } - }; - - /** - * Initialize addons - * - * @return {void} - */ - - Core.prototype.initAddons = function () { - var that = this; - - if (!this.options.addons || this.options.addons.length === 0) { - return; - } - - $.each(this.options.addons, function (addon, options) { - var addonName = pluginName + ucfirst(addon); - - if (options === false) { - delete that.options.addons[addon]; - return; - } - - that.$el[addonName](options); - that.options.addons[addon] = that.$el.data('plugin_' + addonName).options; - }); - }; - - /** - * Cleans a content of the editor - * - * @return {void} - */ - - Core.prototype.clean = function () { - var that = this, - $buttons, $lastEl, $text; - - if (this.options.enabled === false) { - return; - } - - if (this.$el.html().length === 0) { - this.$el.html(this.templates['src/js/templates/core-empty-line.hbs']().trim()); - } - - // Fix #29 - // Wrap content text in

    to avoid Firefox problems - $text = this.$el - .contents() - .filter(function () { - return (this.nodeName === '#text' && $.trim($(this).text()) !== '') || this.nodeName.toLowerCase() === 'br'; - }); - - $text.each(function () { - $(this).wrap('

    '); - - // Fix #145 - // Move caret at the end of the element that's being wrapped - that.moveCaret($(this).parent(), $(this).text().length); - }); - - this.addButtons(); - - $buttons = this.$el.find('.medium-insert-buttons'); - $lastEl = $buttons.prev(); - if ($lastEl.attr('class') && $lastEl.attr('class').match(/medium\-insert(?!\-active)/)) { - $buttons.before(this.templates['src/js/templates/core-empty-line.hbs']().trim()); - } - }; - - /** - * Returns HTML template of buttons - * - * @return {string} HTML template of buttons - */ - - Core.prototype.getButtons = function () { - if (this.options.enabled === false) { - return; - } - - return this.templates['src/js/templates/core-buttons.hbs']({ - addons: this.options.addons - }).trim(); - }; - - /** - * Appends buttons at the end of the $el - * - * @return {void} - */ - - Core.prototype.addButtons = function () { - if (this.$el.find('.medium-insert-buttons').length === 0) { - this.$el.append(this.getButtons()); - } - }; - - /** - * Move buttons to current active, empty paragraph and show them - * - * @return {void} - */ - - Core.prototype.toggleButtons = function (e) { - var $el = $(e.target), - selection = window.getSelection(), - that = this, - range, $current, $p, activeAddon; - - if (this.options.enabled === false) { - return; - } - - if (!selection || selection.rangeCount === 0) { - $current = $el; - } else { - range = selection.getRangeAt(0); - $current = $(range.commonAncestorContainer); - } - - // When user clicks on editor's placeholder in FF, $current el is editor itself, not the first paragraph as it should - if ($current.hasClass('medium-editor-insert-plugin')) { - $current = $current.find('p:first'); - } - - $p = $current.is('p') ? $current : $current.closest('p'); - - this.clean(); - - if ($el.hasClass('medium-editor-placeholder') === false && $el.closest('.medium-insert-buttons').length === 0 && $current.closest('.medium-insert-buttons').length === 0) { - - this.$el.find('.medium-insert-active').removeClass('medium-insert-active'); - - $.each(this.options.addons, function (addon) { - if ($el.closest('.medium-insert-' + addon).length) { - $current = $el; - } - - if ($current.closest('.medium-insert-' + addon).length) { - $p = $current.closest('.medium-insert-' + addon); - activeAddon = addon; - return; - } - }); - - if ($p.length && (($p.text().trim() === '' && !activeAddon) || activeAddon === 'images')) { - $p.addClass('medium-insert-active'); - - if (activeAddon === 'images') { - this.$el.find('.medium-insert-buttons').attr('data-active-addon', activeAddon); - } else { - this.$el.find('.medium-insert-buttons').removeAttr('data-active-addon'); - } - - // If buttons are displayed on addon paragraph, wait 100ms for possible captions to display - setTimeout(function () { - that.positionButtons(activeAddon); - that.showButtons(activeAddon); - }, activeAddon ? 100 : 0); - } else { - this.hideButtons(); - } - } - }; - - /** - * Show buttons - * - * @param {string} activeAddon - Name of active addon - * @returns {void} - */ - - Core.prototype.showButtons = function (activeAddon) { - var $buttons = this.$el.find('.medium-insert-buttons'); - - $buttons.show(); - $buttons.find('li').show(); - - if (activeAddon) { - $buttons.find('li').hide(); - $buttons.find('button[data-addon="' + activeAddon + '"]').parent().show(); - } - }; - - /** - * Hides buttons - * - * @param {jQuery} $el - Editor element - * @returns {void} - */ - - Core.prototype.hideButtons = function ($el) { - $el = $el || this.$el; - - $el.find('.medium-insert-buttons').hide(); - $el.find('.medium-insert-buttons-addons').hide(); - $el.find('.medium-insert-buttons-show').removeClass('medium-insert-buttons-rotate'); - }; - - /** - * Position buttons - * - * @param {string} activeAddon - Name of active addon - * @return {void} - */ - - Core.prototype.positionButtons = function (activeAddon) { - var $buttons = this.$el.find('.medium-insert-buttons'), - $p = this.$el.find('.medium-insert-active'), - $lastCaption = $p.hasClass('medium-insert-images-grid') ? [] : $p.find('figure:last figcaption'), - elementsContainer = this.getEditor() ? this.getEditor().options.elementsContainer : $('body').get(0), - elementsContainerAbsolute = ['absolute', 'fixed'].indexOf(window.getComputedStyle(elementsContainer).getPropertyValue('position')) > -1, - position = {}; - - if ($p.length) { - position.left = $p.position().left; - position.top = $p.position().top; - - if (activeAddon) { - position.left += $p.width() - $buttons.find('.medium-insert-buttons-show').width() - 10; - position.top += $p.height() - 20 + ($lastCaption.length ? -$lastCaption.height() - parseInt($lastCaption.css('margin-top'), 10) : 10); - } else { - position.left += -parseInt($buttons.find('.medium-insert-buttons-addons').css('left'), 10) - parseInt($buttons.find('.medium-insert-buttons-addons button:first').css('margin-left'), 10); - position.top += parseInt($p.css('margin-top'), 10); - } - - if (elementsContainerAbsolute) { - position.top += elementsContainer.scrollTop; - } - - if (this.$el.hasClass('medium-editor-placeholder') === false && position.left < 0) { - position.left = $p.position().left; - } - - $buttons.css(position); - } - }; - - /** - * Toggles addons buttons - * - * @return {void} - */ - - Core.prototype.toggleAddons = function () { - if (this.$el.find('.medium-insert-buttons').attr('data-active-addon') === 'images') { - this.$el.find('.medium-insert-buttons').find('button[data-addon="images"]').click(); - return; - } - - this.$el.find('.medium-insert-buttons-addons').fadeToggle(); - this.$el.find('.medium-insert-buttons-show').toggleClass('medium-insert-buttons-rotate'); - }; - - /** - * Hide addons buttons - * - * @return {void} - */ - - Core.prototype.hideAddons = function () { - this.$el.find('.medium-insert-buttons-addons').hide(); - this.$el.find('.medium-insert-buttons-show').removeClass('medium-insert-buttons-rotate'); - }; - - /** - * Call addon's action - * - * @param {Event} e - * @return {void} - */ - - Core.prototype.addonAction = function (e) { - var $a = $(e.currentTarget), - addon = $a.data('addon'), - action = $a.data('action'); - - this.$el.data('plugin_' + pluginName + ucfirst(addon))[action](); - }; - - /** - * Move caret at the beginning of the empty paragraph - * - * @param {jQuery} $el Element where to place the caret - * @param {integer} position Position where to move caret. Default: 0 - * - * @return {void} - */ - - Core.prototype.moveCaret = function ($el, position) { - var range, sel, el, textEl; - - position = position || 0; - range = document.createRange(); - sel = window.getSelection(); - el = $el.get(0); - - if (!el.childNodes.length) { - textEl = document.createTextNode(' '); - el.appendChild(textEl); - } - - range.setStart(el.childNodes[0], position); - range.collapse(true); - sel.removeAllRanges(); - sel.addRange(range); - }; - - /** - * Add caption - * - * @param {jQuery Element} $el - * @param {string} placeholder - * @return {void} - */ - - Core.prototype.addCaption = function ($el, placeholder) { - var $caption = $el.find('figcaption'); - - if ($caption.length === 0) { - $el.append(this.templates['src/js/templates/core-caption.hbs']({ - placeholder: placeholder - })); - } - }; - - /** - * Remove captions - * - * @param {jQuery Element} $ignore - * @return {void} - */ - - Core.prototype.removeCaptions = function ($ignore) { - var $captions = this.$el.find('figcaption'); - - if ($ignore) { - $captions = $captions.not($ignore); - } - - $captions.each(function () { - if ($(this).hasClass('medium-insert-caption-placeholder') || $(this).text().trim() === '') { - $(this).remove(); - } - }); - }; - - /** - * Remove caption placeholder - * - * @param {jQuery Element} $el - * @return {void} - */ - - Core.prototype.removeCaptionPlaceholder = function ($el) { - var $caption = $el.is('figcaption') ? $el : $el.find('figcaption'); - - if ($caption.length) { - $caption - .removeClass('medium-insert-caption-placeholder') - .removeAttr('data-placeholder'); - } - }; - - /** Plugin initialization */ - - $.fn[pluginName] = function (options) { - return this.each(function () { - var that = this, - textareaId; - - if ($(that).is('textarea')) { - textareaId = $(that).attr('medium-editor-textarea-id'); - that = $(that).siblings('[medium-editor-textarea-id="' + textareaId + '"]').get(0); - } - - if (!$.data(that, 'plugin_' + pluginName)) { - // Plugin initialization - $.data(that, 'plugin_' + pluginName, new Core(that, options)); - $.data(that, 'plugin_' + pluginName).init(); - } else if (typeof options === 'string' && $.data(that, 'plugin_' + pluginName)[options]) { - // Method call - $.data(that, 'plugin_' + pluginName)[options](); - } - }); - }; - -})(jQuery, window, document); - -; (function ($, window, document, undefined) { - - 'use strict'; - - /** Default values */ - var pluginName = 'mediumInsert', - addonName = 'Embeds', // first char is uppercase - defaults = { - label: '', - placeholder: 'Paste a YouTube, Vimeo, Facebook, Twitter or Instagram link and press Enter', - oembedProxy: 'http://medium.iframe.ly/api/oembed?iframe=1', - captions: true, - captionPlaceholder: 'Type caption (optional)', - storeMeta: false, - styles: { - wide: { - label: '' - // added: function ($el) {}, - // removed: function ($el) {} - }, - left: { - label: '' - // added: function ($el) {}, - // removed: function ($el) {} - }, - right: { - label: '' - // added: function ($el) {}, - // removed: function ($el) {} - } - }, - actions: { - remove: { - label: '', - clicked: function () { - var $event = $.Event('keydown'); - - $event.which = 8; - $(document).trigger($event); - } - } - }, - parseOnPaste: false - }; - - /** - * Embeds object - * - * Sets options, variables and calls init() function - * - * @constructor - * @param {DOM} el - DOM element to init the plugin on - * @param {object} options - Options to override defaults - * @return {void} - */ - - function Embeds(el, options) { - this.el = el; - this.$el = $(el); - this.templates = window.MediumInsert.Templates; - this.core = this.$el.data('plugin_' + pluginName); - - this.options = $.extend(true, {}, defaults, options); - - this._defaults = defaults; - this._name = pluginName; - - // Extend editor's functions - if (this.core.getEditor()) { - this.core.getEditor()._serializePreEmbeds = this.core.getEditor().serialize; - this.core.getEditor().serialize = this.editorSerialize; - } - - this.init(); - } - - /** - * Initialization - * - * @return {void} - */ - - Embeds.prototype.init = function () { - var $embeds = this.$el.find('.medium-insert-embeds'); - - $embeds.attr('contenteditable', false); - $embeds.each(function () { - if ($(this).find('.medium-insert-embeds-overlay').length === 0) { - $(this).append($('

    ').addClass('medium-insert-embeds-overlay')); - } - }); - - this.events(); - this.backwardsCompatibility(); - }; - - /** - * Event listeners - * - * @return {void} - */ - - Embeds.prototype.events = function () { - $(document) - .on('click', $.proxy(this, 'unselectEmbed')) - .on('keydown', $.proxy(this, 'removeEmbed')) - .on('click', '.medium-insert-embeds-toolbar .medium-editor-action', $.proxy(this, 'toolbarAction')) - .on('click', '.medium-insert-embeds-toolbar2 .medium-editor-action', $.proxy(this, 'toolbar2Action')); - - this.$el - .on('keyup click paste', $.proxy(this, 'togglePlaceholder')) - .on('keydown', $.proxy(this, 'processLink')) - .on('click', '.medium-insert-embeds-overlay', $.proxy(this, 'selectEmbed')) - .on('contextmenu', '.medium-insert-embeds-placeholder', $.proxy(this, 'fixRightClickOnPlaceholder')); - - if (this.options.parseOnPaste) { - this.$el - .on('paste', $.proxy(this, 'processPasted')); - } - - $(window) - .on('resize', $.proxy(this, 'autoRepositionToolbars')); - }; - - /** - * Replace v0.* class names with new ones, wrap embedded content to new structure - * - * @return {void} - */ - - Embeds.prototype.backwardsCompatibility = function () { - var that = this; - - this.$el.find('.mediumInsert-embeds') - .removeClass('mediumInsert-embeds') - .addClass('medium-insert-embeds'); - - this.$el.find('.medium-insert-embeds').each(function () { - if ($(this).find('.medium-insert-embed').length === 0) { - $(this).after(that.templates['src/js/templates/embeds-wrapper.hbs']({ - html: $(this).html() - })); - $(this).remove(); - } - }); - }; - - /** - * Extend editor's serialize function - * - * @return {object} Serialized data - */ - - Embeds.prototype.editorSerialize = function () { - var data = this._serializePreEmbeds(); - - $.each(data, function (key) { - var $data = $('
    ').html(data[key].value), - $embeds = $data.find('.medium-insert-embeds'); - - $embeds.removeAttr('contenteditable'); - $embeds.find('figcaption').removeAttr('contenteditable'); - $data.find('.medium-insert-embeds-overlay').remove(); - - data[key].value = $data.html(); - }); - - return data; - }; - - /** - * Add embedded element - * - * @return {void} - */ - - Embeds.prototype.add = function () { - var $place = this.$el.find('.medium-insert-active'); - - // Fix #132 - // Make sure that the content of the paragraph is empty and
    is wrapped in

    to avoid Firefox problems - $place.html(this.templates['src/js/templates/core-empty-line.hbs']().trim()); - - // Replace paragraph with div to prevent #124 issue with pasting in Chrome, - // because medium editor wraps inserted content into paragraph and paragraphs can't be nested - if ($place.is('p')) { - $place.replaceWith('
    ' + $place.html() + '
    '); - $place = this.$el.find('.medium-insert-active'); - this.core.moveCaret($place); - } - - $place.addClass('medium-insert-embeds medium-insert-embeds-input medium-insert-embeds-active'); - - this.togglePlaceholder({ target: $place.get(0) }); - - $place.click(); - this.core.hideButtons(); - }; - - /** - * Toggles placeholder - * - * @param {Event} e - * @return {void} - */ - - Embeds.prototype.togglePlaceholder = function (e) { - var $place = $(e.target), - selection = window.getSelection(), - range, $current, text; - - if (!selection || selection.rangeCount === 0) { - return; - } - - range = selection.getRangeAt(0); - $current = $(range.commonAncestorContainer); - - if ($current.hasClass('medium-insert-embeds-active')) { - $place = $current; - } else if ($current.closest('.medium-insert-embeds-active').length) { - $place = $current.closest('.medium-insert-embeds-active'); - } - - if ($place.hasClass('medium-insert-embeds-active')) { - - text = $place.text().trim(); - - if (text === '' && $place.hasClass('medium-insert-embeds-placeholder') === false) { - $place - .addClass('medium-insert-embeds-placeholder') - .attr('data-placeholder', this.options.placeholder); - } else if (text !== '' && $place.hasClass('medium-insert-embeds-placeholder')) { - $place - .removeClass('medium-insert-embeds-placeholder') - .removeAttr('data-placeholder'); - } - - } else { - this.$el.find('.medium-insert-embeds-active').remove(); - } - }; - - /** - * Right click on placeholder in Chrome selects whole line. Fix this by placing caret at the end of line - * - * @param {Event} e - * @return {void} - */ - - Embeds.prototype.fixRightClickOnPlaceholder = function (e) { - this.core.moveCaret($(e.target)); - }; - - /** - * Process link - * - * @param {Event} e - * @return {void} - */ - - Embeds.prototype.processLink = function (e) { - var $place = this.$el.find('.medium-insert-embeds-active'), - url; - - if (!$place.length) { - return; - } - - url = $place.text().trim(); - - // Return empty placeholder on backspace, delete or enter - if (url === '' && [8, 46, 13].indexOf(e.which) !== -1) { - $place.remove(); - return; - } - - if (e.which === 13) { - e.preventDefault(); - e.stopPropagation(); - - if (this.options.oembedProxy) { - this.oembed(url); - } else { - this.parseUrl(url); - } - } - }; - - /** - * Process Pasted - * - * @param {Event} e - * @return {void} - */ - - Embeds.prototype.processPasted = function (e) { - var pastedUrl, linkRegEx; - if ($(".medium-insert-embeds-active").length) { - return; - } - - pastedUrl = e.originalEvent.clipboardData.getData('text'); - linkRegEx = new RegExp('^(http(s?):)?\/\/','i'); - if (linkRegEx.test(pastedUrl)) { - if (this.options.oembedProxy) { - this.oembed(pastedUrl, true); - } else { - this.parseUrl(pastedUrl, true); - } - } - }; - - /** - * Get HTML via oEmbed proxy - * - * @param {string} url - * @return {void} - */ - - Embeds.prototype.oembed = function (url, pasted) { - var that = this; - - $.support.cors = true; - - $.ajax({ - crossDomain: true, - cache: false, - url: this.options.oembedProxy, - dataType: 'json', - data: { - url: url - }, - success: function (data) { - var html = data && data.html; - - if (that.options.storeMeta) { - html += '
    '; - } - - if (data && !html && data.type === 'photo' && data.url) { - html = ''; - } - - if (!html) { - // Prevent render empty embed. - $.proxy(that, 'convertBadEmbed', url)(); - return; - } - - if (pasted) { - $.proxy(that, 'embed', html, url)(); - } else { - $.proxy(that, 'embed', html)(); - } - }, - error: function (jqXHR, textStatus, errorThrown) { - var responseJSON = (function () { - try { - return JSON.parse(jqXHR.responseText); - } catch (e) { } - })(); - - if (typeof window.console !== 'undefined') { - window.console.log((responseJSON && responseJSON.error) || jqXHR.status || errorThrown.message); - } else { - window.alert('Error requesting media from ' + that.options.oembedProxy + ' to insert: ' + errorThrown + ' (response status: ' + jqXHR.status + ')'); - } - - $.proxy(that, 'convertBadEmbed', url)(); - } - }); - }; - - /** - * Get HTML using regexp - * - * @param {string} url - * @param {bool} pasted - * @return {void} - */ - - Embeds.prototype.parseUrl = function (url, pasted) { - var html; - - if (!(new RegExp(['youtube', 'youtu.be', 'vimeo', 'instagram', 'twitter', 'facebook'].join('|')).test(url))) { - $.proxy(this, 'convertBadEmbed', url)(); - return false; - } - - html = url.replace(/\n?/g, '') - .replace(/^((http(s)?:\/\/)?(www\.)?(youtube\.com|youtu\.be)\/(watch\?v=|v\/)?)([a-zA-Z0-9\-_]+)(.*)?$/, '
    ') - .replace(/^https?:\/\/vimeo\.com(\/.+)?\/([0-9]+)$/, '
    ') - .replace(/^https:\/\/twitter\.com\/(\w+)\/status\/(\d+)\/?$/, '
    ') - .replace(/^(https:\/\/www\.facebook\.com\/(.*))$/, '
    ') - .replace(/^https?:\/\/instagram\.com\/p\/(.+)\/?$/, ''); - - if (this.options.storeMeta) { - html += '
    '; - } - - if ((/<("[^"]*"|'[^']*'|[^'">])*>/).test(html) === false) { - $.proxy(this, 'convertBadEmbed', url)(); - return false; - } - - if (pasted) { - this.embed(html, url); - } else { - this.embed(html); - } - }; - - /** - * Add html to page - * - * @param {string} html - * @param {string} pastedUrl - * @return {void} - */ - - Embeds.prototype.embed = function (html, pastedUrl) { - var $place = this.$el.find('.medium-insert-embeds-active'), - $div; - - if (!html) { - alert('Incorrect URL format specified'); - return false; - } else { - if (html.indexOf('') > -1) { - // Store embed code with
    '; + } + + if (data && data.type.match(/(photo|rich)/) && data.url) { + that.$el.data('plugin_' + pluginName + ucfirst('images'))['showImageByURL']({type: 'image', url: data.url}, {}); + html = ''; + return; + } + + if (!html) { + // Prevent render empty embed. + $.proxy(that, 'convertBadEmbed', url)(); + return; + } + + if (pasted) { + $.proxy(that, 'embed', html, url)(); + } else { + $.proxy(that, 'embed', html, null, altText)(); + } + }, + error: function (jqXHR, textStatus, errorThrown) { + var responseJSON = (function () { + try { + return JSON.parse(jqXHR.responseText); + } catch (e) { } + })(); + + if (typeof window.console !== 'undefined') { + window.console.log((responseJSON && responseJSON.error) || jqXHR.status || errorThrown.message); + } else { + window.alert('Error requesting media from ' + that.options.oembedProxy + ' to insert: ' + errorThrown + ' (response status: ' + jqXHR.status + ')'); + } + + $.proxy(that, 'convertBadEmbed', url)(); + } + }); + }; + + /** + * Get HTML using regexp + * + * @param {string} url + * @param {bool} pasted + * @return {void} + */ + + Embeds.prototype.parseUrl = function (url, pasted) { + var html; + + if (!(new RegExp(['youtube', 'youtu.be', 'vimeo', 'instagram', 'twitter', 'facebook'].join('|')).test(url))) { + $.proxy(this, 'convertBadEmbed', url)(); + return false; + } + + html = url.replace(/\n?/g, '') + .replace(/^((http(s)?:\/\/)?(www\.)?(youtube\.com|youtu\.be)\/(watch\?v=|v\/)?)([a-zA-Z0-9\-_]+)(.*)?$/, '
    ') + .replace(/^https?:\/\/vimeo\.com(\/.+)?\/([0-9]+)$/, '
    ') + .replace(/^https:\/\/twitter\.com\/(\w+)\/status\/(\d+)\/?$/, '') + .replace(/^(https:\/\/www\.facebook\.com\/(.*))$/, '
    ') + .replace(/^https?:\/\/instagram\.com\/p\/(.+)\/?$/, ''); + + if (this.options.storeMeta) { + html += '
    '; + } + + if ((/<("[^"]*"|'[^']*'|[^'">])*>/).test(html) === false) { + $.proxy(this, 'convertBadEmbed', url)(); + return false; + } + + if (pasted) { + this.embed(html, url); + } else { + this.embed(html); + } + }; + + /** + * Add html to page + * + * @param {string} html + * @param {string} pastedUrl + * @return {void} + */ + + Embeds.prototype.embed = function (html, pastedUrl, altText) { + var $place = this.$el.find('.medium-insert-embeds-active').length? this.$el.find('.medium-insert-embeds-active') : this.$el.find('.medium-insert-active'), + $div, that; + that = this; + + $place.attr('class', 'medium-insert-embeds-active'); + + if (!html) { + alert('Incorrect URL format specified'); + return false; + } else { + if (html.indexOf('') > -1) { + // Store embed code with - - - - - - + + + + @@ -97,12 +95,23 @@

    Advanced Medium Editor

    - + + + + + + + + + + - + + + diff --git a/package-lock.json b/package-lock.json index b7d9b79..c08b43b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,9 +1,1090 @@ { - "name": "advanced-medium-editor", - "version": "5.23.3", + "name": "vikids-editor", + "version": "2.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.3.3.tgz", + "integrity": "sha512-w445QGI2qd0E0GlSnq6huRZWPMmQGCp5gd5ZWS4hagn0EiwzxD5QMFkpchyusAyVC1n27OKXzQ0/88aVU9n4xQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.3.3", + "@babel/helpers": "^7.2.0", + "@babel/parser": "^7.3.3", + "@babel/template": "^7.2.2", + "@babel/traverse": "^7.2.2", + "@babel/types": "^7.3.3", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.11", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.3.tgz", + "integrity": "sha512-aEADYwRRZjJyMnKN7llGIlircxTCofm3dtV5pmY6ob18MSIuipHpA2yZWkPlycwu5HJcx/pADS3zssd8eY7/6A==", + "dev": true, + "requires": { + "@babel/types": "^7.3.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.11", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "@babel/parser": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.3.tgz", + "integrity": "sha512-xsH1CJoln2r74hR+y7cg2B5JCPaTh+Hd+EbBRk9nWGSNspuo6krjhX0Om6RnRQuIvFq8wVXCLKH3kwKDYhanSg==", + "dev": true + }, + "@babel/types": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.3.tgz", + "integrity": "sha512-2tACZ80Wg09UnPg5uGAOUvvInaqLk3l/IAhQzlxLQOIXacr6bMsra5SH6AWw/hIDRCSbCdHP2KzSOD+cT7TzMQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.2.tgz", + "integrity": "sha512-f3QCuPppXxtZOEm5GWPra/uYUjmNQlu9pbAD8D/9jze4pTY83rTtB1igTBSwvkeNlC5gR24zFFkz+2WHLFQhqQ==", + "dev": true, + "requires": { + "@babel/types": "^7.3.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", + "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-define-map": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", + "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", + "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", + "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/template": "^7.2.2", + "@babel/types": "^7.2.2", + "lodash": "^4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", + "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz", + "integrity": "sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.2.3", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "requires": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" + } + }, + "@babel/helpers": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz", + "integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==", + "dev": true, + "requires": { + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.3.0" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.2.tgz", + "integrity": "sha512-QzNUC2RO1gadg+fs21fi0Uu0OuGNzRKEmgCxoLNzbCdoprLwjfmZwzUrpUNfJPaVRwBpDY47A17yYEGWyRelnQ==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.2.tgz", + "integrity": "sha512-DjeMS+J2+lpANkYLLO+m6GjoTMygYglKmRe6cDTbFv3L9i6mmiE8fe6B8MtCSLZpVXscD5kn7s6SgtHrDoBWoA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz", + "integrity": "sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.2.0" + }, + "dependencies": { + "regexpu-core": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", + "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + } + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz", + "integrity": "sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz", + "integrity": "sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "@babel/plugin-transform-classes": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.3.3.tgz", + "integrity": "sha512-n0CLbsg7KOXsMF4tSTLCApNMoXk0wOPb0DYfsOO1e7SfIb9gOyfbpKI2MZ+AXfqvlfzq2qsflJ1nEns48Caf2w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", + "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", + "dev": true + } + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.3.2.tgz", + "integrity": "sha512-Lrj/u53Ufqxl/sGxyjsJ2XNtNuEjDyjpqdhMNh5aZ+XFOdThL46KBj27Uem4ggoezSYBxKWAil6Hu8HtwqesYw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz", + "integrity": "sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" + }, + "dependencies": { + "regexpu-core": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", + "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + } + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz", + "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz", + "integrity": "sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", + "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz", + "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", + "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz", + "integrity": "sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz", + "integrity": "sha512-NxIoNVhk9ZxS+9lSoAQ/LM0V2UEvARLttEHUrRDGKFaAxOYQcrkN/nLRE+BbbicCAvZPl7wMP0X60HsHE5DtQw==", + "dev": true, + "requires": { + "regexp-tree": "^0.1.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz", + "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", + "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.3.3.tgz", + "integrity": "sha512-IrIP25VvXWu/VlBWTpsjGptpomtIkYrN/3aDp4UKm7xK6UxZY88kcJ1UwETbzHAlwN21MnNfwlar0u8y3KpiXw==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.1.0", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", + "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", + "dev": true, + "requires": { + "regenerator-transform": "^0.13.3" + }, + "dependencies": { + "regenerator-transform": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", + "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", + "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", + "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", + "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" + }, + "dependencies": { + "regexpu-core": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.4.0.tgz", + "integrity": "sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + } + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "@babel/preset-env": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.1.tgz", + "integrity": "sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.3.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.2.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.2.0", + "@babel/plugin-transform-classes": "^7.2.0", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.2.0", + "@babel/plugin-transform-dotall-regex": "^7.2.0", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.2.0", + "@babel/plugin-transform-function-name": "^7.2.0", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "@babel/plugin-transform-modules-systemjs": "^7.2.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", + "@babel/plugin-transform-new-target": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.2.0", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.2.0", + "browserslist": "^4.3.4", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" + }, + "dependencies": { + "browserslist": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz", + "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000929", + "electron-to-chromium": "^1.3.103", + "node-releases": "^1.1.3" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, + "@babel/template": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.2.2", + "@babel/types": "^7.2.2" + } + }, + "@babel/traverse": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz", + "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.2.2", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.2.3", + "@babel/types": "^7.2.2", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "globals": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", + "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.2.tgz", + "integrity": "sha512-3Y6H8xlUlpbGR+XvawiH0UXehqydTmNmEpozWcXymqwcrwYAl5KMvKtQ+TF6f6E08V6Jur7v/ykdDSF+WDEIXQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, "JSV": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz", @@ -20,7 +1101,6 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "dev": true, "requires": { "mime-types": "~2.1.18", "negotiator": "0.6.1" @@ -32,6 +1112,12 @@ "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", "dev": true }, + "acorn-jsx": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", + "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", + "dev": true + }, "ajv": { "version": "6.6.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", @@ -70,6 +1156,12 @@ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", "dev": true }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, "ansi-regex": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz", @@ -128,6 +1220,11 @@ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", "dev": true }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", @@ -176,6 +1273,12 @@ "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", "dev": true }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, "async": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", @@ -217,24 +1320,86 @@ "postcss": "~4.1.12" } }, - "aws-sign": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz", - "integrity": "sha1-PYHKabR0seFlGHKLUcJP8Lvtxuk=", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, + "aws-sign": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz", + "integrity": "sha1-PYHKabR0seFlGHKLUcJP8Lvtxuk=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, "babel-core": { "version": "5.8.38", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-5.8.38.tgz", @@ -321,6 +1486,191 @@ } } }, + "babel-eslint": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz", + "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "^1.0.0" + }, + "dependencies": { + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + } + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-builder-react-jsx": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", + "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "esutils": "^2.0.2" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, "babel-jscs": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/babel-jscs/-/babel-jscs-2.0.5.tgz", @@ -331,6 +1681,36 @@ "lodash.assign": "^3.2.0" } }, + "babel-loader": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.5.tgz", + "integrity": "sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "util.promisify": "^1.0.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, "babel-plugin-constant-folding": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/babel-plugin-constant-folding/-/babel-plugin-constant-folding-1.0.1.tgz", @@ -388,29 +1768,385 @@ "integrity": "sha1-lGc26DeEKcvDSdz/YvUcFDs041o=", "dev": true }, - "babel-plugin-react-display-name": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/babel-plugin-react-display-name/-/babel-plugin-react-display-name-1.0.3.tgz", - "integrity": "sha1-dU/jiSboQkpOexWrbqYTne4FFPw=", - "dev": true + "babel-plugin-react-display-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-react-display-name/-/babel-plugin-react-display-name-1.0.3.tgz", + "integrity": "sha1-dU/jiSboQkpOexWrbqYTne4FFPw=", + "dev": true + }, + "babel-plugin-remove-console": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-console/-/babel-plugin-remove-console-1.0.1.tgz", + "integrity": "sha1-2PJFVsOgUAXUKqqv0neH9T/wE6c=", + "dev": true + }, + "babel-plugin-remove-debugger": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-debugger/-/babel-plugin-remove-debugger-1.0.1.tgz", + "integrity": "sha1-/S6jzWGkKK0fO5yJiC/0KT6MFMc=", + "dev": true + }, + "babel-plugin-runtime": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/babel-plugin-runtime/-/babel-plugin-runtime-1.0.7.tgz", + "integrity": "sha1-v3x9lm3Vbs1cF/ocslPJrLflSq8=", + "dev": true + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-flow": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-flow-strip-types": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "requires": { + "babel-plugin-syntax-flow": "^6.18.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-display-name": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", + "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-react-jsx": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", + "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "requires": { + "babel-helper-builder-react-jsx": "^6.24.1", + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } }, - "babel-plugin-remove-console": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-console/-/babel-plugin-remove-console-1.0.1.tgz", - "integrity": "sha1-2PJFVsOgUAXUKqqv0neH9T/wE6c=", - "dev": true + "babel-plugin-transform-react-jsx-self": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", + "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", + "requires": { + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } }, - "babel-plugin-remove-debugger": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-debugger/-/babel-plugin-remove-debugger-1.0.1.tgz", - "integrity": "sha1-/S6jzWGkKK0fO5yJiC/0KT6MFMc=", - "dev": true + "babel-plugin-transform-react-jsx-source": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", + "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "requires": { + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" + } }, - "babel-plugin-runtime": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/babel-plugin-runtime/-/babel-plugin-runtime-1.0.7.tgz", - "integrity": "sha1-v3x9lm3Vbs1cF/ocslPJrLflSq8=", - "dev": true + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } }, "babel-plugin-undeclared-variables-check": { "version": "1.0.2", @@ -427,6 +2163,196 @@ "integrity": "sha1-f1eO+LeN+uYAM4XYQXph7aBuL4E=", "dev": true }, + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + }, + "dependencies": { + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, + "babel-preset-flow": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", + "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", + "requires": { + "babel-plugin-transform-flow-strip-types": "^6.22.0" + } + }, + "babel-preset-react": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", + "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", + "requires": { + "babel-plugin-syntax-jsx": "^6.3.13", + "babel-plugin-transform-react-display-name": "^6.23.0", + "babel-plugin-transform-react-jsx": "^6.24.1", + "babel-plugin-transform-react-jsx-self": "^6.22.0", + "babel-plugin-transform-react-jsx-source": "^6.22.0", + "babel-preset-flow": "^6.23.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", + "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==" + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + } + } + }, "babylon": { "version": "5.8.38", "resolved": "https://registry.npmjs.org/babylon/-/babylon-5.8.38.tgz", @@ -443,7 +2369,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", - "dev": true, "requires": { "safe-buffer": "5.1.2" } @@ -463,6 +2388,12 @@ "tweetnacl": "^0.14.3" } }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, "bl": { "version": "0.9.5", "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz", @@ -513,6 +2444,46 @@ "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", "dev": true }, + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "~2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, "boom": { "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", @@ -586,6 +2557,49 @@ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, + "busboy": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", + "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=", + "requires": { + "dicer": "0.2.5", + "readable-stream": "1.1.x" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "callsites": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", + "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", + "dev": true + }, "camelcase": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", @@ -608,6 +2622,12 @@ "integrity": "sha512-CX/QvLA8oh7kQ9cHCCzFm0UZW4KwSyQSRJ5A1XtH42HaMJQ0yh+9fEVWagMqv9I1vSCtaqA5Mb8k0uKfv7jhDw==", "dev": true }, + "caniuse-lite": { + "version": "1.0.30000938", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000938.tgz", + "integrity": "sha512-ekW8NQ3/FvokviDxhdKLZZAx7PptXNwxKgXtnR5y+PR3hckwuP3yJ1Ir+4/c97dsHNqtAyfKUGdw8P4EYzBNgw==", + "dev": true + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -637,12 +2657,24 @@ "supports-color": "^1.3.0" } }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, "check-types": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/check-types/-/check-types-2.1.1.tgz", "integrity": "sha1-fnzw+opp7ITOBDVDh6XjzDokC7g=", "dev": true }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, "clean-css": { "version": "3.4.28", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", @@ -705,6 +2737,15 @@ } } }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, "cli-table": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", @@ -722,6 +2763,12 @@ } } }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, "cliui": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", @@ -753,6 +2800,21 @@ "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=", "dev": true }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "colors": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", @@ -783,6 +2845,12 @@ "readable-stream": "^2.0.4" } }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, "commoner": { "version": "0.10.8", "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", @@ -914,6 +2982,16 @@ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, "convert-source-map": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", @@ -923,12 +3001,31 @@ "safe-buffer": "~5.1.1" } }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, "cookie-jar": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz", "integrity": "sha1-vJon1OK5fhhs1XyeIGPLmfpozMw=", "dev": true }, + "cookie-parser": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.4.tgz", + "integrity": "sha512-lo13tqF3JEtFO7FyA49CqbhaFkskRJ0u/UAiINgrIXeRCY41c88/zxtrECl8AKH3B0hj9q10+h3Kt8I7KlW4tw==", + "requires": { + "cookie": "0.3.1", + "cookie-signature": "1.0.6" + } + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, "core-js": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", @@ -938,8 +3035,16 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } }, "coveralls": { "version": "2.13.3", @@ -1279,6 +3384,15 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, "defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", @@ -1346,14 +3460,12 @@ "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, "detect-indent": { "version": "3.0.1", @@ -1393,12 +3505,53 @@ "defined": "^1.0.0" } }, + "dicer": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", + "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", + "requires": { + "readable-stream": "1.1.x", + "streamsearch": "0.1.2" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, "diff": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/diff/-/diff-1.3.2.tgz", "integrity": "sha1-/Qeh8fiRUZ2ZBaTJqJ3PWnC2YDc=", "dev": true }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, "dom-serializer": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", @@ -1506,14 +3659,30 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "electron-to-chromium": { + "version": "1.3.113", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz", + "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", "dev": true }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, "entities": { "version": "1.0.0", @@ -1530,6 +3699,31 @@ "is-arrayish": "^0.2.1" } }, + "es-abstract": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", + "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-keys": "^1.0.12" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "es5-ext": { "version": "0.10.46", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz", @@ -1572,150 +3766,465 @@ "event-emitter": "~0.3.5" } }, - "es6-promise": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz", - "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw=", + "es6-promise": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz", + "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw=", + "dev": true + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "escomplex": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/escomplex/-/escomplex-0.2.6.tgz", + "integrity": "sha1-jzBa1QUomqzmlL/GzLMhLdjC9QM=", + "dev": true, + "requires": { + "check-types": "2.1.x", + "matrix-utilities": "1.2.x" + } + }, + "escomplex-ast-moz": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/escomplex-ast-moz/-/escomplex-ast-moz-0.1.6.tgz", + "integrity": "sha1-V6DviiwvIOY+k1ub59PLyYDFexE=", + "dev": true, + "requires": { + "check-types": "2.1.x", + "escomplex-traits": "0.2.x" + } + }, + "escomplex-js": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/escomplex-js/-/escomplex-js-0.1.5.tgz", + "integrity": "sha1-kXyngjMxBxOWClb6gj0Vp3E+Gho=", + "dev": true, + "requires": { + "check-types": "2.1.x", + "escomplex": "0.2.6", + "escomplex-ast-moz": "0.1.6", + "esprima": "1.0.x" + } + }, + "escomplex-traits": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/escomplex-traits/-/escomplex-traits-0.2.0.tgz", + "integrity": "sha1-mgmuwhQlod5Ilp92l9BSnrsYvq8=", + "dev": true + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + } + } + }, + "eslint": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.13.0.tgz", + "integrity": "sha512-nqD5WQMisciZC5EHZowejLKQjWGuFS5c70fxqSKlnDME+oz9zmE8KTlX+lHSg+/5wsC/kf9Q9eMkC8qS3oM2fg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.5.3", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.1.0", + "js-yaml": "^3.12.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.0.2", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globals": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", + "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "js-yaml": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "eslint-config-standard": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz", + "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==", "dev": true }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + } } }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "eslint-tap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/eslint-tap/-/eslint-tap-2.0.1.tgz", + "integrity": "sha1-Ek47tWZPJBuBY8bglF7Uenfxzcc=", "dev": true, "requires": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.2.0" + "indent-string": "^3.1.0", + "js-yaml": "^3.8.4", + "yamlish": "0.0.7" }, "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", "dev": true }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "js-yaml": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", "dev": true, - "optional": true, "requires": { - "amdefine": ">=0.0.4" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } } } }, - "escomplex": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/escomplex/-/escomplex-0.2.6.tgz", - "integrity": "sha1-jzBa1QUomqzmlL/GzLMhLdjC9QM=", - "dev": true, - "requires": { - "check-types": "2.1.x", - "matrix-utilities": "1.2.x" - } - }, - "escomplex-ast-moz": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/escomplex-ast-moz/-/escomplex-ast-moz-0.1.6.tgz", - "integrity": "sha1-V6DviiwvIOY+k1ub59PLyYDFexE=", - "dev": true, - "requires": { - "check-types": "2.1.x", - "escomplex-traits": "0.2.x" - } - }, - "escomplex-js": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/escomplex-js/-/escomplex-js-0.1.5.tgz", - "integrity": "sha1-kXyngjMxBxOWClb6gj0Vp3E+Gho=", - "dev": true, - "requires": { - "check-types": "2.1.x", - "escomplex": "0.2.6", - "escomplex-ast-moz": "0.1.6", - "esprima": "1.0.x" - } + "eslint-utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", + "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", + "dev": true }, - "escomplex-traits": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/escomplex-traits/-/escomplex-traits-0.2.0.tgz", - "integrity": "sha1-mgmuwhQlod5Ilp92l9BSnrsYvq8=", + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", "dev": true }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "espree": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.0.tgz", + "integrity": "sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA==", "dev": true, "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "acorn": "^6.0.2", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" }, "dependencies": { - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "acorn": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.0.tgz", + "integrity": "sha512-MW/FjM+IvU9CgBzjO3UIPCE2pyEwUsoFl+VGdczOPEdxfGFjuKny/gN54mOuX7Qxmb9Rg9MCn2oKiSUeW+pjrw==", "dev": true } } @@ -1732,6 +4241,23 @@ "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=", "dev": true }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + }, + "dependencies": { + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + } + } + }, "esrecurse": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", @@ -1758,8 +4284,7 @@ "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, "etag": { "version": "1.7.0", @@ -1789,12 +4314,164 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, + "express": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.3", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.4", + "qs": "6.5.2", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.2", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + } + } + }, + "express-fileupload": { + "version": "1.1.3-alpha.2", + "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.1.3-alpha.2.tgz", + "integrity": "sha512-askIbniNmGzLBsmzDzfy9aR3vOFCUgNBOKesplC8XAYT85rOOTlgK0gdJMwgDKQ8tw4sdfgYpAnAbuPbYoyQKg==", + "requires": { + "busboy": "^0.2.14" + } + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, + "external-editor": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", + "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, "extract-zip": { "version": "1.6.7", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", @@ -1923,6 +4600,16 @@ "object-assign": "^4.1.0" } }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, "finalhandler": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.5.0.tgz", @@ -1936,6 +4623,17 @@ "unpipe": "~1.0.0" } }, + "find-cache-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", + "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^3.0.0" + } + }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", @@ -1984,6 +4682,58 @@ } } }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", @@ -2007,12 +4757,22 @@ "mime-types": "^2.1.12" } }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, "fresh": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=", "dev": true }, + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" + }, "fs-extra": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", @@ -2070,6 +4830,12 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, "gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", @@ -2267,6 +5033,12 @@ "postcss": "^4.1.11" } }, + "grunt-babel": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/grunt-babel/-/grunt-babel-8.0.0.tgz", + "integrity": "sha512-WuiZFvGzcyzlEoPIcY1snI234ydDWeWWV5bpnB7PZsOLHcDsxWKnrR1rMWEUsbdVPPjvIirwFNsuo4CbJmsdFQ==", + "dev": true + }, "grunt-bump": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/grunt-bump/-/grunt-bump-0.7.0.tgz", @@ -2336,6 +5108,12 @@ } } }, + "grunt-concat-css": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/grunt-concat-css/-/grunt-concat-css-0.3.2.tgz", + "integrity": "sha1-gEAooeJWvirrQsKWa1/vmRLc+QQ=", + "dev": true + }, "grunt-contrib-concat": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.5.1.tgz", @@ -2486,41 +5264,31 @@ "jshint": "~2.8.0" } }, - "grunt-contrib-uglify": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.11.0.tgz", - "integrity": "sha1-wkc5f3OFf4DCUcbUrOSsHW6q1Sg=", + "grunt-contrib-uglify-es": { + "version": "git+https://github.com/gruntjs/grunt-contrib-uglify.git#ccb95a70cad6a4e9e902d3bd5d0e38a4de09a1e1", + "from": "git+https://github.com/gruntjs/grunt-contrib-uglify.git#harmony", "dev": true, "requires": { "chalk": "^1.0.0", - "lodash": "^3.2.0", - "maxmin": "^1.0.0", - "uglify-js": "~2.6.0", + "maxmin": "^1.1.0", + "uglify-es": "~3.3.0", "uri-path": "^1.0.0" }, "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", "dev": true }, - "uglify-js": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", - "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=", + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "dev": true, "requires": { - "async": "~0.2.6", - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "commander": "~2.13.0", + "source-map": "~0.6.1" } } } @@ -2560,6 +5328,53 @@ "coveralls": "^2.11.1" } }, + "grunt-eslint": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-21.0.0.tgz", + "integrity": "sha512-HJocD9P35lpCvy6pPPCTgzBavzckrT1nt7lpqV55Vy8E6LQJv4RortXoH1jJTYhO5DYY7RPATv7Uc4383PUYqQ==", + "dev": true, + "requires": { + "chalk": "^2.1.0", + "eslint": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "grunt-jscs": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/grunt-jscs/-/grunt-jscs-2.6.0.tgz", @@ -2845,6 +5660,12 @@ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", "dev": true }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -2944,7 +5765,6 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, "requires": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -2955,8 +5775,7 @@ "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" } } }, @@ -2983,6 +5802,36 @@ "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=", "dev": true }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", + "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, "in-publish": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", @@ -3017,8 +5866,145 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "inquirer": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", + "integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.11", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", + "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", + "dev": true, + "requires": { + "ansi-regex": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", + "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", + "dev": true + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } }, "invert-kv": { "version": "1.0.0", @@ -3026,6 +6012,11 @@ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, + "ipaddr.js": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" + }, "irregular-plurals": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz", @@ -3053,6 +6044,18 @@ "builtin-modules": "^1.0.0" } }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, "is-finite": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", @@ -3099,18 +6102,42 @@ "xtend": "^4.0.0" } }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, "is-property": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", "dev": true }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -3283,6 +6310,12 @@ "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4=", "dev": true }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, "js-tokens": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz", @@ -3538,6 +6571,12 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -3699,6 +6738,52 @@ } } }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, "lodash": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", @@ -3877,6 +6962,23 @@ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", "dev": true }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + } + } + }, "loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", @@ -3893,6 +6995,23 @@ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", "dev": true }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", @@ -3917,6 +7036,11 @@ "pretty-bytes": "^1.0.0" } }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, "meow": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", @@ -3943,6 +7067,16 @@ } } }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, "mime": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", @@ -3952,18 +7086,22 @@ "mime-db": { "version": "1.37.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", - "dev": true + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" }, "mime-types": { "version": "2.1.21", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "dev": true, "requires": { "mime-db": "~1.37.0" } }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, "minimatch": { "version": "0.2.14", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", @@ -4001,7 +7139,6 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", - "dev": true, "requires": { "basic-auth": "~2.0.0", "debug": "2.6.9", @@ -4014,7 +7151,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -4022,8 +7158,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -4083,8 +7218,7 @@ "negotiator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", - "dev": true + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, "next-tick": { "version": "1.0.0", @@ -4092,6 +7226,12 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", "dev": true }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, "node-gyp": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", @@ -4158,6 +7298,23 @@ } } }, + "node-releases": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.7.tgz", + "integrity": "sha512-bKdrwaqJUPHqlCzDD7so/R+Nk0jGv9a11ZhLrD9f6i947qGLrGAhU3OxRENa19QQmwzGy/g6zCDEuLGDO8HPvA==", + "dev": true, + "requires": { + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, "node-sass": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.13.1.tgz", @@ -4397,8 +7554,7 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-inspect": { "version": "0.4.0", @@ -4412,20 +7568,28 @@ "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", "dev": true }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, "requires": { "ee-first": "1.1.1" } }, "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", - "dev": true + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" }, "once": { "version": "1.4.0", @@ -4530,6 +7694,30 @@ } } }, + "p-limit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", + "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + }, "package": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/package/-/package-1.0.1.tgz", @@ -4542,6 +7730,15 @@ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", "dev": true }, + "parent-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.0.tgz", + "integrity": "sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", @@ -4566,8 +7763,7 @@ "parseurl": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", - "dev": true + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" }, "path-exists": { "version": "2.1.0", @@ -4584,12 +7780,29 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, "path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", @@ -4682,6 +7895,26 @@ "pinkie": "^2.0.0" } }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + } + } + }, "pkg-up": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", @@ -4916,6 +8149,15 @@ "winston": "0.8.x" } }, + "proxy-addr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.8.0" + } + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -4943,8 +8185,7 @@ "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "quote-stream": { "version": "1.0.2", @@ -4968,8 +8209,28 @@ "range-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "dev": true + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } }, "read": { "version": "1.0.7", @@ -5058,6 +8319,15 @@ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", "dev": true }, + "regenerate-unicode-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", + "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, "regenerator": { "version": "0.8.40", "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz", @@ -5072,6 +8342,34 @@ "through": "~2.3.8" } }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regexp-tree": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.4.tgz", + "integrity": "sha512-DohP6WXzgrc7gFs9GsTQgigUfMXZqXkPk+20qkMF6YCy0Qk0FsHL1/KtxTycGR/62DHRtJ1MHQF2g8YzywP4kA==", + "dev": true + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, "regexpu": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/regexpu/-/regexpu-1.3.0.tgz", @@ -5093,6 +8391,17 @@ } } }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, "regjsgen": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", @@ -5403,6 +8712,27 @@ "resolve-from": "^2.0.0" } }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "dependencies": { + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + } + } + }, "revalidator": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", @@ -5424,17 +8754,33 @@ "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", "dev": true }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", + "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass-graph": { "version": "2.2.4", @@ -5867,8 +9213,7 @@ "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" }, "shallow-copy": { "version": "0.0.1", @@ -5876,6 +9221,15 @@ "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=", "dev": true }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", @@ -5918,6 +9272,34 @@ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, "sntp": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", @@ -6183,6 +9565,11 @@ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", "dev": true }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, "string-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", @@ -6303,6 +9690,70 @@ "integrity": "sha1-FXWN8J2P87SswwdTn6vicJXhBC0=", "dev": true }, + "table": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz", + "integrity": "sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==", + "dev": true, + "requires": { + "ajv": "^6.9.1", + "lodash": "^4.17.11", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.1.tgz", + "integrity": "sha512-XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", + "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "string-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.0.0.tgz", + "integrity": "sha512-rr8CUxBbvOZDUvc5lNIJ+OC1nPVpz+Siw9VBtUjB9b6jZehZLFt0JMCZzShFHIsI8cbhm0EsNIfWJMFV3cu3Ew==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.0.0" + } + }, + "strip-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", + "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", + "dev": true, + "requires": { + "ansi-regex": "^4.0.0" + } + } + } + }, "tar": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", @@ -6398,6 +9849,15 @@ } } }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, "to-double-quotes": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz", @@ -6407,8 +9867,7 @@ "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" }, "to-single-quotes": { "version": "2.0.1", @@ -6458,6 +9917,12 @@ "integrity": "sha1-gUXkynyv9ArN48z5Rui4u3W0Fys=", "dev": true }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -6482,6 +9947,15 @@ "prelude-ls": "~1.1.2" } }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + } + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -6499,12 +9973,6 @@ "source-map": "~0.6.1" } }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true - }, "underscore": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", @@ -6517,11 +9985,38 @@ "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=", "dev": true }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", + "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", + "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==", + "dev": true + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "uri-js": { "version": "4.2.2", @@ -6550,6 +10045,16 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, "utile": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", @@ -6594,6 +10099,11 @@ "spdx-expression-parse": "^3.0.0" } }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -6684,12 +10194,6 @@ "string-width": "^1.0.2 || 2" } }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, "winston": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", @@ -6758,6 +10262,15 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, "xmlbuilder": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz", @@ -6785,25 +10298,11 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - } - } + "yamlish": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/yamlish/-/yamlish-0.0.7.tgz", + "integrity": "sha1-tK+aHcxjYYhzw9bkUewyE8OaV/s=", + "dev": true }, "yargs-parser": { "version": "5.0.0", diff --git a/package.json b/package.json index 16046d5..b1a0e4f 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,8 @@ { - "_from": "Advanced Medium Editor", - "_id": "Advanced Medium Editor", + "_from": "Vikids Editor", + "_id": "Vikids Editor", "_inBundle": false, "_integrity": "sha512-he9/TdjX8f8MGdXGfCs8AllrYnqXJJvjNkDKmPg3aPW/uoIrlRqtkFthrwvmd+u4QyzEiadhCCM0EwTiRdUCJw==", - "_location": "/medium-editor", "_phantomChildren": {}, "_requested": { "type": "range", @@ -29,21 +28,31 @@ "deprecated": false, "description": "Medium Editor", "devDependencies": { + "@babel/core": "^7.3.3", + "@babel/preset-env": "^7.3.1", + "babel-eslint": "^10.0.1", + "babel-loader": "^8.0.5", + "babel-preset-env": "^1.7.0", "brfs": "1.4.2", "connect": "3.5.0", + "eslint-config-standard": "^12.0.0", + "eslint-tap": "^2.0.1", "grunt": "0.4.5", "grunt-autoprefixer": "3.0.3", + "grunt-babel": "^8.0.0", "grunt-bump": "0.7.0", "grunt-cli": "1.2.0", + "grunt-concat-css": "^0.3.2", "grunt-contrib-concat": "0.5.1", "grunt-contrib-connect": "0.11.2", "grunt-contrib-csslint": "0.5.0", "grunt-contrib-cssmin": "0.14.0", "grunt-contrib-jasmine": "1.0.3", "grunt-contrib-jshint": "0.11.3", - "grunt-contrib-uglify": "0.11.0", + "grunt-contrib-uglify-es": "git+https://github.com/gruntjs/grunt-contrib-uglify.git#harmony", "grunt-contrib-watch": "0.6.1", "grunt-coveralls": "1.0.0", + "grunt-eslint": "^21.0.0", "grunt-jscs": "2.6.0", "grunt-plato": "1.3.0", "grunt-sass": "1.2.1", @@ -63,8 +72,8 @@ "custom Emoji" ], "license": "MIT", - "main": "dist/js/advanced-medium-editor.js", - "name": "advanced-medium-editor", + "main": "dist/js/vikids-editor.js", + "name": "vikids-editor", "publishConfig": { "registry": "http://registry.npmjs.org/" }, @@ -74,11 +83,21 @@ }, "scripts": { "build": "node node_modules/grunt-cli/bin/grunt", - "start": "open ./index.html", + "start": "nodemon ./bin/www", "serve": "firebase serve", "deploy": "firebase deploy", "test": "node node_modules/grunt-cli/bin/grunt test --verbose", "test:ci": "node node_modules/grunt-cli/bin/grunt travis --verbose" }, - "version": "5.23.3" + "version": "2.0.0", + "dependencies": { + "babel-preset-react": "^6.24.1", + "body-parser": "^1.18.3", + "cookie-parser": "^1.4.4", + "cors": "^2.8.5", + "express": "^4.16.4", + "express-fileupload": "^1.1.3-alpha.2", + "fs": "0.0.1-security", + "morgan": "^1.9.1" + } } diff --git a/reports/jasmine/coverage.json b/reports/jasmine/coverage.json new file mode 100644 index 0000000..01024c5 --- /dev/null +++ b/reports/jasmine/coverage.json @@ -0,0 +1 @@ +{"src/js/globals.js":{"path":"src/js/globals.js","s":{"1":1,"2":0,"3":1},"b":{},"f":{"1":0},"fnMap":{"1":{"name":"MediumEditor","line":2,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":41}}}},"statementMap":{"1":{"start":{"line":2,"column":0},"end":{"line":5,"column":1}},"2":{"start":{"line":4,"column":4},"end":{"line":4,"column":40}},"3":{"start":{"line":7,"column":0},"end":{"line":7,"column":29}}},"branchMap":{}},"src/js/extension.js":{"path":"src/js/extension.js","s":{"1":1,"2":1,"3":0,"4":1,"5":8,"6":8,"7":1,"8":7,"9":0,"10":8,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":1,"19":0,"20":0,"21":0,"22":1,"23":5,"24":0,"25":1},"b":{"1":[1,7],"2":[8,8],"3":[0,0]},"f":{"1":1,"2":0,"3":8,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":5,"11":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":4,"loc":{"start":{"line":4,"column":20},"end":{"line":4,"column":39}}},"3":{"name":"(anonymous_3)","line":8,"loc":{"start":{"line":8,"column":23},"end":{"line":8,"column":45}}},"4":{"name":"(anonymous_4)","line":43,"loc":{"start":{"line":43,"column":20},"end":{"line":43,"column":32}}},"5":{"name":"(anonymous_5)","line":53,"loc":{"start":{"line":53,"column":24},"end":{"line":53,"column":36}}},"6":{"name":"(anonymous_6)","line":76,"loc":{"start":{"line":76,"column":14},"end":{"line":76,"column":26}}},"7":{"name":"(anonymous_7)","line":223,"loc":{"start":{"line":223,"column":27},"end":{"line":223,"column":39}}},"8":{"name":"(anonymous_8)","line":232,"loc":{"start":{"line":232,"column":21},"end":{"line":232,"column":33}}},"9":{"name":"(anonymous_9)","line":241,"loc":{"start":{"line":241,"column":25},"end":{"line":241,"column":43}}},"10":{"name":"(anonymous_10)","line":265,"loc":{"start":{"line":265,"column":14},"end":{"line":265,"column":32}}},"11":{"name":"(anonymous_11)","line":266,"loc":{"start":{"line":266,"column":38},"end":{"line":266,"column":50}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":272,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":6,"column":6}},"3":{"start":{"line":5,"column":8},"end":{"line":5,"column":48}},"4":{"start":{"line":8,"column":4},"end":{"line":66,"column":6}},"5":{"start":{"line":33,"column":8},"end":{"line":34,"column":18}},"6":{"start":{"line":40,"column":8},"end":{"line":46,"column":9}},"7":{"start":{"line":41,"column":12},"end":{"line":41,"column":43}},"8":{"start":{"line":43,"column":12},"end":{"line":45,"column":14}},"9":{"start":{"line":44,"column":16},"end":{"line":44,"column":53}},"10":{"start":{"line":49,"column":8},"end":{"line":49,"column":48}},"11":{"start":{"line":53,"column":8},"end":{"line":55,"column":10}},"12":{"start":{"line":54,"column":12},"end":{"line":54,"column":37}},"13":{"start":{"line":56,"column":8},"end":{"line":56,"column":47}},"14":{"start":{"line":57,"column":8},"end":{"line":57,"column":42}},"15":{"start":{"line":59,"column":8},"end":{"line":61,"column":9}},"16":{"start":{"line":60,"column":12},"end":{"line":60,"column":66}},"17":{"start":{"line":65,"column":8},"end":{"line":65,"column":21}},"18":{"start":{"line":68,"column":4},"end":{"line":244,"column":6}},"19":{"start":{"line":224,"column":12},"end":{"line":224,"column":38}},"20":{"start":{"line":233,"column":12},"end":{"line":233,"column":32}},"21":{"start":{"line":242,"column":12},"end":{"line":242,"column":45}},"22":{"start":{"line":255,"column":4},"end":{"line":269,"column":7}},"23":{"start":{"line":266,"column":8},"end":{"line":268,"column":10}},"24":{"start":{"line":267,"column":12},"end":{"line":267,"column":65}},"25":{"start":{"line":271,"column":4},"end":{"line":271,"column":39}}},"branchMap":{"1":{"line":40,"type":"if","locations":[{"start":{"line":40,"column":8},"end":{"line":40,"column":8}},{"start":{"line":40,"column":8},"end":{"line":40,"column":8}}]},"2":{"line":40,"type":"binary-expr","locations":[{"start":{"line":40,"column":12},"end":{"line":40,"column":22}},{"start":{"line":40,"column":26},"end":{"line":40,"column":66}}]},"3":{"line":59,"type":"if","locations":[{"start":{"line":59,"column":8},"end":{"line":59,"column":8}},{"start":{"line":59,"column":8},"end":{"line":59,"column":8}}]}}},"src/js/selection.js":{"path":"src/js/selection.js","s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":1,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":1},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0,0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0,0],"78":[0,0],"79":[0,0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0,0],"97":[0,0],"98":[0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0,0],"103":[0,0],"104":[0,0],"105":[0,0],"106":[0,0],"107":[0,0],"108":[0,0],"109":[0,0],"110":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"filterOnlyParentElements","line":4,"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":44}}},"3":{"name":"(anonymous_3)","line":13,"loc":{"start":{"line":13,"column":37},"end":{"line":13,"column":83}}},"4":{"name":"(anonymous_4)","line":28,"loc":{"start":{"line":28,"column":29},"end":{"line":28,"column":54}}},"5":{"name":"(anonymous_5)","line":29,"loc":{"start":{"line":29,"column":52},"end":{"line":29,"column":66}}},"6":{"name":"(anonymous_6)","line":36,"loc":{"start":{"line":36,"column":25},"end":{"line":36,"column":46}}},"7":{"name":"(anonymous_7)","line":94,"loc":{"start":{"line":94,"column":25},"end":{"line":94,"column":89}}},"8":{"name":"(anonymous_8)","line":220,"loc":{"start":{"line":220,"column":45},"end":{"line":220,"column":78}}},"9":{"name":"(anonymous_9)","line":221,"loc":{"start":{"line":221,"column":46},"end":{"line":221,"column":62}}},"10":{"name":"(anonymous_10)","line":254,"loc":{"start":{"line":254,"column":45},"end":{"line":254,"column":80}}},"11":{"name":"(anonymous_11)","line":309,"loc":{"start":{"line":309,"column":47},"end":{"line":309,"column":99}}},"12":{"name":"(anonymous_12)","line":360,"loc":{"start":{"line":360,"column":34},"end":{"line":360,"column":56}}},"13":{"name":"(anonymous_13)","line":392,"loc":{"start":{"line":392,"column":31},"end":{"line":392,"column":88}}},"14":{"name":"(anonymous_14)","line":464,"loc":{"start":{"line":464,"column":34},"end":{"line":464,"column":49}}},"15":{"name":"(anonymous_15)","line":490,"loc":{"start":{"line":490,"column":41},"end":{"line":490,"column":66}}},"16":{"name":"(anonymous_16)","line":495,"loc":{"start":{"line":495,"column":60},"end":{"line":495,"column":74}}},"17":{"name":"getSelectionHtml","line":508,"loc":{"start":{"line":508,"column":26},"end":{"line":508,"column":57}}},"18":{"name":"getCaretOffsets","line":531,"loc":{"start":{"line":531,"column":25},"end":{"line":531,"column":66}}},"19":{"name":"(anonymous_19)","line":554,"loc":{"start":{"line":554,"column":32},"end":{"line":554,"column":49}}},"20":{"name":"(anonymous_20)","line":561,"loc":{"start":{"line":561,"column":34},"end":{"line":561,"column":51}}},"21":{"name":"(anonymous_21)","line":580,"loc":{"start":{"line":580,"column":29},"end":{"line":580,"column":44}}},"22":{"name":"(anonymous_22)","line":603,"loc":{"start":{"line":603,"column":91},"end":{"line":603,"column":105}}},"23":{"name":"(anonymous_23)","line":608,"loc":{"start":{"line":608,"column":20},"end":{"line":608,"column":41}}},"24":{"name":"(anonymous_24)","line":614,"loc":{"start":{"line":614,"column":16},"end":{"line":614,"column":75}}},"25":{"name":"(anonymous_25)","line":632,"loc":{"start":{"line":632,"column":24},"end":{"line":632,"column":58}}},"26":{"name":"(anonymous_26)","line":647,"loc":{"start":{"line":647,"column":20},"end":{"line":647,"column":49}}},"27":{"name":"(anonymous_27)","line":651,"loc":{"start":{"line":651,"column":27},"end":{"line":651,"column":52}}},"28":{"name":"(anonymous_28)","line":659,"loc":{"start":{"line":659,"column":21},"end":{"line":659,"column":53}}},"29":{"name":"(anonymous_29)","line":668,"loc":{"start":{"line":668,"column":27},"end":{"line":668,"column":52}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":677,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":10,"column":5}},"3":{"start":{"line":5,"column":8},"end":{"line":9,"column":9}},"4":{"start":{"line":6,"column":12},"end":{"line":6,"column":44}},"5":{"start":{"line":8,"column":12},"end":{"line":8,"column":42}},"6":{"start":{"line":12,"column":4},"end":{"line":674,"column":6}},"7":{"start":{"line":14,"column":12},"end":{"line":16,"column":24}},"8":{"start":{"line":18,"column":12},"end":{"line":20,"column":13}},"9":{"start":{"line":19,"column":16},"end":{"line":19,"column":29}},"10":{"start":{"line":22,"column":12},"end":{"line":22,"column":44}},"11":{"start":{"line":23,"column":12},"end":{"line":23,"column":52}},"12":{"start":{"line":25,"column":12},"end":{"line":25,"column":78}},"13":{"start":{"line":29,"column":12},"end":{"line":31,"column":30}},"14":{"start":{"line":30,"column":16},"end":{"line":30,"column":67}},"15":{"start":{"line":37,"column":12},"end":{"line":39,"column":13}},"16":{"start":{"line":38,"column":16},"end":{"line":38,"column":28}},"17":{"start":{"line":41,"column":12},"end":{"line":42,"column":47}},"18":{"start":{"line":44,"column":12},"end":{"line":79,"column":13}},"19":{"start":{"line":45,"column":16},"end":{"line":47,"column":26}},"20":{"start":{"line":49,"column":16},"end":{"line":49,"column":59}},"21":{"start":{"line":50,"column":16},"end":{"line":50,"column":82}},"22":{"start":{"line":51,"column":16},"end":{"line":51,"column":60}},"23":{"start":{"line":53,"column":16},"end":{"line":56,"column":18}},"24":{"start":{"line":61,"column":16},"end":{"line":63,"column":17}},"25":{"start":{"line":62,"column":20},"end":{"line":62,"column":58}},"26":{"start":{"line":67,"column":16},"end":{"line":67,"column":127}},"27":{"start":{"line":68,"column":16},"end":{"line":70,"column":17}},"28":{"start":{"line":69,"column":20},"end":{"line":69,"column":75}},"29":{"start":{"line":73,"column":16},"end":{"line":78,"column":17}},"30":{"start":{"line":74,"column":20},"end":{"line":74,"column":138}},"31":{"start":{"line":75,"column":20},"end":{"line":77,"column":21}},"32":{"start":{"line":76,"column":24},"end":{"line":76,"column":75}},"33":{"start":{"line":81,"column":12},"end":{"line":81,"column":34}},"34":{"start":{"line":95,"column":12},"end":{"line":97,"column":13}},"35":{"start":{"line":96,"column":16},"end":{"line":96,"column":23}},"36":{"start":{"line":99,"column":12},"end":{"line":99,"column":42}},"37":{"start":{"line":100,"column":12},"end":{"line":100,"column":36}},"38":{"start":{"line":101,"column":12},"end":{"line":101,"column":33}},"39":{"start":{"line":103,"column":12},"end":{"line":112,"column":36}},"40":{"start":{"line":127,"column":12},"end":{"line":129,"column":13}},"41":{"start":{"line":128,"column":16},"end":{"line":128,"column":52}},"42":{"start":{"line":131,"column":12},"end":{"line":197,"column":13}},"43":{"start":{"line":133,"column":16},"end":{"line":136,"column":17}},"44":{"start":{"line":134,"column":20},"end":{"line":134,"column":43}},"45":{"start":{"line":135,"column":20},"end":{"line":135,"column":29}},"46":{"start":{"line":139,"column":16},"end":{"line":192,"column":17}},"47":{"start":{"line":140,"column":20},"end":{"line":140,"column":60}},"48":{"start":{"line":142,"column":20},"end":{"line":156,"column":21}},"49":{"start":{"line":145,"column":24},"end":{"line":155,"column":25}},"50":{"start":{"line":146,"column":28},"end":{"line":146,"column":83}},"51":{"start":{"line":147,"column":28},"end":{"line":147,"column":46}},"52":{"start":{"line":154,"column":28},"end":{"line":154,"column":48}},"53":{"start":{"line":158,"column":20},"end":{"line":165,"column":21}},"54":{"start":{"line":159,"column":24},"end":{"line":164,"column":25}},"55":{"start":{"line":160,"column":28},"end":{"line":160,"column":79}},"56":{"start":{"line":161,"column":28},"end":{"line":161,"column":40}},"57":{"start":{"line":163,"column":28},"end":{"line":163,"column":44}},"58":{"start":{"line":166,"column":20},"end":{"line":166,"column":46}},"59":{"start":{"line":168,"column":20},"end":{"line":181,"column":21}},"60":{"start":{"line":169,"column":24},"end":{"line":171,"column":25}},"61":{"start":{"line":170,"column":28},"end":{"line":170,"column":49}},"62":{"start":{"line":172,"column":24},"end":{"line":180,"column":25}},"63":{"start":{"line":174,"column":28},"end":{"line":174,"column":45}},"64":{"start":{"line":175,"column":28},"end":{"line":177,"column":29}},"65":{"start":{"line":176,"column":32},"end":{"line":176,"column":43}},"66":{"start":{"line":178,"column":28},"end":{"line":178,"column":72}},"67":{"start":{"line":179,"column":28},"end":{"line":179,"column":40}},"68":{"start":{"line":183,"column":20},"end":{"line":191,"column":21}},"69":{"start":{"line":186,"column":24},"end":{"line":186,"column":59}},"70":{"start":{"line":187,"column":24},"end":{"line":190,"column":25}},"71":{"start":{"line":188,"column":28},"end":{"line":188,"column":63}},"72":{"start":{"line":189,"column":28},"end":{"line":189,"column":35}},"73":{"start":{"line":194,"column":16},"end":{"line":196,"column":17}},"74":{"start":{"line":195,"column":20},"end":{"line":195,"column":43}},"75":{"start":{"line":202,"column":12},"end":{"line":205,"column":13}},"76":{"start":{"line":203,"column":16},"end":{"line":203,"column":66}},"77":{"start":{"line":204,"column":16},"end":{"line":204,"column":64}},"78":{"start":{"line":207,"column":12},"end":{"line":209,"column":13}},"79":{"start":{"line":208,"column":16},"end":{"line":208,"column":116}},"80":{"start":{"line":212,"column":12},"end":{"line":214,"column":13}},"81":{"start":{"line":213,"column":16},"end":{"line":213,"column":88}},"82":{"start":{"line":216,"column":12},"end":{"line":216,"column":41}},"83":{"start":{"line":221,"column":12},"end":{"line":223,"column":14}},"84":{"start":{"line":222,"column":16},"end":{"line":222,"column":59}},"85":{"start":{"line":224,"column":12},"end":{"line":248,"column":13}},"86":{"start":{"line":228,"column":16},"end":{"line":229,"column":66}},"87":{"start":{"line":230,"column":16},"end":{"line":237,"column":17}},"88":{"start":{"line":231,"column":20},"end":{"line":236,"column":21}},"89":{"start":{"line":232,"column":24},"end":{"line":232,"column":43}},"90":{"start":{"line":234,"column":24},"end":{"line":234,"column":47}},"91":{"start":{"line":235,"column":24},"end":{"line":235,"column":61}},"92":{"start":{"line":238,"column":16},"end":{"line":247,"column":17}},"93":{"start":{"line":239,"column":20},"end":{"line":239,"column":48}},"94":{"start":{"line":240,"column":20},"end":{"line":244,"column":21}},"95":{"start":{"line":241,"column":24},"end":{"line":243,"column":25}},"96":{"start":{"line":242,"column":28},"end":{"line":242,"column":49}},"97":{"start":{"line":245,"column":20},"end":{"line":245,"column":81}},"98":{"start":{"line":246,"column":20},"end":{"line":246,"column":41}},"99":{"start":{"line":249,"column":12},"end":{"line":249,"column":25}},"100":{"start":{"line":255,"column":12},"end":{"line":259,"column":30}},"101":{"start":{"line":260,"column":12},"end":{"line":260,"column":31}},"102":{"start":{"line":266,"column":12},"end":{"line":270,"column":13}},"103":{"start":{"line":267,"column":16},"end":{"line":267,"column":60}},"104":{"start":{"line":269,"column":16},"end":{"line":269,"column":88}},"105":{"start":{"line":273,"column":12},"end":{"line":291,"column":13}},"106":{"start":{"line":274,"column":16},"end":{"line":290,"column":17}},"107":{"start":{"line":276,"column":20},"end":{"line":278,"column":21}},"108":{"start":{"line":277,"column":24},"end":{"line":277,"column":60}},"109":{"start":{"line":280,"column":20},"end":{"line":280,"column":56}},"110":{"start":{"line":281,"column":20},"end":{"line":281,"column":32}},"111":{"start":{"line":283,"column":20},"end":{"line":285,"column":21}},"112":{"start":{"line":284,"column":24},"end":{"line":284,"column":30}},"113":{"start":{"line":287,"column":20},"end":{"line":289,"column":21}},"114":{"start":{"line":288,"column":24},"end":{"line":288,"column":30}},"115":{"start":{"line":293,"column":12},"end":{"line":295,"column":13}},"116":{"start":{"line":294,"column":16},"end":{"line":294,"column":40}},"117":{"start":{"line":299,"column":12},"end":{"line":299,"column":88}},"118":{"start":{"line":301,"column":12},"end":{"line":301,"column":25}},"119":{"start":{"line":311,"column":12},"end":{"line":313,"column":13}},"120":{"start":{"line":312,"column":16},"end":{"line":312,"column":26}},"121":{"start":{"line":316,"column":12},"end":{"line":316,"column":39}},"122":{"start":{"line":317,"column":12},"end":{"line":319,"column":13}},"123":{"start":{"line":318,"column":16},"end":{"line":318,"column":64}},"124":{"start":{"line":320,"column":12},"end":{"line":335,"column":13}},"125":{"start":{"line":322,"column":16},"end":{"line":324,"column":17}},"126":{"start":{"line":323,"column":20},"end":{"line":323,"column":30}},"127":{"start":{"line":326,"column":16},"end":{"line":326,"column":82}},"128":{"start":{"line":328,"column":16},"end":{"line":334,"column":17}},"129":{"start":{"line":329,"column":20},"end":{"line":329,"column":30}},"130":{"start":{"line":332,"column":21},"end":{"line":334,"column":17}},"131":{"start":{"line":333,"column":20},"end":{"line":333,"column":30}},"132":{"start":{"line":339,"column":12},"end":{"line":341,"column":37}},"133":{"start":{"line":342,"column":12},"end":{"line":353,"column":13}},"134":{"start":{"line":343,"column":16},"end":{"line":343,"column":77}},"135":{"start":{"line":344,"column":16},"end":{"line":346,"column":17}},"136":{"start":{"line":345,"column":20},"end":{"line":345,"column":42}},"137":{"start":{"line":347,"column":16},"end":{"line":349,"column":17}},"138":{"start":{"line":348,"column":20},"end":{"line":348,"column":44}},"139":{"start":{"line":350,"column":16},"end":{"line":352,"column":17}},"140":{"start":{"line":351,"column":20},"end":{"line":351,"column":41}},"141":{"start":{"line":355,"column":12},"end":{"line":355,"column":36}},"142":{"start":{"line":361,"column":12},"end":{"line":363,"column":13}},"143":{"start":{"line":362,"column":16},"end":{"line":362,"column":29}},"144":{"start":{"line":365,"column":12},"end":{"line":367,"column":13}},"145":{"start":{"line":366,"column":16},"end":{"line":366,"column":28}},"146":{"start":{"line":369,"column":12},"end":{"line":369,"column":64}},"147":{"start":{"line":370,"column":12},"end":{"line":372,"column":13}},"148":{"start":{"line":371,"column":16},"end":{"line":371,"column":29}},"149":{"start":{"line":374,"column":12},"end":{"line":374,"column":106}},"150":{"start":{"line":375,"column":12},"end":{"line":387,"column":13}},"151":{"start":{"line":376,"column":16},"end":{"line":376,"column":50}},"152":{"start":{"line":379,"column":16},"end":{"line":381,"column":17}},"153":{"start":{"line":380,"column":20},"end":{"line":380,"column":26}},"154":{"start":{"line":384,"column":16},"end":{"line":386,"column":17}},"155":{"start":{"line":385,"column":20},"end":{"line":385,"column":33}},"156":{"start":{"line":389,"column":12},"end":{"line":389,"column":24}},"157":{"start":{"line":395,"column":12},"end":{"line":397,"column":13}},"158":{"start":{"line":396,"column":16},"end":{"line":396,"column":25}},"159":{"start":{"line":401,"column":12},"end":{"line":403,"column":13}},"160":{"start":{"line":402,"column":16},"end":{"line":402,"column":25}},"161":{"start":{"line":405,"column":12},"end":{"line":405,"column":66}},"162":{"start":{"line":406,"column":12},"end":{"line":408,"column":13}},"163":{"start":{"line":407,"column":16},"end":{"line":407,"column":46}},"164":{"start":{"line":410,"column":12},"end":{"line":417,"column":35}},"165":{"start":{"line":419,"column":12},"end":{"line":457,"column":13}},"166":{"start":{"line":421,"column":16},"end":{"line":424,"column":17}},"167":{"start":{"line":422,"column":20},"end":{"line":422,"column":43}},"168":{"start":{"line":423,"column":20},"end":{"line":423,"column":29}},"169":{"start":{"line":426,"column":16},"end":{"line":452,"column":17}},"170":{"start":{"line":427,"column":20},"end":{"line":427,"column":39}},"171":{"start":{"line":428,"column":20},"end":{"line":428,"column":60}},"172":{"start":{"line":429,"column":20},"end":{"line":431,"column":21}},"173":{"start":{"line":430,"column":24},"end":{"line":430,"column":42}},"174":{"start":{"line":432,"column":20},"end":{"line":434,"column":21}},"175":{"start":{"line":433,"column":24},"end":{"line":433,"column":40}},"176":{"start":{"line":435,"column":20},"end":{"line":435,"column":46}},"177":{"start":{"line":437,"column":20},"end":{"line":439,"column":21}},"178":{"start":{"line":438,"column":24},"end":{"line":438,"column":41}},"179":{"start":{"line":441,"column":20},"end":{"line":451,"column":21}},"180":{"start":{"line":442,"column":24},"end":{"line":442,"column":36}},"181":{"start":{"line":443,"column":27},"end":{"line":451,"column":21}},"182":{"start":{"line":446,"column":24},"end":{"line":446,"column":59}},"183":{"start":{"line":447,"column":24},"end":{"line":450,"column":25}},"184":{"start":{"line":448,"column":28},"end":{"line":448,"column":63}},"185":{"start":{"line":449,"column":28},"end":{"line":449,"column":35}},"186":{"start":{"line":454,"column":16},"end":{"line":456,"column":17}},"187":{"start":{"line":455,"column":20},"end":{"line":455,"column":43}},"188":{"start":{"line":459,"column":12},"end":{"line":459,"column":34}},"189":{"start":{"line":465,"column":12},"end":{"line":465,"column":41}},"190":{"start":{"line":468,"column":12},"end":{"line":470,"column":13}},"191":{"start":{"line":469,"column":16},"end":{"line":469,"column":29}},"192":{"start":{"line":473,"column":12},"end":{"line":475,"column":13}},"193":{"start":{"line":474,"column":16},"end":{"line":474,"column":28}},"194":{"start":{"line":479,"column":12},"end":{"line":479,"column":81}},"195":{"start":{"line":480,"column":12},"end":{"line":485,"column":13}},"196":{"start":{"line":481,"column":16},"end":{"line":484,"column":17}},"197":{"start":{"line":483,"column":20},"end":{"line":483,"column":32}},"198":{"start":{"line":487,"column":12},"end":{"line":487,"column":25}},"199":{"start":{"line":494,"column":12},"end":{"line":501,"column":34}},"200":{"start":{"line":496,"column":20},"end":{"line":496,"column":70}},"201":{"start":{"line":497,"column":20},"end":{"line":499,"column":21}},"202":{"start":{"line":498,"column":24},"end":{"line":498,"column":39}},"203":{"start":{"line":500,"column":20},"end":{"line":500,"column":69}},"204":{"start":{"line":503,"column":12},"end":{"line":503,"column":40}},"205":{"start":{"line":509,"column":12},"end":{"line":513,"column":26}},"206":{"start":{"line":514,"column":12},"end":{"line":520,"column":13}},"207":{"start":{"line":515,"column":16},"end":{"line":515,"column":53}},"208":{"start":{"line":516,"column":16},"end":{"line":518,"column":17}},"209":{"start":{"line":517,"column":20},"end":{"line":517,"column":77}},"210":{"start":{"line":519,"column":16},"end":{"line":519,"column":43}},"211":{"start":{"line":521,"column":12},"end":{"line":521,"column":24}},"212":{"start":{"line":532,"column":12},"end":{"line":532,"column":46}},"213":{"start":{"line":534,"column":12},"end":{"line":536,"column":13}},"214":{"start":{"line":535,"column":16},"end":{"line":535,"column":60}},"215":{"start":{"line":538,"column":12},"end":{"line":538,"column":47}},"216":{"start":{"line":539,"column":12},"end":{"line":539,"column":48}},"217":{"start":{"line":541,"column":12},"end":{"line":541,"column":54}},"218":{"start":{"line":542,"column":12},"end":{"line":542,"column":70}},"219":{"start":{"line":544,"column":12},"end":{"line":544,"column":55}},"220":{"start":{"line":545,"column":12},"end":{"line":545,"column":73}},"221":{"start":{"line":547,"column":12},"end":{"line":550,"column":14}},"222":{"start":{"line":555,"column":12},"end":{"line":555,"column":49}},"223":{"start":{"line":556,"column":12},"end":{"line":558,"column":58}},"224":{"start":{"line":562,"column":12},"end":{"line":564,"column":13}},"225":{"start":{"line":563,"column":16},"end":{"line":563,"column":28}},"226":{"start":{"line":567,"column":12},"end":{"line":569,"column":13}},"227":{"start":{"line":568,"column":16},"end":{"line":568,"column":74}},"228":{"start":{"line":572,"column":12},"end":{"line":574,"column":13}},"229":{"start":{"line":573,"column":16},"end":{"line":573,"column":55}},"230":{"start":{"line":577,"column":12},"end":{"line":577,"column":40}},"231":{"start":{"line":581,"column":12},"end":{"line":584,"column":25}},"232":{"start":{"line":586,"column":12},"end":{"line":588,"column":13}},"233":{"start":{"line":587,"column":16},"end":{"line":587,"column":26}},"234":{"start":{"line":590,"column":12},"end":{"line":590,"column":44}},"235":{"start":{"line":592,"column":12},"end":{"line":601,"column":13}},"236":{"start":{"line":593,"column":16},"end":{"line":593,"column":27}},"237":{"start":{"line":594,"column":16},"end":{"line":594,"column":57}},"238":{"start":{"line":595,"column":16},"end":{"line":598,"column":17}},"239":{"start":{"line":596,"column":20},"end":{"line":596,"column":52}},"240":{"start":{"line":597,"column":20},"end":{"line":597,"column":51}},"241":{"start":{"line":600,"column":16},"end":{"line":600,"column":29}},"242":{"start":{"line":603,"column":12},"end":{"line":605,"column":15}},"243":{"start":{"line":604,"column":16},"end":{"line":604,"column":112}},"244":{"start":{"line":609,"column":12},"end":{"line":609,"column":42}},"245":{"start":{"line":610,"column":12},"end":{"line":610,"column":43}},"246":{"start":{"line":611,"column":12},"end":{"line":611,"column":41}},"247":{"start":{"line":615,"column":12},"end":{"line":615,"column":42}},"248":{"start":{"line":616,"column":12},"end":{"line":616,"column":51}},"249":{"start":{"line":617,"column":12},"end":{"line":621,"column":13}},"250":{"start":{"line":618,"column":16},"end":{"line":618,"column":49}},"251":{"start":{"line":620,"column":16},"end":{"line":620,"column":37}},"252":{"start":{"line":622,"column":12},"end":{"line":622,"column":41}},"253":{"start":{"line":623,"column":12},"end":{"line":623,"column":25}},"254":{"start":{"line":633,"column":12},"end":{"line":637,"column":13}},"255":{"start":{"line":634,"column":16},"end":{"line":634,"column":53}},"256":{"start":{"line":636,"column":16},"end":{"line":636,"column":51}},"257":{"start":{"line":648,"column":12},"end":{"line":648,"column":43}},"258":{"start":{"line":652,"column":12},"end":{"line":652,"column":57}},"259":{"start":{"line":653,"column":12},"end":{"line":655,"column":13}},"260":{"start":{"line":654,"column":16},"end":{"line":654,"column":28}},"261":{"start":{"line":656,"column":12},"end":{"line":656,"column":43}},"262":{"start":{"line":660,"column":12},"end":{"line":660,"column":57}},"263":{"start":{"line":662,"column":12},"end":{"line":662,"column":40}},"264":{"start":{"line":663,"column":12},"end":{"line":663,"column":38}},"265":{"start":{"line":669,"column":12},"end":{"line":670,"column":83}},"266":{"start":{"line":672,"column":12},"end":{"line":672,"column":29}},"267":{"start":{"line":676,"column":4},"end":{"line":676,"column":39}}},"branchMap":{"1":{"line":5,"type":"if","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":8}},{"start":{"line":5,"column":8},"end":{"line":5,"column":8}}]},"2":{"line":18,"type":"if","locations":[{"start":{"line":18,"column":12},"end":{"line":18,"column":12}},{"start":{"line":18,"column":12},"end":{"line":18,"column":12}}]},"3":{"line":37,"type":"if","locations":[{"start":{"line":37,"column":12},"end":{"line":37,"column":12}},{"start":{"line":37,"column":12},"end":{"line":37,"column":12}}]},"4":{"line":44,"type":"if","locations":[{"start":{"line":44,"column":12},"end":{"line":44,"column":12}},{"start":{"line":44,"column":12},"end":{"line":44,"column":12}}]},"5":{"line":61,"type":"if","locations":[{"start":{"line":61,"column":16},"end":{"line":61,"column":16}},{"start":{"line":61,"column":16},"end":{"line":61,"column":16}}]},"6":{"line":68,"type":"if","locations":[{"start":{"line":68,"column":16},"end":{"line":68,"column":16}},{"start":{"line":68,"column":16},"end":{"line":68,"column":16}}]},"7":{"line":73,"type":"if","locations":[{"start":{"line":73,"column":16},"end":{"line":73,"column":16}},{"start":{"line":73,"column":16},"end":{"line":73,"column":16}}]},"8":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":20},"end":{"line":75,"column":20}},{"start":{"line":75,"column":20},"end":{"line":75,"column":20}}]},"9":{"line":95,"type":"if","locations":[{"start":{"line":95,"column":12},"end":{"line":95,"column":12}},{"start":{"line":95,"column":12},"end":{"line":95,"column":12}}]},"10":{"line":95,"type":"binary-expr","locations":[{"start":{"line":95,"column":16},"end":{"line":95,"column":31}},{"start":{"line":95,"column":35},"end":{"line":95,"column":40}}]},"11":{"line":127,"type":"if","locations":[{"start":{"line":127,"column":12},"end":{"line":127,"column":12}},{"start":{"line":127,"column":12},"end":{"line":127,"column":12}}]},"12":{"line":127,"type":"binary-expr","locations":[{"start":{"line":127,"column":16},"end":{"line":127,"column":41}},{"start":{"line":127,"column":45},"end":{"line":127,"column":75}},{"start":{"line":127,"column":79},"end":{"line":127,"column":133}}]},"13":{"line":131,"type":"binary-expr","locations":[{"start":{"line":131,"column":19},"end":{"line":131,"column":24}},{"start":{"line":131,"column":28},"end":{"line":131,"column":32}}]},"14":{"line":133,"type":"if","locations":[{"start":{"line":133,"column":16},"end":{"line":133,"column":16}},{"start":{"line":133,"column":16},"end":{"line":133,"column":16}}]},"15":{"line":139,"type":"if","locations":[{"start":{"line":139,"column":16},"end":{"line":139,"column":16}},{"start":{"line":139,"column":16},"end":{"line":139,"column":16}}]},"16":{"line":139,"type":"binary-expr","locations":[{"start":{"line":139,"column":20},"end":{"line":139,"column":39}},{"start":{"line":139,"column":43},"end":{"line":139,"column":52}}]},"17":{"line":142,"type":"if","locations":[{"start":{"line":142,"column":20},"end":{"line":142,"column":20}},{"start":{"line":142,"column":20},"end":{"line":142,"column":20}}]},"18":{"line":142,"type":"binary-expr","locations":[{"start":{"line":142,"column":24},"end":{"line":142,"column":35}},{"start":{"line":142,"column":39},"end":{"line":142,"column":72}},{"start":{"line":142,"column":76},"end":{"line":142,"column":113}}]},"19":{"line":145,"type":"if","locations":[{"start":{"line":145,"column":24},"end":{"line":145,"column":24}},{"start":{"line":145,"column":24},"end":{"line":145,"column":24}}]},"20":{"line":145,"type":"binary-expr","locations":[{"start":{"line":145,"column":28},"end":{"line":145,"column":56}},{"start":{"line":145,"column":60},"end":{"line":145,"column":96}}]},"21":{"line":158,"type":"if","locations":[{"start":{"line":158,"column":20},"end":{"line":158,"column":20}},{"start":{"line":158,"column":20},"end":{"line":158,"column":20}}]},"22":{"line":158,"type":"binary-expr","locations":[{"start":{"line":158,"column":24},"end":{"line":158,"column":34}},{"start":{"line":158,"column":38},"end":{"line":158,"column":69}},{"start":{"line":158,"column":73},"end":{"line":158,"column":108}}]},"23":{"line":159,"type":"if","locations":[{"start":{"line":159,"column":24},"end":{"line":159,"column":24}},{"start":{"line":159,"column":24},"end":{"line":159,"column":24}}]},"24":{"line":168,"type":"if","locations":[{"start":{"line":168,"column":20},"end":{"line":168,"column":20}},{"start":{"line":168,"column":20},"end":{"line":168,"column":20}}]},"25":{"line":168,"type":"binary-expr","locations":[{"start":{"line":168,"column":24},"end":{"line":168,"column":57}},{"start":{"line":168,"column":61},"end":{"line":168,"column":69}}]},"26":{"line":169,"type":"if","locations":[{"start":{"line":169,"column":24},"end":{"line":169,"column":24}},{"start":{"line":169,"column":24},"end":{"line":169,"column":24}}]},"27":{"line":172,"type":"if","locations":[{"start":{"line":172,"column":24},"end":{"line":172,"column":24}},{"start":{"line":172,"column":24},"end":{"line":172,"column":24}}]},"28":{"line":183,"type":"if","locations":[{"start":{"line":183,"column":20},"end":{"line":183,"column":20}},{"start":{"line":183,"column":20},"end":{"line":183,"column":20}}]},"29":{"line":183,"type":"binary-expr","locations":[{"start":{"line":183,"column":24},"end":{"line":183,"column":29}},{"start":{"line":183,"column":33},"end":{"line":183,"column":52}}]},"30":{"line":194,"type":"if","locations":[{"start":{"line":194,"column":16},"end":{"line":194,"column":16}},{"start":{"line":194,"column":16},"end":{"line":194,"column":16}}]},"31":{"line":202,"type":"if","locations":[{"start":{"line":202,"column":12},"end":{"line":202,"column":12}},{"start":{"line":202,"column":12},"end":{"line":202,"column":12}}]},"32":{"line":202,"type":"binary-expr","locations":[{"start":{"line":202,"column":16},"end":{"line":202,"column":27}},{"start":{"line":202,"column":31},"end":{"line":202,"column":43}}]},"33":{"line":207,"type":"if","locations":[{"start":{"line":207,"column":12},"end":{"line":207,"column":12}},{"start":{"line":207,"column":12},"end":{"line":207,"column":12}}]},"34":{"line":212,"type":"if","locations":[{"start":{"line":212,"column":12},"end":{"line":212,"column":12}},{"start":{"line":212,"column":12},"end":{"line":212,"column":12}}]},"35":{"line":224,"type":"if","locations":[{"start":{"line":224,"column":12},"end":{"line":224,"column":12}},{"start":{"line":224,"column":12},"end":{"line":224,"column":12}}]},"36":{"line":224,"type":"binary-expr","locations":[{"start":{"line":224,"column":16},"end":{"line":224,"column":59}},{"start":{"line":225,"column":20},"end":{"line":225,"column":55}},{"start":{"line":226,"column":20},"end":{"line":226,"column":79}},{"start":{"line":227,"column":20},"end":{"line":227,"column":99}}]},"37":{"line":230,"type":"binary-expr","locations":[{"start":{"line":230,"column":23},"end":{"line":230,"column":43}},{"start":{"line":230,"column":47},"end":{"line":230,"column":89}}]},"38":{"line":231,"type":"if","locations":[{"start":{"line":231,"column":20},"end":{"line":231,"column":20}},{"start":{"line":231,"column":20},"end":{"line":231,"column":20}}]},"39":{"line":238,"type":"if","locations":[{"start":{"line":238,"column":16},"end":{"line":238,"column":16}},{"start":{"line":238,"column":16},"end":{"line":238,"column":16}}]},"40":{"line":238,"type":"binary-expr","locations":[{"start":{"line":238,"column":20},"end":{"line":238,"column":40}},{"start":{"line":238,"column":44},"end":{"line":238,"column":86}}]},"41":{"line":240,"type":"binary-expr","locations":[{"start":{"line":240,"column":36},"end":{"line":240,"column":61}},{"start":{"line":240,"column":65},"end":{"line":240,"column":109}}]},"42":{"line":241,"type":"if","locations":[{"start":{"line":241,"column":24},"end":{"line":241,"column":24}},{"start":{"line":241,"column":24},"end":{"line":241,"column":24}}]},"43":{"line":260,"type":"binary-expr","locations":[{"start":{"line":260,"column":20},"end":{"line":260,"column":25}},{"start":{"line":260,"column":29},"end":{"line":260,"column":30}}]},"44":{"line":266,"type":"if","locations":[{"start":{"line":266,"column":12},"end":{"line":266,"column":12}},{"start":{"line":266,"column":12},"end":{"line":266,"column":12}}]},"45":{"line":266,"type":"binary-expr","locations":[{"start":{"line":266,"column":16},"end":{"line":266,"column":45}},{"start":{"line":266,"column":49},"end":{"line":266,"column":115}}]},"46":{"line":274,"type":"if","locations":[{"start":{"line":274,"column":16},"end":{"line":274,"column":16}},{"start":{"line":274,"column":16},"end":{"line":274,"column":16}}]},"47":{"line":276,"type":"if","locations":[{"start":{"line":276,"column":20},"end":{"line":276,"column":20}},{"start":{"line":276,"column":20},"end":{"line":276,"column":20}}]},"48":{"line":283,"type":"if","locations":[{"start":{"line":283,"column":20},"end":{"line":283,"column":20}},{"start":{"line":283,"column":20},"end":{"line":283,"column":20}}]},"49":{"line":287,"type":"if","locations":[{"start":{"line":287,"column":20},"end":{"line":287,"column":20}},{"start":{"line":287,"column":20},"end":{"line":287,"column":20}}]},"50":{"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}}]},"51":{"line":311,"type":"if","locations":[{"start":{"line":311,"column":12},"end":{"line":311,"column":12}},{"start":{"line":311,"column":12},"end":{"line":311,"column":12}}]},"52":{"line":311,"type":"binary-expr","locations":[{"start":{"line":311,"column":16},"end":{"line":311,"column":54}},{"start":{"line":311,"column":58},"end":{"line":311,"column":74}}]},"53":{"line":317,"type":"if","locations":[{"start":{"line":317,"column":12},"end":{"line":317,"column":12}},{"start":{"line":317,"column":12},"end":{"line":317,"column":12}}]},"54":{"line":320,"type":"if","locations":[{"start":{"line":320,"column":12},"end":{"line":320,"column":12}},{"start":{"line":320,"column":12},"end":{"line":320,"column":12}}]},"55":{"line":322,"type":"if","locations":[{"start":{"line":322,"column":16},"end":{"line":322,"column":16}},{"start":{"line":322,"column":16},"end":{"line":322,"column":16}}]},"56":{"line":328,"type":"if","locations":[{"start":{"line":328,"column":16},"end":{"line":328,"column":16}},{"start":{"line":328,"column":16},"end":{"line":328,"column":16}}]},"57":{"line":332,"type":"if","locations":[{"start":{"line":332,"column":21},"end":{"line":332,"column":21}},{"start":{"line":332,"column":21},"end":{"line":332,"column":21}}]},"58":{"line":344,"type":"if","locations":[{"start":{"line":344,"column":16},"end":{"line":344,"column":16}},{"start":{"line":344,"column":16},"end":{"line":344,"column":16}}]},"59":{"line":344,"type":"binary-expr","locations":[{"start":{"line":344,"column":20},"end":{"line":344,"column":32}},{"start":{"line":344,"column":36},"end":{"line":344,"column":56}}]},"60":{"line":347,"type":"if","locations":[{"start":{"line":347,"column":16},"end":{"line":347,"column":16}},{"start":{"line":347,"column":16},"end":{"line":347,"column":16}}]},"61":{"line":350,"type":"if","locations":[{"start":{"line":350,"column":16},"end":{"line":350,"column":16}},{"start":{"line":350,"column":16},"end":{"line":350,"column":16}}]},"62":{"line":361,"type":"if","locations":[{"start":{"line":361,"column":12},"end":{"line":361,"column":12}},{"start":{"line":361,"column":12},"end":{"line":361,"column":12}}]},"63":{"line":361,"type":"binary-expr","locations":[{"start":{"line":361,"column":16},"end":{"line":361,"column":39}},{"start":{"line":361,"column":43},"end":{"line":361,"column":78}}]},"64":{"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}}]},"65":{"line":370,"type":"if","locations":[{"start":{"line":370,"column":12},"end":{"line":370,"column":12}},{"start":{"line":370,"column":12},"end":{"line":370,"column":12}}]},"66":{"line":379,"type":"if","locations":[{"start":{"line":379,"column":16},"end":{"line":379,"column":16}},{"start":{"line":379,"column":16},"end":{"line":379,"column":16}}]},"67":{"line":384,"type":"if","locations":[{"start":{"line":384,"column":16},"end":{"line":384,"column":16}},{"start":{"line":384,"column":16},"end":{"line":384,"column":16}}]},"68":{"line":395,"type":"if","locations":[{"start":{"line":395,"column":12},"end":{"line":395,"column":12}},{"start":{"line":395,"column":12},"end":{"line":395,"column":12}}]},"69":{"line":395,"type":"binary-expr","locations":[{"start":{"line":395,"column":16},"end":{"line":395,"column":31}},{"start":{"line":395,"column":35},"end":{"line":395,"column":62}}]},"70":{"line":401,"type":"if","locations":[{"start":{"line":401,"column":12},"end":{"line":401,"column":12}},{"start":{"line":401,"column":12},"end":{"line":401,"column":12}}]},"71":{"line":401,"type":"binary-expr","locations":[{"start":{"line":401,"column":16},"end":{"line":401,"column":61}},{"start":{"line":401,"column":65},"end":{"line":401,"column":99}}]},"72":{"line":419,"type":"binary-expr","locations":[{"start":{"line":419,"column":19},"end":{"line":419,"column":24}},{"start":{"line":419,"column":28},"end":{"line":419,"column":32}}]},"73":{"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}}]},"74":{"line":426,"type":"if","locations":[{"start":{"line":426,"column":16},"end":{"line":426,"column":16}},{"start":{"line":426,"column":16},"end":{"line":426,"column":16}}]},"75":{"line":426,"type":"binary-expr","locations":[{"start":{"line":426,"column":20},"end":{"line":426,"column":39}},{"start":{"line":426,"column":43},"end":{"line":426,"column":52}}]},"76":{"line":429,"type":"if","locations":[{"start":{"line":429,"column":20},"end":{"line":429,"column":20}},{"start":{"line":429,"column":20},"end":{"line":429,"column":20}}]},"77":{"line":429,"type":"binary-expr","locations":[{"start":{"line":429,"column":24},"end":{"line":429,"column":35}},{"start":{"line":429,"column":39},"end":{"line":429,"column":72}},{"start":{"line":429,"column":76},"end":{"line":429,"column":113}}]},"78":{"line":432,"type":"if","locations":[{"start":{"line":432,"column":20},"end":{"line":432,"column":20}},{"start":{"line":432,"column":20},"end":{"line":432,"column":20}}]},"79":{"line":432,"type":"binary-expr","locations":[{"start":{"line":432,"column":24},"end":{"line":432,"column":34}},{"start":{"line":432,"column":38},"end":{"line":432,"column":69}},{"start":{"line":432,"column":73},"end":{"line":432,"column":108}}]},"80":{"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}}]},"81":{"line":441,"type":"if","locations":[{"start":{"line":441,"column":20},"end":{"line":441,"column":20}},{"start":{"line":441,"column":20},"end":{"line":441,"column":20}}]},"82":{"line":443,"type":"if","locations":[{"start":{"line":443,"column":27},"end":{"line":443,"column":27}},{"start":{"line":443,"column":27},"end":{"line":443,"column":27}}]},"83":{"line":454,"type":"if","locations":[{"start":{"line":454,"column":16},"end":{"line":454,"column":16}},{"start":{"line":454,"column":16},"end":{"line":454,"column":16}}]},"84":{"line":468,"type":"if","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":12}},{"start":{"line":468,"column":12},"end":{"line":468,"column":12}}]},"85":{"line":468,"type":"binary-expr","locations":[{"start":{"line":468,"column":16},"end":{"line":468,"column":20}},{"start":{"line":468,"column":24},"end":{"line":468,"column":39}},{"start":{"line":468,"column":43},"end":{"line":468,"column":58}}]},"86":{"line":473,"type":"if","locations":[{"start":{"line":473,"column":12},"end":{"line":473,"column":12}},{"start":{"line":473,"column":12},"end":{"line":473,"column":12}}]},"87":{"line":480,"type":"if","locations":[{"start":{"line":480,"column":12},"end":{"line":480,"column":12}},{"start":{"line":480,"column":12},"end":{"line":480,"column":12}}]},"88":{"line":481,"type":"if","locations":[{"start":{"line":481,"column":16},"end":{"line":481,"column":16}},{"start":{"line":481,"column":16},"end":{"line":481,"column":16}}]},"89":{"line":481,"type":"binary-expr","locations":[{"start":{"line":481,"column":20},"end":{"line":481,"column":66}},{"start":{"line":482,"column":21},"end":{"line":482,"column":49}},{"start":{"line":482,"column":53},"end":{"line":482,"column":87}}]},"90":{"line":496,"type":"binary-expr","locations":[{"start":{"line":496,"column":29},"end":{"line":496,"column":31}},{"start":{"line":496,"column":35},"end":{"line":496,"column":69}}]},"91":{"line":497,"type":"if","locations":[{"start":{"line":497,"column":20},"end":{"line":497,"column":20}},{"start":{"line":497,"column":20},"end":{"line":497,"column":20}}]},"92":{"line":500,"type":"binary-expr","locations":[{"start":{"line":500,"column":27},"end":{"line":500,"column":50}},{"start":{"line":500,"column":54},"end":{"line":500,"column":68}}]},"93":{"line":503,"type":"binary-expr","locations":[{"start":{"line":503,"column":19},"end":{"line":503,"column":27}},{"start":{"line":503,"column":31},"end":{"line":503,"column":39}}]},"94":{"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}}]},"95":{"line":534,"type":"if","locations":[{"start":{"line":534,"column":12},"end":{"line":534,"column":12}},{"start":{"line":534,"column":12},"end":{"line":534,"column":12}}]},"96":{"line":556,"type":"binary-expr","locations":[{"start":{"line":556,"column":19},"end":{"line":556,"column":51}},{"start":{"line":557,"column":16},"end":{"line":557,"column":41}},{"start":{"line":558,"column":16},"end":{"line":558,"column":57}}]},"97":{"line":562,"type":"if","locations":[{"start":{"line":562,"column":12},"end":{"line":562,"column":12}},{"start":{"line":562,"column":12},"end":{"line":562,"column":12}}]},"98":{"line":567,"type":"if","locations":[{"start":{"line":567,"column":12},"end":{"line":567,"column":12}},{"start":{"line":567,"column":12},"end":{"line":567,"column":12}}]},"99":{"line":567,"type":"binary-expr","locations":[{"start":{"line":567,"column":16},"end":{"line":567,"column":50}},{"start":{"line":567,"column":54},"end":{"line":567,"column":119}}]},"100":{"line":572,"type":"if","locations":[{"start":{"line":572,"column":12},"end":{"line":572,"column":12}},{"start":{"line":572,"column":12},"end":{"line":572,"column":12}}]},"101":{"line":586,"type":"if","locations":[{"start":{"line":586,"column":12},"end":{"line":586,"column":12}},{"start":{"line":586,"column":12},"end":{"line":586,"column":12}}]},"102":{"line":586,"type":"binary-expr","locations":[{"start":{"line":586,"column":16},"end":{"line":586,"column":37}},{"start":{"line":586,"column":41},"end":{"line":586,"column":62}},{"start":{"line":586,"column":66},"end":{"line":586,"column":114}}]},"103":{"line":592,"type":"if","locations":[{"start":{"line":592,"column":12},"end":{"line":592,"column":12}},{"start":{"line":592,"column":12},"end":{"line":592,"column":12}}]},"104":{"line":595,"type":"binary-expr","locations":[{"start":{"line":595,"column":23},"end":{"line":595,"column":42}},{"start":{"line":595,"column":46},"end":{"line":595,"column":89}}]},"105":{"line":604,"type":"cond-expr","locations":[{"start":{"line":604,"column":72},"end":{"line":604,"column":104}},{"start":{"line":604,"column":107},"end":{"line":604,"column":111}}]},"106":{"line":617,"type":"if","locations":[{"start":{"line":617,"column":12},"end":{"line":617,"column":12}},{"start":{"line":617,"column":12},"end":{"line":617,"column":12}}]},"107":{"line":633,"type":"if","locations":[{"start":{"line":633,"column":12},"end":{"line":633,"column":12}},{"start":{"line":633,"column":12},"end":{"line":633,"column":12}}]},"108":{"line":653,"type":"if","locations":[{"start":{"line":653,"column":12},"end":{"line":653,"column":12}},{"start":{"line":653,"column":12},"end":{"line":653,"column":12}}]},"109":{"line":670,"type":"cond-expr","locations":[{"start":{"line":670,"column":59},"end":{"line":670,"column":74}},{"start":{"line":670,"column":77},"end":{"line":670,"column":81}}]},"110":{"line":670,"type":"binary-expr","locations":[{"start":{"line":670,"column":29},"end":{"line":670,"column":33}},{"start":{"line":670,"column":37},"end":{"line":670,"column":56}}]}}},"src/js/events.js":{"path":"src/js/events.js","s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":1,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":1,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[1,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0,0,0],"14":[0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0,0,0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0,0],"63":[0,0],"64":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"isElementDescendantOfExtension","line":4,"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":65}}},"3":{"name":"(anonymous_3)","line":9,"loc":{"start":{"line":9,"column":31},"end":{"line":9,"column":52}}},"4":{"name":"(anonymous_4)","line":22,"loc":{"start":{"line":22,"column":42},"end":{"line":22,"column":56}}},"5":{"name":"(anonymous_5)","line":28,"loc":{"start":{"line":28,"column":17},"end":{"line":28,"column":37}}},"6":{"name":"(anonymous_6)","line":42,"loc":{"start":{"line":42,"column":24},"end":{"line":42,"column":72}}},"7":{"name":"(anonymous_7)","line":48,"loc":{"start":{"line":48,"column":50},"end":{"line":48,"column":68}}},"8":{"name":"(anonymous_8)","line":54,"loc":{"start":{"line":54,"column":24},"end":{"line":54,"column":72}}},"9":{"name":"(anonymous_9)","line":62,"loc":{"start":{"line":62,"column":54},"end":{"line":62,"column":72}}},"10":{"name":"(anonymous_10)","line":72,"loc":{"start":{"line":72,"column":25},"end":{"line":72,"column":72}}},"11":{"name":"(anonymous_11)","line":83,"loc":{"start":{"line":83,"column":28},"end":{"line":83,"column":40}}},"12":{"name":"(anonymous_12)","line":91,"loc":{"start":{"line":91,"column":36},"end":{"line":91,"column":55}}},"13":{"name":"(anonymous_13)","line":92,"loc":{"start":{"line":92,"column":46},"end":{"line":92,"column":59}}},"14":{"name":"(anonymous_14)","line":103,"loc":{"start":{"line":103,"column":34},"end":{"line":103,"column":53}}},"15":{"name":"(anonymous_15)","line":109,"loc":{"start":{"line":109,"column":41},"end":{"line":109,"column":54}}},"16":{"name":"(anonymous_16)","line":115,"loc":{"start":{"line":115,"column":27},"end":{"line":115,"column":44}}},"17":{"name":"(anonymous_17)","line":121,"loc":{"start":{"line":121,"column":28},"end":{"line":121,"column":45}}},"18":{"name":"(anonymous_18)","line":126,"loc":{"start":{"line":126,"column":27},"end":{"line":126,"column":54}}},"19":{"name":"(anonymous_19)","line":134,"loc":{"start":{"line":134,"column":27},"end":{"line":134,"column":54}}},"20":{"name":"(anonymous_20)","line":142,"loc":{"start":{"line":142,"column":31},"end":{"line":142,"column":58}}},"21":{"name":"(anonymous_21)","line":150,"loc":{"start":{"line":150,"column":31},"end":{"line":150,"column":43}}},"22":{"name":"(anonymous_22)","line":155,"loc":{"start":{"line":155,"column":28},"end":{"line":155,"column":60}}},"23":{"name":"(anonymous_23)","line":157,"loc":{"start":{"line":157,"column":48},"end":{"line":157,"column":68}}},"24":{"name":"(anonymous_24)","line":165,"loc":{"start":{"line":165,"column":17},"end":{"line":165,"column":29}}},"25":{"name":"(anonymous_25)","line":171,"loc":{"start":{"line":171,"column":43},"end":{"line":171,"column":62}}},"26":{"name":"(anonymous_26)","line":180,"loc":{"start":{"line":180,"column":29},"end":{"line":180,"column":41}}},"27":{"name":"(anonymous_27)","line":188,"loc":{"start":{"line":188,"column":39},"end":{"line":188,"column":59}}},"28":{"name":"(anonymous_28)","line":200,"loc":{"start":{"line":200,"column":27},"end":{"line":200,"column":39}}},"29":{"name":"(anonymous_29)","line":219,"loc":{"start":{"line":219,"column":25},"end":{"line":219,"column":37}}},"30":{"name":"(anonymous_30)","line":228,"loc":{"start":{"line":228,"column":32},"end":{"line":228,"column":56}}},"31":{"name":"(anonymous_31)","line":230,"loc":{"start":{"line":230,"column":54},"end":{"line":230,"column":74}}},"32":{"name":"(anonymous_32)","line":246,"loc":{"start":{"line":246,"column":26},"end":{"line":246,"column":38}}},"33":{"name":"(anonymous_33)","line":273,"loc":{"start":{"line":273,"column":27},"end":{"line":273,"column":39}}},"34":{"name":"(anonymous_34)","line":284,"loc":{"start":{"line":284,"column":23},"end":{"line":284,"column":39}}},"35":{"name":"(anonymous_35)","line":307,"loc":{"start":{"line":307,"column":47},"end":{"line":307,"column":66}}},"36":{"name":"(anonymous_36)","line":385,"loc":{"start":{"line":385,"column":29},"end":{"line":385,"column":54}}},"37":{"name":"(anonymous_37)","line":391,"loc":{"start":{"line":391,"column":39},"end":{"line":391,"column":58}}},"38":{"name":"(anonymous_38)","line":398,"loc":{"start":{"line":398,"column":24},"end":{"line":398,"column":43}}},"39":{"name":"(anonymous_39)","line":408,"loc":{"start":{"line":408,"column":22},"end":{"line":408,"column":41}}},"40":{"name":"(anonymous_40)","line":413,"loc":{"start":{"line":413,"column":21},"end":{"line":413,"column":49}}},"41":{"name":"(anonymous_41)","line":428,"loc":{"start":{"line":428,"column":40},"end":{"line":428,"column":59}}},"42":{"name":"(anonymous_42)","line":465,"loc":{"start":{"line":465,"column":21},"end":{"line":465,"column":49}}},"43":{"name":"(anonymous_43)","line":481,"loc":{"start":{"line":481,"column":39},"end":{"line":481,"column":56}}},"44":{"name":"(anonymous_44)","line":491,"loc":{"start":{"line":491,"column":40},"end":{"line":491,"column":59}}},"45":{"name":"(anonymous_45)","line":506,"loc":{"start":{"line":506,"column":35},"end":{"line":506,"column":47}}},"46":{"name":"(anonymous_46)","line":516,"loc":{"start":{"line":516,"column":25},"end":{"line":516,"column":42}}},"47":{"name":"(anonymous_47)","line":520,"loc":{"start":{"line":520,"column":25},"end":{"line":520,"column":42}}},"48":{"name":"(anonymous_48)","line":524,"loc":{"start":{"line":524,"column":29},"end":{"line":524,"column":46}}},"49":{"name":"(anonymous_49)","line":528,"loc":{"start":{"line":528,"column":21},"end":{"line":528,"column":38}}},"50":{"name":"(anonymous_50)","line":532,"loc":{"start":{"line":532,"column":21},"end":{"line":532,"column":38}}},"51":{"name":"(anonymous_51)","line":536,"loc":{"start":{"line":536,"column":20},"end":{"line":536,"column":37}}},"52":{"name":"(anonymous_52)","line":540,"loc":{"start":{"line":540,"column":24},"end":{"line":540,"column":41}}},"53":{"name":"(anonymous_53)","line":550,"loc":{"start":{"line":550,"column":27},"end":{"line":550,"column":39}}},"54":{"name":"(anonymous_54)","line":556,"loc":{"start":{"line":556,"column":21},"end":{"line":556,"column":38}}},"55":{"name":"(anonymous_55)","line":560,"loc":{"start":{"line":560,"column":25},"end":{"line":560,"column":42}}},"56":{"name":"(anonymous_56)","line":564,"loc":{"start":{"line":564,"column":24},"end":{"line":564,"column":41}}},"57":{"name":"(anonymous_57)","line":568,"loc":{"start":{"line":568,"column":20},"end":{"line":568,"column":37}}},"58":{"name":"(anonymous_58)","line":572,"loc":{"start":{"line":572,"column":21},"end":{"line":572,"column":38}}},"59":{"name":"(anonymous_59)","line":576,"loc":{"start":{"line":576,"column":23},"end":{"line":576,"column":40}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":598,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":26,"column":5}},"3":{"start":{"line":5,"column":8},"end":{"line":7,"column":9}},"4":{"start":{"line":6,"column":12},"end":{"line":6,"column":25}},"5":{"start":{"line":9,"column":8},"end":{"line":25,"column":11}},"6":{"start":{"line":10,"column":12},"end":{"line":12,"column":13}},"7":{"start":{"line":11,"column":16},"end":{"line":11,"column":29}},"8":{"start":{"line":14,"column":12},"end":{"line":14,"column":71}},"9":{"start":{"line":15,"column":12},"end":{"line":17,"column":13}},"10":{"start":{"line":16,"column":16},"end":{"line":16,"column":29}},"11":{"start":{"line":19,"column":12},"end":{"line":21,"column":13}},"12":{"start":{"line":20,"column":16},"end":{"line":20,"column":56}},"13":{"start":{"line":22,"column":12},"end":{"line":24,"column":15}},"14":{"start":{"line":23,"column":16},"end":{"line":23,"column":73}},"15":{"start":{"line":28,"column":4},"end":{"line":35,"column":6}},"16":{"start":{"line":29,"column":8},"end":{"line":29,"column":29}},"17":{"start":{"line":30,"column":8},"end":{"line":30,"column":41}},"18":{"start":{"line":31,"column":8},"end":{"line":31,"column":25}},"19":{"start":{"line":32,"column":8},"end":{"line":32,"column":33}},"20":{"start":{"line":33,"column":8},"end":{"line":33,"column":31}},"21":{"start":{"line":34,"column":8},"end":{"line":34,"column":28}},"22":{"start":{"line":37,"column":4},"end":{"line":595,"column":6}},"23":{"start":{"line":43,"column":12},"end":{"line":44,"column":54}},"24":{"start":{"line":46,"column":12},"end":{"line":46,"column":117}},"25":{"start":{"line":48,"column":12},"end":{"line":51,"column":26}},"26":{"start":{"line":49,"column":16},"end":{"line":49,"column":69}},"27":{"start":{"line":50,"column":16},"end":{"line":50,"column":72}},"28":{"start":{"line":55,"column":12},"end":{"line":57,"column":54}},"29":{"start":{"line":59,"column":12},"end":{"line":69,"column":13}},"30":{"start":{"line":60,"column":16},"end":{"line":60,"column":121}},"31":{"start":{"line":62,"column":16},"end":{"line":68,"column":30}},"32":{"start":{"line":63,"column":20},"end":{"line":63,"column":86}},"33":{"start":{"line":64,"column":20},"end":{"line":67,"column":21}},"34":{"start":{"line":65,"column":24},"end":{"line":65,"column":60}},"35":{"start":{"line":66,"column":24},"end":{"line":66,"column":67}},"36":{"start":{"line":73,"column":12},"end":{"line":73,"column":27}},"37":{"start":{"line":74,"column":12},"end":{"line":79,"column":13}},"38":{"start":{"line":75,"column":16},"end":{"line":75,"column":38}},"39":{"start":{"line":76,"column":16},"end":{"line":78,"column":17}},"40":{"start":{"line":77,"column":20},"end":{"line":77,"column":29}},"41":{"start":{"line":80,"column":12},"end":{"line":80,"column":22}},"42":{"start":{"line":84,"column":12},"end":{"line":84,"column":38}},"43":{"start":{"line":85,"column":12},"end":{"line":88,"column":13}},"44":{"start":{"line":86,"column":16},"end":{"line":86,"column":59}},"45":{"start":{"line":87,"column":16},"end":{"line":87,"column":38}},"46":{"start":{"line":92,"column":12},"end":{"line":94,"column":15}},"47":{"start":{"line":93,"column":16},"end":{"line":93,"column":138}},"48":{"start":{"line":96,"column":12},"end":{"line":99,"column":13}},"49":{"start":{"line":97,"column":16},"end":{"line":97,"column":36}},"50":{"start":{"line":98,"column":16},"end":{"line":98,"column":60}},"51":{"start":{"line":104,"column":12},"end":{"line":106,"column":13}},"52":{"start":{"line":105,"column":16},"end":{"line":105,"column":99}},"53":{"start":{"line":108,"column":12},"end":{"line":112,"column":13}},"54":{"start":{"line":109,"column":16},"end":{"line":111,"column":25}},"55":{"start":{"line":110,"column":20},"end":{"line":110,"column":85}},"56":{"start":{"line":116,"column":12},"end":{"line":118,"column":13}},"57":{"start":{"line":117,"column":16},"end":{"line":117,"column":50}},"58":{"start":{"line":122,"column":12},"end":{"line":122,"column":46}},"59":{"start":{"line":127,"column":12},"end":{"line":127,"column":38}},"60":{"start":{"line":128,"column":12},"end":{"line":130,"column":13}},"61":{"start":{"line":129,"column":16},"end":{"line":129,"column":46}},"62":{"start":{"line":131,"column":12},"end":{"line":131,"column":52}},"63":{"start":{"line":135,"column":12},"end":{"line":135,"column":68}},"64":{"start":{"line":136,"column":12},"end":{"line":139,"column":13}},"65":{"start":{"line":137,"column":16},"end":{"line":137,"column":58}},"66":{"start":{"line":143,"column":12},"end":{"line":145,"column":13}},"67":{"start":{"line":144,"column":16},"end":{"line":144,"column":26}},"68":{"start":{"line":147,"column":12},"end":{"line":147,"column":62}},"69":{"start":{"line":151,"column":12},"end":{"line":151,"column":35}},"70":{"start":{"line":156,"column":15},"end":{"line":160,"column":13}},"71":{"start":{"line":157,"column":16},"end":{"line":159,"column":19}},"72":{"start":{"line":158,"column":20},"end":{"line":158,"column":45}},"73":{"start":{"line":166,"column":12},"end":{"line":166,"column":38}},"74":{"start":{"line":167,"column":12},"end":{"line":167,"column":41}},"75":{"start":{"line":168,"column":12},"end":{"line":168,"column":37}},"76":{"start":{"line":170,"column":12},"end":{"line":174,"column":13}},"77":{"start":{"line":171,"column":16},"end":{"line":173,"column":19}},"78":{"start":{"line":172,"column":20},"end":{"line":172,"column":67}},"79":{"start":{"line":181,"column":12},"end":{"line":183,"column":13}},"80":{"start":{"line":182,"column":16},"end":{"line":182,"column":23}},"81":{"start":{"line":188,"column":12},"end":{"line":190,"column":25}},"82":{"start":{"line":189,"column":16},"end":{"line":189,"column":57}},"83":{"start":{"line":193,"column":12},"end":{"line":193,"column":35}},"84":{"start":{"line":196,"column":12},"end":{"line":196,"column":92}},"85":{"start":{"line":201,"column":12},"end":{"line":201,"column":49}},"86":{"start":{"line":202,"column":12},"end":{"line":204,"column":13}},"87":{"start":{"line":203,"column":16},"end":{"line":203,"column":23}},"88":{"start":{"line":207,"column":12},"end":{"line":207,"column":84}},"89":{"start":{"line":208,"column":12},"end":{"line":210,"column":13}},"90":{"start":{"line":209,"column":16},"end":{"line":209,"column":59}},"91":{"start":{"line":213,"column":12},"end":{"line":215,"column":13}},"92":{"start":{"line":214,"column":16},"end":{"line":214,"column":41}},"93":{"start":{"line":220,"column":12},"end":{"line":220,"column":49}},"94":{"start":{"line":223,"column":12},"end":{"line":225,"column":13}},"95":{"start":{"line":224,"column":16},"end":{"line":224,"column":23}},"96":{"start":{"line":228,"column":12},"end":{"line":257,"column":18}},"97":{"start":{"line":229,"column":16},"end":{"line":238,"column":17}},"98":{"start":{"line":230,"column":20},"end":{"line":237,"column":23}},"99":{"start":{"line":231,"column":24},"end":{"line":236,"column":27}},"100":{"start":{"line":247,"column":20},"end":{"line":247,"column":77}},"101":{"start":{"line":249,"column":20},"end":{"line":251,"column":21}},"102":{"start":{"line":250,"column":24},"end":{"line":250,"column":38}},"103":{"start":{"line":253,"column":20},"end":{"line":253,"column":69}},"104":{"start":{"line":254,"column":20},"end":{"line":254,"column":48}},"105":{"start":{"line":256,"column":20},"end":{"line":256,"column":34}},"106":{"start":{"line":260,"column":12},"end":{"line":260,"column":43}},"107":{"start":{"line":263,"column":12},"end":{"line":263,"column":35}},"108":{"start":{"line":266,"column":12},"end":{"line":266,"column":50}},"109":{"start":{"line":269,"column":12},"end":{"line":269,"column":38}},"110":{"start":{"line":274,"column":12},"end":{"line":274,"column":49}},"111":{"start":{"line":275,"column":12},"end":{"line":277,"column":13}},"112":{"start":{"line":276,"column":16},"end":{"line":276,"column":23}},"113":{"start":{"line":280,"column":12},"end":{"line":280,"column":51}},"114":{"start":{"line":285,"column":12},"end":{"line":287,"column":13}},"115":{"start":{"line":286,"column":16},"end":{"line":286,"column":23}},"116":{"start":{"line":289,"column":12},"end":{"line":381,"column":13}},"117":{"start":{"line":292,"column":20},"end":{"line":292,"column":129}},"118":{"start":{"line":293,"column":20},"end":{"line":293,"column":121}},"119":{"start":{"line":294,"column":20},"end":{"line":294,"column":121}},"120":{"start":{"line":295,"column":20},"end":{"line":295,"column":26}},"121":{"start":{"line":298,"column":20},"end":{"line":298,"column":62}},"122":{"start":{"line":299,"column":20},"end":{"line":299,"column":26}},"123":{"start":{"line":302,"column":20},"end":{"line":302,"column":62}},"124":{"start":{"line":303,"column":20},"end":{"line":303,"column":26}},"125":{"start":{"line":306,"column":20},"end":{"line":306,"column":43}},"126":{"start":{"line":307,"column":20},"end":{"line":309,"column":29}},"127":{"start":{"line":308,"column":24},"end":{"line":308,"column":107}},"128":{"start":{"line":312,"column":20},"end":{"line":314,"column":21}},"129":{"start":{"line":313,"column":24},"end":{"line":313,"column":76}},"130":{"start":{"line":318,"column":20},"end":{"line":324,"column":21}},"131":{"start":{"line":319,"column":24},"end":{"line":319,"column":63}},"132":{"start":{"line":320,"column":24},"end":{"line":320,"column":56}},"133":{"start":{"line":321,"column":24},"end":{"line":321,"column":120}},"134":{"start":{"line":323,"column":24},"end":{"line":323,"column":51}},"135":{"start":{"line":325,"column":20},"end":{"line":325,"column":26}},"136":{"start":{"line":328,"column":20},"end":{"line":328,"column":72}},"137":{"start":{"line":329,"column":20},"end":{"line":329,"column":26}},"138":{"start":{"line":332,"column":20},"end":{"line":332,"column":70}},"139":{"start":{"line":333,"column":20},"end":{"line":333,"column":26}},"140":{"start":{"line":336,"column":20},"end":{"line":336,"column":78}},"141":{"start":{"line":337,"column":20},"end":{"line":337,"column":26}},"142":{"start":{"line":340,"column":20},"end":{"line":340,"column":72}},"143":{"start":{"line":341,"column":20},"end":{"line":341,"column":26}},"144":{"start":{"line":344,"column":20},"end":{"line":344,"column":76}},"145":{"start":{"line":345,"column":20},"end":{"line":345,"column":26}},"146":{"start":{"line":348,"column":20},"end":{"line":348,"column":58}},"147":{"start":{"line":349,"column":20},"end":{"line":349,"column":26}},"148":{"start":{"line":352,"column":20},"end":{"line":352,"column":58}},"149":{"start":{"line":353,"column":20},"end":{"line":353,"column":26}},"150":{"start":{"line":356,"column":20},"end":{"line":356,"column":58}},"151":{"start":{"line":357,"column":20},"end":{"line":357,"column":26}},"152":{"start":{"line":360,"column":20},"end":{"line":360,"column":58}},"153":{"start":{"line":361,"column":20},"end":{"line":361,"column":26}},"154":{"start":{"line":364,"column":20},"end":{"line":364,"column":80}},"155":{"start":{"line":365,"column":20},"end":{"line":365,"column":26}},"156":{"start":{"line":370,"column":20},"end":{"line":370,"column":26}},"157":{"start":{"line":382,"column":12},"end":{"line":382,"column":40}},"158":{"start":{"line":387,"column":12},"end":{"line":389,"column":13}},"159":{"start":{"line":388,"column":16},"end":{"line":388,"column":38}},"160":{"start":{"line":391,"column":12},"end":{"line":393,"column":21}},"161":{"start":{"line":392,"column":16},"end":{"line":392,"column":71}},"162":{"start":{"line":395,"column":12},"end":{"line":395,"column":72}},"163":{"start":{"line":399,"column":12},"end":{"line":399,"column":68}},"164":{"start":{"line":400,"column":12},"end":{"line":405,"column":13}},"165":{"start":{"line":401,"column":16},"end":{"line":401,"column":57}},"166":{"start":{"line":402,"column":16},"end":{"line":404,"column":17}},"167":{"start":{"line":403,"column":20},"end":{"line":403,"column":52}},"168":{"start":{"line":409,"column":12},"end":{"line":409,"column":28}},"169":{"start":{"line":410,"column":12},"end":{"line":410,"column":74}},"170":{"start":{"line":414,"column":12},"end":{"line":415,"column":24}},"171":{"start":{"line":419,"column":12},"end":{"line":425,"column":13}},"172":{"start":{"line":424,"column":16},"end":{"line":424,"column":35}},"173":{"start":{"line":427,"column":12},"end":{"line":437,"column":13}},"174":{"start":{"line":428,"column":16},"end":{"line":436,"column":25}},"175":{"start":{"line":430,"column":20},"end":{"line":432,"column":21}},"176":{"start":{"line":431,"column":24},"end":{"line":431,"column":42}},"177":{"start":{"line":435,"column":20},"end":{"line":435,"column":37}},"178":{"start":{"line":440,"column":12},"end":{"line":441,"column":78}},"179":{"start":{"line":443,"column":12},"end":{"line":458,"column":13}},"180":{"start":{"line":446,"column":16},"end":{"line":450,"column":17}},"181":{"start":{"line":448,"column":20},"end":{"line":448,"column":68}},"182":{"start":{"line":449,"column":20},"end":{"line":449,"column":72}},"183":{"start":{"line":453,"column":16},"end":{"line":457,"column":17}},"184":{"start":{"line":455,"column":20},"end":{"line":455,"column":70}},"185":{"start":{"line":456,"column":20},"end":{"line":456,"column":72}},"186":{"start":{"line":460,"column":12},"end":{"line":462,"column":13}},"187":{"start":{"line":461,"column":16},"end":{"line":461,"column":73}},"188":{"start":{"line":466,"column":12},"end":{"line":468,"column":13}},"189":{"start":{"line":467,"column":16},"end":{"line":467,"column":23}},"190":{"start":{"line":471,"column":12},"end":{"line":472,"column":40}},"191":{"start":{"line":474,"column":12},"end":{"line":477,"column":13}},"192":{"start":{"line":476,"column":16},"end":{"line":476,"column":75}},"193":{"start":{"line":478,"column":12},"end":{"line":478,"column":44}},"194":{"start":{"line":486,"column":12},"end":{"line":503,"column":13}},"195":{"start":{"line":487,"column":16},"end":{"line":488,"column":34}},"196":{"start":{"line":491,"column":16},"end":{"line":497,"column":25}},"197":{"start":{"line":492,"column":20},"end":{"line":495,"column":21}},"198":{"start":{"line":493,"column":24},"end":{"line":493,"column":48}},"199":{"start":{"line":494,"column":24},"end":{"line":494,"column":36}},"200":{"start":{"line":496,"column":20},"end":{"line":496,"column":33}},"201":{"start":{"line":500,"column":16},"end":{"line":502,"column":17}},"202":{"start":{"line":501,"column":20},"end":{"line":501,"column":109}},"203":{"start":{"line":510,"column":12},"end":{"line":510,"column":55}},"204":{"start":{"line":511,"column":12},"end":{"line":513,"column":13}},"205":{"start":{"line":512,"column":16},"end":{"line":512,"column":84}},"206":{"start":{"line":517,"column":12},"end":{"line":517,"column":50}},"207":{"start":{"line":521,"column":12},"end":{"line":521,"column":50}},"208":{"start":{"line":525,"column":12},"end":{"line":525,"column":52}},"209":{"start":{"line":529,"column":12},"end":{"line":529,"column":57}},"210":{"start":{"line":533,"column":12},"end":{"line":533,"column":81}},"211":{"start":{"line":537,"column":12},"end":{"line":537,"column":80}},"212":{"start":{"line":541,"column":12},"end":{"line":541,"column":84}},"213":{"start":{"line":545,"column":12},"end":{"line":553,"column":13}},"214":{"start":{"line":546,"column":16},"end":{"line":546,"column":92}},"215":{"start":{"line":550,"column":16},"end":{"line":552,"column":33}},"216":{"start":{"line":551,"column":20},"end":{"line":551,"column":71}},"217":{"start":{"line":557,"column":12},"end":{"line":557,"column":81}},"218":{"start":{"line":561,"column":12},"end":{"line":561,"column":85}},"219":{"start":{"line":565,"column":12},"end":{"line":565,"column":80}},"220":{"start":{"line":569,"column":12},"end":{"line":569,"column":80}},"221":{"start":{"line":573,"column":12},"end":{"line":573,"column":81}},"222":{"start":{"line":577,"column":12},"end":{"line":577,"column":83}},"223":{"start":{"line":579,"column":12},"end":{"line":581,"column":13}},"224":{"start":{"line":580,"column":16},"end":{"line":580,"column":99}},"225":{"start":{"line":583,"column":12},"end":{"line":585,"column":13}},"226":{"start":{"line":584,"column":16},"end":{"line":584,"column":99}},"227":{"start":{"line":587,"column":12},"end":{"line":589,"column":13}},"228":{"start":{"line":588,"column":16},"end":{"line":588,"column":97}},"229":{"start":{"line":591,"column":12},"end":{"line":593,"column":13}},"230":{"start":{"line":592,"column":16},"end":{"line":592,"column":100}},"231":{"start":{"line":597,"column":4},"end":{"line":597,"column":33}}},"branchMap":{"1":{"line":5,"type":"if","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":8}},{"start":{"line":5,"column":8},"end":{"line":5,"column":8}}]},"2":{"line":10,"type":"if","locations":[{"start":{"line":10,"column":12},"end":{"line":10,"column":12}},{"start":{"line":10,"column":12},"end":{"line":10,"column":12}}]},"3":{"line":15,"type":"if","locations":[{"start":{"line":15,"column":12},"end":{"line":15,"column":12}},{"start":{"line":15,"column":12},"end":{"line":15,"column":12}}]},"4":{"line":19,"type":"if","locations":[{"start":{"line":19,"column":12},"end":{"line":19,"column":12}},{"start":{"line":19,"column":12},"end":{"line":19,"column":12}}]},"5":{"line":38,"type":"binary-expr","locations":[{"start":{"line":38,"column":46},"end":{"line":38,"column":69}},{"start":{"line":38,"column":73},"end":{"line":38,"column":98}}]},"6":{"line":46,"type":"cond-expr","locations":[{"start":{"line":46,"column":97},"end":{"line":46,"column":106}},{"start":{"line":46,"column":109},"end":{"line":46,"column":116}}]},"7":{"line":46,"type":"binary-expr","locations":[{"start":{"line":46,"column":22},"end":{"line":46,"column":58}},{"start":{"line":46,"column":62},"end":{"line":46,"column":94}}]},"8":{"line":59,"type":"if","locations":[{"start":{"line":59,"column":12},"end":{"line":59,"column":12}},{"start":{"line":59,"column":12},"end":{"line":59,"column":12}}]},"9":{"line":60,"type":"cond-expr","locations":[{"start":{"line":60,"column":101},"end":{"line":60,"column":110}},{"start":{"line":60,"column":113},"end":{"line":60,"column":120}}]},"10":{"line":60,"type":"binary-expr","locations":[{"start":{"line":60,"column":26},"end":{"line":60,"column":62}},{"start":{"line":60,"column":66},"end":{"line":60,"column":98}}]},"11":{"line":64,"type":"if","locations":[{"start":{"line":64,"column":20},"end":{"line":64,"column":20}},{"start":{"line":64,"column":20},"end":{"line":64,"column":20}}]},"12":{"line":76,"type":"if","locations":[{"start":{"line":76,"column":16},"end":{"line":76,"column":16}},{"start":{"line":76,"column":16},"end":{"line":76,"column":16}}]},"13":{"line":76,"type":"binary-expr","locations":[{"start":{"line":76,"column":20},"end":{"line":76,"column":38}},{"start":{"line":76,"column":42},"end":{"line":76,"column":59}},{"start":{"line":76,"column":63},"end":{"line":76,"column":83}},{"start":{"line":76,"column":87},"end":{"line":76,"column":109}}]},"14":{"line":93,"type":"binary-expr","locations":[{"start":{"line":93,"column":23},"end":{"line":93,"column":24}},{"start":{"line":93,"column":28},"end":{"line":93,"column":45}},{"start":{"line":93,"column":49},"end":{"line":93,"column":137}}]},"15":{"line":104,"type":"if","locations":[{"start":{"line":104,"column":12},"end":{"line":104,"column":12}},{"start":{"line":104,"column":12},"end":{"line":104,"column":12}}]},"16":{"line":108,"type":"if","locations":[{"start":{"line":108,"column":12},"end":{"line":108,"column":12}},{"start":{"line":108,"column":12},"end":{"line":108,"column":12}}]},"17":{"line":116,"type":"if","locations":[{"start":{"line":116,"column":12},"end":{"line":116,"column":12}},{"start":{"line":116,"column":12},"end":{"line":116,"column":12}}]},"18":{"line":128,"type":"if","locations":[{"start":{"line":128,"column":12},"end":{"line":128,"column":12}},{"start":{"line":128,"column":12},"end":{"line":128,"column":12}}]},"19":{"line":136,"type":"if","locations":[{"start":{"line":136,"column":12},"end":{"line":136,"column":12}},{"start":{"line":136,"column":12},"end":{"line":136,"column":12}}]},"20":{"line":143,"type":"if","locations":[{"start":{"line":143,"column":12},"end":{"line":143,"column":12}},{"start":{"line":143,"column":12},"end":{"line":143,"column":12}}]},"21":{"line":143,"type":"binary-expr","locations":[{"start":{"line":143,"column":16},"end":{"line":143,"column":41}},{"start":{"line":143,"column":45},"end":{"line":143,"column":77}}]},"22":{"line":156,"type":"if","locations":[{"start":{"line":156,"column":15},"end":{"line":156,"column":15}},{"start":{"line":156,"column":15},"end":{"line":156,"column":15}}]},"23":{"line":156,"type":"binary-expr","locations":[{"start":{"line":156,"column":19},"end":{"line":156,"column":42}},{"start":{"line":156,"column":46},"end":{"line":156,"column":72}}]},"24":{"line":170,"type":"if","locations":[{"start":{"line":170,"column":12},"end":{"line":170,"column":12}},{"start":{"line":170,"column":12},"end":{"line":170,"column":12}}]},"25":{"line":181,"type":"if","locations":[{"start":{"line":181,"column":12},"end":{"line":181,"column":12}},{"start":{"line":181,"column":12},"end":{"line":181,"column":12}}]},"26":{"line":202,"type":"if","locations":[{"start":{"line":202,"column":12},"end":{"line":202,"column":12}},{"start":{"line":202,"column":12},"end":{"line":202,"column":12}}]},"27":{"line":202,"type":"binary-expr","locations":[{"start":{"line":202,"column":16},"end":{"line":202,"column":41}},{"start":{"line":202,"column":45},"end":{"line":202,"column":71}}]},"28":{"line":208,"type":"if","locations":[{"start":{"line":208,"column":12},"end":{"line":208,"column":12}},{"start":{"line":208,"column":12},"end":{"line":208,"column":12}}]},"29":{"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}}]},"30":{"line":223,"type":"if","locations":[{"start":{"line":223,"column":12},"end":{"line":223,"column":12}},{"start":{"line":223,"column":12},"end":{"line":223,"column":12}}]},"31":{"line":229,"type":"if","locations":[{"start":{"line":229,"column":16},"end":{"line":229,"column":16}},{"start":{"line":229,"column":16},"end":{"line":229,"column":16}}]},"32":{"line":249,"type":"if","locations":[{"start":{"line":249,"column":20},"end":{"line":249,"column":20}},{"start":{"line":249,"column":20},"end":{"line":249,"column":20}}]},"33":{"line":275,"type":"if","locations":[{"start":{"line":275,"column":12},"end":{"line":275,"column":12}},{"start":{"line":275,"column":12},"end":{"line":275,"column":12}}]},"34":{"line":285,"type":"if","locations":[{"start":{"line":285,"column":12},"end":{"line":285,"column":12}},{"start":{"line":285,"column":12},"end":{"line":285,"column":12}}]},"35":{"line":289,"type":"switch","locations":[{"start":{"line":290,"column":16},"end":{"line":295,"column":26}},{"start":{"line":296,"column":16},"end":{"line":299,"column":26}},{"start":{"line":300,"column":16},"end":{"line":303,"column":26}},{"start":{"line":304,"column":16},"end":{"line":325,"column":26}},{"start":{"line":326,"column":16},"end":{"line":329,"column":26}},{"start":{"line":330,"column":16},"end":{"line":333,"column":26}},{"start":{"line":334,"column":16},"end":{"line":337,"column":26}},{"start":{"line":338,"column":16},"end":{"line":341,"column":26}},{"start":{"line":342,"column":16},"end":{"line":345,"column":26}},{"start":{"line":346,"column":16},"end":{"line":349,"column":26}},{"start":{"line":350,"column":16},"end":{"line":353,"column":26}},{"start":{"line":354,"column":16},"end":{"line":357,"column":26}},{"start":{"line":358,"column":16},"end":{"line":361,"column":26}},{"start":{"line":362,"column":16},"end":{"line":365,"column":26}},{"start":{"line":366,"column":16},"end":{"line":370,"column":26}}]},"36":{"line":312,"type":"if","locations":[{"start":{"line":312,"column":20},"end":{"line":312,"column":20}},{"start":{"line":312,"column":20},"end":{"line":312,"column":20}}]},"37":{"line":318,"type":"if","locations":[{"start":{"line":318,"column":20},"end":{"line":318,"column":20}},{"start":{"line":318,"column":20},"end":{"line":318,"column":20}}]},"38":{"line":387,"type":"if","locations":[{"start":{"line":387,"column":12},"end":{"line":387,"column":12}},{"start":{"line":387,"column":12},"end":{"line":387,"column":12}}]},"39":{"line":400,"type":"if","locations":[{"start":{"line":400,"column":12},"end":{"line":400,"column":12}},{"start":{"line":400,"column":12},"end":{"line":400,"column":12}}]},"40":{"line":402,"type":"if","locations":[{"start":{"line":402,"column":16},"end":{"line":402,"column":16}},{"start":{"line":402,"column":16},"end":{"line":402,"column":16}}]},"41":{"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}}]},"42":{"line":419,"type":"binary-expr","locations":[{"start":{"line":419,"column":16},"end":{"line":419,"column":24}},{"start":{"line":420,"column":16},"end":{"line":420,"column":41}},{"start":{"line":421,"column":16},"end":{"line":421,"column":40}},{"start":{"line":422,"column":17},"end":{"line":422,"column":89}},{"start":{"line":423,"column":20},"end":{"line":423,"column":98}}]},"43":{"line":427,"type":"if","locations":[{"start":{"line":427,"column":12},"end":{"line":427,"column":12}},{"start":{"line":427,"column":12},"end":{"line":427,"column":12}}]},"44":{"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}}]},"45":{"line":430,"type":"binary-expr","locations":[{"start":{"line":430,"column":24},"end":{"line":430,"column":32}},{"start":{"line":430,"column":37},"end":{"line":430,"column":90}}]},"46":{"line":440,"type":"binary-expr","locations":[{"start":{"line":440,"column":32},"end":{"line":440,"column":87}},{"start":{"line":441,"column":16},"end":{"line":441,"column":77}}]},"47":{"line":443,"type":"if","locations":[{"start":{"line":443,"column":12},"end":{"line":443,"column":12}},{"start":{"line":443,"column":12},"end":{"line":443,"column":12}}]},"48":{"line":446,"type":"if","locations":[{"start":{"line":446,"column":16},"end":{"line":446,"column":16}},{"start":{"line":446,"column":16},"end":{"line":446,"column":16}}]},"49":{"line":446,"type":"binary-expr","locations":[{"start":{"line":446,"column":20},"end":{"line":446,"column":28}},{"start":{"line":446,"column":32},"end":{"line":446,"column":45}}]},"50":{"line":453,"type":"if","locations":[{"start":{"line":453,"column":16},"end":{"line":453,"column":16}},{"start":{"line":453,"column":16},"end":{"line":453,"column":16}}]},"51":{"line":460,"type":"if","locations":[{"start":{"line":460,"column":12},"end":{"line":460,"column":12}},{"start":{"line":460,"column":12},"end":{"line":460,"column":12}}]},"52":{"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}}]},"53":{"line":474,"type":"if","locations":[{"start":{"line":474,"column":12},"end":{"line":474,"column":12}},{"start":{"line":474,"column":12},"end":{"line":474,"column":12}}]},"54":{"line":486,"type":"if","locations":[{"start":{"line":486,"column":12},"end":{"line":486,"column":12}},{"start":{"line":486,"column":12},"end":{"line":486,"column":12}}]},"55":{"line":486,"type":"binary-expr","locations":[{"start":{"line":486,"column":16},"end":{"line":486,"column":35}},{"start":{"line":486,"column":39},"end":{"line":486,"column":72}}]},"56":{"line":492,"type":"if","locations":[{"start":{"line":492,"column":20},"end":{"line":492,"column":20}},{"start":{"line":492,"column":20},"end":{"line":492,"column":20}}]},"57":{"line":500,"type":"if","locations":[{"start":{"line":500,"column":16},"end":{"line":500,"column":16}},{"start":{"line":500,"column":16},"end":{"line":500,"column":16}}]},"58":{"line":511,"type":"if","locations":[{"start":{"line":511,"column":12},"end":{"line":511,"column":12}},{"start":{"line":511,"column":12},"end":{"line":511,"column":12}}]},"59":{"line":545,"type":"if","locations":[{"start":{"line":545,"column":12},"end":{"line":545,"column":12}},{"start":{"line":545,"column":12},"end":{"line":545,"column":12}}]},"60":{"line":579,"type":"if","locations":[{"start":{"line":579,"column":12},"end":{"line":579,"column":12}},{"start":{"line":579,"column":12},"end":{"line":579,"column":12}}]},"61":{"line":583,"type":"if","locations":[{"start":{"line":583,"column":12},"end":{"line":583,"column":12}},{"start":{"line":583,"column":12},"end":{"line":583,"column":12}}]},"62":{"line":583,"type":"binary-expr","locations":[{"start":{"line":583,"column":16},"end":{"line":583,"column":79}},{"start":{"line":583,"column":84},"end":{"line":583,"column":97}},{"start":{"line":583,"column":101},"end":{"line":583,"column":160}}]},"63":{"line":587,"type":"if","locations":[{"start":{"line":587,"column":12},"end":{"line":587,"column":12}},{"start":{"line":587,"column":12},"end":{"line":587,"column":12}}]},"64":{"line":591,"type":"if","locations":[{"start":{"line":591,"column":12},"end":{"line":591,"column":12}},{"start":{"line":591,"column":12},"end":{"line":591,"column":12}}]}}},"src/js/extensions/button.js":{"path":"src/js/extensions/button.js","s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":92,"loc":{"start":{"line":92,"column":21},"end":{"line":92,"column":40}}},"3":{"name":"(anonymous_3)","line":100,"loc":{"start":{"line":100,"column":14},"end":{"line":100,"column":26}}},"4":{"name":"(anonymous_4)","line":114,"loc":{"start":{"line":114,"column":19},"end":{"line":114,"column":31}}},"5":{"name":"(anonymous_5)","line":118,"loc":{"start":{"line":118,"column":19},"end":{"line":118,"column":31}}},"6":{"name":"(anonymous_6)","line":122,"loc":{"start":{"line":122,"column":17},"end":{"line":122,"column":29}}},"7":{"name":"(anonymous_7)","line":126,"loc":{"start":{"line":126,"column":21},"end":{"line":126,"column":33}}},"8":{"name":"(anonymous_8)","line":130,"loc":{"start":{"line":130,"column":22},"end":{"line":130,"column":34}}},"9":{"name":"(anonymous_9)","line":139,"loc":{"start":{"line":139,"column":39},"end":{"line":139,"column":60}}},"10":{"name":"(anonymous_10)","line":151,"loc":{"start":{"line":151,"column":48},"end":{"line":151,"column":64}}},"11":{"name":"(anonymous_11)","line":163,"loc":{"start":{"line":163,"column":21},"end":{"line":163,"column":38}}},"12":{"name":"(anonymous_12)","line":174,"loc":{"start":{"line":174,"column":18},"end":{"line":174,"column":30}}},"13":{"name":"(anonymous_13)","line":178,"loc":{"start":{"line":178,"column":21},"end":{"line":178,"column":33}}},"14":{"name":"(anonymous_14)","line":183,"loc":{"start":{"line":183,"column":19},"end":{"line":183,"column":31}}},"15":{"name":"(anonymous_15)","line":188,"loc":{"start":{"line":188,"column":27},"end":{"line":188,"column":39}}},"16":{"name":"(anonymous_16)","line":196,"loc":{"start":{"line":196,"column":26},"end":{"line":196,"column":42}}},"17":{"name":"(anonymous_17)","line":213,"loc":{"start":{"line":213,"column":34},"end":{"line":213,"column":49}}},"18":{"name":"(anonymous_18)","line":230,"loc":{"start":{"line":230,"column":29},"end":{"line":230,"column":45}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":235,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":228,"column":7}},"3":{"start":{"line":93,"column":12},"end":{"line":97,"column":13}},"4":{"start":{"line":94,"column":16},"end":{"line":94,"column":74}},"5":{"start":{"line":96,"column":16},"end":{"line":96,"column":59}},"6":{"start":{"line":101,"column":12},"end":{"line":101,"column":73}},"7":{"start":{"line":103,"column":12},"end":{"line":103,"column":46}},"8":{"start":{"line":104,"column":12},"end":{"line":104,"column":71}},"9":{"start":{"line":115,"column":12},"end":{"line":115,"column":31}},"10":{"start":{"line":119,"column":12},"end":{"line":119,"column":102}},"11":{"start":{"line":123,"column":12},"end":{"line":123,"column":96}},"12":{"start":{"line":127,"column":12},"end":{"line":127,"column":108}},"13":{"start":{"line":131,"column":12},"end":{"line":134,"column":68}},"14":{"start":{"line":136,"column":12},"end":{"line":136,"column":57}},"15":{"start":{"line":137,"column":12},"end":{"line":137,"column":70}},"16":{"start":{"line":138,"column":12},"end":{"line":142,"column":13}},"17":{"start":{"line":139,"column":16},"end":{"line":141,"column":19}},"18":{"start":{"line":140,"column":20},"end":{"line":140,"column":52}},"19":{"start":{"line":145,"column":12},"end":{"line":145,"column":65}},"20":{"start":{"line":146,"column":12},"end":{"line":149,"column":13}},"21":{"start":{"line":147,"column":16},"end":{"line":147,"column":56}},"22":{"start":{"line":148,"column":16},"end":{"line":148,"column":61}},"23":{"start":{"line":150,"column":12},"end":{"line":154,"column":13}},"24":{"start":{"line":151,"column":16},"end":{"line":153,"column":25}},"25":{"start":{"line":152,"column":20},"end":{"line":152,"column":64}},"26":{"start":{"line":156,"column":12},"end":{"line":158,"column":13}},"27":{"start":{"line":157,"column":16},"end":{"line":157,"column":41}},"28":{"start":{"line":159,"column":12},"end":{"line":159,"column":39}},"29":{"start":{"line":160,"column":12},"end":{"line":160,"column":26}},"30":{"start":{"line":164,"column":12},"end":{"line":164,"column":35}},"31":{"start":{"line":165,"column":12},"end":{"line":165,"column":36}},"32":{"start":{"line":167,"column":12},"end":{"line":167,"column":42}},"33":{"start":{"line":169,"column":12},"end":{"line":171,"column":13}},"34":{"start":{"line":170,"column":16},"end":{"line":170,"column":40}},"35":{"start":{"line":175,"column":12},"end":{"line":175,"column":93}},"36":{"start":{"line":179,"column":12},"end":{"line":179,"column":84}},"37":{"start":{"line":180,"column":12},"end":{"line":180,"column":35}},"38":{"start":{"line":184,"column":12},"end":{"line":184,"column":81}},"39":{"start":{"line":185,"column":12},"end":{"line":185,"column":35}},"40":{"start":{"line":189,"column":12},"end":{"line":189,"column":34}},"41":{"start":{"line":190,"column":12},"end":{"line":192,"column":13}},"42":{"start":{"line":191,"column":16},"end":{"line":191,"column":75}},"43":{"start":{"line":193,"column":12},"end":{"line":193,"column":30}},"44":{"start":{"line":197,"column":12},"end":{"line":200,"column":30}},"45":{"start":{"line":202,"column":12},"end":{"line":204,"column":13}},"46":{"start":{"line":203,"column":16},"end":{"line":203,"column":39}},"47":{"start":{"line":206,"column":12},"end":{"line":208,"column":13}},"48":{"start":{"line":207,"column":16},"end":{"line":207,"column":79}},"49":{"start":{"line":210,"column":12},"end":{"line":224,"column":13}},"50":{"start":{"line":211,"column":16},"end":{"line":211,"column":56}},"51":{"start":{"line":212,"column":16},"end":{"line":212,"column":107}},"52":{"start":{"line":213,"column":16},"end":{"line":223,"column":25}},"53":{"start":{"line":214,"column":20},"end":{"line":222,"column":21}},"54":{"start":{"line":215,"column":24},"end":{"line":215,"column":70}},"55":{"start":{"line":219,"column":24},"end":{"line":221,"column":25}},"56":{"start":{"line":220,"column":28},"end":{"line":220,"column":54}},"57":{"start":{"line":226,"column":12},"end":{"line":226,"column":27}},"58":{"start":{"line":230,"column":4},"end":{"line":232,"column":6}},"59":{"start":{"line":231,"column":8},"end":{"line":231,"column":116}},"60":{"start":{"line":234,"column":4},"end":{"line":234,"column":44}}},"branchMap":{"1":{"line":93,"type":"if","locations":[{"start":{"line":93,"column":12},"end":{"line":93,"column":12}},{"start":{"line":93,"column":12},"end":{"line":93,"column":12}}]},"2":{"line":119,"type":"cond-expr","locations":[{"start":{"line":119,"column":57},"end":{"line":119,"column":87}},{"start":{"line":119,"column":90},"end":{"line":119,"column":101}}]},"3":{"line":123,"type":"cond-expr","locations":[{"start":{"line":123,"column":55},"end":{"line":123,"column":83}},{"start":{"line":123,"column":86},"end":{"line":123,"column":95}}]},"4":{"line":127,"type":"cond-expr","locations":[{"start":{"line":127,"column":59},"end":{"line":127,"column":91}},{"start":{"line":127,"column":94},"end":{"line":127,"column":107}}]},"5":{"line":138,"type":"if","locations":[{"start":{"line":138,"column":12},"end":{"line":138,"column":12}},{"start":{"line":138,"column":12},"end":{"line":138,"column":12}}]},"6":{"line":146,"type":"if","locations":[{"start":{"line":146,"column":12},"end":{"line":146,"column":12}},{"start":{"line":146,"column":12},"end":{"line":146,"column":12}}]},"7":{"line":150,"type":"if","locations":[{"start":{"line":150,"column":12},"end":{"line":150,"column":12}},{"start":{"line":150,"column":12},"end":{"line":150,"column":12}}]},"8":{"line":156,"type":"if","locations":[{"start":{"line":156,"column":12},"end":{"line":156,"column":12}},{"start":{"line":156,"column":12},"end":{"line":156,"column":12}}]},"9":{"line":156,"type":"binary-expr","locations":[{"start":{"line":156,"column":16},"end":{"line":156,"column":46}},{"start":{"line":156,"column":50},"end":{"line":156,"column":64}}]},"10":{"line":169,"type":"if","locations":[{"start":{"line":169,"column":12},"end":{"line":169,"column":12}},{"start":{"line":169,"column":12},"end":{"line":169,"column":12}}]},"11":{"line":190,"type":"if","locations":[{"start":{"line":190,"column":12},"end":{"line":190,"column":12}},{"start":{"line":190,"column":12},"end":{"line":190,"column":12}}]},"12":{"line":202,"type":"if","locations":[{"start":{"line":202,"column":12},"end":{"line":202,"column":12}},{"start":{"line":202,"column":12},"end":{"line":202,"column":12}}]},"13":{"line":202,"type":"binary-expr","locations":[{"start":{"line":202,"column":16},"end":{"line":202,"column":41}},{"start":{"line":202,"column":45},"end":{"line":202,"column":69}}]},"14":{"line":206,"type":"if","locations":[{"start":{"line":206,"column":12},"end":{"line":206,"column":12}},{"start":{"line":206,"column":12},"end":{"line":206,"column":12}}]},"15":{"line":206,"type":"binary-expr","locations":[{"start":{"line":206,"column":16},"end":{"line":206,"column":24}},{"start":{"line":206,"column":28},"end":{"line":206,"column":47}}]},"16":{"line":210,"type":"if","locations":[{"start":{"line":210,"column":12},"end":{"line":210,"column":12}},{"start":{"line":210,"column":12},"end":{"line":210,"column":12}}]},"17":{"line":210,"type":"binary-expr","locations":[{"start":{"line":210,"column":16},"end":{"line":210,"column":24}},{"start":{"line":210,"column":28},"end":{"line":210,"column":38}}]},"18":{"line":214,"type":"if","locations":[{"start":{"line":214,"column":20},"end":{"line":214,"column":20}},{"start":{"line":214,"column":20},"end":{"line":214,"column":20}}]},"19":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":24},"end":{"line":219,"column":24}},{"start":{"line":219,"column":24},"end":{"line":219,"column":24}}]},"20":{"line":219,"type":"binary-expr","locations":[{"start":{"line":219,"column":28},"end":{"line":219,"column":35}},{"start":{"line":219,"column":39},"end":{"line":219,"column":76}}]},"21":{"line":231,"type":"binary-expr","locations":[{"start":{"line":231,"column":16},"end":{"line":231,"column":40}},{"start":{"line":231,"column":45},"end":{"line":231,"column":115}}]}}},"src/js/defaults/buttons.js":{"path":"src/js/defaults/buttons.js","s":{"1":1,"2":1},"b":{},"f":{"1":1},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":258,"column":5}},"2":{"start":{"line":7,"column":4},"end":{"line":256,"column":6}}},"branchMap":{}},"src/js/extensions/form.js":{"path":"src/js/extensions/form.js","s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":9,"loc":{"start":{"line":9,"column":14},"end":{"line":9,"column":26}}},"3":{"name":"(anonymous_3)","line":37,"loc":{"start":{"line":37,"column":17},"end":{"line":37,"column":29}}},"4":{"name":"(anonymous_4)","line":44,"loc":{"start":{"line":44,"column":21},"end":{"line":44,"column":33}}},"5":{"name":"(anonymous_5)","line":56,"loc":{"start":{"line":56,"column":18},"end":{"line":56,"column":30}}},"6":{"name":"(anonymous_6)","line":67,"loc":{"start":{"line":67,"column":18},"end":{"line":67,"column":30}}},"7":{"name":"(anonymous_7)","line":85,"loc":{"start":{"line":85,"column":35},"end":{"line":85,"column":47}}},"8":{"name":"(anonymous_8)","line":98,"loc":{"start":{"line":98,"column":35},"end":{"line":98,"column":47}}},"9":{"name":"(anonymous_9)","line":111,"loc":{"start":{"line":111,"column":28},"end":{"line":111,"column":40}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":120,"column":5}},"2":{"start":{"line":7,"column":4},"end":{"line":117,"column":7}},"3":{"start":{"line":10,"column":12},"end":{"line":10,"column":81}},"4":{"start":{"line":45,"column":12},"end":{"line":47,"column":13}},"5":{"start":{"line":46,"column":16},"end":{"line":46,"column":75}},"6":{"start":{"line":48,"column":12},"end":{"line":48,"column":25}},"7":{"start":{"line":57,"column":12},"end":{"line":59,"column":13}},"8":{"start":{"line":58,"column":16},"end":{"line":58,"column":63}},"9":{"start":{"line":68,"column":12},"end":{"line":70,"column":13}},"10":{"start":{"line":69,"column":16},"end":{"line":69,"column":66}},"11":{"start":{"line":86,"column":12},"end":{"line":86,"column":66}},"12":{"start":{"line":87,"column":12},"end":{"line":89,"column":13}},"13":{"start":{"line":88,"column":16},"end":{"line":88,"column":52}},"14":{"start":{"line":99,"column":12},"end":{"line":99,"column":66}},"15":{"start":{"line":100,"column":12},"end":{"line":102,"column":13}},"16":{"start":{"line":101,"column":16},"end":{"line":101,"column":52}},"17":{"start":{"line":112,"column":12},"end":{"line":112,"column":66}},"18":{"start":{"line":113,"column":12},"end":{"line":115,"column":13}},"19":{"start":{"line":114,"column":16},"end":{"line":114,"column":45}},"20":{"start":{"line":119,"column":4},"end":{"line":119,"column":49}}},"branchMap":{"1":{"line":45,"type":"if","locations":[{"start":{"line":45,"column":12},"end":{"line":45,"column":12}},{"start":{"line":45,"column":12},"end":{"line":45,"column":12}}]},"2":{"line":57,"type":"if","locations":[{"start":{"line":57,"column":12},"end":{"line":57,"column":12}},{"start":{"line":57,"column":12},"end":{"line":57,"column":12}}]},"3":{"line":68,"type":"if","locations":[{"start":{"line":68,"column":12},"end":{"line":68,"column":12}},{"start":{"line":68,"column":12},"end":{"line":68,"column":12}}]},"4":{"line":87,"type":"if","locations":[{"start":{"line":87,"column":12},"end":{"line":87,"column":12}},{"start":{"line":87,"column":12},"end":{"line":87,"column":12}}]},"5":{"line":100,"type":"if","locations":[{"start":{"line":100,"column":12},"end":{"line":100,"column":12}},{"start":{"line":100,"column":12},"end":{"line":100,"column":12}}]},"6":{"line":113,"type":"if","locations":[{"start":{"line":113,"column":12},"end":{"line":113,"column":12}},{"start":{"line":113,"column":12},"end":{"line":113,"column":12}}]}}},"src/js/extensions/anchor.js":{"path":"src/js/extensions/anchor.js","s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0},"b":{"1":[0,0],"2":[0,0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":48,"loc":{"start":{"line":48,"column":14},"end":{"line":48,"column":26}}},"3":{"name":"(anonymous_3)","line":56,"loc":{"start":{"line":56,"column":21},"end":{"line":56,"column":38}}},"4":{"name":"(anonymous_4)","line":76,"loc":{"start":{"line":76,"column":23},"end":{"line":76,"column":40}}},"5":{"name":"(anonymous_5)","line":83,"loc":{"start":{"line":83,"column":17},"end":{"line":83,"column":29}}},"6":{"name":"(anonymous_6)","line":90,"loc":{"start":{"line":90,"column":21},"end":{"line":90,"column":33}}},"7":{"name":"(anonymous_7)","line":139,"loc":{"start":{"line":139,"column":21},"end":{"line":139,"column":33}}},"8":{"name":"(anonymous_8)","line":143,"loc":{"start":{"line":143,"column":18},"end":{"line":143,"column":30}}},"9":{"name":"(anonymous_9)","line":148,"loc":{"start":{"line":148,"column":18},"end":{"line":148,"column":34}}},"10":{"name":"(anonymous_10)","line":185,"loc":{"start":{"line":185,"column":17},"end":{"line":185,"column":29}}},"11":{"name":"(anonymous_11)","line":199,"loc":{"start":{"line":199,"column":21},"end":{"line":199,"column":33}}},"12":{"name":"(anonymous_12)","line":223,"loc":{"start":{"line":223,"column":20},"end":{"line":223,"column":32}}},"13":{"name":"(anonymous_13)","line":228,"loc":{"start":{"line":228,"column":26},"end":{"line":228,"column":42}}},"14":{"name":"(anonymous_14)","line":234,"loc":{"start":{"line":234,"column":26},"end":{"line":234,"column":41}}},"15":{"name":"(anonymous_15)","line":238,"loc":{"start":{"line":238,"column":35},"end":{"line":238,"column":50}}},"16":{"name":"(anonymous_16)","line":242,"loc":{"start":{"line":242,"column":28},"end":{"line":242,"column":45}}},"17":{"name":"(anonymous_17)","line":250,"loc":{"start":{"line":250,"column":28},"end":{"line":250,"column":51}}},"18":{"name":"(anonymous_18)","line":254,"loc":{"start":{"line":254,"column":25},"end":{"line":254,"column":42}}},"19":{"name":"(anonymous_19)","line":291,"loc":{"start":{"line":291,"column":22},"end":{"line":291,"column":34}}},"20":{"name":"(anonymous_20)","line":297,"loc":{"start":{"line":297,"column":26},"end":{"line":297,"column":42}}},"21":{"name":"(anonymous_21)","line":316,"loc":{"start":{"line":316,"column":20},"end":{"line":316,"column":32}}},"22":{"name":"(anonymous_22)","line":329,"loc":{"start":{"line":329,"column":18},"end":{"line":329,"column":30}}},"23":{"name":"(anonymous_23)","line":333,"loc":{"start":{"line":333,"column":33},"end":{"line":333,"column":45}}},"24":{"name":"(anonymous_24)","line":337,"loc":{"start":{"line":337,"column":33},"end":{"line":337,"column":45}}},"25":{"name":"(anonymous_25)","line":341,"loc":{"start":{"line":341,"column":28},"end":{"line":341,"column":45}}},"26":{"name":"(anonymous_26)","line":356,"loc":{"start":{"line":356,"column":25},"end":{"line":356,"column":42}}},"27":{"name":"(anonymous_27)","line":361,"loc":{"start":{"line":361,"column":25},"end":{"line":361,"column":42}}},"28":{"name":"(anonymous_28)","line":367,"loc":{"start":{"line":367,"column":26},"end":{"line":367,"column":43}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":375,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":372,"column":7}},"3":{"start":{"line":49,"column":12},"end":{"line":49,"column":79}},"4":{"start":{"line":51,"column":12},"end":{"line":51,"column":77}},"5":{"start":{"line":57,"column":12},"end":{"line":57,"column":35}},"6":{"start":{"line":58,"column":12},"end":{"line":58,"column":36}},"7":{"start":{"line":60,"column":12},"end":{"line":60,"column":80}},"8":{"start":{"line":62,"column":12},"end":{"line":66,"column":13}},"9":{"start":{"line":65,"column":16},"end":{"line":65,"column":49}},"10":{"start":{"line":68,"column":12},"end":{"line":70,"column":13}},"11":{"start":{"line":69,"column":16},"end":{"line":69,"column":32}},"12":{"start":{"line":72,"column":12},"end":{"line":72,"column":25}},"13":{"start":{"line":77,"column":12},"end":{"line":79,"column":13}},"14":{"start":{"line":78,"column":16},"end":{"line":78,"column":40}},"15":{"start":{"line":84,"column":12},"end":{"line":86,"column":13}},"16":{"start":{"line":85,"column":16},"end":{"line":85,"column":46}},"17":{"start":{"line":87,"column":12},"end":{"line":87,"column":29}},"18":{"start":{"line":91,"column":12},"end":{"line":93,"column":14}},"19":{"start":{"line":95,"column":12},"end":{"line":99,"column":14}},"20":{"start":{"line":101,"column":12},"end":{"line":103,"column":24}},"21":{"start":{"line":108,"column":12},"end":{"line":119,"column":13}},"22":{"start":{"line":111,"column":16},"end":{"line":118,"column":18}},"23":{"start":{"line":121,"column":12},"end":{"line":132,"column":13}},"24":{"start":{"line":124,"column":16},"end":{"line":131,"column":18}},"25":{"start":{"line":134,"column":12},"end":{"line":134,"column":37}},"26":{"start":{"line":140,"column":12},"end":{"line":140,"column":82}},"27":{"start":{"line":144,"column":12},"end":{"line":144,"column":72}},"28":{"start":{"line":145,"column":12},"end":{"line":145,"column":39}},"29":{"start":{"line":149,"column":12},"end":{"line":151,"column":64}},"30":{"start":{"line":153,"column":12},"end":{"line":153,"column":41}},"31":{"start":{"line":156,"column":12},"end":{"line":160,"column":13}},"32":{"start":{"line":157,"column":16},"end":{"line":159,"column":18}},"33":{"start":{"line":162,"column":12},"end":{"line":162,"column":38}},"34":{"start":{"line":163,"column":12},"end":{"line":163,"column":45}},"35":{"start":{"line":164,"column":12},"end":{"line":164,"column":72}},"36":{"start":{"line":165,"column":12},"end":{"line":165,"column":38}},"37":{"start":{"line":167,"column":12},"end":{"line":167,"column":37}},"38":{"start":{"line":168,"column":12},"end":{"line":168,"column":26}},"39":{"start":{"line":172,"column":12},"end":{"line":174,"column":13}},"40":{"start":{"line":173,"column":16},"end":{"line":173,"column":66}},"41":{"start":{"line":178,"column":12},"end":{"line":181,"column":13}},"42":{"start":{"line":179,"column":16},"end":{"line":179,"column":84}},"43":{"start":{"line":180,"column":16},"end":{"line":180,"column":92}},"44":{"start":{"line":186,"column":12},"end":{"line":188,"column":13}},"45":{"start":{"line":187,"column":16},"end":{"line":187,"column":29}},"46":{"start":{"line":190,"column":12},"end":{"line":192,"column":13}},"47":{"start":{"line":191,"column":16},"end":{"line":191,"column":60}},"48":{"start":{"line":194,"column":12},"end":{"line":194,"column":29}},"49":{"start":{"line":201,"column":12},"end":{"line":205,"column":18}},"50":{"start":{"line":207,"column":12},"end":{"line":209,"column":13}},"51":{"start":{"line":208,"column":16},"end":{"line":208,"column":62}},"52":{"start":{"line":211,"column":12},"end":{"line":211,"column":34}},"53":{"start":{"line":212,"column":12},"end":{"line":214,"column":13}},"54":{"start":{"line":213,"column":16},"end":{"line":213,"column":39}},"55":{"start":{"line":216,"column":12},"end":{"line":218,"column":13}},"56":{"start":{"line":217,"column":16},"end":{"line":217,"column":58}},"57":{"start":{"line":220,"column":12},"end":{"line":220,"column":24}},"58":{"start":{"line":224,"column":12},"end":{"line":224,"column":42}},"59":{"start":{"line":225,"column":12},"end":{"line":225,"column":40}},"60":{"start":{"line":229,"column":12},"end":{"line":229,"column":41}},"61":{"start":{"line":230,"column":12},"end":{"line":230,"column":47}},"62":{"start":{"line":231,"column":12},"end":{"line":231,"column":39}},"63":{"start":{"line":235,"column":12},"end":{"line":235,"column":65}},"64":{"start":{"line":239,"column":12},"end":{"line":239,"column":83}},"65":{"start":{"line":243,"column":12},"end":{"line":245,"column":31}},"66":{"start":{"line":247,"column":12},"end":{"line":247,"column":94}},"67":{"start":{"line":251,"column":12},"end":{"line":251,"column":92}},"68":{"start":{"line":259,"column":12},"end":{"line":267,"column":39}},"69":{"start":{"line":269,"column":12},"end":{"line":271,"column":13}},"70":{"start":{"line":270,"column":16},"end":{"line":270,"column":38}},"71":{"start":{"line":273,"column":12},"end":{"line":279,"column":13}},"72":{"start":{"line":274,"column":16},"end":{"line":274,"column":46}},"73":{"start":{"line":276,"column":16},"end":{"line":278,"column":17}},"74":{"start":{"line":277,"column":20},"end":{"line":277,"column":39}},"75":{"start":{"line":281,"column":12},"end":{"line":288,"column":63}},"76":{"start":{"line":292,"column":12},"end":{"line":292,"column":41}},"77":{"start":{"line":293,"column":12},"end":{"line":293,"column":39}},"78":{"start":{"line":298,"column":12},"end":{"line":300,"column":75}},"79":{"start":{"line":303,"column":12},"end":{"line":303,"column":68}},"80":{"start":{"line":306,"column":12},"end":{"line":306,"column":72}},"81":{"start":{"line":309,"column":12},"end":{"line":309,"column":70}},"82":{"start":{"line":312,"column":12},"end":{"line":312,"column":74}},"83":{"start":{"line":317,"column":12},"end":{"line":318,"column":48}},"84":{"start":{"line":321,"column":12},"end":{"line":321,"column":58}},"85":{"start":{"line":322,"column":12},"end":{"line":322,"column":80}},"86":{"start":{"line":323,"column":12},"end":{"line":323,"column":48}},"87":{"start":{"line":324,"column":12},"end":{"line":324,"column":40}},"88":{"start":{"line":326,"column":12},"end":{"line":326,"column":24}},"89":{"start":{"line":330,"column":12},"end":{"line":330,"column":85}},"90":{"start":{"line":334,"column":12},"end":{"line":334,"column":88}},"91":{"start":{"line":338,"column":12},"end":{"line":338,"column":88}},"92":{"start":{"line":343,"column":12},"end":{"line":347,"column":13}},"93":{"start":{"line":344,"column":16},"end":{"line":344,"column":39}},"94":{"start":{"line":345,"column":16},"end":{"line":345,"column":34}},"95":{"start":{"line":346,"column":16},"end":{"line":346,"column":23}},"96":{"start":{"line":350,"column":12},"end":{"line":353,"column":13}},"97":{"start":{"line":351,"column":16},"end":{"line":351,"column":39}},"98":{"start":{"line":352,"column":16},"end":{"line":352,"column":36}},"99":{"start":{"line":358,"column":12},"end":{"line":358,"column":36}},"100":{"start":{"line":363,"column":12},"end":{"line":363,"column":35}},"101":{"start":{"line":364,"column":12},"end":{"line":364,"column":30}},"102":{"start":{"line":369,"column":12},"end":{"line":369,"column":35}},"103":{"start":{"line":370,"column":12},"end":{"line":370,"column":32}},"104":{"start":{"line":374,"column":4},"end":{"line":374,"column":48}}},"branchMap":{"1":{"line":62,"type":"if","locations":[{"start":{"line":62,"column":12},"end":{"line":62,"column":12}},{"start":{"line":62,"column":12},"end":{"line":62,"column":12}}]},"2":{"line":62,"type":"binary-expr","locations":[{"start":{"line":62,"column":16},"end":{"line":62,"column":67}},{"start":{"line":63,"column":16},"end":{"line":63,"column":65}},{"start":{"line":64,"column":16},"end":{"line":64,"column":108}}]},"3":{"line":68,"type":"if","locations":[{"start":{"line":68,"column":12},"end":{"line":68,"column":12}},{"start":{"line":68,"column":12},"end":{"line":68,"column":12}}]},"4":{"line":77,"type":"if","locations":[{"start":{"line":77,"column":12},"end":{"line":77,"column":12}},{"start":{"line":77,"column":12},"end":{"line":77,"column":12}}]},"5":{"line":77,"type":"binary-expr","locations":[{"start":{"line":77,"column":16},"end":{"line":77,"column":75}},{"start":{"line":77,"column":79},"end":{"line":77,"column":117}},{"start":{"line":77,"column":121},"end":{"line":77,"column":136}}]},"6":{"line":84,"type":"if","locations":[{"start":{"line":84,"column":12},"end":{"line":84,"column":12}},{"start":{"line":84,"column":12},"end":{"line":84,"column":12}}]},"7":{"line":97,"type":"cond-expr","locations":[{"start":{"line":97,"column":73},"end":{"line":97,"column":102}},{"start":{"line":97,"column":105},"end":{"line":97,"column":123}}]},"8":{"line":102,"type":"cond-expr","locations":[{"start":{"line":102,"column":73},"end":{"line":102,"column":102}},{"start":{"line":102,"column":105},"end":{"line":102,"column":124}}]},"9":{"line":108,"type":"if","locations":[{"start":{"line":108,"column":12},"end":{"line":108,"column":12}},{"start":{"line":108,"column":12},"end":{"line":108,"column":12}}]},"10":{"line":121,"type":"if","locations":[{"start":{"line":121,"column":12},"end":{"line":121,"column":12}},{"start":{"line":121,"column":12},"end":{"line":121,"column":12}}]},"11":{"line":153,"type":"binary-expr","locations":[{"start":{"line":153,"column":19},"end":{"line":153,"column":23}},{"start":{"line":153,"column":27},"end":{"line":153,"column":40}}]},"12":{"line":156,"type":"if","locations":[{"start":{"line":156,"column":12},"end":{"line":156,"column":12}},{"start":{"line":156,"column":12},"end":{"line":156,"column":12}}]},"13":{"line":172,"type":"if","locations":[{"start":{"line":172,"column":12},"end":{"line":172,"column":12}},{"start":{"line":172,"column":12},"end":{"line":172,"column":12}}]},"14":{"line":178,"type":"if","locations":[{"start":{"line":178,"column":12},"end":{"line":178,"column":12}},{"start":{"line":178,"column":12},"end":{"line":178,"column":12}}]},"15":{"line":179,"type":"cond-expr","locations":[{"start":{"line":179,"column":51},"end":{"line":179,"column":78}},{"start":{"line":179,"column":81},"end":{"line":179,"column":83}}]},"16":{"line":186,"type":"if","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":12}},{"start":{"line":186,"column":12},"end":{"line":186,"column":12}}]},"17":{"line":190,"type":"if","locations":[{"start":{"line":190,"column":12},"end":{"line":190,"column":12}},{"start":{"line":190,"column":12},"end":{"line":190,"column":12}}]},"18":{"line":207,"type":"if","locations":[{"start":{"line":207,"column":12},"end":{"line":207,"column":12}},{"start":{"line":207,"column":12},"end":{"line":207,"column":12}}]},"19":{"line":212,"type":"if","locations":[{"start":{"line":212,"column":12},"end":{"line":212,"column":12}},{"start":{"line":212,"column":12},"end":{"line":212,"column":12}}]},"20":{"line":212,"type":"binary-expr","locations":[{"start":{"line":212,"column":16},"end":{"line":212,"column":30}},{"start":{"line":212,"column":34},"end":{"line":212,"column":56}}]},"21":{"line":216,"type":"if","locations":[{"start":{"line":216,"column":12},"end":{"line":216,"column":12}},{"start":{"line":216,"column":12},"end":{"line":216,"column":12}}]},"22":{"line":216,"type":"binary-expr","locations":[{"start":{"line":216,"column":16},"end":{"line":216,"column":30}},{"start":{"line":216,"column":34},"end":{"line":216,"column":56}}]},"23":{"line":235,"type":"cond-expr","locations":[{"start":{"line":235,"column":44},"end":{"line":235,"column":58}},{"start":{"line":235,"column":61},"end":{"line":235,"column":64}}]},"24":{"line":239,"type":"cond-expr","locations":[{"start":{"line":239,"column":53},"end":{"line":239,"column":76}},{"start":{"line":239,"column":79},"end":{"line":239,"column":82}}]},"25":{"line":247,"type":"cond-expr","locations":[{"start":{"line":247,"column":46},"end":{"line":247,"column":48}},{"start":{"line":247,"column":51},"end":{"line":247,"column":92}}]},"26":{"line":269,"type":"if","locations":[{"start":{"line":269,"column":12},"end":{"line":269,"column":12}},{"start":{"line":269,"column":12},"end":{"line":269,"column":12}}]},"27":{"line":273,"type":"if","locations":[{"start":{"line":273,"column":12},"end":{"line":273,"column":12}},{"start":{"line":273,"column":12},"end":{"line":273,"column":12}}]},"28":{"line":276,"type":"if","locations":[{"start":{"line":276,"column":16},"end":{"line":276,"column":16}},{"start":{"line":276,"column":16},"end":{"line":276,"column":16}}]},"29":{"line":276,"type":"binary-expr","locations":[{"start":{"line":276,"column":20},"end":{"line":276,"column":44}},{"start":{"line":276,"column":48},"end":{"line":276,"column":68}}]},"30":{"line":285,"type":"cond-expr","locations":[{"start":{"line":285,"column":39},"end":{"line":285,"column":41}},{"start":{"line":285,"column":44},"end":{"line":285,"column":80}}]},"31":{"line":288,"type":"cond-expr","locations":[{"start":{"line":288,"column":42},"end":{"line":288,"column":44}},{"start":{"line":288,"column":47},"end":{"line":288,"column":61}}]},"32":{"line":343,"type":"if","locations":[{"start":{"line":343,"column":12},"end":{"line":343,"column":12}},{"start":{"line":343,"column":12},"end":{"line":343,"column":12}}]},"33":{"line":350,"type":"if","locations":[{"start":{"line":350,"column":12},"end":{"line":350,"column":12}},{"start":{"line":350,"column":12},"end":{"line":350,"column":12}}]}}},"src/js/extensions/anchor-preview.js":{"path":"src/js/extensions/anchor-preview.js","s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0,0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":29,"loc":{"start":{"line":29,"column":14},"end":{"line":29,"column":26}}},"3":{"name":"(anonymous_3)","line":37,"loc":{"start":{"line":37,"column":32},"end":{"line":37,"column":44}}},"4":{"name":"(anonymous_4)","line":42,"loc":{"start":{"line":42,"column":27},"end":{"line":42,"column":39}}},"5":{"name":"(anonymous_5)","line":46,"loc":{"start":{"line":46,"column":23},"end":{"line":46,"column":35}}},"6":{"name":"(anonymous_6)","line":58,"loc":{"start":{"line":58,"column":21},"end":{"line":58,"column":33}}},"7":{"name":"(anonymous_7)","line":64,"loc":{"start":{"line":64,"column":17},"end":{"line":64,"column":29}}},"8":{"name":"(anonymous_8)","line":73,"loc":{"start":{"line":73,"column":21},"end":{"line":73,"column":33}}},"9":{"name":"(anonymous_9)","line":80,"loc":{"start":{"line":80,"column":21},"end":{"line":80,"column":41}}},"10":{"name":"(anonymous_10)","line":106,"loc":{"start":{"line":106,"column":25},"end":{"line":106,"column":49}}},"11":{"name":"(anonymous_11)","line":129,"loc":{"start":{"line":129,"column":40},"end":{"line":129,"column":55}}},"12":{"name":"(anonymous_12)","line":163,"loc":{"start":{"line":163,"column":27},"end":{"line":163,"column":39}}},"13":{"name":"(anonymous_13)","line":168,"loc":{"start":{"line":168,"column":33},"end":{"line":168,"column":45}}},"14":{"name":"(anonymous_14)","line":176,"loc":{"start":{"line":176,"column":21},"end":{"line":176,"column":38}}},"15":{"name":"(anonymous_15)","line":187,"loc":{"start":{"line":187,"column":32},"end":{"line":187,"column":44}}},"16":{"name":"(anonymous_16)","line":203,"loc":{"start":{"line":203,"column":30},"end":{"line":203,"column":42}}},"17":{"name":"(anonymous_17)","line":209,"loc":{"start":{"line":209,"column":33},"end":{"line":209,"column":50}}},"18":{"name":"(anonymous_18)","line":242,"loc":{"start":{"line":242,"column":28},"end":{"line":242,"column":40}}},"19":{"name":"(anonymous_19)","line":249,"loc":{"start":{"line":249,"column":32},"end":{"line":249,"column":44}}},"20":{"name":"(anonymous_20)","line":254,"loc":{"start":{"line":254,"column":31},"end":{"line":254,"column":48}}},"21":{"name":"(anonymous_21)","line":260,"loc":{"start":{"line":260,"column":23},"end":{"line":260,"column":35}}},"22":{"name":"(anonymous_22)","line":271,"loc":{"start":{"line":271,"column":31},"end":{"line":271,"column":43}}},"23":{"name":"(anonymous_23)","line":289,"loc":{"start":{"line":289,"column":31},"end":{"line":289,"column":43}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":306,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":303,"column":7}},"3":{"start":{"line":30,"column":12},"end":{"line":30,"column":54}},"4":{"start":{"line":32,"column":12},"end":{"line":32,"column":86}},"5":{"start":{"line":34,"column":12},"end":{"line":34,"column":37}},"6":{"start":{"line":38,"column":12},"end":{"line":38,"column":44}},"7":{"start":{"line":43,"column":12},"end":{"line":43,"column":38}},"8":{"start":{"line":47,"column":12},"end":{"line":47,"column":56}},"9":{"start":{"line":49,"column":12},"end":{"line":49,"column":73}},"10":{"start":{"line":50,"column":12},"end":{"line":50,"column":58}},"11":{"start":{"line":51,"column":12},"end":{"line":51,"column":46}},"12":{"start":{"line":53,"column":12},"end":{"line":53,"column":62}},"13":{"start":{"line":55,"column":12},"end":{"line":55,"column":22}},"14":{"start":{"line":59,"column":12},"end":{"line":61,"column":25}},"15":{"start":{"line":65,"column":12},"end":{"line":70,"column":13}},"16":{"start":{"line":66,"column":16},"end":{"line":68,"column":17}},"17":{"start":{"line":67,"column":20},"end":{"line":67,"column":82}},"18":{"start":{"line":69,"column":16},"end":{"line":69,"column":42}},"19":{"start":{"line":74,"column":12},"end":{"line":76,"column":13}},"20":{"start":{"line":75,"column":16},"end":{"line":75,"column":91}},"21":{"start":{"line":77,"column":12},"end":{"line":77,"column":37}},"22":{"start":{"line":81,"column":12},"end":{"line":84,"column":13}},"23":{"start":{"line":83,"column":16},"end":{"line":83,"column":28}},"24":{"start":{"line":86,"column":12},"end":{"line":89,"column":13}},"25":{"start":{"line":87,"column":16},"end":{"line":87,"column":121}},"26":{"start":{"line":88,"column":16},"end":{"line":88,"column":114}},"27":{"start":{"line":91,"column":12},"end":{"line":91,"column":74}},"28":{"start":{"line":92,"column":12},"end":{"line":92,"column":78}},"29":{"start":{"line":94,"column":12},"end":{"line":96,"column":13}},"30":{"start":{"line":95,"column":16},"end":{"line":95,"column":88}},"31":{"start":{"line":98,"column":12},"end":{"line":98,"column":41}},"32":{"start":{"line":100,"column":12},"end":{"line":100,"column":35}},"33":{"start":{"line":101,"column":12},"end":{"line":101,"column":41}},"34":{"start":{"line":103,"column":12},"end":{"line":103,"column":24}},"35":{"start":{"line":107,"column":12},"end":{"line":107,"column":61}},"36":{"start":{"line":108,"column":12},"end":{"line":116,"column":93}},"37":{"start":{"line":118,"column":12},"end":{"line":118,"column":65}},"38":{"start":{"line":119,"column":12},"end":{"line":119,"column":75}},"39":{"start":{"line":120,"column":12},"end":{"line":123,"column":13}},"40":{"start":{"line":121,"column":16},"end":{"line":121,"column":53}},"41":{"start":{"line":122,"column":16},"end":{"line":122,"column":51}},"42":{"start":{"line":124,"column":12},"end":{"line":124,"column":53}},"43":{"start":{"line":127,"column":12},"end":{"line":144,"column":13}},"44":{"start":{"line":128,"column":16},"end":{"line":128,"column":86}},"45":{"start":{"line":129,"column":16},"end":{"line":131,"column":19}},"46":{"start":{"line":130,"column":20},"end":{"line":130,"column":91}},"47":{"start":{"line":133,"column":16},"end":{"line":133,"column":56}},"48":{"start":{"line":134,"column":16},"end":{"line":134,"column":58}},"49":{"start":{"line":135,"column":16},"end":{"line":135,"column":44}},"50":{"start":{"line":137,"column":16},"end":{"line":137,"column":65}},"51":{"start":{"line":140,"column":16},"end":{"line":140,"column":50}},"52":{"start":{"line":143,"column":16},"end":{"line":143,"column":46}},"53":{"start":{"line":146,"column":12},"end":{"line":146,"column":64}},"54":{"start":{"line":147,"column":12},"end":{"line":147,"column":109}},"55":{"start":{"line":149,"column":12},"end":{"line":149,"column":66}},"56":{"start":{"line":150,"column":12},"end":{"line":150,"column":55}},"57":{"start":{"line":151,"column":12},"end":{"line":160,"column":13}},"58":{"start":{"line":152,"column":16},"end":{"line":152,"column":85}},"59":{"start":{"line":153,"column":16},"end":{"line":153,"column":59}},"60":{"start":{"line":154,"column":19},"end":{"line":160,"column":13}},"61":{"start":{"line":155,"column":16},"end":{"line":155,"column":55}},"62":{"start":{"line":156,"column":16},"end":{"line":156,"column":51}},"63":{"start":{"line":158,"column":16},"end":{"line":158,"column":84}},"64":{"start":{"line":159,"column":16},"end":{"line":159,"column":59}},"65":{"start":{"line":164,"column":12},"end":{"line":164,"column":89}},"66":{"start":{"line":165,"column":12},"end":{"line":165,"column":89}},"67":{"start":{"line":171,"column":12},"end":{"line":173,"column":13}},"68":{"start":{"line":172,"column":16},"end":{"line":172,"column":35}},"69":{"start":{"line":177,"column":12},"end":{"line":178,"column":49}},"70":{"start":{"line":180,"column":12},"end":{"line":198,"column":13}},"71":{"start":{"line":181,"column":16},"end":{"line":181,"column":39}},"72":{"start":{"line":183,"column":16},"end":{"line":183,"column":59}},"73":{"start":{"line":187,"column":16},"end":{"line":197,"column":30}},"74":{"start":{"line":188,"column":20},"end":{"line":196,"column":21}},"75":{"start":{"line":189,"column":24},"end":{"line":193,"column":26}},"76":{"start":{"line":194,"column":24},"end":{"line":194,"column":55}},"77":{"start":{"line":195,"column":24},"end":{"line":195,"column":44}},"78":{"start":{"line":200,"column":12},"end":{"line":200,"column":31}},"79":{"start":{"line":204,"column":12},"end":{"line":204,"column":40}},"80":{"start":{"line":205,"column":12},"end":{"line":205,"column":87}},"81":{"start":{"line":206,"column":12},"end":{"line":206,"column":53}},"82":{"start":{"line":210,"column":12},"end":{"line":210,"column":76}},"83":{"start":{"line":212,"column":12},"end":{"line":214,"column":13}},"84":{"start":{"line":213,"column":16},"end":{"line":213,"column":23}},"85":{"start":{"line":219,"column":12},"end":{"line":222,"column":13}},"86":{"start":{"line":221,"column":16},"end":{"line":221,"column":28}},"87":{"start":{"line":225,"column":12},"end":{"line":225,"column":66}},"88":{"start":{"line":226,"column":12},"end":{"line":228,"column":13}},"89":{"start":{"line":227,"column":16},"end":{"line":227,"column":28}},"90":{"start":{"line":231,"column":12},"end":{"line":233,"column":13}},"91":{"start":{"line":232,"column":16},"end":{"line":232,"column":45}},"92":{"start":{"line":235,"column":12},"end":{"line":235,"column":42}},"93":{"start":{"line":237,"column":12},"end":{"line":237,"column":85}},"94":{"start":{"line":238,"column":12},"end":{"line":238,"column":89}},"95":{"start":{"line":242,"column":12},"end":{"line":246,"column":26}},"96":{"start":{"line":243,"column":16},"end":{"line":245,"column":17}},"97":{"start":{"line":244,"column":20},"end":{"line":244,"column":59}},"98":{"start":{"line":250,"column":12},"end":{"line":250,"column":51}},"99":{"start":{"line":251,"column":12},"end":{"line":251,"column":33}},"100":{"start":{"line":255,"column":12},"end":{"line":257,"column":13}},"101":{"start":{"line":256,"column":16},"end":{"line":256,"column":38}},"102":{"start":{"line":261,"column":12},"end":{"line":263,"column":13}},"103":{"start":{"line":262,"column":16},"end":{"line":262,"column":28}},"104":{"start":{"line":264,"column":12},"end":{"line":264,"column":62}},"105":{"start":{"line":265,"column":12},"end":{"line":268,"column":13}},"106":{"start":{"line":267,"column":16},"end":{"line":267,"column":45}},"107":{"start":{"line":273,"column":12},"end":{"line":273,"column":46}},"108":{"start":{"line":274,"column":12},"end":{"line":281,"column":13}},"109":{"start":{"line":275,"column":16},"end":{"line":275,"column":95}},"110":{"start":{"line":276,"column":16},"end":{"line":276,"column":93}},"111":{"start":{"line":277,"column":16},"end":{"line":280,"column":17}},"112":{"start":{"line":278,"column":20},"end":{"line":278,"column":98}},"113":{"start":{"line":279,"column":20},"end":{"line":279,"column":96}},"114":{"start":{"line":283,"column":12},"end":{"line":283,"column":31}},"115":{"start":{"line":285,"column":12},"end":{"line":285,"column":108}},"116":{"start":{"line":290,"column":12},"end":{"line":290,"column":51}},"117":{"start":{"line":291,"column":12},"end":{"line":291,"column":33}},"118":{"start":{"line":293,"column":12},"end":{"line":293,"column":89}},"119":{"start":{"line":294,"column":12},"end":{"line":294,"column":87}},"120":{"start":{"line":296,"column":12},"end":{"line":296,"column":81}},"121":{"start":{"line":298,"column":12},"end":{"line":298,"column":90}},"122":{"start":{"line":299,"column":12},"end":{"line":299,"column":88}},"123":{"start":{"line":300,"column":12},"end":{"line":300,"column":89}},"124":{"start":{"line":301,"column":12},"end":{"line":301,"column":87}},"125":{"start":{"line":305,"column":4},"end":{"line":305,"column":58}}},"branchMap":{"1":{"line":65,"type":"if","locations":[{"start":{"line":65,"column":12},"end":{"line":65,"column":12}},{"start":{"line":65,"column":12},"end":{"line":65,"column":12}}]},"2":{"line":66,"type":"if","locations":[{"start":{"line":66,"column":16},"end":{"line":66,"column":16}},{"start":{"line":66,"column":16},"end":{"line":66,"column":16}}]},"3":{"line":74,"type":"if","locations":[{"start":{"line":74,"column":12},"end":{"line":74,"column":12}},{"start":{"line":74,"column":12},"end":{"line":74,"column":12}}]},"4":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":12},"end":{"line":81,"column":12}},{"start":{"line":81,"column":12},"end":{"line":81,"column":12}}]},"5":{"line":81,"type":"binary-expr","locations":[{"start":{"line":81,"column":16},"end":{"line":81,"column":92}},{"start":{"line":82,"column":20},"end":{"line":82,"column":65}}]},"6":{"line":86,"type":"if","locations":[{"start":{"line":86,"column":12},"end":{"line":86,"column":12}},{"start":{"line":86,"column":12},"end":{"line":86,"column":12}}]},"7":{"line":94,"type":"if","locations":[{"start":{"line":94,"column":12},"end":{"line":94,"column":12}},{"start":{"line":94,"column":12},"end":{"line":94,"column":12}}]},"8":{"line":107,"type":"binary-expr","locations":[{"start":{"line":107,"column":27},"end":{"line":107,"column":39}},{"start":{"line":107,"column":43},"end":{"line":107,"column":60}}]},"9":{"line":120,"type":"if","locations":[{"start":{"line":120,"column":12},"end":{"line":120,"column":12}},{"start":{"line":120,"column":12},"end":{"line":120,"column":12}}]},"10":{"line":127,"type":"if","locations":[{"start":{"line":127,"column":12},"end":{"line":127,"column":12}},{"start":{"line":127,"column":12},"end":{"line":127,"column":12}}]},"11":{"line":151,"type":"if","locations":[{"start":{"line":151,"column":12},"end":{"line":151,"column":12}},{"start":{"line":151,"column":12},"end":{"line":151,"column":12}}]},"12":{"line":154,"type":"if","locations":[{"start":{"line":154,"column":19},"end":{"line":154,"column":19}},{"start":{"line":154,"column":19},"end":{"line":154,"column":19}}]},"13":{"line":171,"type":"if","locations":[{"start":{"line":171,"column":12},"end":{"line":171,"column":12}},{"start":{"line":171,"column":12},"end":{"line":171,"column":12}}]},"14":{"line":180,"type":"if","locations":[{"start":{"line":180,"column":12},"end":{"line":180,"column":12}},{"start":{"line":180,"column":12},"end":{"line":180,"column":12}}]},"15":{"line":180,"type":"binary-expr","locations":[{"start":{"line":180,"column":16},"end":{"line":180,"column":31}},{"start":{"line":180,"column":35},"end":{"line":180,"column":47}}]},"16":{"line":188,"type":"if","locations":[{"start":{"line":188,"column":20},"end":{"line":188,"column":20}},{"start":{"line":188,"column":20},"end":{"line":188,"column":20}}]},"17":{"line":212,"type":"if","locations":[{"start":{"line":212,"column":12},"end":{"line":212,"column":12}},{"start":{"line":212,"column":12},"end":{"line":212,"column":12}}]},"18":{"line":219,"type":"if","locations":[{"start":{"line":219,"column":12},"end":{"line":219,"column":12}},{"start":{"line":219,"column":12},"end":{"line":219,"column":12}}]},"19":{"line":219,"type":"binary-expr","locations":[{"start":{"line":219,"column":16},"end":{"line":219,"column":38}},{"start":{"line":220,"column":17},"end":{"line":220,"column":59}},{"start":{"line":220,"column":63},"end":{"line":220,"column":105}}]},"20":{"line":226,"type":"if","locations":[{"start":{"line":226,"column":12},"end":{"line":226,"column":12}},{"start":{"line":226,"column":12},"end":{"line":226,"column":12}}]},"21":{"line":226,"type":"binary-expr","locations":[{"start":{"line":226,"column":16},"end":{"line":226,"column":46}},{"start":{"line":226,"column":50},"end":{"line":226,"column":57}},{"start":{"line":226,"column":61},"end":{"line":226,"column":80}},{"start":{"line":226,"column":84},"end":{"line":226,"column":105}}]},"22":{"line":231,"type":"if","locations":[{"start":{"line":231,"column":12},"end":{"line":231,"column":12}},{"start":{"line":231,"column":12},"end":{"line":231,"column":12}}]},"23":{"line":231,"type":"binary-expr","locations":[{"start":{"line":231,"column":16},"end":{"line":231,"column":33}},{"start":{"line":231,"column":37},"end":{"line":231,"column":65}}]},"24":{"line":243,"type":"if","locations":[{"start":{"line":243,"column":16},"end":{"line":243,"column":16}},{"start":{"line":243,"column":16},"end":{"line":243,"column":16}}]},"25":{"line":255,"type":"if","locations":[{"start":{"line":255,"column":12},"end":{"line":255,"column":12}},{"start":{"line":255,"column":12},"end":{"line":255,"column":12}}]},"26":{"line":255,"type":"binary-expr","locations":[{"start":{"line":255,"column":16},"end":{"line":255,"column":36}},{"start":{"line":255,"column":40},"end":{"line":255,"column":93}}]},"27":{"line":261,"type":"if","locations":[{"start":{"line":261,"column":12},"end":{"line":261,"column":12}},{"start":{"line":261,"column":12},"end":{"line":261,"column":12}}]},"28":{"line":265,"type":"if","locations":[{"start":{"line":265,"column":12},"end":{"line":265,"column":12}},{"start":{"line":265,"column":12},"end":{"line":265,"column":12}}]},"29":{"line":274,"type":"if","locations":[{"start":{"line":274,"column":12},"end":{"line":274,"column":12}},{"start":{"line":274,"column":12},"end":{"line":274,"column":12}}]},"30":{"line":277,"type":"if","locations":[{"start":{"line":277,"column":16},"end":{"line":277,"column":16}},{"start":{"line":277,"column":16},"end":{"line":277,"column":16}}]}}},"src/js/extensions/auto-link.js":{"path":"src/js/extensions/auto-link.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":0,"10":1,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0,0],"23":[0,0,0,0],"24":[0,0,0],"25":[0,0],"26":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"nodeIsNotInsideAnchorTag","line":32,"loc":{"start":{"line":32,"column":4},"end":{"line":32,"column":44}}},"3":{"name":"(anonymous_3)","line":37,"loc":{"start":{"line":37,"column":14},"end":{"line":37,"column":26}}},"4":{"name":"(anonymous_4)","line":47,"loc":{"start":{"line":47,"column":24},"end":{"line":47,"column":36}}},"5":{"name":"(anonymous_5)","line":58,"loc":{"start":{"line":58,"column":17},"end":{"line":58,"column":29}}},"6":{"name":"(anonymous_6)","line":65,"loc":{"start":{"line":65,"column":16},"end":{"line":65,"column":47}}},"7":{"name":"(anonymous_7)","line":69,"loc":{"start":{"line":69,"column":20},"end":{"line":69,"column":45}}},"8":{"name":"(anonymous_8)","line":77,"loc":{"start":{"line":77,"column":56},"end":{"line":77,"column":68}}},"9":{"name":"(anonymous_9)","line":95,"loc":{"start":{"line":95,"column":24},"end":{"line":95,"column":51}}},"10":{"name":"(anonymous_10)","line":129,"loc":{"start":{"line":129,"column":37},"end":{"line":129,"column":56}}},"11":{"name":"(anonymous_11)","line":159,"loc":{"start":{"line":159,"column":28},"end":{"line":159,"column":63}}},"12":{"name":"(anonymous_12)","line":185,"loc":{"start":{"line":185,"column":37},"end":{"line":185,"column":56}}},"13":{"name":"(anonymous_13)","line":200,"loc":{"start":{"line":200,"column":23},"end":{"line":200,"column":44}}},"14":{"name":"(anonymous_14)","line":204,"loc":{"start":{"line":204,"column":77},"end":{"line":204,"column":93}}},"15":{"name":"(anonymous_15)","line":212,"loc":{"start":{"line":212,"column":26},"end":{"line":212,"column":53}}},"16":{"name":"(anonymous_16)","line":238,"loc":{"start":{"line":238,"column":24},"end":{"line":238,"column":51}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":253,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":8,"column":20}},"3":{"start":{"line":10,"column":4},"end":{"line":11,"column":56}},"4":{"start":{"line":12,"column":4},"end":{"line":19,"column":109}},"5":{"start":{"line":21,"column":4},"end":{"line":26,"column":77}},"6":{"start":{"line":28,"column":4},"end":{"line":28,"column":75}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":53}},"8":{"start":{"line":32,"column":4},"end":{"line":34,"column":5}},"9":{"start":{"line":33,"column":8},"end":{"line":33,"column":59}},"10":{"start":{"line":36,"column":4},"end":{"line":250,"column":7}},"11":{"start":{"line":38,"column":12},"end":{"line":38,"column":73}},"12":{"start":{"line":40,"column":12},"end":{"line":40,"column":46}},"13":{"start":{"line":41,"column":12},"end":{"line":41,"column":75}},"14":{"start":{"line":42,"column":12},"end":{"line":42,"column":67}},"15":{"start":{"line":44,"column":12},"end":{"line":44,"column":69}},"16":{"start":{"line":48,"column":12},"end":{"line":48,"column":36}},"17":{"start":{"line":49,"column":12},"end":{"line":54,"column":13}},"18":{"start":{"line":50,"column":16},"end":{"line":50,"column":59}},"19":{"start":{"line":51,"column":16},"end":{"line":53,"column":17}},"20":{"start":{"line":52,"column":20},"end":{"line":52,"column":38}},"21":{"start":{"line":55,"column":12},"end":{"line":55,"column":41}},"22":{"start":{"line":60,"column":12},"end":{"line":62,"column":13}},"23":{"start":{"line":61,"column":16},"end":{"line":61,"column":72}},"24":{"start":{"line":66,"column":12},"end":{"line":66,"column":42}},"25":{"start":{"line":70,"column":12},"end":{"line":72,"column":13}},"26":{"start":{"line":71,"column":16},"end":{"line":71,"column":23}},"27":{"start":{"line":74,"column":12},"end":{"line":92,"column":13}},"28":{"start":{"line":75,"column":16},"end":{"line":75,"column":57}},"29":{"start":{"line":77,"column":16},"end":{"line":91,"column":33}},"30":{"start":{"line":78,"column":20},"end":{"line":90,"column":21}},"31":{"start":{"line":79,"column":24},"end":{"line":79,"column":62}},"32":{"start":{"line":80,"column":24},"end":{"line":84,"column":25}},"33":{"start":{"line":83,"column":28},"end":{"line":83,"column":65}},"34":{"start":{"line":86,"column":24},"end":{"line":88,"column":25}},"35":{"start":{"line":87,"column":28},"end":{"line":87,"column":81}},"36":{"start":{"line":89,"column":24},"end":{"line":89,"column":57}},"37":{"start":{"line":116,"column":12},"end":{"line":117,"column":41}},"38":{"start":{"line":118,"column":12},"end":{"line":120,"column":13}},"39":{"start":{"line":119,"column":16},"end":{"line":119,"column":50}},"40":{"start":{"line":121,"column":12},"end":{"line":124,"column":13}},"41":{"start":{"line":122,"column":16},"end":{"line":122,"column":106}},"42":{"start":{"line":123,"column":16},"end":{"line":123,"column":106}},"43":{"start":{"line":125,"column":12},"end":{"line":125,"column":119}},"44":{"start":{"line":126,"column":12},"end":{"line":126,"column":36}},"45":{"start":{"line":130,"column":12},"end":{"line":132,"column":13}},"46":{"start":{"line":131,"column":16},"end":{"line":131,"column":29}},"47":{"start":{"line":134,"column":12},"end":{"line":135,"column":41}},"48":{"start":{"line":137,"column":12},"end":{"line":155,"column":13}},"49":{"start":{"line":138,"column":16},"end":{"line":138,"column":55}},"50":{"start":{"line":139,"column":16},"end":{"line":141,"column":17}},"51":{"start":{"line":140,"column":20},"end":{"line":140,"column":86}},"52":{"start":{"line":142,"column":16},"end":{"line":154,"column":17}},"53":{"start":{"line":143,"column":20},"end":{"line":143,"column":44}},"54":{"start":{"line":144,"column":20},"end":{"line":144,"column":77}},"55":{"start":{"line":145,"column":20},"end":{"line":153,"column":21}},"56":{"start":{"line":146,"column":24},"end":{"line":147,"column":136}},"57":{"start":{"line":148,"column":24},"end":{"line":148,"column":88}},"58":{"start":{"line":152,"column":24},"end":{"line":152,"column":74}},"59":{"start":{"line":156,"column":12},"end":{"line":156,"column":36}},"60":{"start":{"line":160,"column":12},"end":{"line":161,"column":45}},"61":{"start":{"line":164,"column":12},"end":{"line":166,"column":13}},"62":{"start":{"line":165,"column":16},"end":{"line":165,"column":72}},"63":{"start":{"line":168,"column":12},"end":{"line":170,"column":29}},"64":{"start":{"line":171,"column":12},"end":{"line":181,"column":13}},"65":{"start":{"line":172,"column":16},"end":{"line":172,"column":53}},"66":{"start":{"line":173,"column":16},"end":{"line":173,"column":57}},"67":{"start":{"line":174,"column":16},"end":{"line":180,"column":17}},"68":{"start":{"line":175,"column":20},"end":{"line":175,"column":99}},"69":{"start":{"line":176,"column":20},"end":{"line":176,"column":39}},"70":{"start":{"line":178,"column":20},"end":{"line":178,"column":61}},"71":{"start":{"line":179,"column":20},"end":{"line":179,"column":62}},"72":{"start":{"line":182,"column":12},"end":{"line":182,"column":32}},"73":{"start":{"line":186,"column":12},"end":{"line":187,"column":36}},"74":{"start":{"line":189,"column":12},"end":{"line":196,"column":13}},"75":{"start":{"line":190,"column":16},"end":{"line":191,"column":45}},"76":{"start":{"line":192,"column":16},"end":{"line":194,"column":17}},"77":{"start":{"line":193,"column":20},"end":{"line":193,"column":29}},"78":{"start":{"line":195,"column":16},"end":{"line":195,"column":81}},"79":{"start":{"line":197,"column":12},"end":{"line":197,"column":31}},"80":{"start":{"line":201,"column":12},"end":{"line":201,"column":38}},"81":{"start":{"line":202,"column":12},"end":{"line":208,"column":13}},"82":{"start":{"line":204,"column":16},"end":{"line":207,"column":19}},"83":{"start":{"line":205,"column":20},"end":{"line":206,"column":94}},"84":{"start":{"line":209,"column":12},"end":{"line":209,"column":33}},"85":{"start":{"line":213,"column":12},"end":{"line":215,"column":29}},"86":{"start":{"line":217,"column":12},"end":{"line":234,"column":13}},"87":{"start":{"line":218,"column":16},"end":{"line":219,"column":61}},"88":{"start":{"line":221,"column":16},"end":{"line":222,"column":112}},"89":{"start":{"line":224,"column":16},"end":{"line":225,"column":90}},"90":{"start":{"line":227,"column":16},"end":{"line":233,"column":17}},"91":{"start":{"line":228,"column":20},"end":{"line":232,"column":23}},"92":{"start":{"line":235,"column":12},"end":{"line":235,"column":27}},"93":{"start":{"line":239,"column":12},"end":{"line":239,"column":64}},"94":{"start":{"line":240,"column":12},"end":{"line":241,"column":59}},"95":{"start":{"line":242,"column":12},"end":{"line":242,"column":56}},"96":{"start":{"line":243,"column":12},"end":{"line":243,"column":49}},"97":{"start":{"line":244,"column":12},"end":{"line":244,"column":57}},"98":{"start":{"line":245,"column":12},"end":{"line":247,"column":13}},"99":{"start":{"line":246,"column":16},"end":{"line":246,"column":55}},"100":{"start":{"line":252,"column":4},"end":{"line":252,"column":48}}},"branchMap":{"1":{"line":51,"type":"if","locations":[{"start":{"line":51,"column":16},"end":{"line":51,"column":16}},{"start":{"line":51,"column":16},"end":{"line":51,"column":16}}]},"2":{"line":51,"type":"binary-expr","locations":[{"start":{"line":51,"column":20},"end":{"line":51,"column":35}},{"start":{"line":51,"column":39},"end":{"line":51,"column":90}}]},"3":{"line":60,"type":"if","locations":[{"start":{"line":60,"column":12},"end":{"line":60,"column":12}},{"start":{"line":60,"column":12},"end":{"line":60,"column":12}}]},"4":{"line":60,"type":"binary-expr","locations":[{"start":{"line":60,"column":16},"end":{"line":60,"column":68}},{"start":{"line":60,"column":72},"end":{"line":60,"column":93}}]},"5":{"line":70,"type":"if","locations":[{"start":{"line":70,"column":12},"end":{"line":70,"column":12}},{"start":{"line":70,"column":12},"end":{"line":70,"column":12}}]},"6":{"line":74,"type":"if","locations":[{"start":{"line":74,"column":12},"end":{"line":74,"column":12}},{"start":{"line":74,"column":12},"end":{"line":74,"column":12}}]},"7":{"line":80,"type":"if","locations":[{"start":{"line":80,"column":24},"end":{"line":80,"column":24}},{"start":{"line":80,"column":24},"end":{"line":80,"column":24}}]},"8":{"line":86,"type":"if","locations":[{"start":{"line":86,"column":24},"end":{"line":86,"column":24}},{"start":{"line":86,"column":24},"end":{"line":86,"column":24}}]},"9":{"line":118,"type":"if","locations":[{"start":{"line":118,"column":12},"end":{"line":118,"column":12}},{"start":{"line":118,"column":12},"end":{"line":118,"column":12}}]},"10":{"line":122,"type":"binary-expr","locations":[{"start":{"line":122,"column":35},"end":{"line":122,"column":85}},{"start":{"line":122,"column":89},"end":{"line":122,"column":105}}]},"11":{"line":123,"type":"binary-expr","locations":[{"start":{"line":123,"column":35},"end":{"line":123,"column":85}},{"start":{"line":123,"column":89},"end":{"line":123,"column":105}}]},"12":{"line":130,"type":"if","locations":[{"start":{"line":130,"column":12},"end":{"line":130,"column":12}},{"start":{"line":130,"column":12},"end":{"line":130,"column":12}}]},"13":{"line":130,"type":"binary-expr","locations":[{"start":{"line":130,"column":16},"end":{"line":130,"column":24}},{"start":{"line":130,"column":28},"end":{"line":130,"column":50}}]},"14":{"line":139,"type":"if","locations":[{"start":{"line":139,"column":16},"end":{"line":139,"column":16}},{"start":{"line":139,"column":16},"end":{"line":139,"column":16}}]},"15":{"line":142,"type":"if","locations":[{"start":{"line":142,"column":16},"end":{"line":142,"column":16}},{"start":{"line":142,"column":16},"end":{"line":142,"column":16}}]},"16":{"line":142,"type":"binary-expr","locations":[{"start":{"line":142,"column":20},"end":{"line":142,"column":70}},{"start":{"line":142,"column":74},"end":{"line":142,"column":108}}]},"17":{"line":145,"type":"if","locations":[{"start":{"line":145,"column":20},"end":{"line":145,"column":20}},{"start":{"line":145,"column":20},"end":{"line":145,"column":20}}]},"18":{"line":171,"type":"binary-expr","locations":[{"start":{"line":171,"column":19},"end":{"line":171,"column":37}},{"start":{"line":171,"column":41},"end":{"line":171,"column":62}}]},"19":{"line":174,"type":"if","locations":[{"start":{"line":174,"column":16},"end":{"line":174,"column":16}},{"start":{"line":174,"column":16},"end":{"line":174,"column":16}}]},"20":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":16},"end":{"line":192,"column":16}},{"start":{"line":192,"column":16},"end":{"line":192,"column":16}}]},"21":{"line":202,"type":"binary-expr","locations":[{"start":{"line":202,"column":28},"end":{"line":202,"column":48}},{"start":{"line":202,"column":52},"end":{"line":202,"column":75}}]},"22":{"line":205,"type":"binary-expr","locations":[{"start":{"line":205,"column":27},"end":{"line":205,"column":62}},{"start":{"line":206,"column":25},"end":{"line":206,"column":42}},{"start":{"line":206,"column":46},"end":{"line":206,"column":92}}]},"23":{"line":221,"type":"binary-expr","locations":[{"start":{"line":221,"column":27},"end":{"line":221,"column":44}},{"start":{"line":221,"column":48},"end":{"line":221,"column":109}},{"start":{"line":222,"column":21},"end":{"line":222,"column":52}},{"start":{"line":222,"column":56},"end":{"line":222,"column":110}}]},"24":{"line":224,"type":"binary-expr","locations":[{"start":{"line":224,"column":26},"end":{"line":224,"column":33}},{"start":{"line":224,"column":38},"end":{"line":224,"column":66}},{"start":{"line":225,"column":20},"end":{"line":225,"column":88}}]},"25":{"line":227,"type":"if","locations":[{"start":{"line":227,"column":16},"end":{"line":227,"column":16}},{"start":{"line":227,"column":16},"end":{"line":227,"column":16}}]},"26":{"line":240,"type":"cond-expr","locations":[{"start":{"line":240,"column":124},"end":{"line":240,"column":132}},{"start":{"line":240,"column":135},"end":{"line":240,"column":139}}]}}},"src/js/extensions/file-dragging.js":{"path":"src/js/extensions/file-dragging.js","s":{"1":1,"2":0,"3":1,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":2},"end":{"line":1,"column":33}}},"2":{"name":"clearClassNames","line":5,"loc":{"start":{"line":5,"column":4},"end":{"line":5,"column":38}}},"3":{"name":"(anonymous_3)","line":9,"loc":{"start":{"line":9,"column":25},"end":{"line":9,"column":39}}},"4":{"name":"(anonymous_4)","line":19,"loc":{"start":{"line":19,"column":14},"end":{"line":19,"column":26}}},"5":{"name":"(anonymous_5)","line":26,"loc":{"start":{"line":26,"column":20},"end":{"line":26,"column":37}}},"6":{"name":"(anonymous_6)","line":40,"loc":{"start":{"line":40,"column":20},"end":{"line":40,"column":37}}},"7":{"name":"(anonymous_7)","line":53,"loc":{"start":{"line":53,"column":77},"end":{"line":53,"column":93}}},"8":{"name":"(anonymous_8)","line":66,"loc":{"start":{"line":66,"column":23},"end":{"line":66,"column":39}}},"9":{"name":"(anonymous_9)","line":67,"loc":{"start":{"line":67,"column":42},"end":{"line":67,"column":62}}},"10":{"name":"(anonymous_10)","line":72,"loc":{"start":{"line":72,"column":25},"end":{"line":72,"column":41}}},"11":{"name":"(anonymous_11)","line":80,"loc":{"start":{"line":80,"column":48},"end":{"line":80,"column":61}}}},"statementMap":{"1":{"start":{"line":1,"column":1},"end":{"line":89,"column":24}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":51}},"3":{"start":{"line":5,"column":4},"end":{"line":12,"column":5}},"4":{"start":{"line":6,"column":8},"end":{"line":7,"column":114}},"5":{"start":{"line":9,"column":8},"end":{"line":11,"column":11}},"6":{"start":{"line":10,"column":12},"end":{"line":10,"column":49}},"7":{"start":{"line":14,"column":4},"end":{"line":86,"column":7}},"8":{"start":{"line":20,"column":12},"end":{"line":20,"column":73}},"9":{"start":{"line":22,"column":12},"end":{"line":22,"column":71}},"10":{"start":{"line":23,"column":12},"end":{"line":23,"column":71}},"11":{"start":{"line":27,"column":12},"end":{"line":27,"column":35}},"12":{"start":{"line":28,"column":12},"end":{"line":28,"column":51}},"13":{"start":{"line":30,"column":12},"end":{"line":30,"column":92}},"14":{"start":{"line":33,"column":12},"end":{"line":33,"column":36}},"15":{"start":{"line":35,"column":12},"end":{"line":37,"column":13}},"16":{"start":{"line":36,"column":16},"end":{"line":36,"column":54}},"17":{"start":{"line":42,"column":12},"end":{"line":42,"column":35}},"18":{"start":{"line":43,"column":12},"end":{"line":43,"column":36}},"19":{"start":{"line":46,"column":12},"end":{"line":46,"column":50}},"20":{"start":{"line":47,"column":12},"end":{"line":47,"column":56}},"21":{"start":{"line":48,"column":12},"end":{"line":48,"column":44}},"22":{"start":{"line":49,"column":12},"end":{"line":49,"column":49}},"23":{"start":{"line":52,"column":12},"end":{"line":60,"column":13}},"24":{"start":{"line":53,"column":16},"end":{"line":59,"column":25}},"25":{"start":{"line":54,"column":20},"end":{"line":58,"column":21}},"26":{"start":{"line":55,"column":24},"end":{"line":57,"column":25}},"27":{"start":{"line":56,"column":28},"end":{"line":56,"column":55}},"28":{"start":{"line":63,"column":12},"end":{"line":63,"column":42}},"29":{"start":{"line":67,"column":12},"end":{"line":69,"column":15}},"30":{"start":{"line":68,"column":16},"end":{"line":68,"column":51}},"31":{"start":{"line":73,"column":12},"end":{"line":75,"column":13}},"32":{"start":{"line":74,"column":16},"end":{"line":74,"column":23}},"33":{"start":{"line":76,"column":12},"end":{"line":76,"column":46}},"34":{"start":{"line":77,"column":12},"end":{"line":77,"column":43}},"35":{"start":{"line":80,"column":12},"end":{"line":84,"column":26}},"36":{"start":{"line":81,"column":16},"end":{"line":81,"column":73}},"37":{"start":{"line":82,"column":16},"end":{"line":82,"column":54}},"38":{"start":{"line":83,"column":16},"end":{"line":83,"column":94}},"39":{"start":{"line":88,"column":4},"end":{"line":88,"column":56}}},"branchMap":{"1":{"line":30,"type":"cond-expr","locations":[{"start":{"line":30,"column":50},"end":{"line":30,"column":62}},{"start":{"line":30,"column":65},"end":{"line":30,"column":91}}]},"2":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":12},"end":{"line":35,"column":12}},{"start":{"line":35,"column":12},"end":{"line":35,"column":12}}]},"3":{"line":52,"type":"if","locations":[{"start":{"line":52,"column":12},"end":{"line":52,"column":12}},{"start":{"line":52,"column":12},"end":{"line":52,"column":12}}]},"4":{"line":54,"type":"if","locations":[{"start":{"line":54,"column":20},"end":{"line":54,"column":20}},{"start":{"line":54,"column":20},"end":{"line":54,"column":20}}]},"5":{"line":55,"type":"if","locations":[{"start":{"line":55,"column":24},"end":{"line":55,"column":24}},{"start":{"line":55,"column":24},"end":{"line":55,"column":24}}]},"6":{"line":73,"type":"if","locations":[{"start":{"line":73,"column":12},"end":{"line":73,"column":12}},{"start":{"line":73,"column":12},"end":{"line":73,"column":12}}]}}},"src/js/extensions/keyboard-commands.js":{"path":"src/js/extensions/keyboard-commands.js","s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0,0],"5":[0,0],"6":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":42,"loc":{"start":{"line":42,"column":14},"end":{"line":42,"column":26}}},"3":{"name":"(anonymous_3)","line":47,"loc":{"start":{"line":47,"column":34},"end":{"line":47,"column":53}}},"4":{"name":"(anonymous_4)","line":56,"loc":{"start":{"line":56,"column":23},"end":{"line":56,"column":40}}},"5":{"name":"(anonymous_5)","line":66,"loc":{"start":{"line":66,"column":39},"end":{"line":66,"column":55}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":88,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":85,"column":7}},"3":{"start":{"line":43,"column":12},"end":{"line":43,"column":73}},"4":{"start":{"line":45,"column":12},"end":{"line":45,"column":77}},"5":{"start":{"line":46,"column":12},"end":{"line":46,"column":27}},"6":{"start":{"line":47,"column":12},"end":{"line":53,"column":21}},"7":{"start":{"line":48,"column":16},"end":{"line":48,"column":56}},"8":{"start":{"line":49,"column":16},"end":{"line":51,"column":17}},"9":{"start":{"line":50,"column":20},"end":{"line":50,"column":44}},"10":{"start":{"line":52,"column":16},"end":{"line":52,"column":49}},"11":{"start":{"line":57,"column":12},"end":{"line":57,"column":62}},"12":{"start":{"line":58,"column":12},"end":{"line":60,"column":13}},"13":{"start":{"line":59,"column":16},"end":{"line":59,"column":23}},"14":{"start":{"line":62,"column":12},"end":{"line":64,"column":39}},"15":{"start":{"line":66,"column":12},"end":{"line":83,"column":21}},"16":{"start":{"line":67,"column":16},"end":{"line":82,"column":17}},"17":{"start":{"line":71,"column":20},"end":{"line":71,"column":43}},"18":{"start":{"line":72,"column":20},"end":{"line":72,"column":44}},"19":{"start":{"line":75,"column":20},"end":{"line":81,"column":21}},"20":{"start":{"line":76,"column":24},"end":{"line":76,"column":49}},"21":{"start":{"line":79,"column":25},"end":{"line":81,"column":21}},"22":{"start":{"line":80,"column":24},"end":{"line":80,"column":54}},"23":{"start":{"line":87,"column":4},"end":{"line":87,"column":64}}},"branchMap":{"1":{"line":49,"type":"if","locations":[{"start":{"line":49,"column":16},"end":{"line":49,"column":16}},{"start":{"line":49,"column":16},"end":{"line":49,"column":16}}]},"2":{"line":58,"type":"if","locations":[{"start":{"line":58,"column":12},"end":{"line":58,"column":12}},{"start":{"line":58,"column":12},"end":{"line":58,"column":12}}]},"3":{"line":67,"type":"if","locations":[{"start":{"line":67,"column":16},"end":{"line":67,"column":16}},{"start":{"line":67,"column":16},"end":{"line":67,"column":16}}]},"4":{"line":67,"type":"binary-expr","locations":[{"start":{"line":67,"column":20},"end":{"line":67,"column":40}},{"start":{"line":68,"column":20},"end":{"line":68,"column":42}},{"start":{"line":69,"column":21},"end":{"line":69,"column":39}},{"start":{"line":70,"column":21},"end":{"line":70,"column":43}}]},"5":{"line":75,"type":"if","locations":[{"start":{"line":75,"column":20},"end":{"line":75,"column":20}},{"start":{"line":75,"column":20},"end":{"line":75,"column":20}}]},"6":{"line":79,"type":"if","locations":[{"start":{"line":79,"column":25},"end":{"line":79,"column":25}},{"start":{"line":79,"column":25},"end":{"line":79,"column":25}}]}}},"src/js/extensions/fontname.js":{"path":"src/js/extensions/fontname.js","s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":14,"loc":{"start":{"line":14,"column":14},"end":{"line":14,"column":26}}},"3":{"name":"(anonymous_3)","line":20,"loc":{"start":{"line":20,"column":21},"end":{"line":20,"column":38}}},"4":{"name":"(anonymous_4)","line":34,"loc":{"start":{"line":34,"column":17},"end":{"line":34,"column":29}}},"5":{"name":"(anonymous_5)","line":42,"loc":{"start":{"line":42,"column":21},"end":{"line":42,"column":33}}},"6":{"name":"(anonymous_6)","line":46,"loc":{"start":{"line":46,"column":18},"end":{"line":46,"column":30}}},"7":{"name":"(anonymous_7)","line":51,"loc":{"start":{"line":51,"column":18},"end":{"line":51,"column":38}}},"8":{"name":"(anonymous_8)","line":64,"loc":{"start":{"line":64,"column":17},"end":{"line":64,"column":29}}},"9":{"name":"(anonymous_9)","line":78,"loc":{"start":{"line":78,"column":20},"end":{"line":78,"column":32}}},"10":{"name":"(anonymous_10)","line":83,"loc":{"start":{"line":83,"column":22},"end":{"line":83,"column":34}}},"11":{"name":"(anonymous_11)","line":90,"loc":{"start":{"line":90,"column":20},"end":{"line":90,"column":32}}},"12":{"name":"(anonymous_12)","line":144,"loc":{"start":{"line":144,"column":19},"end":{"line":144,"column":31}}},"13":{"name":"(anonymous_13)","line":148,"loc":{"start":{"line":148,"column":23},"end":{"line":148,"column":35}}},"14":{"name":"(anonymous_14)","line":149,"loc":{"start":{"line":149,"column":78},"end":{"line":149,"column":92}}},"15":{"name":"(anonymous_15)","line":156,"loc":{"start":{"line":156,"column":26},"end":{"line":156,"column":38}}},"16":{"name":"(anonymous_16)","line":165,"loc":{"start":{"line":165,"column":25},"end":{"line":165,"column":42}}},"17":{"name":"(anonymous_17)","line":170,"loc":{"start":{"line":170,"column":25},"end":{"line":170,"column":42}}},"18":{"name":"(anonymous_18)","line":176,"loc":{"start":{"line":176,"column":26},"end":{"line":176,"column":43}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":184,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":181,"column":7}},"3":{"start":{"line":15,"column":12},"end":{"line":15,"column":79}},"4":{"start":{"line":21,"column":12},"end":{"line":21,"column":35}},"5":{"start":{"line":22,"column":12},"end":{"line":22,"column":36}},"6":{"start":{"line":24,"column":12},"end":{"line":28,"column":13}},"7":{"start":{"line":26,"column":16},"end":{"line":26,"column":80}},"8":{"start":{"line":27,"column":16},"end":{"line":27,"column":40}},"9":{"start":{"line":30,"column":12},"end":{"line":30,"column":25}},"10":{"start":{"line":35,"column":12},"end":{"line":37,"column":13}},"11":{"start":{"line":36,"column":16},"end":{"line":36,"column":46}},"12":{"start":{"line":38,"column":12},"end":{"line":38,"column":29}},"13":{"start":{"line":43,"column":12},"end":{"line":43,"column":60}},"14":{"start":{"line":47,"column":12},"end":{"line":47,"column":50}},"15":{"start":{"line":48,"column":12},"end":{"line":48,"column":40}},"16":{"start":{"line":52,"column":12},"end":{"line":52,"column":42}},"17":{"start":{"line":54,"column":12},"end":{"line":54,"column":38}},"18":{"start":{"line":55,"column":12},"end":{"line":55,"column":45}},"19":{"start":{"line":56,"column":12},"end":{"line":56,"column":51}},"20":{"start":{"line":57,"column":12},"end":{"line":57,"column":38}},"21":{"start":{"line":59,"column":12},"end":{"line":59,"column":42}},"22":{"start":{"line":60,"column":12},"end":{"line":60,"column":27}},"23":{"start":{"line":65,"column":12},"end":{"line":67,"column":13}},"24":{"start":{"line":66,"column":16},"end":{"line":66,"column":29}},"25":{"start":{"line":69,"column":12},"end":{"line":71,"column":13}},"26":{"start":{"line":70,"column":16},"end":{"line":70,"column":60}},"27":{"start":{"line":73,"column":12},"end":{"line":73,"column":29}},"28":{"start":{"line":79,"column":12},"end":{"line":79,"column":41}},"29":{"start":{"line":80,"column":12},"end":{"line":80,"column":39}},"30":{"start":{"line":84,"column":12},"end":{"line":84,"column":41}},"31":{"start":{"line":85,"column":12},"end":{"line":85,"column":33}},"32":{"start":{"line":86,"column":12},"end":{"line":86,"column":39}},"33":{"start":{"line":91,"column":12},"end":{"line":96,"column":23}},"34":{"start":{"line":99,"column":12},"end":{"line":99,"column":58}},"35":{"start":{"line":100,"column":12},"end":{"line":100,"column":82}},"36":{"start":{"line":103,"column":12},"end":{"line":103,"column":68}},"37":{"start":{"line":106,"column":12},"end":{"line":111,"column":13}},"38":{"start":{"line":107,"column":16},"end":{"line":107,"column":53}},"39":{"start":{"line":108,"column":16},"end":{"line":108,"column":49}},"40":{"start":{"line":109,"column":16},"end":{"line":109,"column":45}},"41":{"start":{"line":110,"column":16},"end":{"line":110,"column":43}},"42":{"start":{"line":113,"column":12},"end":{"line":113,"column":62}},"43":{"start":{"line":114,"column":12},"end":{"line":114,"column":37}},"44":{"start":{"line":117,"column":12},"end":{"line":117,"column":72}},"45":{"start":{"line":120,"column":12},"end":{"line":120,"column":43}},"46":{"start":{"line":121,"column":12},"end":{"line":121,"column":57}},"47":{"start":{"line":122,"column":12},"end":{"line":124,"column":40}},"48":{"start":{"line":125,"column":12},"end":{"line":125,"column":35}},"49":{"start":{"line":128,"column":12},"end":{"line":128,"column":74}},"50":{"start":{"line":131,"column":12},"end":{"line":131,"column":44}},"51":{"start":{"line":132,"column":12},"end":{"line":132,"column":59}},"52":{"start":{"line":133,"column":12},"end":{"line":135,"column":40}},"53":{"start":{"line":136,"column":12},"end":{"line":136,"column":36}},"54":{"start":{"line":139,"column":12},"end":{"line":139,"column":70}},"55":{"start":{"line":141,"column":12},"end":{"line":141,"column":24}},"56":{"start":{"line":145,"column":12},"end":{"line":145,"column":87}},"57":{"start":{"line":149,"column":12},"end":{"line":153,"column":15}},"58":{"start":{"line":150,"column":16},"end":{"line":152,"column":17}},"59":{"start":{"line":151,"column":20},"end":{"line":151,"column":47}},"60":{"start":{"line":157,"column":12},"end":{"line":157,"column":46}},"61":{"start":{"line":158,"column":12},"end":{"line":162,"column":13}},"62":{"start":{"line":159,"column":16},"end":{"line":159,"column":37}},"63":{"start":{"line":161,"column":16},"end":{"line":161,"column":61}},"64":{"start":{"line":167,"column":12},"end":{"line":167,"column":36}},"65":{"start":{"line":172,"column":12},"end":{"line":172,"column":35}},"66":{"start":{"line":173,"column":12},"end":{"line":173,"column":30}},"67":{"start":{"line":178,"column":12},"end":{"line":178,"column":35}},"68":{"start":{"line":179,"column":12},"end":{"line":179,"column":32}},"69":{"start":{"line":183,"column":4},"end":{"line":183,"column":52}}},"branchMap":{"1":{"line":24,"type":"if","locations":[{"start":{"line":24,"column":12},"end":{"line":24,"column":12}},{"start":{"line":24,"column":12},"end":{"line":24,"column":12}}]},"2":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":12},"end":{"line":35,"column":12}},{"start":{"line":35,"column":12},"end":{"line":35,"column":12}}]},"3":{"line":59,"type":"binary-expr","locations":[{"start":{"line":59,"column":27},"end":{"line":59,"column":35}},{"start":{"line":59,"column":39},"end":{"line":59,"column":41}}]},"4":{"line":65,"type":"if","locations":[{"start":{"line":65,"column":12},"end":{"line":65,"column":12}},{"start":{"line":65,"column":12},"end":{"line":65,"column":12}}]},"5":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":12},"end":{"line":69,"column":12}},{"start":{"line":69,"column":12},"end":{"line":69,"column":12}}]},"6":{"line":122,"type":"cond-expr","locations":[{"start":{"line":123,"column":29},"end":{"line":123,"column":58}},{"start":{"line":124,"column":29},"end":{"line":124,"column":39}}]},"7":{"line":133,"type":"cond-expr","locations":[{"start":{"line":134,"column":30},"end":{"line":134,"column":59}},{"start":{"line":135,"column":30},"end":{"line":135,"column":39}}]},"8":{"line":150,"type":"if","locations":[{"start":{"line":150,"column":16},"end":{"line":150,"column":16}},{"start":{"line":150,"column":16},"end":{"line":150,"column":16}}]},"9":{"line":150,"type":"binary-expr","locations":[{"start":{"line":150,"column":20},"end":{"line":150,"column":56}},{"start":{"line":150,"column":60},"end":{"line":150,"column":83}}]},"10":{"line":158,"type":"if","locations":[{"start":{"line":158,"column":12},"end":{"line":158,"column":12}},{"start":{"line":158,"column":12},"end":{"line":158,"column":12}}]}}},"src/js/extensions/fontsize.js":{"path":"src/js/extensions/fontsize.js","s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":12,"loc":{"start":{"line":12,"column":14},"end":{"line":12,"column":26}}},"3":{"name":"(anonymous_3)","line":18,"loc":{"start":{"line":18,"column":21},"end":{"line":18,"column":38}}},"4":{"name":"(anonymous_4)","line":32,"loc":{"start":{"line":32,"column":17},"end":{"line":32,"column":29}}},"5":{"name":"(anonymous_5)","line":40,"loc":{"start":{"line":40,"column":21},"end":{"line":40,"column":33}}},"6":{"name":"(anonymous_6)","line":44,"loc":{"start":{"line":44,"column":18},"end":{"line":44,"column":30}}},"7":{"name":"(anonymous_7)","line":49,"loc":{"start":{"line":49,"column":18},"end":{"line":49,"column":38}}},"8":{"name":"(anonymous_8)","line":62,"loc":{"start":{"line":62,"column":17},"end":{"line":62,"column":29}}},"9":{"name":"(anonymous_9)","line":76,"loc":{"start":{"line":76,"column":20},"end":{"line":76,"column":32}}},"10":{"name":"(anonymous_10)","line":81,"loc":{"start":{"line":81,"column":22},"end":{"line":81,"column":34}}},"11":{"name":"(anonymous_11)","line":88,"loc":{"start":{"line":88,"column":20},"end":{"line":88,"column":32}}},"12":{"name":"(anonymous_12)","line":137,"loc":{"start":{"line":137,"column":18},"end":{"line":137,"column":30}}},"13":{"name":"(anonymous_13)","line":141,"loc":{"start":{"line":141,"column":23},"end":{"line":141,"column":35}}},"14":{"name":"(anonymous_14)","line":142,"loc":{"start":{"line":142,"column":78},"end":{"line":142,"column":92}}},"15":{"name":"(anonymous_15)","line":149,"loc":{"start":{"line":149,"column":28},"end":{"line":149,"column":40}}},"16":{"name":"(anonymous_16)","line":158,"loc":{"start":{"line":158,"column":25},"end":{"line":158,"column":42}}},"17":{"name":"(anonymous_17)","line":163,"loc":{"start":{"line":163,"column":25},"end":{"line":163,"column":42}}},"18":{"name":"(anonymous_18)","line":169,"loc":{"start":{"line":169,"column":26},"end":{"line":169,"column":43}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":177,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":174,"column":7}},"3":{"start":{"line":13,"column":12},"end":{"line":13,"column":79}},"4":{"start":{"line":19,"column":12},"end":{"line":19,"column":35}},"5":{"start":{"line":20,"column":12},"end":{"line":20,"column":36}},"6":{"start":{"line":22,"column":12},"end":{"line":26,"column":13}},"7":{"start":{"line":24,"column":16},"end":{"line":24,"column":80}},"8":{"start":{"line":25,"column":16},"end":{"line":25,"column":40}},"9":{"start":{"line":28,"column":12},"end":{"line":28,"column":25}},"10":{"start":{"line":33,"column":12},"end":{"line":35,"column":13}},"11":{"start":{"line":34,"column":16},"end":{"line":34,"column":46}},"12":{"start":{"line":36,"column":12},"end":{"line":36,"column":29}},"13":{"start":{"line":41,"column":12},"end":{"line":41,"column":60}},"14":{"start":{"line":45,"column":12},"end":{"line":45,"column":50}},"15":{"start":{"line":46,"column":12},"end":{"line":46,"column":39}},"16":{"start":{"line":50,"column":12},"end":{"line":50,"column":40}},"17":{"start":{"line":52,"column":12},"end":{"line":52,"column":38}},"18":{"start":{"line":53,"column":12},"end":{"line":53,"column":45}},"19":{"start":{"line":54,"column":12},"end":{"line":54,"column":51}},"20":{"start":{"line":55,"column":12},"end":{"line":55,"column":38}},"21":{"start":{"line":57,"column":12},"end":{"line":57,"column":41}},"22":{"start":{"line":58,"column":12},"end":{"line":58,"column":26}},"23":{"start":{"line":63,"column":12},"end":{"line":65,"column":13}},"24":{"start":{"line":64,"column":16},"end":{"line":64,"column":29}},"25":{"start":{"line":67,"column":12},"end":{"line":69,"column":13}},"26":{"start":{"line":68,"column":16},"end":{"line":68,"column":60}},"27":{"start":{"line":71,"column":12},"end":{"line":71,"column":29}},"28":{"start":{"line":77,"column":12},"end":{"line":77,"column":41}},"29":{"start":{"line":78,"column":12},"end":{"line":78,"column":39}},"30":{"start":{"line":82,"column":12},"end":{"line":82,"column":41}},"31":{"start":{"line":83,"column":12},"end":{"line":83,"column":33}},"32":{"start":{"line":84,"column":12},"end":{"line":84,"column":39}},"33":{"start":{"line":89,"column":12},"end":{"line":93,"column":46}},"34":{"start":{"line":96,"column":12},"end":{"line":96,"column":58}},"35":{"start":{"line":97,"column":12},"end":{"line":97,"column":82}},"36":{"start":{"line":100,"column":12},"end":{"line":100,"column":68}},"37":{"start":{"line":103,"column":12},"end":{"line":103,"column":48}},"38":{"start":{"line":104,"column":12},"end":{"line":104,"column":43}},"39":{"start":{"line":105,"column":12},"end":{"line":105,"column":43}},"40":{"start":{"line":106,"column":12},"end":{"line":106,"column":60}},"41":{"start":{"line":107,"column":12},"end":{"line":107,"column":36}},"42":{"start":{"line":110,"column":12},"end":{"line":110,"column":73}},"43":{"start":{"line":113,"column":12},"end":{"line":113,"column":43}},"44":{"start":{"line":114,"column":12},"end":{"line":114,"column":57}},"45":{"start":{"line":115,"column":12},"end":{"line":117,"column":40}},"46":{"start":{"line":118,"column":12},"end":{"line":118,"column":35}},"47":{"start":{"line":121,"column":12},"end":{"line":121,"column":74}},"48":{"start":{"line":124,"column":12},"end":{"line":124,"column":44}},"49":{"start":{"line":125,"column":12},"end":{"line":125,"column":59}},"50":{"start":{"line":126,"column":12},"end":{"line":128,"column":40}},"51":{"start":{"line":129,"column":12},"end":{"line":129,"column":36}},"52":{"start":{"line":132,"column":12},"end":{"line":132,"column":70}},"53":{"start":{"line":134,"column":12},"end":{"line":134,"column":24}},"54":{"start":{"line":138,"column":12},"end":{"line":138,"column":85}},"55":{"start":{"line":142,"column":12},"end":{"line":146,"column":15}},"56":{"start":{"line":143,"column":16},"end":{"line":145,"column":17}},"57":{"start":{"line":144,"column":20},"end":{"line":144,"column":47}},"58":{"start":{"line":150,"column":12},"end":{"line":150,"column":45}},"59":{"start":{"line":151,"column":12},"end":{"line":155,"column":13}},"60":{"start":{"line":152,"column":16},"end":{"line":152,"column":37}},"61":{"start":{"line":154,"column":16},"end":{"line":154,"column":61}},"62":{"start":{"line":160,"column":12},"end":{"line":160,"column":36}},"63":{"start":{"line":165,"column":12},"end":{"line":165,"column":35}},"64":{"start":{"line":166,"column":12},"end":{"line":166,"column":30}},"65":{"start":{"line":171,"column":12},"end":{"line":171,"column":35}},"66":{"start":{"line":172,"column":12},"end":{"line":172,"column":32}},"67":{"start":{"line":176,"column":4},"end":{"line":176,"column":52}}},"branchMap":{"1":{"line":22,"type":"if","locations":[{"start":{"line":22,"column":12},"end":{"line":22,"column":12}},{"start":{"line":22,"column":12},"end":{"line":22,"column":12}}]},"2":{"line":33,"type":"if","locations":[{"start":{"line":33,"column":12},"end":{"line":33,"column":12}},{"start":{"line":33,"column":12},"end":{"line":33,"column":12}}]},"3":{"line":57,"type":"binary-expr","locations":[{"start":{"line":57,"column":26},"end":{"line":57,"column":34}},{"start":{"line":57,"column":38},"end":{"line":57,"column":40}}]},"4":{"line":63,"type":"if","locations":[{"start":{"line":63,"column":12},"end":{"line":63,"column":12}},{"start":{"line":63,"column":12},"end":{"line":63,"column":12}}]},"5":{"line":67,"type":"if","locations":[{"start":{"line":67,"column":12},"end":{"line":67,"column":12}},{"start":{"line":67,"column":12},"end":{"line":67,"column":12}}]},"6":{"line":115,"type":"cond-expr","locations":[{"start":{"line":116,"column":29},"end":{"line":116,"column":58}},{"start":{"line":117,"column":29},"end":{"line":117,"column":39}}]},"7":{"line":126,"type":"cond-expr","locations":[{"start":{"line":127,"column":30},"end":{"line":127,"column":59}},{"start":{"line":128,"column":30},"end":{"line":128,"column":39}}]},"8":{"line":143,"type":"if","locations":[{"start":{"line":143,"column":16},"end":{"line":143,"column":16}},{"start":{"line":143,"column":16},"end":{"line":143,"column":16}}]},"9":{"line":143,"type":"binary-expr","locations":[{"start":{"line":143,"column":20},"end":{"line":143,"column":56}},{"start":{"line":143,"column":60},"end":{"line":143,"column":83}}]},"10":{"line":151,"type":"if","locations":[{"start":{"line":151,"column":12},"end":{"line":151,"column":12}},{"start":{"line":151,"column":12},"end":{"line":151,"column":12}}]}}},"src/js/extensions/paste.js":{"path":"src/js/extensions/paste.js","s":{"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":1,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0},"b":{"1":[0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0,0],"46":[0,0],"47":[0,0],"48":[0,0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0,0],"54":[0,0],"55":[0,0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":9,"loc":{"start":{"line":9,"column":19},"end":{"line":9,"column":36}}},"3":{"name":"createReplacements","line":20,"loc":{"start":{"line":20,"column":4},"end":{"line":20,"column":34}}},"4":{"name":"getClipboardContent","line":77,"loc":{"start":{"line":77,"column":4},"end":{"line":77,"column":50}}},"5":{"name":"(anonymous_5)","line":149,"loc":{"start":{"line":149,"column":14},"end":{"line":149,"column":26}}},"6":{"name":"(anonymous_6)","line":156,"loc":{"start":{"line":156,"column":49},"end":{"line":156,"column":68}}},"7":{"name":"(anonymous_7)","line":163,"loc":{"start":{"line":163,"column":26},"end":{"line":163,"column":53}}},"8":{"name":"(anonymous_8)","line":167,"loc":{"start":{"line":167,"column":17},"end":{"line":167,"column":29}}},"9":{"name":"(anonymous_9)","line":174,"loc":{"start":{"line":174,"column":21},"end":{"line":174,"column":48}}},"10":{"name":"(anonymous_10)","line":199,"loc":{"start":{"line":199,"column":17},"end":{"line":199,"column":62}}},"11":{"name":"(anonymous_11)","line":230,"loc":{"start":{"line":230,"column":29},"end":{"line":230,"column":46}}},"12":{"name":"(anonymous_12)","line":258,"loc":{"start":{"line":258,"column":23},"end":{"line":258,"column":35}}},"13":{"name":"(anonymous_13)","line":279,"loc":{"start":{"line":279,"column":23},"end":{"line":279,"column":50}}},"14":{"name":"(anonymous_14)","line":291,"loc":{"start":{"line":291,"column":24},"end":{"line":291,"column":44}}},"15":{"name":"(anonymous_15)","line":337,"loc":{"start":{"line":337,"column":24},"end":{"line":337,"column":36}}},"16":{"name":"(anonymous_16)","line":361,"loc":{"start":{"line":361,"column":21},"end":{"line":361,"column":33}}},"17":{"name":"(anonymous_17)","line":365,"loc":{"start":{"line":365,"column":25},"end":{"line":365,"column":37}}},"18":{"name":"(anonymous_18)","line":389,"loc":{"start":{"line":389,"column":20},"end":{"line":389,"column":36}}},"19":{"name":"(anonymous_19)","line":435,"loc":{"start":{"line":435,"column":19},"end":{"line":435,"column":44}}},"20":{"name":"(anonymous_20)","line":468,"loc":{"start":{"line":468,"column":23},"end":{"line":468,"column":37}}},"21":{"name":"(anonymous_21)","line":473,"loc":{"start":{"line":473,"column":28},"end":{"line":473,"column":42}}},"22":{"name":"(anonymous_22)","line":480,"loc":{"start":{"line":480,"column":25},"end":{"line":480,"column":39}}},"23":{"name":"(anonymous_23)","line":495,"loc":{"start":{"line":495,"column":26},"end":{"line":495,"column":40}}},"24":{"name":"(anonymous_24)","line":506,"loc":{"start":{"line":506,"column":22},"end":{"line":506,"column":45}}},"25":{"name":"(anonymous_25)","line":511,"loc":{"start":{"line":511,"column":24},"end":{"line":511,"column":38}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":544,"column":5}},"2":{"start":{"line":6,"column":4},"end":{"line":11,"column":10}},"3":{"start":{"line":10,"column":12},"end":{"line":10,"column":36}},"4":{"start":{"line":20,"column":4},"end":{"line":65,"column":5}},"5":{"start":{"line":21,"column":8},"end":{"line":64,"column":10}},"6":{"start":{"line":77,"column":4},"end":{"line":101,"column":5}},"7":{"start":{"line":78,"column":8},"end":{"line":79,"column":22}},"8":{"start":{"line":81,"column":8},"end":{"line":83,"column":9}},"9":{"start":{"line":82,"column":12},"end":{"line":82,"column":24}},"10":{"start":{"line":86,"column":8},"end":{"line":91,"column":9}},"11":{"start":{"line":87,"column":12},"end":{"line":87,"column":58}},"12":{"start":{"line":88,"column":12},"end":{"line":90,"column":13}},"13":{"start":{"line":89,"column":16},"end":{"line":89,"column":48}},"14":{"start":{"line":93,"column":8},"end":{"line":98,"column":9}},"15":{"start":{"line":94,"column":12},"end":{"line":97,"column":13}},"16":{"start":{"line":95,"column":16},"end":{"line":95,"column":56}},"17":{"start":{"line":96,"column":16},"end":{"line":96,"column":70}},"18":{"start":{"line":100,"column":8},"end":{"line":100,"column":20}},"19":{"start":{"line":103,"column":4},"end":{"line":541,"column":7}},"20":{"start":{"line":150,"column":12},"end":{"line":150,"column":73}},"21":{"start":{"line":152,"column":12},"end":{"line":160,"column":13}},"22":{"start":{"line":153,"column":16},"end":{"line":153,"column":81}},"23":{"start":{"line":156,"column":16},"end":{"line":158,"column":25}},"24":{"start":{"line":157,"column":20},"end":{"line":157,"column":75}},"25":{"start":{"line":159,"column":16},"end":{"line":159,"column":79}},"26":{"start":{"line":164,"column":12},"end":{"line":164,"column":68}},"27":{"start":{"line":169,"column":12},"end":{"line":171,"column":13}},"28":{"start":{"line":170,"column":16},"end":{"line":170,"column":38}},"29":{"start":{"line":175,"column":12},"end":{"line":177,"column":13}},"30":{"start":{"line":176,"column":16},"end":{"line":176,"column":23}},"31":{"start":{"line":179,"column":12},"end":{"line":181,"column":61}},"32":{"start":{"line":183,"column":12},"end":{"line":190,"column":13}},"33":{"start":{"line":189,"column":16},"end":{"line":189,"column":41}},"34":{"start":{"line":192,"column":12},"end":{"line":196,"column":13}},"35":{"start":{"line":193,"column":16},"end":{"line":193,"column":39}},"36":{"start":{"line":195,"column":16},"end":{"line":195,"column":64}},"37":{"start":{"line":200,"column":12},"end":{"line":202,"column":18}},"38":{"start":{"line":204,"column":12},"end":{"line":206,"column":13}},"39":{"start":{"line":205,"column":16},"end":{"line":205,"column":51}},"40":{"start":{"line":208,"column":12},"end":{"line":210,"column":13}},"41":{"start":{"line":209,"column":16},"end":{"line":209,"column":23}},"42":{"start":{"line":212,"column":12},"end":{"line":226,"column":13}},"43":{"start":{"line":213,"column":16},"end":{"line":213,"column":59}},"44":{"start":{"line":215,"column":16},"end":{"line":223,"column":17}},"45":{"start":{"line":216,"column":20},"end":{"line":220,"column":21}},"46":{"start":{"line":217,"column":24},"end":{"line":219,"column":25}},"47":{"start":{"line":218,"column":28},"end":{"line":218,"column":99}},"48":{"start":{"line":222,"column":20},"end":{"line":222,"column":73}},"49":{"start":{"line":225,"column":16},"end":{"line":225,"column":67}},"50":{"start":{"line":227,"column":12},"end":{"line":227,"column":69}},"51":{"start":{"line":231,"column":12},"end":{"line":234,"column":13}},"52":{"start":{"line":232,"column":16},"end":{"line":232,"column":38}},"53":{"start":{"line":233,"column":16},"end":{"line":233,"column":23}},"54":{"start":{"line":236,"column":12},"end":{"line":239,"column":49}},"55":{"start":{"line":243,"column":12},"end":{"line":254,"column":13}},"56":{"start":{"line":244,"column":16},"end":{"line":244,"column":39}},"57":{"start":{"line":245,"column":16},"end":{"line":245,"column":38}},"58":{"start":{"line":246,"column":16},"end":{"line":246,"column":64}},"59":{"start":{"line":252,"column":16},"end":{"line":252,"column":103}},"60":{"start":{"line":253,"column":16},"end":{"line":253,"column":23}},"61":{"start":{"line":258,"column":12},"end":{"line":276,"column":29}},"62":{"start":{"line":260,"column":16},"end":{"line":263,"column":17}},"63":{"start":{"line":262,"column":20},"end":{"line":262,"column":56}},"64":{"start":{"line":266,"column":16},"end":{"line":266,"column":38}},"65":{"start":{"line":269,"column":16},"end":{"line":269,"column":64}},"66":{"start":{"line":275,"column":16},"end":{"line":275,"column":103}},"67":{"start":{"line":281,"column":12},"end":{"line":283,"column":13}},"68":{"start":{"line":282,"column":16},"end":{"line":282,"column":23}},"69":{"start":{"line":285,"column":12},"end":{"line":285,"column":45}},"70":{"start":{"line":287,"column":12},"end":{"line":287,"column":34}},"71":{"start":{"line":288,"column":12},"end":{"line":288,"column":42}},"72":{"start":{"line":292,"column":12},"end":{"line":294,"column":46}},"73":{"start":{"line":296,"column":12},"end":{"line":296,"column":45}},"74":{"start":{"line":298,"column":12},"end":{"line":309,"column":13}},"75":{"start":{"line":299,"column":16},"end":{"line":299,"column":47}},"76":{"start":{"line":302,"column":16},"end":{"line":308,"column":17}},"77":{"start":{"line":303,"column":20},"end":{"line":303,"column":40}},"78":{"start":{"line":304,"column":23},"end":{"line":308,"column":17}},"79":{"start":{"line":305,"column":20},"end":{"line":305,"column":76}},"80":{"start":{"line":307,"column":20},"end":{"line":307,"column":61}},"81":{"start":{"line":311,"column":12},"end":{"line":311,"column":30}},"82":{"start":{"line":313,"column":12},"end":{"line":313,"column":65}},"83":{"start":{"line":314,"column":12},"end":{"line":314,"column":89}},"84":{"start":{"line":315,"column":12},"end":{"line":315,"column":168}},"85":{"start":{"line":316,"column":12},"end":{"line":316,"column":62}},"86":{"start":{"line":317,"column":12},"end":{"line":317,"column":59}},"87":{"start":{"line":319,"column":12},"end":{"line":319,"column":56}},"88":{"start":{"line":322,"column":12},"end":{"line":322,"column":52}},"89":{"start":{"line":323,"column":12},"end":{"line":323,"column":54}},"90":{"start":{"line":324,"column":12},"end":{"line":324,"column":55}},"91":{"start":{"line":326,"column":12},"end":{"line":326,"column":32}},"92":{"start":{"line":328,"column":12},"end":{"line":328,"column":74}},"93":{"start":{"line":330,"column":12},"end":{"line":332,"column":13}},"94":{"start":{"line":331,"column":16},"end":{"line":331,"column":76}},"95":{"start":{"line":334,"column":12},"end":{"line":334,"column":65}},"96":{"start":{"line":338,"column":12},"end":{"line":341,"column":13}},"97":{"start":{"line":339,"column":16},"end":{"line":339,"column":77}},"98":{"start":{"line":340,"column":16},"end":{"line":340,"column":33}},"99":{"start":{"line":343,"column":12},"end":{"line":345,"column":13}},"100":{"start":{"line":344,"column":16},"end":{"line":344,"column":45}},"101":{"start":{"line":347,"column":12},"end":{"line":347,"column":49}},"102":{"start":{"line":348,"column":12},"end":{"line":350,"column":13}},"103":{"start":{"line":349,"column":16},"end":{"line":349,"column":23}},"104":{"start":{"line":352,"column":12},"end":{"line":358,"column":13}},"105":{"start":{"line":353,"column":16},"end":{"line":353,"column":57}},"106":{"start":{"line":354,"column":16},"end":{"line":354,"column":59}},"107":{"start":{"line":355,"column":16},"end":{"line":355,"column":60}},"108":{"start":{"line":356,"column":16},"end":{"line":356,"column":70}},"109":{"start":{"line":357,"column":16},"end":{"line":357,"column":67}},"110":{"start":{"line":362,"column":12},"end":{"line":362,"column":65}},"111":{"start":{"line":366,"column":12},"end":{"line":366,"column":49}},"112":{"start":{"line":368,"column":12},"end":{"line":370,"column":13}},"113":{"start":{"line":369,"column":16},"end":{"line":369,"column":29}},"114":{"start":{"line":374,"column":12},"end":{"line":376,"column":13}},"115":{"start":{"line":375,"column":16},"end":{"line":375,"column":29}},"116":{"start":{"line":378,"column":12},"end":{"line":378,"column":53}},"117":{"start":{"line":382,"column":12},"end":{"line":384,"column":13}},"118":{"start":{"line":383,"column":16},"end":{"line":383,"column":29}},"119":{"start":{"line":386,"column":12},"end":{"line":386,"column":32}},"120":{"start":{"line":390,"column":12},"end":{"line":395,"column":50}},"121":{"start":{"line":397,"column":12},"end":{"line":399,"column":13}},"122":{"start":{"line":398,"column":16},"end":{"line":398,"column":76}},"123":{"start":{"line":401,"column":12},"end":{"line":403,"column":13}},"124":{"start":{"line":402,"column":16},"end":{"line":402,"column":44}},"125":{"start":{"line":406,"column":12},"end":{"line":406,"column":53}},"126":{"start":{"line":409,"column":12},"end":{"line":409,"column":84}},"127":{"start":{"line":412,"column":12},"end":{"line":412,"column":56}},"128":{"start":{"line":413,"column":12},"end":{"line":430,"column":13}},"129":{"start":{"line":414,"column":16},"end":{"line":414,"column":35}},"130":{"start":{"line":419,"column":16},"end":{"line":419,"column":73}},"131":{"start":{"line":421,"column":16},"end":{"line":429,"column":17}},"132":{"start":{"line":424,"column":24},"end":{"line":424,"column":56}},"133":{"start":{"line":425,"column":24},"end":{"line":425,"column":30}},"134":{"start":{"line":427,"column":24},"end":{"line":427,"column":53}},"135":{"start":{"line":428,"column":24},"end":{"line":428,"column":30}},"136":{"start":{"line":432,"column":12},"end":{"line":432,"column":42}},"137":{"start":{"line":436,"column":12},"end":{"line":440,"column":15}},"138":{"start":{"line":442,"column":12},"end":{"line":442,"column":101}},"139":{"start":{"line":444,"column":12},"end":{"line":444,"column":72}},"140":{"start":{"line":446,"column":12},"end":{"line":446,"column":60}},"141":{"start":{"line":447,"column":12},"end":{"line":447,"column":42}},"142":{"start":{"line":449,"column":12},"end":{"line":449,"column":44}},"143":{"start":{"line":451,"column":12},"end":{"line":451,"column":56}},"144":{"start":{"line":452,"column":12},"end":{"line":462,"column":13}},"145":{"start":{"line":453,"column":16},"end":{"line":453,"column":35}},"146":{"start":{"line":455,"column":16},"end":{"line":457,"column":17}},"147":{"start":{"line":456,"column":20},"end":{"line":456,"column":61}},"148":{"start":{"line":459,"column":16},"end":{"line":459,"column":75}},"149":{"start":{"line":460,"column":16},"end":{"line":460,"column":73}},"150":{"start":{"line":461,"column":16},"end":{"line":461,"column":73}},"151":{"start":{"line":464,"column":12},"end":{"line":464,"column":111}},"152":{"start":{"line":469,"column":12},"end":{"line":469,"column":102}},"153":{"start":{"line":474,"column":12},"end":{"line":476,"column":13}},"154":{"start":{"line":475,"column":16},"end":{"line":475,"column":46}},"155":{"start":{"line":481,"column":12},"end":{"line":490,"column":13}},"156":{"start":{"line":483,"column":16},"end":{"line":483,"column":42}},"157":{"start":{"line":484,"column":19},"end":{"line":490,"column":13}},"158":{"start":{"line":486,"column":16},"end":{"line":486,"column":42}},"159":{"start":{"line":487,"column":19},"end":{"line":490,"column":13}},"160":{"start":{"line":489,"column":16},"end":{"line":489,"column":42}},"161":{"start":{"line":496,"column":12},"end":{"line":502,"column":13}},"162":{"start":{"line":497,"column":16},"end":{"line":501,"column":17}},"163":{"start":{"line":498,"column":20},"end":{"line":498,"column":72}},"164":{"start":{"line":500,"column":20},"end":{"line":500,"column":50}},"165":{"start":{"line":507,"column":12},"end":{"line":513,"column":18}},"166":{"start":{"line":512,"column":20},"end":{"line":512,"column":109}},"167":{"start":{"line":515,"column":12},"end":{"line":526,"column":13}},"168":{"start":{"line":516,"column":16},"end":{"line":516,"column":30}},"169":{"start":{"line":517,"column":16},"end":{"line":517,"column":95}},"170":{"start":{"line":519,"column":16},"end":{"line":524,"column":17}},"171":{"start":{"line":521,"column":20},"end":{"line":521,"column":68}},"172":{"start":{"line":523,"column":20},"end":{"line":523,"column":51}},"173":{"start":{"line":525,"column":16},"end":{"line":525,"column":54}},"174":{"start":{"line":528,"column":12},"end":{"line":528,"column":57}},"175":{"start":{"line":529,"column":12},"end":{"line":539,"column":13}},"176":{"start":{"line":530,"column":16},"end":{"line":530,"column":30}},"177":{"start":{"line":533,"column":16},"end":{"line":535,"column":17}},"178":{"start":{"line":534,"column":20},"end":{"line":534,"column":33}},"179":{"start":{"line":538,"column":16},"end":{"line":538,"column":60}},"180":{"start":{"line":543,"column":4},"end":{"line":543,"column":49}}},"branchMap":{"1":{"line":78,"type":"binary-expr","locations":[{"start":{"line":78,"column":27},"end":{"line":78,"column":46}},{"start":{"line":78,"column":50},"end":{"line":78,"column":67}},{"start":{"line":78,"column":71},"end":{"line":78,"column":87}}]},"2":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":8},"end":{"line":81,"column":8}},{"start":{"line":81,"column":8},"end":{"line":81,"column":8}}]},"3":{"line":86,"type":"if","locations":[{"start":{"line":86,"column":8},"end":{"line":86,"column":8}},{"start":{"line":86,"column":8},"end":{"line":86,"column":8}}]},"4":{"line":88,"type":"if","locations":[{"start":{"line":88,"column":12},"end":{"line":88,"column":12}},{"start":{"line":88,"column":12},"end":{"line":88,"column":12}}]},"5":{"line":88,"type":"binary-expr","locations":[{"start":{"line":88,"column":16},"end":{"line":88,"column":26}},{"start":{"line":88,"column":30},"end":{"line":88,"column":51}}]},"6":{"line":93,"type":"if","locations":[{"start":{"line":93,"column":8},"end":{"line":93,"column":8}},{"start":{"line":93,"column":8},"end":{"line":93,"column":8}}]},"7":{"line":152,"type":"if","locations":[{"start":{"line":152,"column":12},"end":{"line":152,"column":12}},{"start":{"line":152,"column":12},"end":{"line":152,"column":12}}]},"8":{"line":152,"type":"binary-expr","locations":[{"start":{"line":152,"column":16},"end":{"line":152,"column":35}},{"start":{"line":152,"column":39},"end":{"line":152,"column":59}}]},"9":{"line":169,"type":"if","locations":[{"start":{"line":169,"column":12},"end":{"line":169,"column":12}},{"start":{"line":169,"column":12},"end":{"line":169,"column":12}}]},"10":{"line":169,"type":"binary-expr","locations":[{"start":{"line":169,"column":16},"end":{"line":169,"column":35}},{"start":{"line":169,"column":39},"end":{"line":169,"column":59}}]},"11":{"line":175,"type":"if","locations":[{"start":{"line":175,"column":12},"end":{"line":175,"column":12}},{"start":{"line":175,"column":12},"end":{"line":175,"column":12}}]},"12":{"line":183,"type":"if","locations":[{"start":{"line":183,"column":12},"end":{"line":183,"column":12}},{"start":{"line":183,"column":12},"end":{"line":183,"column":12}}]},"13":{"line":183,"type":"binary-expr","locations":[{"start":{"line":183,"column":16},"end":{"line":183,"column":41}},{"start":{"line":183,"column":45},"end":{"line":183,"column":78}},{"start":{"line":183,"column":82},"end":{"line":183,"column":93}}]},"14":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":12},"end":{"line":192,"column":12}},{"start":{"line":192,"column":12},"end":{"line":192,"column":12}}]},"15":{"line":192,"type":"binary-expr","locations":[{"start":{"line":192,"column":16},"end":{"line":192,"column":26}},{"start":{"line":192,"column":30},"end":{"line":192,"column":41}}]},"16":{"line":204,"type":"if","locations":[{"start":{"line":204,"column":12},"end":{"line":204,"column":12}},{"start":{"line":204,"column":12},"end":{"line":204,"column":12}}]},"17":{"line":204,"type":"binary-expr","locations":[{"start":{"line":204,"column":16},"end":{"line":204,"column":36}},{"start":{"line":204,"column":40},"end":{"line":204,"column":50}}]},"18":{"line":208,"type":"if","locations":[{"start":{"line":208,"column":12},"end":{"line":208,"column":12}},{"start":{"line":208,"column":12},"end":{"line":208,"column":12}}]},"19":{"line":212,"type":"if","locations":[{"start":{"line":212,"column":12},"end":{"line":212,"column":12}},{"start":{"line":212,"column":12},"end":{"line":212,"column":12}}]},"20":{"line":212,"type":"binary-expr","locations":[{"start":{"line":212,"column":18},"end":{"line":212,"column":55}},{"start":{"line":212,"column":60},"end":{"line":212,"column":68}},{"start":{"line":212,"column":72},"end":{"line":212,"column":116}}]},"21":{"line":215,"type":"if","locations":[{"start":{"line":215,"column":16},"end":{"line":215,"column":16}},{"start":{"line":215,"column":16},"end":{"line":215,"column":16}}]},"22":{"line":217,"type":"if","locations":[{"start":{"line":217,"column":24},"end":{"line":217,"column":24}},{"start":{"line":217,"column":24},"end":{"line":217,"column":24}}]},"23":{"line":231,"type":"if","locations":[{"start":{"line":231,"column":12},"end":{"line":231,"column":12}},{"start":{"line":231,"column":12},"end":{"line":231,"column":12}}]},"24":{"line":243,"type":"if","locations":[{"start":{"line":243,"column":12},"end":{"line":243,"column":12}},{"start":{"line":243,"column":12},"end":{"line":243,"column":12}}]},"25":{"line":243,"type":"binary-expr","locations":[{"start":{"line":243,"column":16},"end":{"line":243,"column":37}},{"start":{"line":243,"column":41},"end":{"line":243,"column":51}}]},"26":{"line":260,"type":"if","locations":[{"start":{"line":260,"column":16},"end":{"line":260,"column":16}},{"start":{"line":260,"column":16},"end":{"line":260,"column":16}}]},"27":{"line":281,"type":"if","locations":[{"start":{"line":281,"column":12},"end":{"line":281,"column":12}},{"start":{"line":281,"column":12},"end":{"line":281,"column":12}}]},"28":{"line":281,"type":"binary-expr","locations":[{"start":{"line":281,"column":18},"end":{"line":281,"column":77}},{"start":{"line":281,"column":81},"end":{"line":281,"column":119}}]},"29":{"line":298,"type":"if","locations":[{"start":{"line":298,"column":12},"end":{"line":298,"column":12}},{"start":{"line":298,"column":12},"end":{"line":298,"column":12}}]},"30":{"line":302,"type":"if","locations":[{"start":{"line":302,"column":16},"end":{"line":302,"column":16}},{"start":{"line":302,"column":16},"end":{"line":302,"column":16}}]},"31":{"line":304,"type":"if","locations":[{"start":{"line":304,"column":23},"end":{"line":304,"column":23}},{"start":{"line":304,"column":23},"end":{"line":304,"column":23}}]},"32":{"line":330,"type":"if","locations":[{"start":{"line":330,"column":12},"end":{"line":330,"column":12}},{"start":{"line":330,"column":12},"end":{"line":330,"column":12}}]},"33":{"line":338,"type":"if","locations":[{"start":{"line":338,"column":12},"end":{"line":338,"column":12}},{"start":{"line":338,"column":12},"end":{"line":338,"column":12}}]},"34":{"line":343,"type":"if","locations":[{"start":{"line":343,"column":12},"end":{"line":343,"column":12}},{"start":{"line":343,"column":12},"end":{"line":343,"column":12}}]},"35":{"line":348,"type":"if","locations":[{"start":{"line":348,"column":12},"end":{"line":348,"column":12}},{"start":{"line":348,"column":12},"end":{"line":348,"column":12}}]},"36":{"line":352,"type":"if","locations":[{"start":{"line":352,"column":12},"end":{"line":352,"column":12}},{"start":{"line":352,"column":12},"end":{"line":352,"column":12}}]},"37":{"line":368,"type":"if","locations":[{"start":{"line":368,"column":12},"end":{"line":368,"column":12}},{"start":{"line":368,"column":12},"end":{"line":368,"column":12}}]},"38":{"line":374,"type":"if","locations":[{"start":{"line":374,"column":12},"end":{"line":374,"column":12}},{"start":{"line":374,"column":12},"end":{"line":374,"column":12}}]},"39":{"line":374,"type":"binary-expr","locations":[{"start":{"line":374,"column":16},"end":{"line":374,"column":38}},{"start":{"line":374,"column":42},"end":{"line":374,"column":85}}]},"40":{"line":382,"type":"if","locations":[{"start":{"line":382,"column":12},"end":{"line":382,"column":12}},{"start":{"line":382,"column":12},"end":{"line":382,"column":12}}]},"41":{"line":382,"type":"binary-expr","locations":[{"start":{"line":382,"column":16},"end":{"line":382,"column":29}},{"start":{"line":382,"column":33},"end":{"line":382,"column":72}}]},"42":{"line":393,"type":"binary-expr","locations":[{"start":{"line":393,"column":20},"end":{"line":393,"column":45}},{"start":{"line":393,"column":49},"end":{"line":393,"column":51}}]},"43":{"line":395,"type":"binary-expr","locations":[{"start":{"line":395,"column":20},"end":{"line":395,"column":42}},{"start":{"line":395,"column":46},"end":{"line":395,"column":48}}]},"44":{"line":401,"type":"if","locations":[{"start":{"line":401,"column":12},"end":{"line":401,"column":12}},{"start":{"line":401,"column":12},"end":{"line":401,"column":12}}]},"45":{"line":421,"type":"switch","locations":[{"start":{"line":422,"column":20},"end":{"line":422,"column":29}},{"start":{"line":423,"column":20},"end":{"line":425,"column":30}},{"start":{"line":426,"column":20},"end":{"line":428,"column":30}}]},"46":{"line":455,"type":"if","locations":[{"start":{"line":455,"column":16},"end":{"line":455,"column":16}},{"start":{"line":455,"column":16},"end":{"line":455,"column":16}}]},"47":{"line":455,"type":"binary-expr","locations":[{"start":{"line":455,"column":20},"end":{"line":455,"column":57}},{"start":{"line":455,"column":61},"end":{"line":455,"column":96}}]},"48":{"line":469,"type":"binary-expr","locations":[{"start":{"line":469,"column":20},"end":{"line":469,"column":22}},{"start":{"line":469,"column":27},"end":{"line":469,"column":60}},{"start":{"line":469,"column":64},"end":{"line":469,"column":99}}]},"49":{"line":474,"type":"if","locations":[{"start":{"line":474,"column":12},"end":{"line":474,"column":12}},{"start":{"line":474,"column":12},"end":{"line":474,"column":12}}]},"50":{"line":474,"type":"binary-expr","locations":[{"start":{"line":474,"column":16},"end":{"line":474,"column":44}},{"start":{"line":474,"column":48},"end":{"line":474,"column":61}}]},"51":{"line":481,"type":"if","locations":[{"start":{"line":481,"column":12},"end":{"line":481,"column":12}},{"start":{"line":481,"column":12},"end":{"line":481,"column":12}}]},"52":{"line":484,"type":"if","locations":[{"start":{"line":484,"column":19},"end":{"line":484,"column":19}},{"start":{"line":484,"column":19},"end":{"line":484,"column":19}}]},"53":{"line":484,"type":"binary-expr","locations":[{"start":{"line":484,"column":23},"end":{"line":484,"column":56}},{"start":{"line":484,"column":61},"end":{"line":484,"column":92}},{"start":{"line":484,"column":96},"end":{"line":484,"column":126}}]},"54":{"line":487,"type":"if","locations":[{"start":{"line":487,"column":19},"end":{"line":487,"column":19}},{"start":{"line":487,"column":19},"end":{"line":487,"column":19}}]},"55":{"line":487,"type":"binary-expr","locations":[{"start":{"line":487,"column":23},"end":{"line":487,"column":36}},{"start":{"line":487,"column":40},"end":{"line":487,"column":77}},{"start":{"line":487,"column":81},"end":{"line":487,"column":113}}]},"56":{"line":496,"type":"if","locations":[{"start":{"line":496,"column":12},"end":{"line":496,"column":12}},{"start":{"line":496,"column":12},"end":{"line":496,"column":12}}]},"57":{"line":496,"type":"binary-expr","locations":[{"start":{"line":496,"column":16},"end":{"line":496,"column":18}},{"start":{"line":496,"column":22},"end":{"line":496,"column":35}}]},"58":{"line":497,"type":"if","locations":[{"start":{"line":497,"column":16},"end":{"line":497,"column":16}},{"start":{"line":497,"column":16},"end":{"line":497,"column":16}}]},"59":{"line":497,"type":"binary-expr","locations":[{"start":{"line":497,"column":20},"end":{"line":497,"column":44}},{"start":{"line":497,"column":48},"end":{"line":497,"column":85}}]},"60":{"line":512,"type":"binary-expr","locations":[{"start":{"line":512,"column":28},"end":{"line":512,"column":30}},{"start":{"line":512,"column":34},"end":{"line":512,"column":57}},{"start":{"line":512,"column":61},"end":{"line":512,"column":107}}]},"61":{"line":517,"type":"cond-expr","locations":[{"start":{"line":517,"column":84},"end":{"line":517,"column":87}},{"start":{"line":517,"column":90},"end":{"line":517,"column":93}}]},"62":{"line":519,"type":"if","locations":[{"start":{"line":519,"column":16},"end":{"line":519,"column":16}},{"start":{"line":519,"column":16},"end":{"line":519,"column":16}}]},"63":{"line":519,"type":"binary-expr","locations":[{"start":{"line":519,"column":20},"end":{"line":519,"column":49}},{"start":{"line":519,"column":53},"end":{"line":519,"column":84}}]},"64":{"line":533,"type":"if","locations":[{"start":{"line":533,"column":16},"end":{"line":533,"column":16}},{"start":{"line":533,"column":16},"end":{"line":533,"column":16}}]}}},"src/js/extensions/placeholder.js":{"path":"src/js/extensions/placeholder.js","s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":19,"loc":{"start":{"line":19,"column":14},"end":{"line":19,"column":26}}},"3":{"name":"(anonymous_3)","line":26,"loc":{"start":{"line":26,"column":26},"end":{"line":26,"column":38}}},"4":{"name":"(anonymous_4)","line":30,"loc":{"start":{"line":30,"column":26},"end":{"line":30,"column":53}}},"5":{"name":"(anonymous_5)","line":34,"loc":{"start":{"line":34,"column":21},"end":{"line":34,"column":35}}},"6":{"name":"(anonymous_6)","line":41,"loc":{"start":{"line":41,"column":17},"end":{"line":41,"column":29}}},"7":{"name":"(anonymous_7)","line":45,"loc":{"start":{"line":45,"column":29},"end":{"line":45,"column":56}}},"8":{"name":"(anonymous_8)","line":49,"loc":{"start":{"line":49,"column":24},"end":{"line":49,"column":38}}},"9":{"name":"(anonymous_9)","line":55,"loc":{"start":{"line":55,"column":25},"end":{"line":55,"column":39}}},"10":{"name":"(anonymous_10)","line":72,"loc":{"start":{"line":72,"column":25},"end":{"line":72,"column":39}}},"11":{"name":"(anonymous_11)","line":79,"loc":{"start":{"line":79,"column":27},"end":{"line":79,"column":51}}},"12":{"name":"(anonymous_12)","line":90,"loc":{"start":{"line":90,"column":29},"end":{"line":90,"column":41}}},"13":{"name":"(anonymous_13)","line":107,"loc":{"start":{"line":107,"column":21},"end":{"line":107,"column":47}}},"14":{"name":"(anonymous_14)","line":116,"loc":{"start":{"line":116,"column":21},"end":{"line":116,"column":47}}},"15":{"name":"(anonymous_15)","line":121,"loc":{"start":{"line":121,"column":20},"end":{"line":121,"column":46}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":128,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":125,"column":7}},"3":{"start":{"line":20,"column":12},"end":{"line":20,"column":73}},"4":{"start":{"line":22,"column":12},"end":{"line":22,"column":36}},"5":{"start":{"line":23,"column":12},"end":{"line":23,"column":39}},"6":{"start":{"line":27,"column":12},"end":{"line":27,"column":69}},"7":{"start":{"line":31,"column":12},"end":{"line":31,"column":39}},"8":{"start":{"line":35,"column":12},"end":{"line":37,"column":13}},"9":{"start":{"line":36,"column":16},"end":{"line":36,"column":63}},"10":{"start":{"line":38,"column":12},"end":{"line":38,"column":39}},"11":{"start":{"line":42,"column":12},"end":{"line":42,"column":72}},"12":{"start":{"line":46,"column":12},"end":{"line":46,"column":42}},"13":{"start":{"line":50,"column":12},"end":{"line":52,"column":13}},"14":{"start":{"line":51,"column":16},"end":{"line":51,"column":55}},"15":{"start":{"line":56,"column":12},"end":{"line":69,"column":13}},"16":{"start":{"line":62,"column":16},"end":{"line":68,"column":17}},"17":{"start":{"line":63,"column":20},"end":{"line":63,"column":75}},"18":{"start":{"line":64,"column":20},"end":{"line":64,"column":69}},"19":{"start":{"line":66,"column":20},"end":{"line":66,"column":66}},"20":{"start":{"line":67,"column":20},"end":{"line":67,"column":78}},"21":{"start":{"line":73,"column":12},"end":{"line":76,"column":13}},"22":{"start":{"line":74,"column":16},"end":{"line":74,"column":65}},"23":{"start":{"line":75,"column":16},"end":{"line":75,"column":74}},"24":{"start":{"line":81,"column":12},"end":{"line":83,"column":13}},"25":{"start":{"line":82,"column":16},"end":{"line":82,"column":48}},"26":{"start":{"line":85,"column":12},"end":{"line":87,"column":13}},"27":{"start":{"line":86,"column":16},"end":{"line":86,"column":41}},"28":{"start":{"line":91,"column":12},"end":{"line":94,"column":13}},"29":{"start":{"line":93,"column":16},"end":{"line":93,"column":69}},"30":{"start":{"line":97,"column":12},"end":{"line":97,"column":73}},"31":{"start":{"line":100,"column":12},"end":{"line":100,"column":63}},"32":{"start":{"line":103,"column":12},"end":{"line":103,"column":75}},"33":{"start":{"line":104,"column":12},"end":{"line":104,"column":81}},"34":{"start":{"line":110,"column":12},"end":{"line":110,"column":91}},"35":{"start":{"line":113,"column":12},"end":{"line":113,"column":54}},"36":{"start":{"line":118,"column":12},"end":{"line":118,"column":42}},"37":{"start":{"line":123,"column":12},"end":{"line":123,"column":44}},"38":{"start":{"line":127,"column":4},"end":{"line":127,"column":54}}},"branchMap":{"1":{"line":35,"type":"if","locations":[{"start":{"line":35,"column":12},"end":{"line":35,"column":12}},{"start":{"line":35,"column":12},"end":{"line":35,"column":12}}]},"2":{"line":50,"type":"if","locations":[{"start":{"line":50,"column":12},"end":{"line":50,"column":12}},{"start":{"line":50,"column":12},"end":{"line":50,"column":12}}]},"3":{"line":56,"type":"if","locations":[{"start":{"line":56,"column":12},"end":{"line":56,"column":12}},{"start":{"line":56,"column":12},"end":{"line":56,"column":12}}]},"4":{"line":62,"type":"if","locations":[{"start":{"line":62,"column":16},"end":{"line":62,"column":16}},{"start":{"line":62,"column":16},"end":{"line":62,"column":16}}]},"5":{"line":62,"type":"binary-expr","locations":[{"start":{"line":62,"column":20},"end":{"line":62,"column":42}},{"start":{"line":62,"column":46},"end":{"line":62,"column":72}}]},"6":{"line":73,"type":"if","locations":[{"start":{"line":73,"column":12},"end":{"line":73,"column":12}},{"start":{"line":73,"column":12},"end":{"line":73,"column":12}}]},"7":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":12},"end":{"line":81,"column":12}},{"start":{"line":81,"column":12},"end":{"line":81,"column":12}}]},"8":{"line":81,"type":"binary-expr","locations":[{"start":{"line":81,"column":16},"end":{"line":81,"column":66}},{"start":{"line":81,"column":71},"end":{"line":81,"column":118}}]},"9":{"line":85,"type":"if","locations":[{"start":{"line":85,"column":12},"end":{"line":85,"column":12}},{"start":{"line":85,"column":12},"end":{"line":85,"column":12}}]},"10":{"line":91,"type":"if","locations":[{"start":{"line":91,"column":12},"end":{"line":91,"column":12}},{"start":{"line":91,"column":12},"end":{"line":91,"column":12}}]},"11":{"line":110,"type":"binary-expr","locations":[{"start":{"line":110,"column":27},"end":{"line":110,"column":43}},{"start":{"line":110,"column":48},"end":{"line":110,"column":89}}]}}},"src/js/extensions/toolbar.js":{"path":"src/js/extensions/toolbar.js","s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0,0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"(anonymous_2)","line":82,"loc":{"start":{"line":82,"column":14},"end":{"line":82,"column":26}}},"3":{"name":"(anonymous_3)","line":95,"loc":{"start":{"line":95,"column":26},"end":{"line":95,"column":55}}},"4":{"name":"(anonymous_4)","line":96,"loc":{"start":{"line":96,"column":48},"end":{"line":96,"column":67}}},"5":{"name":"(anonymous_5)","line":106,"loc":{"start":{"line":106,"column":23},"end":{"line":106,"column":35}}},"6":{"name":"(anonymous_6)","line":123,"loc":{"start":{"line":123,"column":34},"end":{"line":123,"column":55}}},"7":{"name":"(anonymous_7)","line":134,"loc":{"start":{"line":134,"column":30},"end":{"line":134,"column":42}}},"8":{"name":"(anonymous_8)","line":147,"loc":{"start":{"line":147,"column":33},"end":{"line":147,"column":51}}},"9":{"name":"(anonymous_9)","line":181,"loc":{"start":{"line":181,"column":17},"end":{"line":181,"column":29}}},"10":{"name":"(anonymous_10)","line":192,"loc":{"start":{"line":192,"column":32},"end":{"line":192,"column":44}}},"11":{"name":"(anonymous_11)","line":196,"loc":{"start":{"line":196,"column":27},"end":{"line":196,"column":39}}},"12":{"name":"(anonymous_12)","line":204,"loc":{"start":{"line":204,"column":34},"end":{"line":204,"column":46}}},"13":{"name":"(anonymous_13)","line":210,"loc":{"start":{"line":210,"column":30},"end":{"line":210,"column":42}}},"14":{"name":"(anonymous_14)","line":214,"loc":{"start":{"line":214,"column":71},"end":{"line":214,"column":83}}},"15":{"name":"(anonymous_15)","line":221,"loc":{"start":{"line":221,"column":29},"end":{"line":221,"column":41}}},"16":{"name":"(anonymous_16)","line":243,"loc":{"start":{"line":243,"column":28},"end":{"line":243,"column":40}}},"17":{"name":"(anonymous_17)","line":247,"loc":{"start":{"line":247,"column":28},"end":{"line":247,"column":40}}},"18":{"name":"(anonymous_18)","line":251,"loc":{"start":{"line":251,"column":31},"end":{"line":251,"column":48}}},"19":{"name":"(anonymous_19)","line":261,"loc":{"start":{"line":261,"column":29},"end":{"line":261,"column":41}}},"20":{"name":"(anonymous_20)","line":264,"loc":{"start":{"line":264,"column":23},"end":{"line":264,"column":35}}},"21":{"name":"(anonymous_21)","line":269,"loc":{"start":{"line":269,"column":29},"end":{"line":269,"column":41}}},"22":{"name":"(anonymous_22)","line":273,"loc":{"start":{"line":273,"column":20},"end":{"line":273,"column":32}}},"23":{"name":"(anonymous_23)","line":282,"loc":{"start":{"line":282,"column":42},"end":{"line":282,"column":54}}},"24":{"name":"(anonymous_24)","line":287,"loc":{"start":{"line":287,"column":21},"end":{"line":287,"column":33}}},"25":{"name":"(anonymous_25)","line":293,"loc":{"start":{"line":293,"column":21},"end":{"line":293,"column":33}}},"26":{"name":"(anonymous_26)","line":297,"loc":{"start":{"line":297,"column":21},"end":{"line":297,"column":33}}},"27":{"name":"(anonymous_27)","line":305,"loc":{"start":{"line":305,"column":21},"end":{"line":305,"column":33}}},"28":{"name":"(anonymous_28)","line":312,"loc":{"start":{"line":312,"column":42},"end":{"line":312,"column":54}}},"29":{"name":"(anonymous_29)","line":316,"loc":{"start":{"line":316,"column":35},"end":{"line":316,"column":47}}},"30":{"name":"(anonymous_30)","line":322,"loc":{"start":{"line":322,"column":35},"end":{"line":322,"column":47}}},"31":{"name":"(anonymous_31)","line":331,"loc":{"start":{"line":331,"column":52},"end":{"line":331,"column":64}}},"32":{"name":"(anonymous_32)","line":336,"loc":{"start":{"line":336,"column":28},"end":{"line":336,"column":40}}},"33":{"name":"(anonymous_33)","line":338,"loc":{"start":{"line":338,"column":34},"end":{"line":338,"column":55}}},"34":{"name":"(anonymous_34)","line":348,"loc":{"start":{"line":348,"column":39},"end":{"line":348,"column":51}}},"35":{"name":"(anonymous_35)","line":357,"loc":{"start":{"line":357,"column":25},"end":{"line":357,"column":37}}},"36":{"name":"(anonymous_36)","line":392,"loc":{"start":{"line":392,"column":20},"end":{"line":392,"column":32}}},"37":{"name":"(anonymous_37)","line":432,"loc":{"start":{"line":432,"column":30},"end":{"line":432,"column":42}}},"38":{"name":"(anonymous_38)","line":440,"loc":{"start":{"line":440,"column":32},"end":{"line":440,"column":44}}},"39":{"name":"(anonymous_39)","line":441,"loc":{"start":{"line":441,"column":34},"end":{"line":441,"column":55}}},"40":{"name":"(anonymous_40)","line":451,"loc":{"start":{"line":451,"column":28},"end":{"line":451,"column":40}}},"41":{"name":"(anonymous_41)","line":456,"loc":{"start":{"line":456,"column":39},"end":{"line":456,"column":60}}},"42":{"name":"(anonymous_42)","line":473,"loc":{"start":{"line":473,"column":34},"end":{"line":473,"column":55}}},"43":{"name":"(anonymous_43)","line":493,"loc":{"start":{"line":493,"column":47},"end":{"line":493,"column":66}}},"44":{"name":"(anonymous_44)","line":513,"loc":{"start":{"line":513,"column":32},"end":{"line":513,"column":44}}},"45":{"name":"(anonymous_45)","line":519,"loc":{"start":{"line":519,"column":28},"end":{"line":519,"column":40}}},"46":{"name":"(anonymous_46)","line":544,"loc":{"start":{"line":544,"column":31},"end":{"line":544,"column":52}}},"47":{"name":"(anonymous_47)","line":601,"loc":{"start":{"line":601,"column":25},"end":{"line":601,"column":46}}},"48":{"name":"(anonymous_48)","line":635,"loc":{"start":{"line":635,"column":40},"end":{"line":635,"column":55}}},"49":{"name":"(anonymous_49)","line":676,"loc":{"start":{"line":676,"column":45},"end":{"line":676,"column":60}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":683,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":680,"column":7}},"3":{"start":{"line":83,"column":12},"end":{"line":83,"column":73}},"4":{"start":{"line":85,"column":12},"end":{"line":85,"column":40}},"5":{"start":{"line":87,"column":12},"end":{"line":91,"column":13}},"6":{"start":{"line":88,"column":16},"end":{"line":88,"column":96}},"7":{"start":{"line":90,"column":16},"end":{"line":90,"column":77}},"8":{"start":{"line":96,"column":12},"end":{"line":101,"column":21}},"9":{"start":{"line":97,"column":16},"end":{"line":99,"column":17}},"10":{"start":{"line":98,"column":20},"end":{"line":98,"column":27}},"11":{"start":{"line":100,"column":16},"end":{"line":100,"column":66}},"12":{"start":{"line":107,"column":12},"end":{"line":107,"column":61}},"13":{"start":{"line":109,"column":12},"end":{"line":109,"column":71}},"14":{"start":{"line":110,"column":12},"end":{"line":110,"column":56}},"15":{"start":{"line":112,"column":12},"end":{"line":118,"column":13}},"16":{"start":{"line":113,"column":16},"end":{"line":113,"column":55}},"17":{"start":{"line":114,"column":19},"end":{"line":118,"column":13}},"18":{"start":{"line":115,"column":16},"end":{"line":115,"column":71}},"19":{"start":{"line":117,"column":16},"end":{"line":117,"column":70}},"20":{"start":{"line":120,"column":12},"end":{"line":120,"column":61}},"21":{"start":{"line":123,"column":12},"end":{"line":127,"column":15}},"22":{"start":{"line":124,"column":16},"end":{"line":126,"column":17}},"23":{"start":{"line":125,"column":20},"end":{"line":125,"column":61}},"24":{"start":{"line":129,"column":12},"end":{"line":129,"column":39}},"25":{"start":{"line":131,"column":12},"end":{"line":131,"column":27}},"26":{"start":{"line":135,"column":12},"end":{"line":141,"column":27}},"27":{"start":{"line":143,"column":12},"end":{"line":143,"column":73}},"28":{"start":{"line":144,"column":12},"end":{"line":144,"column":59}},"29":{"start":{"line":145,"column":12},"end":{"line":145,"column":39}},"30":{"start":{"line":147,"column":12},"end":{"line":170,"column":21}},"31":{"start":{"line":148,"column":16},"end":{"line":154,"column":17}},"32":{"start":{"line":149,"column":20},"end":{"line":149,"column":40}},"33":{"start":{"line":150,"column":20},"end":{"line":150,"column":38}},"34":{"start":{"line":152,"column":20},"end":{"line":152,"column":45}},"35":{"start":{"line":153,"column":20},"end":{"line":153,"column":40}},"36":{"start":{"line":158,"column":16},"end":{"line":158,"column":82}},"37":{"start":{"line":160,"column":16},"end":{"line":169,"column":17}},"38":{"start":{"line":161,"column":20},"end":{"line":161,"column":57}},"39":{"start":{"line":162,"column":20},"end":{"line":162,"column":59}},"40":{"start":{"line":163,"column":20},"end":{"line":167,"column":21}},"41":{"start":{"line":164,"column":24},"end":{"line":164,"column":44}},"42":{"start":{"line":166,"column":24},"end":{"line":166,"column":43}},"43":{"start":{"line":168,"column":20},"end":{"line":168,"column":39}},"44":{"start":{"line":172,"column":12},"end":{"line":172,"column":52}},"45":{"start":{"line":173,"column":12},"end":{"line":176,"column":13}},"46":{"start":{"line":174,"column":16},"end":{"line":174,"column":64}},"47":{"start":{"line":175,"column":16},"end":{"line":175,"column":80}},"48":{"start":{"line":178,"column":12},"end":{"line":178,"column":22}},"49":{"start":{"line":182,"column":12},"end":{"line":187,"column":13}},"50":{"start":{"line":183,"column":16},"end":{"line":185,"column":17}},"51":{"start":{"line":184,"column":20},"end":{"line":184,"column":70}},"52":{"start":{"line":186,"column":16},"end":{"line":186,"column":36}},"53":{"start":{"line":193,"column":12},"end":{"line":193,"column":44}},"54":{"start":{"line":197,"column":12},"end":{"line":199,"column":13}},"55":{"start":{"line":198,"column":16},"end":{"line":198,"column":52}},"56":{"start":{"line":201,"column":12},"end":{"line":201,"column":32}},"57":{"start":{"line":205,"column":12},"end":{"line":205,"column":92}},"58":{"start":{"line":214,"column":12},"end":{"line":218,"column":26}},"59":{"start":{"line":215,"column":16},"end":{"line":217,"column":17}},"60":{"start":{"line":216,"column":20},"end":{"line":216,"column":50}},"61":{"start":{"line":223,"column":12},"end":{"line":223,"column":63}},"62":{"start":{"line":224,"column":12},"end":{"line":224,"column":65}},"63":{"start":{"line":227,"column":12},"end":{"line":227,"column":81}},"64":{"start":{"line":228,"column":12},"end":{"line":228,"column":81}},"65":{"start":{"line":231,"column":12},"end":{"line":231,"column":101}},"66":{"start":{"line":234,"column":12},"end":{"line":237,"column":13}},"67":{"start":{"line":236,"column":16},"end":{"line":236,"column":89}},"68":{"start":{"line":240,"column":12},"end":{"line":240,"column":79}},"69":{"start":{"line":244,"column":12},"end":{"line":244,"column":42}},"70":{"start":{"line":248,"column":12},"end":{"line":248,"column":44}},"71":{"start":{"line":253,"column":12},"end":{"line":257,"column":13}},"72":{"start":{"line":256,"column":16},"end":{"line":256,"column":29}},"73":{"start":{"line":258,"column":12},"end":{"line":258,"column":30}},"74":{"start":{"line":264,"column":12},"end":{"line":266,"column":29}},"75":{"start":{"line":265,"column":16},"end":{"line":265,"column":34}},"76":{"start":{"line":270,"column":12},"end":{"line":270,"column":30}},"77":{"start":{"line":275,"column":12},"end":{"line":275,"column":43}},"78":{"start":{"line":279,"column":12},"end":{"line":279,"column":48}},"79":{"start":{"line":282,"column":12},"end":{"line":284,"column":29}},"80":{"start":{"line":283,"column":16},"end":{"line":283,"column":35}},"81":{"start":{"line":288,"column":12},"end":{"line":288,"column":30}},"82":{"start":{"line":294,"column":12},"end":{"line":294,"column":95}},"83":{"start":{"line":298,"column":12},"end":{"line":298,"column":43}},"84":{"start":{"line":299,"column":12},"end":{"line":302,"column":13}},"85":{"start":{"line":300,"column":16},"end":{"line":300,"column":87}},"86":{"start":{"line":301,"column":16},"end":{"line":301,"column":79}},"87":{"start":{"line":306,"column":12},"end":{"line":309,"column":13}},"88":{"start":{"line":307,"column":16},"end":{"line":307,"column":90}},"89":{"start":{"line":308,"column":16},"end":{"line":308,"column":79}},"90":{"start":{"line":313,"column":12},"end":{"line":313,"column":77}},"91":{"start":{"line":317,"column":12},"end":{"line":319,"column":13}},"92":{"start":{"line":318,"column":16},"end":{"line":318,"column":71}},"93":{"start":{"line":323,"column":12},"end":{"line":323,"column":38}},"94":{"start":{"line":325,"column":12},"end":{"line":327,"column":13}},"95":{"start":{"line":326,"column":16},"end":{"line":326,"column":72}},"96":{"start":{"line":331,"column":12},"end":{"line":333,"column":26}},"97":{"start":{"line":332,"column":16},"end":{"line":332,"column":35}},"98":{"start":{"line":338,"column":12},"end":{"line":342,"column":15}},"99":{"start":{"line":339,"column":16},"end":{"line":341,"column":17}},"100":{"start":{"line":340,"column":20},"end":{"line":340,"column":41}},"101":{"start":{"line":349,"column":12},"end":{"line":352,"column":77}},"102":{"start":{"line":354,"column":12},"end":{"line":354,"column":73}},"103":{"start":{"line":358,"column":12},"end":{"line":359,"column":57}},"104":{"start":{"line":377,"column":12},"end":{"line":389,"column":13}},"105":{"start":{"line":380,"column":16},"end":{"line":380,"column":188}},"106":{"start":{"line":381,"column":16},"end":{"line":388,"column":17}},"107":{"start":{"line":382,"column":20},"end":{"line":382,"column":35}},"108":{"start":{"line":383,"column":20},"end":{"line":385,"column":21}},"109":{"start":{"line":384,"column":24},"end":{"line":384,"column":44}},"110":{"start":{"line":386,"column":20},"end":{"line":387,"column":79}},"111":{"start":{"line":393,"column":12},"end":{"line":395,"column":13}},"112":{"start":{"line":394,"column":16},"end":{"line":394,"column":23}},"113":{"start":{"line":399,"column":12},"end":{"line":402,"column":13}},"114":{"start":{"line":401,"column":16},"end":{"line":401,"column":42}},"115":{"start":{"line":407,"column":12},"end":{"line":407,"column":91}},"116":{"start":{"line":408,"column":12},"end":{"line":412,"column":13}},"117":{"start":{"line":411,"column":16},"end":{"line":411,"column":42}},"118":{"start":{"line":417,"column":12},"end":{"line":419,"column":13}},"119":{"start":{"line":418,"column":16},"end":{"line":418,"column":51}},"120":{"start":{"line":422,"column":12},"end":{"line":425,"column":13}},"121":{"start":{"line":424,"column":16},"end":{"line":424,"column":42}},"122":{"start":{"line":427,"column":12},"end":{"line":427,"column":40}},"123":{"start":{"line":433,"column":12},"end":{"line":433,"column":35}},"124":{"start":{"line":434,"column":12},"end":{"line":434,"column":42}},"125":{"start":{"line":435,"column":12},"end":{"line":435,"column":79}},"126":{"start":{"line":436,"column":12},"end":{"line":436,"column":45}},"127":{"start":{"line":437,"column":12},"end":{"line":437,"column":38}},"128":{"start":{"line":441,"column":12},"end":{"line":446,"column":15}},"129":{"start":{"line":442,"column":16},"end":{"line":445,"column":17}},"130":{"start":{"line":444,"column":20},"end":{"line":444,"column":44}},"131":{"start":{"line":448,"column":12},"end":{"line":448,"column":38}},"132":{"start":{"line":452,"column":12},"end":{"line":466,"column":18}},"133":{"start":{"line":457,"column":20},"end":{"line":465,"column":21}},"134":{"start":{"line":458,"column":24},"end":{"line":458,"column":57}},"135":{"start":{"line":459,"column":27},"end":{"line":465,"column":21}},"136":{"start":{"line":462,"column":24},"end":{"line":464,"column":25}},"137":{"start":{"line":463,"column":28},"end":{"line":463,"column":50}},"138":{"start":{"line":468,"column":12},"end":{"line":470,"column":13}},"139":{"start":{"line":469,"column":16},"end":{"line":469,"column":23}},"140":{"start":{"line":473,"column":12},"end":{"line":488,"column":15}},"141":{"start":{"line":475,"column":16},"end":{"line":485,"column":17}},"142":{"start":{"line":476,"column":20},"end":{"line":476,"column":63}},"143":{"start":{"line":479,"column":20},"end":{"line":484,"column":21}},"144":{"start":{"line":480,"column":24},"end":{"line":482,"column":25}},"145":{"start":{"line":481,"column":28},"end":{"line":481,"column":50}},"146":{"start":{"line":483,"column":24},"end":{"line":483,"column":31}},"147":{"start":{"line":487,"column":16},"end":{"line":487,"column":50}},"148":{"start":{"line":490,"column":12},"end":{"line":490,"column":89}},"149":{"start":{"line":493,"column":12},"end":{"line":497,"column":13}},"150":{"start":{"line":494,"column":20},"end":{"line":494,"column":85}},"151":{"start":{"line":496,"column":16},"end":{"line":496,"column":23}},"152":{"start":{"line":500,"column":12},"end":{"line":508,"column":13}},"153":{"start":{"line":501,"column":16},"end":{"line":501,"column":64}},"154":{"start":{"line":504,"column":16},"end":{"line":506,"column":17}},"155":{"start":{"line":505,"column":20},"end":{"line":505,"column":26}},"156":{"start":{"line":507,"column":16},"end":{"line":507,"column":51}},"157":{"start":{"line":514,"column":12},"end":{"line":516,"column":13}},"158":{"start":{"line":515,"column":16},"end":{"line":515,"column":42}},"159":{"start":{"line":520,"column":12},"end":{"line":521,"column":55}},"160":{"start":{"line":524,"column":12},"end":{"line":526,"column":13}},"161":{"start":{"line":525,"column":16},"end":{"line":525,"column":28}},"162":{"start":{"line":528,"column":12},"end":{"line":541,"column":13}},"163":{"start":{"line":529,"column":16},"end":{"line":529,"column":35}},"164":{"start":{"line":532,"column":16},"end":{"line":538,"column":17}},"165":{"start":{"line":533,"column":20},"end":{"line":537,"column":21}},"166":{"start":{"line":534,"column":24},"end":{"line":534,"column":62}},"167":{"start":{"line":536,"column":24},"end":{"line":536,"column":56}},"168":{"start":{"line":540,"column":16},"end":{"line":540,"column":85}},"169":{"start":{"line":546,"column":12},"end":{"line":546,"column":54}},"170":{"start":{"line":549,"column":12},"end":{"line":558,"column":27}},"171":{"start":{"line":560,"column":12},"end":{"line":576,"column":13}},"172":{"start":{"line":562,"column":16},"end":{"line":573,"column":17}},"173":{"start":{"line":563,"column":20},"end":{"line":563,"column":110}},"174":{"start":{"line":564,"column":20},"end":{"line":564,"column":84}},"175":{"start":{"line":566,"column":23},"end":{"line":573,"column":17}},"176":{"start":{"line":567,"column":20},"end":{"line":567,"column":81}},"177":{"start":{"line":568,"column":20},"end":{"line":568,"column":75}},"178":{"start":{"line":571,"column":20},"end":{"line":571,"column":84}},"179":{"start":{"line":572,"column":20},"end":{"line":572,"column":83}},"180":{"start":{"line":575,"column":16},"end":{"line":575,"column":79}},"181":{"start":{"line":578,"column":12},"end":{"line":590,"column":13}},"182":{"start":{"line":580,"column":20},"end":{"line":580,"column":52}},"183":{"start":{"line":581,"column":20},"end":{"line":581,"column":26}},"184":{"start":{"line":584,"column":20},"end":{"line":584,"column":68}},"185":{"start":{"line":585,"column":20},"end":{"line":585,"column":26}},"186":{"start":{"line":588,"column":20},"end":{"line":588,"column":67}},"187":{"start":{"line":589,"column":20},"end":{"line":589,"column":26}},"188":{"start":{"line":592,"column":12},"end":{"line":596,"column":13}},"189":{"start":{"line":593,"column":16},"end":{"line":593,"column":31}},"190":{"start":{"line":594,"column":19},"end":{"line":596,"column":13}},"191":{"start":{"line":595,"column":16},"end":{"line":595,"column":73}},"192":{"start":{"line":598,"column":12},"end":{"line":598,"column":58}},"193":{"start":{"line":603,"column":12},"end":{"line":603,"column":54}},"194":{"start":{"line":604,"column":12},"end":{"line":604,"column":61}},"195":{"start":{"line":606,"column":12},"end":{"line":607,"column":57}},"196":{"start":{"line":610,"column":12},"end":{"line":617,"column":13}},"197":{"start":{"line":612,"column":16},"end":{"line":616,"column":17}},"198":{"start":{"line":613,"column":20},"end":{"line":613,"column":97}},"199":{"start":{"line":615,"column":20},"end":{"line":615,"column":76}},"200":{"start":{"line":619,"column":12},"end":{"line":630,"column":58}},"201":{"start":{"line":633,"column":12},"end":{"line":650,"column":13}},"202":{"start":{"line":634,"column":16},"end":{"line":634,"column":86}},"203":{"start":{"line":635,"column":16},"end":{"line":637,"column":19}},"204":{"start":{"line":636,"column":20},"end":{"line":636,"column":91}},"205":{"start":{"line":639,"column":16},"end":{"line":639,"column":56}},"206":{"start":{"line":640,"column":16},"end":{"line":640,"column":58}},"207":{"start":{"line":641,"column":16},"end":{"line":641,"column":44}},"208":{"start":{"line":643,"column":16},"end":{"line":643,"column":65}},"209":{"start":{"line":646,"column":16},"end":{"line":646,"column":60}},"210":{"start":{"line":649,"column":16},"end":{"line":649,"column":56}},"211":{"start":{"line":652,"column":12},"end":{"line":652,"column":64}},"212":{"start":{"line":653,"column":12},"end":{"line":653,"column":58}},"213":{"start":{"line":655,"column":12},"end":{"line":663,"column":13}},"214":{"start":{"line":656,"column":16},"end":{"line":656,"column":74}},"215":{"start":{"line":657,"column":16},"end":{"line":657,"column":78}},"216":{"start":{"line":658,"column":16},"end":{"line":658,"column":79}},"217":{"start":{"line":660,"column":16},"end":{"line":660,"column":75}},"218":{"start":{"line":661,"column":16},"end":{"line":661,"column":77}},"219":{"start":{"line":662,"column":16},"end":{"line":662,"column":46}},"220":{"start":{"line":665,"column":12},"end":{"line":674,"column":13}},"221":{"start":{"line":666,"column":16},"end":{"line":666,"column":63}},"222":{"start":{"line":667,"column":16},"end":{"line":667,"column":44}},"223":{"start":{"line":668,"column":19},"end":{"line":674,"column":13}},"224":{"start":{"line":669,"column":16},"end":{"line":669,"column":40}},"225":{"start":{"line":670,"column":16},"end":{"line":670,"column":36}},"226":{"start":{"line":672,"column":16},"end":{"line":672,"column":62}},"227":{"start":{"line":673,"column":16},"end":{"line":673,"column":44}},"228":{"start":{"line":676,"column":12},"end":{"line":678,"column":15}},"229":{"start":{"line":677,"column":16},"end":{"line":677,"column":97}},"230":{"start":{"line":682,"column":4},"end":{"line":682,"column":46}}},"branchMap":{"1":{"line":87,"type":"if","locations":[{"start":{"line":87,"column":12},"end":{"line":87,"column":12}},{"start":{"line":87,"column":12},"end":{"line":87,"column":12}}]},"2":{"line":97,"type":"if","locations":[{"start":{"line":97,"column":16},"end":{"line":97,"column":16}},{"start":{"line":97,"column":16},"end":{"line":97,"column":16}}]},"3":{"line":100,"type":"binary-expr","locations":[{"start":{"line":100,"column":38},"end":{"line":100,"column":45}},{"start":{"line":100,"column":49},"end":{"line":100,"column":53}}]},"4":{"line":112,"type":"if","locations":[{"start":{"line":112,"column":12},"end":{"line":112,"column":12}},{"start":{"line":112,"column":12},"end":{"line":112,"column":12}}]},"5":{"line":114,"type":"if","locations":[{"start":{"line":114,"column":19},"end":{"line":114,"column":19}},{"start":{"line":114,"column":19},"end":{"line":114,"column":19}}]},"6":{"line":124,"type":"if","locations":[{"start":{"line":124,"column":16},"end":{"line":124,"column":16}},{"start":{"line":124,"column":16},"end":{"line":124,"column":16}}]},"7":{"line":148,"type":"if","locations":[{"start":{"line":148,"column":16},"end":{"line":148,"column":16}},{"start":{"line":148,"column":16},"end":{"line":148,"column":16}}]},"8":{"line":160,"type":"if","locations":[{"start":{"line":160,"column":16},"end":{"line":160,"column":16}},{"start":{"line":160,"column":16},"end":{"line":160,"column":16}}]},"9":{"line":160,"type":"binary-expr","locations":[{"start":{"line":160,"column":20},"end":{"line":160,"column":29}},{"start":{"line":160,"column":33},"end":{"line":160,"column":74}}]},"10":{"line":163,"type":"if","locations":[{"start":{"line":163,"column":20},"end":{"line":163,"column":20}},{"start":{"line":163,"column":20},"end":{"line":163,"column":20}}]},"11":{"line":173,"type":"if","locations":[{"start":{"line":173,"column":12},"end":{"line":173,"column":12}},{"start":{"line":173,"column":12},"end":{"line":173,"column":12}}]},"12":{"line":182,"type":"if","locations":[{"start":{"line":182,"column":12},"end":{"line":182,"column":12}},{"start":{"line":182,"column":12},"end":{"line":182,"column":12}}]},"13":{"line":183,"type":"if","locations":[{"start":{"line":183,"column":16},"end":{"line":183,"column":16}},{"start":{"line":183,"column":16},"end":{"line":183,"column":16}}]},"14":{"line":197,"type":"if","locations":[{"start":{"line":197,"column":12},"end":{"line":197,"column":12}},{"start":{"line":197,"column":12},"end":{"line":197,"column":12}}]},"15":{"line":215,"type":"if","locations":[{"start":{"line":215,"column":16},"end":{"line":215,"column":16}},{"start":{"line":215,"column":16},"end":{"line":215,"column":16}}]},"16":{"line":234,"type":"if","locations":[{"start":{"line":234,"column":12},"end":{"line":234,"column":12}},{"start":{"line":234,"column":12},"end":{"line":234,"column":12}}]},"17":{"line":234,"type":"binary-expr","locations":[{"start":{"line":234,"column":16},"end":{"line":234,"column":27}},{"start":{"line":234,"column":31},"end":{"line":234,"column":42}}]},"18":{"line":253,"type":"if","locations":[{"start":{"line":253,"column":12},"end":{"line":253,"column":12}},{"start":{"line":253,"column":12},"end":{"line":253,"column":12}}]},"19":{"line":253,"type":"binary-expr","locations":[{"start":{"line":253,"column":16},"end":{"line":253,"column":21}},{"start":{"line":254,"column":20},"end":{"line":254,"column":32}},{"start":{"line":255,"column":20},"end":{"line":255,"column":90}}]},"20":{"line":299,"type":"if","locations":[{"start":{"line":299,"column":12},"end":{"line":299,"column":12}},{"start":{"line":299,"column":12},"end":{"line":299,"column":12}}]},"21":{"line":306,"type":"if","locations":[{"start":{"line":306,"column":12},"end":{"line":306,"column":12}},{"start":{"line":306,"column":12},"end":{"line":306,"column":12}}]},"22":{"line":317,"type":"if","locations":[{"start":{"line":317,"column":12},"end":{"line":317,"column":12}},{"start":{"line":317,"column":12},"end":{"line":317,"column":12}}]},"23":{"line":325,"type":"if","locations":[{"start":{"line":325,"column":12},"end":{"line":325,"column":12}},{"start":{"line":325,"column":12},"end":{"line":325,"column":12}}]},"24":{"line":339,"type":"if","locations":[{"start":{"line":339,"column":16},"end":{"line":339,"column":16}},{"start":{"line":339,"column":16},"end":{"line":339,"column":16}}]},"25":{"line":339,"type":"binary-expr","locations":[{"start":{"line":339,"column":20},"end":{"line":339,"column":37}},{"start":{"line":339,"column":41},"end":{"line":339,"column":64}}]},"26":{"line":354,"type":"binary-expr","locations":[{"start":{"line":354,"column":19},"end":{"line":354,"column":39}},{"start":{"line":354,"column":43},"end":{"line":354,"column":72}}]},"27":{"line":377,"type":"if","locations":[{"start":{"line":377,"column":12},"end":{"line":377,"column":12}},{"start":{"line":377,"column":12},"end":{"line":377,"column":12}}]},"28":{"line":377,"type":"binary-expr","locations":[{"start":{"line":377,"column":16},"end":{"line":377,"column":46}},{"start":{"line":378,"column":20},"end":{"line":378,"column":59}},{"start":{"line":379,"column":21},"end":{"line":379,"column":98}}]},"29":{"line":381,"type":"if","locations":[{"start":{"line":381,"column":16},"end":{"line":381,"column":16}},{"start":{"line":381,"column":16},"end":{"line":381,"column":16}}]},"30":{"line":393,"type":"if","locations":[{"start":{"line":393,"column":12},"end":{"line":393,"column":12}},{"start":{"line":393,"column":12},"end":{"line":393,"column":12}}]},"31":{"line":399,"type":"if","locations":[{"start":{"line":399,"column":12},"end":{"line":399,"column":12}},{"start":{"line":399,"column":12},"end":{"line":399,"column":12}}]},"32":{"line":399,"type":"binary-expr","locations":[{"start":{"line":399,"column":16},"end":{"line":399,"column":46}},{"start":{"line":400,"column":20},"end":{"line":400,"column":87}}]},"33":{"line":408,"type":"if","locations":[{"start":{"line":408,"column":12},"end":{"line":408,"column":12}},{"start":{"line":408,"column":12},"end":{"line":408,"column":12}}]},"34":{"line":408,"type":"binary-expr","locations":[{"start":{"line":408,"column":16},"end":{"line":408,"column":33}},{"start":{"line":409,"column":20},"end":{"line":409,"column":77}},{"start":{"line":410,"column":20},"end":{"line":410,"column":73}}]},"35":{"line":417,"type":"if","locations":[{"start":{"line":417,"column":12},"end":{"line":417,"column":12}},{"start":{"line":417,"column":12},"end":{"line":417,"column":12}}]},"36":{"line":417,"type":"binary-expr","locations":[{"start":{"line":417,"column":16},"end":{"line":417,"column":43}},{"start":{"line":417,"column":47},"end":{"line":417,"column":58}}]},"37":{"line":422,"type":"if","locations":[{"start":{"line":422,"column":12},"end":{"line":422,"column":12}},{"start":{"line":422,"column":12},"end":{"line":422,"column":12}}]},"38":{"line":422,"type":"binary-expr","locations":[{"start":{"line":422,"column":16},"end":{"line":422,"column":79}},{"start":{"line":423,"column":17},"end":{"line":423,"column":60}},{"start":{"line":423,"column":64},"end":{"line":423,"column":100}}]},"39":{"line":442,"type":"if","locations":[{"start":{"line":442,"column":16},"end":{"line":442,"column":16}},{"start":{"line":442,"column":16},"end":{"line":442,"column":16}}]},"40":{"line":442,"type":"binary-expr","locations":[{"start":{"line":442,"column":20},"end":{"line":442,"column":60}},{"start":{"line":443,"column":20},"end":{"line":443,"column":63}}]},"41":{"line":457,"type":"if","locations":[{"start":{"line":457,"column":20},"end":{"line":457,"column":20}},{"start":{"line":457,"column":20},"end":{"line":457,"column":20}}]},"42":{"line":459,"type":"if","locations":[{"start":{"line":459,"column":27},"end":{"line":459,"column":27}},{"start":{"line":459,"column":27},"end":{"line":459,"column":27}}]},"43":{"line":459,"type":"binary-expr","locations":[{"start":{"line":459,"column":31},"end":{"line":459,"column":71}},{"start":{"line":460,"column":31},"end":{"line":460,"column":79}},{"start":{"line":461,"column":31},"end":{"line":461,"column":72}}]},"44":{"line":462,"type":"if","locations":[{"start":{"line":462,"column":24},"end":{"line":462,"column":24}},{"start":{"line":462,"column":24},"end":{"line":462,"column":24}}]},"45":{"line":462,"type":"binary-expr","locations":[{"start":{"line":462,"column":28},"end":{"line":462,"column":49}},{"start":{"line":462,"column":53},"end":{"line":462,"column":91}}]},"46":{"line":468,"type":"if","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":12}},{"start":{"line":468,"column":12},"end":{"line":468,"column":12}}]},"47":{"line":475,"type":"if","locations":[{"start":{"line":475,"column":16},"end":{"line":475,"column":16}},{"start":{"line":475,"column":16},"end":{"line":475,"column":16}}]},"48":{"line":479,"type":"if","locations":[{"start":{"line":479,"column":20},"end":{"line":479,"column":20}},{"start":{"line":479,"column":20},"end":{"line":479,"column":20}}]},"49":{"line":480,"type":"if","locations":[{"start":{"line":480,"column":24},"end":{"line":480,"column":24}},{"start":{"line":480,"column":24},"end":{"line":480,"column":24}}]},"50":{"line":480,"type":"binary-expr","locations":[{"start":{"line":480,"column":28},"end":{"line":480,"column":38}},{"start":{"line":480,"column":42},"end":{"line":480,"column":83}}]},"51":{"line":493,"type":"if","locations":[{"start":{"line":493,"column":12},"end":{"line":493,"column":12}},{"start":{"line":493,"column":12},"end":{"line":493,"column":12}}]},"52":{"line":504,"type":"if","locations":[{"start":{"line":504,"column":16},"end":{"line":504,"column":16}},{"start":{"line":504,"column":16},"end":{"line":504,"column":16}}]},"53":{"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}}]},"54":{"line":524,"type":"if","locations":[{"start":{"line":524,"column":12},"end":{"line":524,"column":12}},{"start":{"line":524,"column":12},"end":{"line":524,"column":12}}]},"55":{"line":528,"type":"if","locations":[{"start":{"line":528,"column":12},"end":{"line":528,"column":12}},{"start":{"line":528,"column":12},"end":{"line":528,"column":12}}]},"56":{"line":528,"type":"binary-expr","locations":[{"start":{"line":528,"column":16},"end":{"line":528,"column":27}},{"start":{"line":528,"column":31},"end":{"line":528,"column":53}}]},"57":{"line":532,"type":"if","locations":[{"start":{"line":532,"column":16},"end":{"line":532,"column":16}},{"start":{"line":532,"column":16},"end":{"line":532,"column":16}}]},"58":{"line":533,"type":"if","locations":[{"start":{"line":533,"column":20},"end":{"line":533,"column":20}},{"start":{"line":533,"column":20},"end":{"line":533,"column":20}}]},"59":{"line":549,"type":"binary-expr","locations":[{"start":{"line":549,"column":29},"end":{"line":549,"column":58}},{"start":{"line":549,"column":62},"end":{"line":549,"column":101}},{"start":{"line":549,"column":106},"end":{"line":549,"column":134}}]},"60":{"line":560,"type":"if","locations":[{"start":{"line":560,"column":12},"end":{"line":560,"column":12}},{"start":{"line":560,"column":12},"end":{"line":560,"column":12}}]},"61":{"line":562,"type":"if","locations":[{"start":{"line":562,"column":16},"end":{"line":562,"column":16}},{"start":{"line":562,"column":16},"end":{"line":562,"column":16}}]},"62":{"line":566,"type":"if","locations":[{"start":{"line":566,"column":23},"end":{"line":566,"column":23}},{"start":{"line":566,"column":23},"end":{"line":566,"column":23}}]},"63":{"line":578,"type":"switch","locations":[{"start":{"line":579,"column":16},"end":{"line":581,"column":26}},{"start":{"line":583,"column":16},"end":{"line":585,"column":26}},{"start":{"line":587,"column":16},"end":{"line":589,"column":26}}]},"64":{"line":592,"type":"if","locations":[{"start":{"line":592,"column":12},"end":{"line":592,"column":12}},{"start":{"line":592,"column":12},"end":{"line":592,"column":12}}]},"65":{"line":594,"type":"if","locations":[{"start":{"line":594,"column":19},"end":{"line":594,"column":19}},{"start":{"line":594,"column":19},"end":{"line":594,"column":19}}]},"66":{"line":610,"type":"if","locations":[{"start":{"line":610,"column":12},"end":{"line":610,"column":12}},{"start":{"line":610,"column":12},"end":{"line":610,"column":12}}]},"67":{"line":610,"type":"binary-expr","locations":[{"start":{"line":610,"column":16},"end":{"line":610,"column":25}},{"start":{"line":610,"column":31},"end":{"line":610,"column":52}},{"start":{"line":610,"column":56},"end":{"line":610,"column":76}},{"start":{"line":610,"column":81},"end":{"line":610,"column":124}}]},"68":{"line":612,"type":"if","locations":[{"start":{"line":612,"column":16},"end":{"line":612,"column":16}},{"start":{"line":612,"column":16},"end":{"line":612,"column":16}}]},"69":{"line":612,"type":"binary-expr","locations":[{"start":{"line":612,"column":20},"end":{"line":612,"column":55}},{"start":{"line":612,"column":59},"end":{"line":612,"column":100}}]},"70":{"line":633,"type":"if","locations":[{"start":{"line":633,"column":12},"end":{"line":633,"column":12}},{"start":{"line":633,"column":12},"end":{"line":633,"column":12}}]},"71":{"line":655,"type":"if","locations":[{"start":{"line":655,"column":12},"end":{"line":655,"column":12}},{"start":{"line":655,"column":12},"end":{"line":655,"column":12}}]},"72":{"line":665,"type":"if","locations":[{"start":{"line":665,"column":12},"end":{"line":665,"column":12}},{"start":{"line":665,"column":12},"end":{"line":665,"column":12}}]},"73":{"line":668,"type":"if","locations":[{"start":{"line":668,"column":19},"end":{"line":668,"column":19}},{"start":{"line":668,"column":19},"end":{"line":668,"column":19}}]},"74":{"line":677,"type":"cond-expr","locations":[{"start":{"line":677,"column":86},"end":{"line":677,"column":88}},{"start":{"line":677,"column":91},"end":{"line":677,"column":95}}]}}},"src/js/version.js":{"path":"src/js/version.js","s":{"1":1,"2":1,"3":1,"4":0,"5":1},"b":{"1":[0,1],"2":[0,0]},"f":{"1":1,"2":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":34},"end":{"line":1,"column":53}}},"2":{"name":"(anonymous_2)","line":10,"loc":{"start":{"line":10,"column":18},"end":{"line":10,"column":30}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":14,"column":2}},"2":{"start":{"line":2,"column":4},"end":{"line":4,"column":56}},"3":{"start":{"line":5,"column":4},"end":{"line":13,"column":6}},"4":{"start":{"line":11,"column":12},"end":{"line":11,"column":105}},"5":{"start":{"line":16,"column":0},"end":{"line":19,"column":12}}},"branchMap":{"1":{"line":4,"type":"cond-expr","locations":[{"start":{"line":4,"column":42},"end":{"line":4,"column":50}},{"start":{"line":4,"column":53},"end":{"line":4,"column":55}}]},"2":{"line":11,"type":"cond-expr","locations":[{"start":{"line":11,"column":82},"end":{"line":11,"column":98}},{"start":{"line":11,"column":101},"end":{"line":11,"column":103}}]}}},"src/js/core.js":{"path":"src/js/core.js","s":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":1,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":1,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":1,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":1,"71":0,"72":0,"73":0,"74":1,"75":0,"76":0,"77":0,"78":0,"79":0,"80":1,"81":0,"82":0,"83":0,"84":1,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":1,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":1,"107":0,"108":0,"109":0,"110":0,"111":1,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":1,"120":0,"121":0,"122":0,"123":0,"124":1,"125":0,"126":0,"127":0,"128":1,"129":0,"130":1,"131":0,"132":1,"133":0,"134":1,"135":0,"136":1,"137":0,"138":1,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":1,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":1,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":1,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":1,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":1,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":1,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":1,"272":1,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":0,"336":0,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":0,"356":0,"357":0,"358":0,"359":0,"360":0,"361":0,"362":0,"363":0,"364":0,"365":0,"366":0,"367":0,"368":0,"369":0,"370":0,"371":0,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":0,"387":0,"388":0,"389":0,"390":0,"391":0,"392":0,"393":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"400":0,"401":0,"402":0,"403":0,"404":0,"405":0,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":0,"434":0,"435":0,"436":0,"437":0,"438":0,"439":0,"440":0,"441":0,"442":0,"443":0,"444":0,"445":0,"446":0,"447":0,"448":0,"449":0,"450":0,"451":0,"452":0,"453":0,"454":0,"455":0,"456":0,"457":0,"458":0,"459":0,"460":0,"461":0,"462":0,"463":0,"464":0,"465":0,"466":0,"467":0,"468":0,"469":0,"470":0,"471":0,"472":0,"473":0,"474":0,"475":0,"476":0,"477":0,"478":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":0,"485":0,"486":0,"487":0,"488":0,"489":0,"490":0,"491":0,"492":0,"493":0,"494":0,"495":0,"496":0,"497":0,"498":0,"499":0,"500":0,"501":0,"502":0,"503":0,"504":0,"505":0,"506":0,"507":0,"508":0,"509":0,"510":0,"511":0,"512":0,"513":0,"514":0,"515":1,"516":0,"517":0,"518":0,"519":0},"b":{"1":[0,0],"2":[0,0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0,0,0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0,0,0,0,0],"21":[0,0],"22":[0,0,0,0,0,0,0],"23":[0,0],"24":[0,0,0],"25":[0,0],"26":[0,0,0],"27":[0,0],"28":[0,0,0,0,0],"29":[0,0],"30":[0,0],"31":[0,0,0],"32":[0,0],"33":[0,0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0],"98":[0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0],"104":[0,0],"105":[0,0],"106":[0,0],"107":[0,0],"108":[0,0],"109":[0,0],"110":[0,0],"111":[0,0],"112":[0,0],"113":[0,0],"114":[0,0],"115":[0,0],"116":[0,0,0,0,0,0,0,0,0,0],"117":[0,0],"118":[0,0],"119":[0,0],"120":[0,0],"121":[0,0],"122":[0,0],"123":[0,0],"124":[0,0],"125":[0,0],"126":[0,0],"127":[0,0],"128":[0,0],"129":[0,0],"130":[0,0],"131":[0,0],"132":[0,0],"133":[0,0],"134":[0,0],"135":[0,0],"136":[0,0],"137":[0,0],"138":[0,0],"139":[0,0],"140":[0,0],"141":[0,0],"142":[0,0,0,0],"143":[0,0],"144":[0,0,0],"145":[0,0],"146":[0,0],"147":[0,0],"148":[0,0],"149":[0,0],"150":[0,0],"151":[0,0],"152":[0,0],"153":[0,0],"154":[0,0,0],"155":[0,0],"156":[0,0],"157":[0,0],"158":[0,0],"159":[0,0],"160":[0,0],"161":[0,0],"162":[0,0],"163":[0,0],"164":[0,0],"165":[0,0],"166":[0,0],"167":[0,0,0,0],"168":[0,0],"169":[0,0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}},"2":{"name":"handleDisableExtraSpaces","line":6,"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":45}}},"3":{"name":"handleDisabledEnterKeydown","line":16,"loc":{"start":{"line":16,"column":4},"end":{"line":16,"column":56}}},"4":{"name":"handleTabKeydown","line":31,"loc":{"start":{"line":31,"column":4},"end":{"line":31,"column":37}}},"5":{"name":"handleBlockDeleteKeydowns","line":54,"loc":{"start":{"line":54,"column":4},"end":{"line":54,"column":46}}},"6":{"name":"handleKeyup","line":169,"loc":{"start":{"line":169,"column":4},"end":{"line":169,"column":32}}},"7":{"name":"handleEditableInput","line":200,"loc":{"start":{"line":200,"column":4},"end":{"line":200,"column":50}}},"8":{"name":"addToEditors","line":209,"loc":{"start":{"line":209,"column":4},"end":{"line":209,"column":31}}},"9":{"name":"removeFromEditors","line":225,"loc":{"start":{"line":225,"column":4},"end":{"line":225,"column":36}}},"10":{"name":"createElementsArray","line":240,"loc":{"start":{"line":240,"column":4},"end":{"line":240,"column":70}}},"11":{"name":"cleanupTextareaElement","line":274,"loc":{"start":{"line":274,"column":4},"end":{"line":274,"column":45}}},"12":{"name":"setExtensionDefaults","line":286,"loc":{"start":{"line":286,"column":4},"end":{"line":286,"column":55}}},"13":{"name":"(anonymous_13)","line":287,"loc":{"start":{"line":287,"column":38},"end":{"line":287,"column":54}}},"14":{"name":"initExtension","line":295,"loc":{"start":{"line":295,"column":4},"end":{"line":295,"column":54}}},"15":{"name":"isToolbarEnabled","line":317,"loc":{"start":{"line":317,"column":4},"end":{"line":317,"column":32}}},"16":{"name":"(anonymous_16)","line":320,"loc":{"start":{"line":320,"column":32},"end":{"line":320,"column":51}}},"17":{"name":"isAnchorPreviewEnabled","line":329,"loc":{"start":{"line":329,"column":4},"end":{"line":329,"column":38}}},"18":{"name":"isPlaceholderEnabled","line":338,"loc":{"start":{"line":338,"column":4},"end":{"line":338,"column":36}}},"19":{"name":"isAutoLinkEnabled","line":342,"loc":{"start":{"line":342,"column":4},"end":{"line":342,"column":33}}},"20":{"name":"isImageDraggingEnabled","line":346,"loc":{"start":{"line":346,"column":4},"end":{"line":346,"column":38}}},"21":{"name":"isKeyboardCommandsEnabled","line":350,"loc":{"start":{"line":350,"column":4},"end":{"line":350,"column":41}}},"22":{"name":"shouldUseFileDraggingExtension","line":354,"loc":{"start":{"line":354,"column":4},"end":{"line":354,"column":46}}},"23":{"name":"createContentEditable","line":361,"loc":{"start":{"line":361,"column":4},"end":{"line":361,"column":45}}},"24":{"name":"(anonymous_24)","line":391,"loc":{"start":{"line":391,"column":44},"end":{"line":391,"column":61}}},"25":{"name":"initElement","line":407,"loc":{"start":{"line":407,"column":4},"end":{"line":407,"column":44}}},"26":{"name":"attachHandlers","line":457,"loc":{"start":{"line":457,"column":4},"end":{"line":457,"column":30}}},"27":{"name":"initExtensions","line":480,"loc":{"start":{"line":480,"column":4},"end":{"line":480,"column":30}}},"28":{"name":"(anonymous_28)","line":485,"loc":{"start":{"line":485,"column":53},"end":{"line":485,"column":69}}},"29":{"name":"(anonymous_29)","line":524,"loc":{"start":{"line":524,"column":38},"end":{"line":524,"column":54}}},"30":{"name":"mergeOptions","line":549,"loc":{"start":{"line":549,"column":4},"end":{"line":549,"column":45}}},"31":{"name":"(anonymous_31)","line":555,"loc":{"start":{"line":555,"column":41},"end":{"line":555,"column":57}}},"32":{"name":"execActionInternal","line":565,"loc":{"start":{"line":565,"column":4},"end":{"line":565,"column":46}}},"33":{"name":"cleanupJustifyDivFragments","line":632,"loc":{"start":{"line":632,"column":4},"end":{"line":632,"column":56}}},"34":{"name":"(anonymous_34)","line":638,"loc":{"start":{"line":638,"column":85},"end":{"line":638,"column":104}}},"35":{"name":"(anonymous_35)","line":656,"loc":{"start":{"line":656,"column":30},"end":{"line":656,"column":45}}},"36":{"name":"(anonymous_36)","line":677,"loc":{"start":{"line":677,"column":14},"end":{"line":677,"column":43}}},"37":{"name":"(anonymous_37)","line":688,"loc":{"start":{"line":688,"column":15},"end":{"line":688,"column":27}}},"38":{"name":"(anonymous_38)","line":710,"loc":{"start":{"line":710,"column":17},"end":{"line":710,"column":29}}},"39":{"name":"(anonymous_39)","line":717,"loc":{"start":{"line":717,"column":36},"end":{"line":717,"column":57}}},"40":{"name":"(anonymous_40)","line":725,"loc":{"start":{"line":725,"column":34},"end":{"line":725,"column":53}}},"41":{"name":"(anonymous_41)","line":753,"loc":{"start":{"line":753,"column":12},"end":{"line":753,"column":59}}},"42":{"name":"(anonymous_42)","line":759,"loc":{"start":{"line":759,"column":13},"end":{"line":759,"column":60}}},"43":{"name":"(anonymous_43)","line":765,"loc":{"start":{"line":765,"column":19},"end":{"line":765,"column":46}}},"44":{"name":"(anonymous_44)","line":771,"loc":{"start":{"line":771,"column":21},"end":{"line":771,"column":48}}},"45":{"name":"(anonymous_45)","line":777,"loc":{"start":{"line":777,"column":17},"end":{"line":777,"column":49}}},"46":{"name":"(anonymous_46)","line":783,"loc":{"start":{"line":783,"column":15},"end":{"line":783,"column":29}}},"47":{"name":"(anonymous_47)","line":785,"loc":{"start":{"line":785,"column":30},"end":{"line":785,"column":42}}},"48":{"name":"(anonymous_48)","line":792,"loc":{"start":{"line":792,"column":19},"end":{"line":792,"column":31}}},"49":{"name":"(anonymous_49)","line":807,"loc":{"start":{"line":807,"column":28},"end":{"line":807,"column":44}}},"50":{"name":"(anonymous_50)","line":810,"loc":{"start":{"line":810,"column":37},"end":{"line":810,"column":52}}},"51":{"name":"(anonymous_51)","line":824,"loc":{"start":{"line":824,"column":29},"end":{"line":824,"column":51}}},"52":{"name":"(anonymous_52)","line":880,"loc":{"start":{"line":880,"column":30},"end":{"line":880,"column":42}}},"53":{"name":"(anonymous_53)","line":884,"loc":{"start":{"line":884,"column":31},"end":{"line":884,"column":43}}},"54":{"name":"(anonymous_54)","line":888,"loc":{"start":{"line":888,"column":24},"end":{"line":888,"column":36}}},"55":{"name":"(anonymous_55)","line":898,"loc":{"start":{"line":898,"column":27},"end":{"line":898,"column":45}}},"56":{"name":"(anonymous_56)","line":918,"loc":{"start":{"line":918,"column":20},"end":{"line":918,"column":44}}},"57":{"name":"(anonymous_57)","line":949,"loc":{"start":{"line":949,"column":34},"end":{"line":949,"column":51}}},"58":{"name":"(anonymous_58)","line":956,"loc":{"start":{"line":956,"column":27},"end":{"line":956,"column":39}}},"59":{"name":"(anonymous_59)","line":969,"loc":{"start":{"line":969,"column":23},"end":{"line":969,"column":42}}},"60":{"name":"(anonymous_60)","line":978,"loc":{"start":{"line":978,"column":27},"end":{"line":978,"column":39}}},"61":{"name":"(anonymous_61)","line":980,"loc":{"start":{"line":980,"column":31},"end":{"line":980,"column":50}}},"62":{"name":"(anonymous_62)","line":995,"loc":{"start":{"line":995,"column":25},"end":{"line":995,"column":37}}},"63":{"name":"(anonymous_63)","line":1011,"loc":{"start":{"line":1011,"column":23},"end":{"line":1011,"column":35}}},"64":{"name":"(anonymous_64)","line":1017,"loc":{"start":{"line":1017,"column":25},"end":{"line":1017,"column":78}}},"65":{"name":"(anonymous_65)","line":1026,"loc":{"start":{"line":1026,"column":26},"end":{"line":1026,"column":38}}},"66":{"name":"(anonymous_66)","line":1030,"loc":{"start":{"line":1030,"column":20},"end":{"line":1030,"column":36}}},"67":{"name":"(anonymous_67)","line":1180,"loc":{"start":{"line":1180,"column":20},"end":{"line":1180,"column":36}}},"68":{"name":"(anonymous_68)","line":1184,"loc":{"start":{"line":1184,"column":19},"end":{"line":1184,"column":44}}},"69":{"name":"(anonymous_69)","line":1188,"loc":{"start":{"line":1188,"column":20},"end":{"line":1188,"column":43}}},"70":{"name":"(anonymous_70)","line":1198,"loc":{"start":{"line":1198,"column":20},"end":{"line":1198,"column":37}}},"71":{"name":"(anonymous_71)","line":1207,"loc":{"start":{"line":1207,"column":29},"end":{"line":1207,"column":49}}},"72":{"name":"(anonymous_72)","line":1212,"loc":{"start":{"line":1212,"column":22},"end":{"line":1212,"column":41}}},"73":{"name":"(anonymous_73)","line":1225,"loc":{"start":{"line":1225,"column":34},"end":{"line":1225,"column":53}}},"74":{"name":"(anonymous_74)","line":1230,"loc":{"start":{"line":1230,"column":21},"end":{"line":1230,"column":41}}},"75":{"name":"(anonymous_75)","line":1239,"loc":{"start":{"line":1239,"column":29},"end":{"line":1239,"column":48}}},"76":{"name":"(anonymous_76)","line":1251,"loc":{"start":{"line":1251,"column":24},"end":{"line":1251,"column":44}}},"77":{"name":"(anonymous_77)","line":1254,"loc":{"start":{"line":1254,"column":40},"end":{"line":1254,"column":54}}},"78":{"name":"(anonymous_78)","line":1263,"loc":{"start":{"line":1263,"column":49},"end":{"line":1263,"column":68}}},"79":{"name":"(anonymous_79)","line":1279,"loc":{"start":{"line":1279,"column":40},"end":{"line":1279,"column":59}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1287,"column":5}},"2":{"start":{"line":6,"column":4},"end":{"line":14,"column":5}},"3":{"start":{"line":7,"column":8},"end":{"line":9,"column":74}},"4":{"start":{"line":11,"column":8},"end":{"line":13,"column":9}},"5":{"start":{"line":12,"column":12},"end":{"line":12,"column":35}},"6":{"start":{"line":16,"column":4},"end":{"line":29,"column":5}},"7":{"start":{"line":17,"column":8},"end":{"line":28,"column":9}},"8":{"start":{"line":18,"column":12},"end":{"line":18,"column":35}},"9":{"start":{"line":19,"column":15},"end":{"line":28,"column":9}},"10":{"start":{"line":20,"column":12},"end":{"line":20,"column":92}},"11":{"start":{"line":23,"column":12},"end":{"line":27,"column":13}},"12":{"start":{"line":26,"column":16},"end":{"line":26,"column":39}},"13":{"start":{"line":31,"column":4},"end":{"line":52,"column":5}},"14":{"start":{"line":33,"column":8},"end":{"line":34,"column":54}},"15":{"start":{"line":36,"column":8},"end":{"line":39,"column":9}},"16":{"start":{"line":37,"column":12},"end":{"line":37,"column":35}},"17":{"start":{"line":38,"column":12},"end":{"line":38,"column":84}},"18":{"start":{"line":42,"column":8},"end":{"line":51,"column":9}},"19":{"start":{"line":43,"column":12},"end":{"line":43,"column":35}},"20":{"start":{"line":46,"column":12},"end":{"line":50,"column":13}},"21":{"start":{"line":47,"column":16},"end":{"line":47,"column":79}},"22":{"start":{"line":49,"column":16},"end":{"line":49,"column":78}},"23":{"start":{"line":54,"column":4},"end":{"line":167,"column":5}},"24":{"start":{"line":55,"column":8},"end":{"line":58,"column":30}},"25":{"start":{"line":60,"column":8},"end":{"line":166,"column":9}},"26":{"start":{"line":67,"column":12},"end":{"line":80,"column":13}},"27":{"start":{"line":71,"column":16},"end":{"line":71,"column":96}},"28":{"start":{"line":72,"column":16},"end":{"line":72,"column":39}},"29":{"start":{"line":73,"column":19},"end":{"line":80,"column":13}},"30":{"start":{"line":76,"column":16},"end":{"line":76,"column":66}},"31":{"start":{"line":77,"column":16},"end":{"line":77,"column":37}},"32":{"start":{"line":78,"column":16},"end":{"line":78,"column":77}},"33":{"start":{"line":79,"column":16},"end":{"line":79,"column":39}},"34":{"start":{"line":81,"column":15},"end":{"line":166,"column":9}},"35":{"start":{"line":97,"column":12},"end":{"line":97,"column":99}},"36":{"start":{"line":99,"column":12},"end":{"line":99,"column":69}},"37":{"start":{"line":101,"column":12},"end":{"line":101,"column":35}},"38":{"start":{"line":102,"column":15},"end":{"line":166,"column":9}},"39":{"start":{"line":122,"column":12},"end":{"line":122,"column":62}},"40":{"start":{"line":123,"column":12},"end":{"line":123,"column":33}},"41":{"start":{"line":124,"column":12},"end":{"line":124,"column":81}},"42":{"start":{"line":127,"column":12},"end":{"line":127,"column":77}},"43":{"start":{"line":130,"column":12},"end":{"line":130,"column":49}},"44":{"start":{"line":132,"column":12},"end":{"line":132,"column":35}},"45":{"start":{"line":133,"column":15},"end":{"line":166,"column":9}},"46":{"start":{"line":139,"column":12},"end":{"line":139,"column":35}},"47":{"start":{"line":140,"column":12},"end":{"line":140,"column":79}},"48":{"start":{"line":141,"column":15},"end":{"line":166,"column":9}},"49":{"start":{"line":147,"column":12},"end":{"line":147,"column":62}},"50":{"start":{"line":148,"column":12},"end":{"line":148,"column":33}},"51":{"start":{"line":149,"column":12},"end":{"line":149,"column":65}},"52":{"start":{"line":152,"column":12},"end":{"line":152,"column":77}},"53":{"start":{"line":154,"column":12},"end":{"line":154,"column":35}},"54":{"start":{"line":155,"column":15},"end":{"line":166,"column":9}},"55":{"start":{"line":163,"column":12},"end":{"line":163,"column":35}},"56":{"start":{"line":164,"column":12},"end":{"line":164,"column":92}},"57":{"start":{"line":165,"column":12},"end":{"line":165,"column":49}},"58":{"start":{"line":169,"column":4},"end":{"line":198,"column":5}},"59":{"start":{"line":170,"column":8},"end":{"line":171,"column":20}},"60":{"start":{"line":173,"column":8},"end":{"line":175,"column":9}},"61":{"start":{"line":174,"column":12},"end":{"line":174,"column":19}},"62":{"start":{"line":179,"column":8},"end":{"line":181,"column":9}},"63":{"start":{"line":180,"column":12},"end":{"line":180,"column":78}},"64":{"start":{"line":186,"column":8},"end":{"line":197,"column":9}},"65":{"start":{"line":190,"column":12},"end":{"line":190,"column":50}},"66":{"start":{"line":192,"column":12},"end":{"line":196,"column":13}},"67":{"start":{"line":193,"column":16},"end":{"line":193,"column":78}},"68":{"start":{"line":194,"column":19},"end":{"line":196,"column":13}},"69":{"start":{"line":195,"column":16},"end":{"line":195,"column":82}},"70":{"start":{"line":200,"column":4},"end":{"line":205,"column":5}},"71":{"start":{"line":201,"column":8},"end":{"line":201,"column":157}},"72":{"start":{"line":202,"column":8},"end":{"line":204,"column":9}},"73":{"start":{"line":203,"column":12},"end":{"line":203,"column":55}},"74":{"start":{"line":209,"column":4},"end":{"line":223,"column":5}},"75":{"start":{"line":210,"column":8},"end":{"line":215,"column":9}},"76":{"start":{"line":214,"column":12},"end":{"line":214,"column":40}},"77":{"start":{"line":218,"column":8},"end":{"line":220,"column":9}},"78":{"start":{"line":219,"column":12},"end":{"line":219,"column":48}},"79":{"start":{"line":222,"column":8},"end":{"line":222,"column":43}},"80":{"start":{"line":225,"column":4},"end":{"line":238,"column":5}},"81":{"start":{"line":226,"column":8},"end":{"line":228,"column":9}},"82":{"start":{"line":227,"column":12},"end":{"line":227,"column":19}},"83":{"start":{"line":237,"column":8},"end":{"line":237,"column":43}},"84":{"start":{"line":240,"column":4},"end":{"line":272,"column":5}},"85":{"start":{"line":241,"column":8},"end":{"line":241,"column":26}},"86":{"start":{"line":243,"column":8},"end":{"line":245,"column":9}},"87":{"start":{"line":244,"column":12},"end":{"line":244,"column":26}},"88":{"start":{"line":247,"column":8},"end":{"line":249,"column":9}},"89":{"start":{"line":248,"column":12},"end":{"line":248,"column":54}},"90":{"start":{"line":251,"column":8},"end":{"line":253,"column":9}},"91":{"start":{"line":252,"column":12},"end":{"line":252,"column":34}},"92":{"start":{"line":255,"column":8},"end":{"line":269,"column":9}},"93":{"start":{"line":258,"column":12},"end":{"line":265,"column":13}},"94":{"start":{"line":259,"column":16},"end":{"line":259,"column":37}},"95":{"start":{"line":260,"column":16},"end":{"line":264,"column":17}},"96":{"start":{"line":263,"column":20},"end":{"line":263,"column":38}},"97":{"start":{"line":268,"column":12},"end":{"line":268,"column":61}},"98":{"start":{"line":271,"column":8},"end":{"line":271,"column":24}},"99":{"start":{"line":274,"column":4},"end":{"line":284,"column":5}},"100":{"start":{"line":275,"column":8},"end":{"line":275,"column":155}},"101":{"start":{"line":276,"column":8},"end":{"line":280,"column":9}},"102":{"start":{"line":278,"column":12},"end":{"line":278,"column":62}},"103":{"start":{"line":279,"column":12},"end":{"line":279,"column":66}},"104":{"start":{"line":281,"column":8},"end":{"line":283,"column":9}},"105":{"start":{"line":282,"column":12},"end":{"line":282,"column":52}},"106":{"start":{"line":286,"column":4},"end":{"line":293,"column":5}},"107":{"start":{"line":287,"column":8},"end":{"line":291,"column":11}},"108":{"start":{"line":288,"column":12},"end":{"line":290,"column":13}},"109":{"start":{"line":289,"column":16},"end":{"line":289,"column":49}},"110":{"start":{"line":292,"column":8},"end":{"line":292,"column":25}},"111":{"start":{"line":295,"column":4},"end":{"line":315,"column":5}},"112":{"start":{"line":296,"column":8},"end":{"line":300,"column":10}},"113":{"start":{"line":303,"column":8},"end":{"line":303,"column":71}},"114":{"start":{"line":306,"column":8},"end":{"line":308,"column":9}},"115":{"start":{"line":307,"column":12},"end":{"line":307,"column":29}},"116":{"start":{"line":311,"column":8},"end":{"line":313,"column":9}},"117":{"start":{"line":312,"column":12},"end":{"line":312,"column":34}},"118":{"start":{"line":314,"column":8},"end":{"line":314,"column":25}},"119":{"start":{"line":317,"column":4},"end":{"line":327,"column":5}},"120":{"start":{"line":320,"column":8},"end":{"line":324,"column":9}},"121":{"start":{"line":321,"column":16},"end":{"line":321,"column":70}},"122":{"start":{"line":323,"column":12},"end":{"line":323,"column":25}},"123":{"start":{"line":326,"column":8},"end":{"line":326,"column":46}},"124":{"start":{"line":329,"column":4},"end":{"line":336,"column":5}},"125":{"start":{"line":331,"column":8},"end":{"line":333,"column":9}},"126":{"start":{"line":332,"column":12},"end":{"line":332,"column":25}},"127":{"start":{"line":335,"column":8},"end":{"line":335,"column":52}},"128":{"start":{"line":338,"column":4},"end":{"line":340,"column":5}},"129":{"start":{"line":339,"column":8},"end":{"line":339,"column":50}},"130":{"start":{"line":342,"column":4},"end":{"line":344,"column":5}},"131":{"start":{"line":343,"column":8},"end":{"line":343,"column":47}},"132":{"start":{"line":346,"column":4},"end":{"line":348,"column":5}},"133":{"start":{"line":347,"column":8},"end":{"line":347,"column":52}},"134":{"start":{"line":350,"column":4},"end":{"line":352,"column":5}},"135":{"start":{"line":351,"column":8},"end":{"line":351,"column":55}},"136":{"start":{"line":354,"column":4},"end":{"line":359,"column":5}},"137":{"start":{"line":358,"column":8},"end":{"line":358,"column":57}},"138":{"start":{"line":361,"column":4},"end":{"line":405,"column":5}},"139":{"start":{"line":362,"column":8},"end":{"line":365,"column":39}},"140":{"start":{"line":369,"column":8},"end":{"line":372,"column":9}},"141":{"start":{"line":370,"column":12},"end":{"line":370,"column":18}},"142":{"start":{"line":371,"column":12},"end":{"line":371,"column":46}},"143":{"start":{"line":374,"column":8},"end":{"line":374,"column":43}},"144":{"start":{"line":375,"column":8},"end":{"line":375,"column":26}},"145":{"start":{"line":376,"column":8},"end":{"line":376,"column":39}},"146":{"start":{"line":378,"column":8},"end":{"line":378,"column":69}},"147":{"start":{"line":381,"column":8},"end":{"line":386,"column":9}},"148":{"start":{"line":383,"column":12},"end":{"line":385,"column":13}},"149":{"start":{"line":384,"column":16},"end":{"line":384,"column":66}},"150":{"start":{"line":390,"column":8},"end":{"line":396,"column":9}},"151":{"start":{"line":391,"column":12},"end":{"line":395,"column":26}},"152":{"start":{"line":392,"column":16},"end":{"line":394,"column":17}},"153":{"start":{"line":393,"column":20},"end":{"line":393,"column":91}},"154":{"start":{"line":398,"column":8},"end":{"line":398,"column":55}},"155":{"start":{"line":399,"column":8},"end":{"line":402,"column":10}},"156":{"start":{"line":404,"column":8},"end":{"line":404,"column":19}},"157":{"start":{"line":407,"column":4},"end":{"line":455,"column":5}},"158":{"start":{"line":408,"column":8},"end":{"line":452,"column":9}},"159":{"start":{"line":409,"column":12},"end":{"line":417,"column":13}},"160":{"start":{"line":410,"column":16},"end":{"line":410,"column":68}},"161":{"start":{"line":413,"column":16},"end":{"line":416,"column":17}},"162":{"start":{"line":414,"column":20},"end":{"line":414,"column":86}},"163":{"start":{"line":415,"column":20},"end":{"line":415,"column":86}},"164":{"start":{"line":419,"column":12},"end":{"line":422,"column":13}},"165":{"start":{"line":420,"column":16},"end":{"line":420,"column":62}},"166":{"start":{"line":421,"column":16},"end":{"line":421,"column":76}},"167":{"start":{"line":425,"column":12},"end":{"line":430,"column":13}},"168":{"start":{"line":426,"column":16},"end":{"line":429,"column":17}},"169":{"start":{"line":427,"column":20},"end":{"line":427,"column":100}},"170":{"start":{"line":428,"column":20},"end":{"line":428,"column":100}},"171":{"start":{"line":434,"column":12},"end":{"line":436,"column":13}},"172":{"start":{"line":435,"column":16},"end":{"line":435,"column":66}},"173":{"start":{"line":438,"column":12},"end":{"line":438,"column":53}},"174":{"start":{"line":440,"column":12},"end":{"line":440,"column":69}},"175":{"start":{"line":441,"column":12},"end":{"line":441,"column":59}},"176":{"start":{"line":442,"column":12},"end":{"line":442,"column":52}},"177":{"start":{"line":443,"column":12},"end":{"line":443,"column":57}},"178":{"start":{"line":444,"column":12},"end":{"line":444,"column":78}},"179":{"start":{"line":448,"column":12},"end":{"line":448,"column":67}},"180":{"start":{"line":449,"column":12},"end":{"line":449,"column":58}},"181":{"start":{"line":451,"column":12},"end":{"line":451,"column":58}},"182":{"start":{"line":454,"column":8},"end":{"line":454,"column":23}},"183":{"start":{"line":457,"column":4},"end":{"line":478,"column":5}},"184":{"start":{"line":459,"column":8},"end":{"line":459,"column":74}},"185":{"start":{"line":462,"column":8},"end":{"line":462,"column":86}},"186":{"start":{"line":463,"column":8},"end":{"line":463,"column":85}},"187":{"start":{"line":466,"column":8},"end":{"line":468,"column":9}},"188":{"start":{"line":467,"column":12},"end":{"line":467,"column":88}},"189":{"start":{"line":471,"column":8},"end":{"line":477,"column":9}},"190":{"start":{"line":473,"column":12},"end":{"line":476,"column":13}},"191":{"start":{"line":474,"column":16},"end":{"line":474,"column":96}},"192":{"start":{"line":475,"column":16},"end":{"line":475,"column":96}},"193":{"start":{"line":480,"column":4},"end":{"line":547,"column":5}},"194":{"start":{"line":482,"column":8},"end":{"line":482,"column":29}},"195":{"start":{"line":485,"column":8},"end":{"line":490,"column":17}},"196":{"start":{"line":487,"column":12},"end":{"line":489,"column":13}},"197":{"start":{"line":488,"column":16},"end":{"line":488,"column":95}},"198":{"start":{"line":502,"column":8},"end":{"line":514,"column":9}},"199":{"start":{"line":503,"column":12},"end":{"line":503,"column":49}},"200":{"start":{"line":504,"column":12},"end":{"line":512,"column":13}},"201":{"start":{"line":505,"column":16},"end":{"line":505,"column":26}},"202":{"start":{"line":509,"column":16},"end":{"line":511,"column":17}},"203":{"start":{"line":510,"column":20},"end":{"line":510,"column":43}},"204":{"start":{"line":513,"column":12},"end":{"line":513,"column":59}},"205":{"start":{"line":517,"column":8},"end":{"line":523,"column":10}},"206":{"start":{"line":524,"column":8},"end":{"line":528,"column":17}},"207":{"start":{"line":525,"column":12},"end":{"line":527,"column":13}},"208":{"start":{"line":526,"column":16},"end":{"line":526,"column":47}},"209":{"start":{"line":533,"column":8},"end":{"line":533,"column":66}},"210":{"start":{"line":534,"column":8},"end":{"line":540,"column":9}},"211":{"start":{"line":536,"column":12},"end":{"line":538,"column":15}},"212":{"start":{"line":539,"column":12},"end":{"line":539,"column":83}},"213":{"start":{"line":544,"column":8},"end":{"line":546,"column":9}},"214":{"start":{"line":545,"column":12},"end":{"line":545,"column":83}},"215":{"start":{"line":549,"column":4},"end":{"line":563,"column":5}},"216":{"start":{"line":550,"column":8},"end":{"line":552,"column":10}},"217":{"start":{"line":554,"column":8},"end":{"line":560,"column":9}},"218":{"start":{"line":555,"column":12},"end":{"line":559,"column":15}},"219":{"start":{"line":556,"column":16},"end":{"line":558,"column":17}},"220":{"start":{"line":557,"column":20},"end":{"line":557,"column":77}},"221":{"start":{"line":562,"column":8},"end":{"line":562,"column":65}},"222":{"start":{"line":565,"column":4},"end":{"line":626,"column":5}},"223":{"start":{"line":567,"column":8},"end":{"line":570,"column":29}},"224":{"start":{"line":575,"column":8},"end":{"line":575,"column":42}},"225":{"start":{"line":576,"column":8},"end":{"line":578,"column":9}},"226":{"start":{"line":577,"column":12},"end":{"line":577,"column":91}},"227":{"start":{"line":580,"column":8},"end":{"line":587,"column":9}},"228":{"start":{"line":582,"column":12},"end":{"line":584,"column":13}},"229":{"start":{"line":583,"column":16},"end":{"line":583,"column":101}},"230":{"start":{"line":585,"column":12},"end":{"line":585,"column":55}},"231":{"start":{"line":586,"column":12},"end":{"line":586,"column":95}},"232":{"start":{"line":589,"column":8},"end":{"line":596,"column":9}},"233":{"start":{"line":591,"column":12},"end":{"line":593,"column":13}},"234":{"start":{"line":592,"column":16},"end":{"line":592,"column":101}},"235":{"start":{"line":594,"column":12},"end":{"line":594,"column":55}},"236":{"start":{"line":595,"column":12},"end":{"line":595,"column":95}},"237":{"start":{"line":598,"column":8},"end":{"line":600,"column":9}},"238":{"start":{"line":599,"column":12},"end":{"line":599,"column":41}},"239":{"start":{"line":602,"column":8},"end":{"line":605,"column":9}},"240":{"start":{"line":603,"column":12},"end":{"line":603,"column":82}},"241":{"start":{"line":604,"column":12},"end":{"line":604,"column":85}},"242":{"start":{"line":607,"column":8},"end":{"line":610,"column":9}},"243":{"start":{"line":608,"column":12},"end":{"line":608,"column":83}},"244":{"start":{"line":609,"column":12},"end":{"line":609,"column":89}},"245":{"start":{"line":614,"column":8},"end":{"line":622,"column":9}},"246":{"start":{"line":615,"column":12},"end":{"line":616,"column":147}},"247":{"start":{"line":617,"column":12},"end":{"line":619,"column":13}},"248":{"start":{"line":618,"column":16},"end":{"line":618,"column":106}},"249":{"start":{"line":621,"column":12},"end":{"line":621,"column":26}},"250":{"start":{"line":624,"column":8},"end":{"line":624,"column":46}},"251":{"start":{"line":625,"column":8},"end":{"line":625,"column":87}},"252":{"start":{"line":632,"column":4},"end":{"line":671,"column":5}},"253":{"start":{"line":633,"column":8},"end":{"line":635,"column":9}},"254":{"start":{"line":634,"column":12},"end":{"line":634,"column":19}},"255":{"start":{"line":637,"column":8},"end":{"line":644,"column":15}},"256":{"start":{"line":639,"column":16},"end":{"line":639,"column":69}},"257":{"start":{"line":640,"column":16},"end":{"line":642,"column":17}},"258":{"start":{"line":641,"column":20},"end":{"line":641,"column":56}},"259":{"start":{"line":643,"column":16},"end":{"line":643,"column":29}},"260":{"start":{"line":653,"column":8},"end":{"line":670,"column":9}},"261":{"start":{"line":655,"column":12},"end":{"line":655,"column":33}},"262":{"start":{"line":656,"column":12},"end":{"line":666,"column":21}},"263":{"start":{"line":657,"column":16},"end":{"line":665,"column":17}},"264":{"start":{"line":658,"column":20},"end":{"line":658,"column":50}},"265":{"start":{"line":659,"column":20},"end":{"line":664,"column":21}},"266":{"start":{"line":661,"column":24},"end":{"line":661,"column":82}},"267":{"start":{"line":662,"column":24},"end":{"line":662,"column":80}},"268":{"start":{"line":663,"column":24},"end":{"line":663,"column":85}},"269":{"start":{"line":667,"column":12},"end":{"line":667,"column":55}},"270":{"start":{"line":669,"column":12},"end":{"line":669,"column":36}},"271":{"start":{"line":673,"column":4},"end":{"line":673,"column":28}},"272":{"start":{"line":675,"column":4},"end":{"line":1277,"column":6}},"273":{"start":{"line":678,"column":12},"end":{"line":678,"column":75}},"274":{"start":{"line":679,"column":12},"end":{"line":679,"column":41}},"275":{"start":{"line":681,"column":12},"end":{"line":683,"column":13}},"276":{"start":{"line":682,"column":16},"end":{"line":682,"column":81}},"277":{"start":{"line":685,"column":12},"end":{"line":685,"column":32}},"278":{"start":{"line":689,"column":12},"end":{"line":691,"column":13}},"279":{"start":{"line":690,"column":16},"end":{"line":690,"column":23}},"280":{"start":{"line":693,"column":12},"end":{"line":693,"column":64}},"281":{"start":{"line":694,"column":12},"end":{"line":694,"column":56}},"282":{"start":{"line":695,"column":12},"end":{"line":695,"column":31}},"283":{"start":{"line":697,"column":12},"end":{"line":697,"column":48}},"284":{"start":{"line":699,"column":12},"end":{"line":701,"column":13}},"285":{"start":{"line":700,"column":16},"end":{"line":700,"column":23}},"286":{"start":{"line":703,"column":12},"end":{"line":703,"column":33}},"287":{"start":{"line":706,"column":12},"end":{"line":706,"column":38}},"288":{"start":{"line":707,"column":12},"end":{"line":707,"column":38}},"289":{"start":{"line":711,"column":12},"end":{"line":713,"column":13}},"290":{"start":{"line":712,"column":16},"end":{"line":712,"column":23}},"291":{"start":{"line":715,"column":12},"end":{"line":715,"column":34}},"292":{"start":{"line":717,"column":12},"end":{"line":721,"column":21}},"293":{"start":{"line":718,"column":16},"end":{"line":720,"column":17}},"294":{"start":{"line":719,"column":20},"end":{"line":719,"column":40}},"295":{"start":{"line":723,"column":12},"end":{"line":723,"column":34}},"296":{"start":{"line":725,"column":12},"end":{"line":745,"column":21}},"297":{"start":{"line":727,"column":16},"end":{"line":729,"column":17}},"298":{"start":{"line":728,"column":20},"end":{"line":728,"column":58}},"299":{"start":{"line":732,"column":16},"end":{"line":732,"column":59}},"300":{"start":{"line":733,"column":16},"end":{"line":733,"column":54}},"301":{"start":{"line":734,"column":16},"end":{"line":734,"column":70}},"302":{"start":{"line":735,"column":16},"end":{"line":735,"column":66}},"303":{"start":{"line":736,"column":16},"end":{"line":736,"column":48}},"304":{"start":{"line":737,"column":16},"end":{"line":737,"column":58}},"305":{"start":{"line":738,"column":16},"end":{"line":738,"column":63}},"306":{"start":{"line":739,"column":16},"end":{"line":739,"column":75}},"307":{"start":{"line":742,"column":16},"end":{"line":744,"column":17}},"308":{"start":{"line":743,"column":20},"end":{"line":743,"column":52}},"309":{"start":{"line":746,"column":12},"end":{"line":746,"column":31}},"310":{"start":{"line":747,"column":12},"end":{"line":747,"column":59}},"311":{"start":{"line":748,"column":12},"end":{"line":748,"column":52}},"312":{"start":{"line":750,"column":12},"end":{"line":750,"column":69}},"313":{"start":{"line":754,"column":12},"end":{"line":754,"column":76}},"314":{"start":{"line":756,"column":12},"end":{"line":756,"column":24}},"315":{"start":{"line":760,"column":12},"end":{"line":760,"column":76}},"316":{"start":{"line":762,"column":12},"end":{"line":762,"column":24}},"317":{"start":{"line":766,"column":12},"end":{"line":766,"column":59}},"318":{"start":{"line":768,"column":12},"end":{"line":768,"column":24}},"319":{"start":{"line":772,"column":12},"end":{"line":772,"column":59}},"320":{"start":{"line":774,"column":12},"end":{"line":774,"column":24}},"321":{"start":{"line":778,"column":12},"end":{"line":778,"column":65}},"322":{"start":{"line":780,"column":12},"end":{"line":780,"column":24}},"323":{"start":{"line":784,"column":12},"end":{"line":784,"column":28}},"324":{"start":{"line":785,"column":12},"end":{"line":789,"column":35}},"325":{"start":{"line":786,"column":16},"end":{"line":788,"column":17}},"326":{"start":{"line":787,"column":20},"end":{"line":787,"column":25}},"327":{"start":{"line":793,"column":12},"end":{"line":796,"column":43}},"328":{"start":{"line":798,"column":12},"end":{"line":803,"column":13}},"329":{"start":{"line":799,"column":16},"end":{"line":799,"column":96}},"330":{"start":{"line":800,"column":16},"end":{"line":802,"column":18}},"331":{"start":{"line":804,"column":12},"end":{"line":804,"column":27}},"332":{"start":{"line":808,"column":12},"end":{"line":808,"column":26}},"333":{"start":{"line":809,"column":12},"end":{"line":817,"column":13}},"334":{"start":{"line":810,"column":16},"end":{"line":816,"column":19}},"335":{"start":{"line":811,"column":20},"end":{"line":814,"column":21}},"336":{"start":{"line":812,"column":24},"end":{"line":812,"column":40}},"337":{"start":{"line":813,"column":24},"end":{"line":813,"column":36}},"338":{"start":{"line":815,"column":20},"end":{"line":815,"column":33}},"339":{"start":{"line":818,"column":12},"end":{"line":818,"column":29}},"340":{"start":{"line":825,"column":12},"end":{"line":826,"column":23}},"341":{"start":{"line":827,"column":12},"end":{"line":829,"column":13}},"342":{"start":{"line":828,"column":16},"end":{"line":828,"column":33}},"343":{"start":{"line":831,"column":12},"end":{"line":871,"column":13}},"344":{"start":{"line":833,"column":20},"end":{"line":833,"column":85}},"345":{"start":{"line":834,"column":20},"end":{"line":834,"column":75}},"346":{"start":{"line":835,"column":20},"end":{"line":835,"column":26}},"347":{"start":{"line":837,"column":20},"end":{"line":837,"column":102}},"348":{"start":{"line":838,"column":20},"end":{"line":838,"column":26}},"349":{"start":{"line":840,"column":20},"end":{"line":840,"column":71}},"350":{"start":{"line":841,"column":20},"end":{"line":841,"column":26}},"351":{"start":{"line":843,"column":20},"end":{"line":843,"column":79}},"352":{"start":{"line":844,"column":20},"end":{"line":844,"column":26}},"353":{"start":{"line":846,"column":20},"end":{"line":846,"column":92}},"354":{"start":{"line":847,"column":20},"end":{"line":847,"column":26}},"355":{"start":{"line":849,"column":20},"end":{"line":849,"column":75}},"356":{"start":{"line":850,"column":20},"end":{"line":850,"column":26}},"357":{"start":{"line":852,"column":20},"end":{"line":852,"column":108}},"358":{"start":{"line":853,"column":20},"end":{"line":853,"column":26}},"359":{"start":{"line":855,"column":20},"end":{"line":855,"column":86}},"360":{"start":{"line":856,"column":20},"end":{"line":856,"column":26}},"361":{"start":{"line":858,"column":20},"end":{"line":858,"column":98}},"362":{"start":{"line":859,"column":20},"end":{"line":859,"column":26}},"363":{"start":{"line":863,"column":20},"end":{"line":870,"column":21}},"364":{"start":{"line":864,"column":24},"end":{"line":869,"column":25}},"365":{"start":{"line":865,"column":28},"end":{"line":865,"column":131}},"366":{"start":{"line":866,"column":28},"end":{"line":866,"column":83}},"367":{"start":{"line":868,"column":28},"end":{"line":868,"column":81}},"368":{"start":{"line":873,"column":12},"end":{"line":875,"column":13}},"369":{"start":{"line":874,"column":16},"end":{"line":874,"column":75}},"370":{"start":{"line":877,"column":12},"end":{"line":877,"column":29}},"371":{"start":{"line":881,"column":12},"end":{"line":881,"column":48}},"372":{"start":{"line":885,"column":12},"end":{"line":885,"column":49}},"373":{"start":{"line":889,"column":12},"end":{"line":889,"column":61}},"374":{"start":{"line":890,"column":12},"end":{"line":892,"column":13}},"375":{"start":{"line":891,"column":16},"end":{"line":891,"column":37}},"376":{"start":{"line":893,"column":12},"end":{"line":893,"column":24}},"377":{"start":{"line":899,"column":12},"end":{"line":901,"column":34}},"378":{"start":{"line":904,"column":12},"end":{"line":904,"column":44}},"379":{"start":{"line":905,"column":12},"end":{"line":907,"column":13}},"380":{"start":{"line":906,"column":16},"end":{"line":906,"column":34}},"381":{"start":{"line":909,"column":12},"end":{"line":913,"column":13}},"382":{"start":{"line":910,"column":16},"end":{"line":910,"column":82}},"383":{"start":{"line":912,"column":16},"end":{"line":912,"column":34}},"384":{"start":{"line":915,"column":12},"end":{"line":915,"column":30}},"385":{"start":{"line":920,"column":12},"end":{"line":922,"column":23}},"386":{"start":{"line":927,"column":12},"end":{"line":927,"column":44}},"387":{"start":{"line":928,"column":12},"end":{"line":938,"column":13}},"388":{"start":{"line":930,"column":16},"end":{"line":930,"column":37}},"389":{"start":{"line":932,"column":16},"end":{"line":932,"column":41}},"390":{"start":{"line":933,"column":16},"end":{"line":933,"column":71}},"391":{"start":{"line":935,"column":16},"end":{"line":935,"column":40}},"392":{"start":{"line":937,"column":16},"end":{"line":937,"column":69}},"393":{"start":{"line":941,"column":12},"end":{"line":943,"column":13}},"394":{"start":{"line":942,"column":16},"end":{"line":942,"column":108}},"395":{"start":{"line":945,"column":12},"end":{"line":945,"column":34}},"396":{"start":{"line":946,"column":12},"end":{"line":946,"column":26}},"397":{"start":{"line":950,"column":12},"end":{"line":952,"column":13}},"398":{"start":{"line":951,"column":16},"end":{"line":951,"column":80}},"399":{"start":{"line":953,"column":12},"end":{"line":953,"column":74}},"400":{"start":{"line":957,"column":12},"end":{"line":957,"column":98}},"401":{"start":{"line":959,"column":12},"end":{"line":966,"column":13}},"402":{"start":{"line":961,"column":16},"end":{"line":963,"column":17}},"403":{"start":{"line":962,"column":20},"end":{"line":962,"column":52}},"404":{"start":{"line":965,"column":16},"end":{"line":965,"column":45}},"405":{"start":{"line":970,"column":12},"end":{"line":970,"column":83}},"406":{"start":{"line":972,"column":12},"end":{"line":972,"column":100}},"407":{"start":{"line":973,"column":12},"end":{"line":975,"column":13}},"408":{"start":{"line":974,"column":16},"end":{"line":974,"column":53}},"409":{"start":{"line":979,"column":12},"end":{"line":979,"column":24}},"410":{"start":{"line":980,"column":12},"end":{"line":988,"column":21}},"411":{"start":{"line":982,"column":16},"end":{"line":984,"column":17}},"412":{"start":{"line":983,"column":20},"end":{"line":983,"column":38}},"413":{"start":{"line":987,"column":16},"end":{"line":987,"column":33}},"414":{"start":{"line":990,"column":12},"end":{"line":990,"column":27}},"415":{"start":{"line":996,"column":12},"end":{"line":998,"column":38}},"416":{"start":{"line":1000,"column":12},"end":{"line":1002,"column":13}},"417":{"start":{"line":1001,"column":16},"end":{"line":1001,"column":118}},"418":{"start":{"line":1004,"column":12},"end":{"line":1006,"column":13}},"419":{"start":{"line":1005,"column":16},"end":{"line":1005,"column":75}},"420":{"start":{"line":1008,"column":12},"end":{"line":1008,"column":34}},"421":{"start":{"line":1012,"column":12},"end":{"line":1012,"column":57}},"422":{"start":{"line":1018,"column":12},"end":{"line":1020,"column":13}},"423":{"start":{"line":1019,"column":16},"end":{"line":1019,"column":23}},"424":{"start":{"line":1022,"column":12},"end":{"line":1022,"column":90}},"425":{"start":{"line":1023,"column":12},"end":{"line":1023,"column":139}},"426":{"start":{"line":1027,"column":12},"end":{"line":1027,"column":54}},"427":{"start":{"line":1031,"column":12},"end":{"line":1033,"column":26}},"428":{"start":{"line":1036,"column":12},"end":{"line":1038,"column":13}},"429":{"start":{"line":1037,"column":16},"end":{"line":1037,"column":23}},"430":{"start":{"line":1040,"column":12},"end":{"line":1175,"column":13}},"431":{"start":{"line":1041,"column":16},"end":{"line":1041,"column":64}},"432":{"start":{"line":1043,"column":16},"end":{"line":1045,"column":17}},"433":{"start":{"line":1044,"column":20},"end":{"line":1044,"column":98}},"434":{"start":{"line":1046,"column":16},"end":{"line":1046,"column":51}},"435":{"start":{"line":1047,"column":16},"end":{"line":1164,"column":17}},"436":{"start":{"line":1048,"column":20},"end":{"line":1048,"column":85}},"437":{"start":{"line":1049,"column":20},"end":{"line":1163,"column":21}},"438":{"start":{"line":1050,"column":24},"end":{"line":1055,"column":38}},"439":{"start":{"line":1063,"column":24},"end":{"line":1068,"column":25}},"440":{"start":{"line":1067,"column":28},"end":{"line":1067,"column":77}},"441":{"start":{"line":1070,"column":24},"end":{"line":1070,"column":123}},"442":{"start":{"line":1071,"column":24},"end":{"line":1071,"column":119}},"443":{"start":{"line":1077,"column":24},"end":{"line":1152,"column":25}},"444":{"start":{"line":1078,"column":28},"end":{"line":1079,"column":95}},"445":{"start":{"line":1084,"column":28},"end":{"line":1084,"column":54}},"446":{"start":{"line":1086,"column":28},"end":{"line":1086,"column":71}},"447":{"start":{"line":1087,"column":28},"end":{"line":1087,"column":80}},"448":{"start":{"line":1089,"column":28},"end":{"line":1116,"column":29}},"449":{"start":{"line":1100,"column":32},"end":{"line":1107,"column":34}},"450":{"start":{"line":1109,"column":32},"end":{"line":1115,"column":34}},"451":{"start":{"line":1118,"column":28},"end":{"line":1118,"column":83}},"452":{"start":{"line":1120,"column":28},"end":{"line":1128,"column":30}},"453":{"start":{"line":1132,"column":28},"end":{"line":1136,"column":29}},"454":{"start":{"line":1133,"column":32},"end":{"line":1133,"column":95}},"455":{"start":{"line":1134,"column":32},"end":{"line":1134,"column":94}},"456":{"start":{"line":1135,"column":32},"end":{"line":1135,"column":108}},"457":{"start":{"line":1139,"column":28},"end":{"line":1139,"column":114}},"458":{"start":{"line":1142,"column":28},"end":{"line":1142,"column":122}},"459":{"start":{"line":1145,"column":28},"end":{"line":1145,"column":143}},"460":{"start":{"line":1146,"column":28},"end":{"line":1146,"column":79}},"461":{"start":{"line":1147,"column":28},"end":{"line":1147,"column":77}},"462":{"start":{"line":1149,"column":28},"end":{"line":1149,"column":68}},"463":{"start":{"line":1151,"column":28},"end":{"line":1151,"column":99}},"464":{"start":{"line":1154,"column":24},"end":{"line":1158,"column":25}},"465":{"start":{"line":1155,"column":28},"end":{"line":1155,"column":142}},"466":{"start":{"line":1157,"column":28},"end":{"line":1157,"column":145}},"467":{"start":{"line":1160,"column":24},"end":{"line":1162,"column":25}},"468":{"start":{"line":1161,"column":28},"end":{"line":1161,"column":152}},"469":{"start":{"line":1166,"column":16},"end":{"line":1172,"column":17}},"470":{"start":{"line":1167,"column":20},"end":{"line":1167,"column":87}},"471":{"start":{"line":1168,"column":20},"end":{"line":1168,"column":91}},"472":{"start":{"line":1169,"column":20},"end":{"line":1171,"column":21}},"473":{"start":{"line":1170,"column":24},"end":{"line":1170,"column":68}},"474":{"start":{"line":1174,"column":16},"end":{"line":1174,"column":63}},"475":{"start":{"line":1177,"column":12},"end":{"line":1177,"column":88}},"476":{"start":{"line":1181,"column":12},"end":{"line":1181,"column":62}},"477":{"start":{"line":1185,"column":12},"end":{"line":1185,"column":70}},"478":{"start":{"line":1189,"column":12},"end":{"line":1189,"column":31}},"479":{"start":{"line":1191,"column":12},"end":{"line":1195,"column":13}},"480":{"start":{"line":1192,"column":16},"end":{"line":1192,"column":50}},"481":{"start":{"line":1193,"column":16},"end":{"line":1193,"column":40}},"482":{"start":{"line":1194,"column":16},"end":{"line":1194,"column":49}},"483":{"start":{"line":1199,"column":12},"end":{"line":1199,"column":31}},"484":{"start":{"line":1201,"column":12},"end":{"line":1203,"column":13}},"485":{"start":{"line":1202,"column":16},"end":{"line":1202,"column":61}},"486":{"start":{"line":1204,"column":12},"end":{"line":1204,"column":24}},"487":{"start":{"line":1208,"column":12},"end":{"line":1208,"column":106}},"488":{"start":{"line":1209,"column":12},"end":{"line":1209,"column":93}},"489":{"start":{"line":1217,"column":12},"end":{"line":1223,"column":13}},"490":{"start":{"line":1218,"column":16},"end":{"line":1218,"column":59}},"491":{"start":{"line":1219,"column":16},"end":{"line":1221,"column":17}},"492":{"start":{"line":1220,"column":20},"end":{"line":1220,"column":104}},"493":{"start":{"line":1222,"column":16},"end":{"line":1222,"column":23}},"494":{"start":{"line":1225,"column":12},"end":{"line":1227,"column":21}},"495":{"start":{"line":1226,"column":16},"end":{"line":1226,"column":93}},"496":{"start":{"line":1232,"column":12},"end":{"line":1232,"column":91}},"497":{"start":{"line":1235,"column":12},"end":{"line":1237,"column":13}},"498":{"start":{"line":1236,"column":16},"end":{"line":1236,"column":29}},"499":{"start":{"line":1239,"column":12},"end":{"line":1248,"column":21}},"500":{"start":{"line":1241,"column":16},"end":{"line":1241,"column":67}},"501":{"start":{"line":1244,"column":16},"end":{"line":1244,"column":44}},"502":{"start":{"line":1247,"column":16},"end":{"line":1247,"column":97}},"503":{"start":{"line":1253,"column":12},"end":{"line":1261,"column":19}},"504":{"start":{"line":1256,"column":20},"end":{"line":1260,"column":21}},"505":{"start":{"line":1257,"column":24},"end":{"line":1257,"column":148}},"506":{"start":{"line":1259,"column":24},"end":{"line":1259,"column":34}},"507":{"start":{"line":1263,"column":12},"end":{"line":1275,"column":21}},"508":{"start":{"line":1265,"column":16},"end":{"line":1273,"column":17}},"509":{"start":{"line":1266,"column":20},"end":{"line":1266,"column":56}},"510":{"start":{"line":1267,"column":20},"end":{"line":1269,"column":21}},"511":{"start":{"line":1268,"column":24},"end":{"line":1268,"column":56}},"512":{"start":{"line":1271,"column":20},"end":{"line":1271,"column":104}},"513":{"start":{"line":1272,"column":20},"end":{"line":1272,"column":33}},"514":{"start":{"line":1274,"column":16},"end":{"line":1274,"column":28}},"515":{"start":{"line":1279,"column":4},"end":{"line":1286,"column":6}},"516":{"start":{"line":1280,"column":8},"end":{"line":1281,"column":128}},"517":{"start":{"line":1282,"column":8},"end":{"line":1284,"column":9}},"518":{"start":{"line":1283,"column":12},"end":{"line":1283,"column":45}},"519":{"start":{"line":1285,"column":8},"end":{"line":1285,"column":20}}},"branchMap":{"1":{"line":11,"type":"if","locations":[{"start":{"line":11,"column":8},"end":{"line":11,"column":8}},{"start":{"line":11,"column":8},"end":{"line":11,"column":8}}]},"2":{"line":11,"type":"binary-expr","locations":[{"start":{"line":11,"column":13},"end":{"line":11,"column":63}},{"start":{"line":11,"column":69},"end":{"line":11,"column":119}},{"start":{"line":11,"column":125},"end":{"line":11,"column":171}},{"start":{"line":11,"column":175},"end":{"line":11,"column":221}}]},"3":{"line":17,"type":"if","locations":[{"start":{"line":17,"column":8},"end":{"line":17,"column":8}},{"start":{"line":17,"column":8},"end":{"line":17,"column":8}}]},"4":{"line":17,"type":"binary-expr","locations":[{"start":{"line":17,"column":12},"end":{"line":17,"column":38}},{"start":{"line":17,"column":42},"end":{"line":17,"column":85}}]},"5":{"line":19,"type":"if","locations":[{"start":{"line":19,"column":15},"end":{"line":19,"column":15}},{"start":{"line":19,"column":15},"end":{"line":19,"column":15}}]},"6":{"line":19,"type":"binary-expr","locations":[{"start":{"line":19,"column":19},"end":{"line":19,"column":51}},{"start":{"line":19,"column":55},"end":{"line":19,"column":105}}]},"7":{"line":23,"type":"if","locations":[{"start":{"line":23,"column":12},"end":{"line":23,"column":12}},{"start":{"line":23,"column":12},"end":{"line":23,"column":12}}]},"8":{"line":23,"type":"binary-expr","locations":[{"start":{"line":23,"column":17},"end":{"line":23,"column":21}},{"start":{"line":23,"column":25},"end":{"line":23,"column":55}},{"start":{"line":23,"column":59},"end":{"line":23,"column":95}},{"start":{"line":24,"column":17},"end":{"line":24,"column":44}},{"start":{"line":24,"column":48},"end":{"line":24,"column":107}},{"start":{"line":25,"column":17},"end":{"line":25,"column":70}}]},"9":{"line":34,"type":"binary-expr","locations":[{"start":{"line":34,"column":18},"end":{"line":34,"column":22}},{"start":{"line":34,"column":26},"end":{"line":34,"column":53}}]},"10":{"line":36,"type":"if","locations":[{"start":{"line":36,"column":8},"end":{"line":36,"column":8}},{"start":{"line":36,"column":8},"end":{"line":36,"column":8}}]},"11":{"line":42,"type":"if","locations":[{"start":{"line":42,"column":8},"end":{"line":42,"column":8}},{"start":{"line":42,"column":8},"end":{"line":42,"column":8}}]},"12":{"line":46,"type":"if","locations":[{"start":{"line":46,"column":12},"end":{"line":46,"column":12}},{"start":{"line":46,"column":12},"end":{"line":46,"column":12}}]},"13":{"line":60,"type":"if","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":8}},{"start":{"line":60,"column":8},"end":{"line":60,"column":8}}]},"14":{"line":60,"type":"binary-expr","locations":[{"start":{"line":60,"column":12},"end":{"line":60,"column":114}},{"start":{"line":62,"column":16},"end":{"line":62,"column":43}},{"start":{"line":64,"column":16},"end":{"line":64,"column":38}},{"start":{"line":66,"column":16},"end":{"line":66,"column":71}}]},"15":{"line":67,"type":"if","locations":[{"start":{"line":67,"column":12},"end":{"line":67,"column":12}},{"start":{"line":67,"column":12},"end":{"line":67,"column":12}}]},"16":{"line":67,"type":"binary-expr","locations":[{"start":{"line":67,"column":16},"end":{"line":67,"column":83}},{"start":{"line":67,"column":87},"end":{"line":67,"column":138}}]},"17":{"line":73,"type":"if","locations":[{"start":{"line":73,"column":19},"end":{"line":73,"column":19}},{"start":{"line":73,"column":19},"end":{"line":73,"column":19}}]},"18":{"line":73,"type":"binary-expr","locations":[{"start":{"line":73,"column":23},"end":{"line":73,"column":56}},{"start":{"line":73,"column":60},"end":{"line":73,"column":123}}]},"19":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":15},"end":{"line":81,"column":15}},{"start":{"line":81,"column":15},"end":{"line":81,"column":15}}]},"20":{"line":81,"type":"binary-expr","locations":[{"start":{"line":81,"column":19},"end":{"line":81,"column":83}},{"start":{"line":83,"column":20},"end":{"line":83,"column":43}},{"start":{"line":84,"column":20},"end":{"line":84,"column":47}},{"start":{"line":86,"column":20},"end":{"line":86,"column":43}},{"start":{"line":88,"column":20},"end":{"line":88,"column":48}},{"start":{"line":90,"column":20},"end":{"line":90,"column":81}}]},"21":{"line":102,"type":"if","locations":[{"start":{"line":102,"column":15},"end":{"line":102,"column":15}},{"start":{"line":102,"column":15},"end":{"line":102,"column":15}}]},"22":{"line":102,"type":"binary-expr","locations":[{"start":{"line":102,"column":19},"end":{"line":102,"column":86}},{"start":{"line":103,"column":16},"end":{"line":103,"column":32}},{"start":{"line":105,"column":16},"end":{"line":105,"column":44}},{"start":{"line":107,"column":16},"end":{"line":107,"column":44}},{"start":{"line":109,"column":16},"end":{"line":109,"column":58}},{"start":{"line":111,"column":16},"end":{"line":111,"column":39}},{"start":{"line":112,"column":16},"end":{"line":112,"column":71}}]},"23":{"line":133,"type":"if","locations":[{"start":{"line":133,"column":15},"end":{"line":133,"column":15}},{"start":{"line":133,"column":15},"end":{"line":133,"column":15}}]},"24":{"line":133,"type":"binary-expr","locations":[{"start":{"line":133,"column":19},"end":{"line":133,"column":86}},{"start":{"line":134,"column":17},"end":{"line":134,"column":78}},{"start":{"line":135,"column":16},"end":{"line":135,"column":71}}]},"25":{"line":141,"type":"if","locations":[{"start":{"line":141,"column":15},"end":{"line":141,"column":15}},{"start":{"line":141,"column":15},"end":{"line":141,"column":15}}]},"26":{"line":141,"type":"binary-expr","locations":[{"start":{"line":141,"column":19},"end":{"line":141,"column":82}},{"start":{"line":142,"column":17},"end":{"line":142,"column":78}},{"start":{"line":143,"column":16},"end":{"line":143,"column":72}}]},"27":{"line":155,"type":"if","locations":[{"start":{"line":155,"column":15},"end":{"line":155,"column":15}},{"start":{"line":155,"column":15},"end":{"line":155,"column":15}}]},"28":{"line":155,"type":"binary-expr","locations":[{"start":{"line":155,"column":19},"end":{"line":155,"column":86}},{"start":{"line":156,"column":16},"end":{"line":156,"column":75}},{"start":{"line":157,"column":16},"end":{"line":157,"column":44}},{"start":{"line":158,"column":16},"end":{"line":158,"column":39}},{"start":{"line":159,"column":16},"end":{"line":159,"column":44}}]},"29":{"line":173,"type":"if","locations":[{"start":{"line":173,"column":8},"end":{"line":173,"column":8}},{"start":{"line":173,"column":8},"end":{"line":173,"column":8}}]},"30":{"line":179,"type":"if","locations":[{"start":{"line":179,"column":8},"end":{"line":179,"column":8}},{"start":{"line":179,"column":8},"end":{"line":179,"column":8}}]},"31":{"line":179,"type":"binary-expr","locations":[{"start":{"line":179,"column":12},"end":{"line":179,"column":57}},{"start":{"line":179,"column":61},"end":{"line":179,"column":87}},{"start":{"line":179,"column":91},"end":{"line":179,"column":132}}]},"32":{"line":186,"type":"if","locations":[{"start":{"line":186,"column":8},"end":{"line":186,"column":8}},{"start":{"line":186,"column":8},"end":{"line":186,"column":8}}]},"33":{"line":186,"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":75}},{"start":{"line":187,"column":12},"end":{"line":187,"column":47}},{"start":{"line":188,"column":12},"end":{"line":188,"column":53}}]},"34":{"line":192,"type":"if","locations":[{"start":{"line":192,"column":12},"end":{"line":192,"column":12}},{"start":{"line":192,"column":12},"end":{"line":192,"column":12}}]},"35":{"line":194,"type":"if","locations":[{"start":{"line":194,"column":19},"end":{"line":194,"column":19}},{"start":{"line":194,"column":19},"end":{"line":194,"column":19}}]},"36":{"line":194,"type":"binary-expr","locations":[{"start":{"line":194,"column":23},"end":{"line":194,"column":38}},{"start":{"line":194,"column":42},"end":{"line":194,"column":56}}]},"37":{"line":202,"type":"if","locations":[{"start":{"line":202,"column":8},"end":{"line":202,"column":8}},{"start":{"line":202,"column":8},"end":{"line":202,"column":8}}]},"38":{"line":210,"type":"if","locations":[{"start":{"line":210,"column":8},"end":{"line":210,"column":8}},{"start":{"line":210,"column":8},"end":{"line":210,"column":8}}]},"39":{"line":218,"type":"if","locations":[{"start":{"line":218,"column":8},"end":{"line":218,"column":8}},{"start":{"line":218,"column":8},"end":{"line":218,"column":8}}]},"40":{"line":226,"type":"if","locations":[{"start":{"line":226,"column":8},"end":{"line":226,"column":8}},{"start":{"line":226,"column":8},"end":{"line":226,"column":8}}]},"41":{"line":226,"type":"binary-expr","locations":[{"start":{"line":226,"column":12},"end":{"line":226,"column":31}},{"start":{"line":226,"column":35},"end":{"line":226,"column":63}}]},"42":{"line":243,"type":"if","locations":[{"start":{"line":243,"column":8},"end":{"line":243,"column":8}},{"start":{"line":243,"column":8},"end":{"line":243,"column":8}}]},"43":{"line":247,"type":"if","locations":[{"start":{"line":247,"column":8},"end":{"line":247,"column":8}},{"start":{"line":247,"column":8},"end":{"line":247,"column":8}}]},"44":{"line":251,"type":"if","locations":[{"start":{"line":251,"column":8},"end":{"line":251,"column":8}},{"start":{"line":251,"column":8},"end":{"line":251,"column":8}}]},"45":{"line":255,"type":"if","locations":[{"start":{"line":255,"column":8},"end":{"line":255,"column":8}},{"start":{"line":255,"column":8},"end":{"line":255,"column":8}}]},"46":{"line":260,"type":"if","locations":[{"start":{"line":260,"column":16},"end":{"line":260,"column":16}},{"start":{"line":260,"column":16},"end":{"line":260,"column":16}}]},"47":{"line":260,"type":"binary-expr","locations":[{"start":{"line":260,"column":20},"end":{"line":260,"column":51}},{"start":{"line":261,"column":20},"end":{"line":261,"column":66}},{"start":{"line":262,"column":20},"end":{"line":262,"column":65}}]},"48":{"line":276,"type":"if","locations":[{"start":{"line":276,"column":8},"end":{"line":276,"column":8}},{"start":{"line":276,"column":8},"end":{"line":276,"column":8}}]},"49":{"line":281,"type":"if","locations":[{"start":{"line":281,"column":8},"end":{"line":281,"column":8}},{"start":{"line":281,"column":8},"end":{"line":281,"column":8}}]},"50":{"line":288,"type":"if","locations":[{"start":{"line":288,"column":12},"end":{"line":288,"column":12}},{"start":{"line":288,"column":12},"end":{"line":288,"column":12}}]},"51":{"line":306,"type":"if","locations":[{"start":{"line":306,"column":8},"end":{"line":306,"column":8}},{"start":{"line":306,"column":8},"end":{"line":306,"column":8}}]},"52":{"line":311,"type":"if","locations":[{"start":{"line":311,"column":8},"end":{"line":311,"column":8}},{"start":{"line":311,"column":8},"end":{"line":311,"column":8}}]},"53":{"line":320,"type":"if","locations":[{"start":{"line":320,"column":8},"end":{"line":320,"column":8}},{"start":{"line":320,"column":8},"end":{"line":320,"column":8}}]},"54":{"line":331,"type":"if","locations":[{"start":{"line":331,"column":8},"end":{"line":331,"column":8}},{"start":{"line":331,"column":8},"end":{"line":331,"column":8}}]},"55":{"line":383,"type":"if","locations":[{"start":{"line":383,"column":12},"end":{"line":383,"column":12}},{"start":{"line":383,"column":12},"end":{"line":383,"column":12}}]},"56":{"line":390,"type":"if","locations":[{"start":{"line":390,"column":8},"end":{"line":390,"column":8}},{"start":{"line":390,"column":8},"end":{"line":390,"column":8}}]},"57":{"line":392,"type":"if","locations":[{"start":{"line":392,"column":16},"end":{"line":392,"column":16}},{"start":{"line":392,"column":16},"end":{"line":392,"column":16}}]},"58":{"line":408,"type":"if","locations":[{"start":{"line":408,"column":8},"end":{"line":408,"column":8}},{"start":{"line":408,"column":8},"end":{"line":408,"column":8}}]},"59":{"line":409,"type":"if","locations":[{"start":{"line":409,"column":12},"end":{"line":409,"column":12}},{"start":{"line":409,"column":12},"end":{"line":409,"column":12}}]},"60":{"line":413,"type":"if","locations":[{"start":{"line":413,"column":16},"end":{"line":413,"column":16}},{"start":{"line":413,"column":16},"end":{"line":413,"column":16}}]},"61":{"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}}]},"62":{"line":419,"type":"binary-expr","locations":[{"start":{"line":419,"column":16},"end":{"line":419,"column":44}},{"start":{"line":419,"column":48},"end":{"line":419,"column":93}}]},"63":{"line":425,"type":"if","locations":[{"start":{"line":425,"column":12},"end":{"line":425,"column":12}},{"start":{"line":425,"column":12},"end":{"line":425,"column":12}}]},"64":{"line":426,"type":"if","locations":[{"start":{"line":426,"column":16},"end":{"line":426,"column":16}},{"start":{"line":426,"column":16},"end":{"line":426,"column":16}}]},"65":{"line":426,"type":"binary-expr","locations":[{"start":{"line":426,"column":20},"end":{"line":426,"column":63}},{"start":{"line":426,"column":67},"end":{"line":426,"column":117}}]},"66":{"line":434,"type":"if","locations":[{"start":{"line":434,"column":12},"end":{"line":434,"column":12}},{"start":{"line":434,"column":12},"end":{"line":434,"column":12}}]},"67":{"line":434,"type":"binary-expr","locations":[{"start":{"line":434,"column":16},"end":{"line":434,"column":43}},{"start":{"line":434,"column":47},"end":{"line":434,"column":91}}]},"68":{"line":466,"type":"if","locations":[{"start":{"line":466,"column":8},"end":{"line":466,"column":8}},{"start":{"line":466,"column":8},"end":{"line":466,"column":8}}]},"69":{"line":471,"type":"if","locations":[{"start":{"line":471,"column":8},"end":{"line":471,"column":8}},{"start":{"line":471,"column":8},"end":{"line":471,"column":8}}]},"70":{"line":473,"type":"if","locations":[{"start":{"line":473,"column":12},"end":{"line":473,"column":12}},{"start":{"line":473,"column":12},"end":{"line":473,"column":12}}]},"71":{"line":473,"type":"binary-expr","locations":[{"start":{"line":473,"column":16},"end":{"line":473,"column":42}},{"start":{"line":473,"column":46},"end":{"line":473,"column":78}}]},"72":{"line":487,"type":"if","locations":[{"start":{"line":487,"column":12},"end":{"line":487,"column":12}},{"start":{"line":487,"column":12},"end":{"line":487,"column":12}}]},"73":{"line":487,"type":"binary-expr","locations":[{"start":{"line":487,"column":16},"end":{"line":487,"column":34}},{"start":{"line":487,"column":38},"end":{"line":487,"column":67}}]},"74":{"line":502,"type":"if","locations":[{"start":{"line":502,"column":8},"end":{"line":502,"column":8}},{"start":{"line":502,"column":8},"end":{"line":502,"column":8}}]},"75":{"line":504,"type":"if","locations":[{"start":{"line":504,"column":12},"end":{"line":504,"column":12}},{"start":{"line":504,"column":12},"end":{"line":504,"column":12}}]},"76":{"line":509,"type":"if","locations":[{"start":{"line":509,"column":16},"end":{"line":509,"column":16}},{"start":{"line":509,"column":16},"end":{"line":509,"column":16}}]},"77":{"line":525,"type":"if","locations":[{"start":{"line":525,"column":12},"end":{"line":525,"column":12}},{"start":{"line":525,"column":12},"end":{"line":525,"column":12}}]},"78":{"line":534,"type":"if","locations":[{"start":{"line":534,"column":8},"end":{"line":534,"column":8}},{"start":{"line":534,"column":8},"end":{"line":534,"column":8}}]},"79":{"line":534,"type":"binary-expr","locations":[{"start":{"line":534,"column":12},"end":{"line":534,"column":29}},{"start":{"line":534,"column":33},"end":{"line":534,"column":60}}]},"80":{"line":544,"type":"if","locations":[{"start":{"line":544,"column":8},"end":{"line":544,"column":8}},{"start":{"line":544,"column":8},"end":{"line":544,"column":8}}]},"81":{"line":554,"type":"if","locations":[{"start":{"line":554,"column":8},"end":{"line":554,"column":8}},{"start":{"line":554,"column":8},"end":{"line":554,"column":8}}]},"82":{"line":556,"type":"if","locations":[{"start":{"line":556,"column":16},"end":{"line":556,"column":16}},{"start":{"line":556,"column":16},"end":{"line":556,"column":16}}]},"83":{"line":556,"type":"binary-expr","locations":[{"start":{"line":556,"column":20},"end":{"line":556,"column":51}},{"start":{"line":556,"column":55},"end":{"line":556,"column":85}}]},"84":{"line":576,"type":"if","locations":[{"start":{"line":576,"column":8},"end":{"line":576,"column":8}},{"start":{"line":576,"column":8},"end":{"line":576,"column":8}}]},"85":{"line":580,"type":"if","locations":[{"start":{"line":580,"column":8},"end":{"line":580,"column":8}},{"start":{"line":580,"column":8},"end":{"line":580,"column":8}}]},"86":{"line":582,"type":"if","locations":[{"start":{"line":582,"column":12},"end":{"line":582,"column":12}},{"start":{"line":582,"column":12},"end":{"line":582,"column":12}}]},"87":{"line":585,"type":"binary-expr","locations":[{"start":{"line":585,"column":31},"end":{"line":585,"column":41}},{"start":{"line":585,"column":45},"end":{"line":585,"column":54}}]},"88":{"line":589,"type":"if","locations":[{"start":{"line":589,"column":8},"end":{"line":589,"column":8}},{"start":{"line":589,"column":8},"end":{"line":589,"column":8}}]},"89":{"line":591,"type":"if","locations":[{"start":{"line":591,"column":12},"end":{"line":591,"column":12}},{"start":{"line":591,"column":12},"end":{"line":591,"column":12}}]},"90":{"line":594,"type":"binary-expr","locations":[{"start":{"line":594,"column":31},"end":{"line":594,"column":41}},{"start":{"line":594,"column":45},"end":{"line":594,"column":54}}]},"91":{"line":598,"type":"if","locations":[{"start":{"line":598,"column":8},"end":{"line":598,"column":8}},{"start":{"line":598,"column":8},"end":{"line":598,"column":8}}]},"92":{"line":602,"type":"if","locations":[{"start":{"line":602,"column":8},"end":{"line":602,"column":8}},{"start":{"line":602,"column":8},"end":{"line":602,"column":8}}]},"93":{"line":607,"type":"if","locations":[{"start":{"line":607,"column":8},"end":{"line":607,"column":8}},{"start":{"line":607,"column":8},"end":{"line":607,"column":8}}]},"94":{"line":614,"type":"if","locations":[{"start":{"line":614,"column":8},"end":{"line":614,"column":8}},{"start":{"line":614,"column":8},"end":{"line":614,"column":8}}]},"95":{"line":617,"type":"if","locations":[{"start":{"line":617,"column":12},"end":{"line":617,"column":12}},{"start":{"line":617,"column":12},"end":{"line":617,"column":12}}]},"96":{"line":624,"type":"binary-expr","locations":[{"start":{"line":624,"column":27},"end":{"line":624,"column":31}},{"start":{"line":624,"column":35},"end":{"line":624,"column":45}}]},"97":{"line":633,"type":"if","locations":[{"start":{"line":633,"column":8},"end":{"line":633,"column":8}},{"start":{"line":633,"column":8},"end":{"line":633,"column":8}}]},"98":{"line":640,"type":"if","locations":[{"start":{"line":640,"column":16},"end":{"line":640,"column":16}},{"start":{"line":640,"column":16},"end":{"line":640,"column":16}}]},"99":{"line":640,"type":"binary-expr","locations":[{"start":{"line":640,"column":20},"end":{"line":640,"column":25}},{"start":{"line":640,"column":29},"end":{"line":640,"column":39}}]},"100":{"line":653,"type":"if","locations":[{"start":{"line":653,"column":8},"end":{"line":653,"column":8}},{"start":{"line":653,"column":8},"end":{"line":653,"column":8}}]},"101":{"line":657,"type":"if","locations":[{"start":{"line":657,"column":16},"end":{"line":657,"column":16}},{"start":{"line":657,"column":16},"end":{"line":657,"column":16}}]},"102":{"line":659,"type":"if","locations":[{"start":{"line":659,"column":20},"end":{"line":659,"column":20}},{"start":{"line":659,"column":20},"end":{"line":659,"column":20}}]},"103":{"line":681,"type":"if","locations":[{"start":{"line":681,"column":12},"end":{"line":681,"column":12}},{"start":{"line":681,"column":12},"end":{"line":681,"column":12}}]},"104":{"line":689,"type":"if","locations":[{"start":{"line":689,"column":12},"end":{"line":689,"column":12}},{"start":{"line":689,"column":12},"end":{"line":689,"column":12}}]},"105":{"line":699,"type":"if","locations":[{"start":{"line":699,"column":12},"end":{"line":699,"column":12}},{"start":{"line":699,"column":12},"end":{"line":699,"column":12}}]},"106":{"line":711,"type":"if","locations":[{"start":{"line":711,"column":12},"end":{"line":711,"column":12}},{"start":{"line":711,"column":12},"end":{"line":711,"column":12}}]},"107":{"line":718,"type":"if","locations":[{"start":{"line":718,"column":16},"end":{"line":718,"column":16}},{"start":{"line":718,"column":16},"end":{"line":718,"column":16}}]},"108":{"line":727,"type":"if","locations":[{"start":{"line":727,"column":16},"end":{"line":727,"column":16}},{"start":{"line":727,"column":16},"end":{"line":727,"column":16}}]},"109":{"line":742,"type":"if","locations":[{"start":{"line":742,"column":16},"end":{"line":742,"column":16}},{"start":{"line":742,"column":16},"end":{"line":742,"column":16}}]},"110":{"line":786,"type":"if","locations":[{"start":{"line":786,"column":16},"end":{"line":786,"column":16}},{"start":{"line":786,"column":16},"end":{"line":786,"column":16}}]},"111":{"line":799,"type":"cond-expr","locations":[{"start":{"line":799,"column":59},"end":{"line":799,"column":78}},{"start":{"line":799,"column":81},"end":{"line":799,"column":95}}]},"112":{"line":809,"type":"if","locations":[{"start":{"line":809,"column":12},"end":{"line":809,"column":12}},{"start":{"line":809,"column":12},"end":{"line":809,"column":12}}]},"113":{"line":809,"type":"binary-expr","locations":[{"start":{"line":809,"column":16},"end":{"line":809,"column":31}},{"start":{"line":809,"column":35},"end":{"line":809,"column":57}}]},"114":{"line":811,"type":"if","locations":[{"start":{"line":811,"column":20},"end":{"line":811,"column":20}},{"start":{"line":811,"column":20},"end":{"line":811,"column":20}}]},"115":{"line":827,"type":"if","locations":[{"start":{"line":827,"column":12},"end":{"line":827,"column":12}},{"start":{"line":827,"column":12},"end":{"line":827,"column":12}}]},"116":{"line":831,"type":"switch","locations":[{"start":{"line":832,"column":16},"end":{"line":835,"column":26}},{"start":{"line":836,"column":16},"end":{"line":838,"column":26}},{"start":{"line":839,"column":16},"end":{"line":841,"column":26}},{"start":{"line":842,"column":16},"end":{"line":844,"column":26}},{"start":{"line":845,"column":16},"end":{"line":847,"column":26}},{"start":{"line":848,"column":16},"end":{"line":850,"column":26}},{"start":{"line":851,"column":16},"end":{"line":853,"column":26}},{"start":{"line":854,"column":16},"end":{"line":856,"column":26}},{"start":{"line":857,"column":16},"end":{"line":859,"column":26}},{"start":{"line":860,"column":16},"end":{"line":870,"column":21}}]},"117":{"line":863,"type":"if","locations":[{"start":{"line":863,"column":20},"end":{"line":863,"column":20}},{"start":{"line":863,"column":20},"end":{"line":863,"column":20}}]},"118":{"line":864,"type":"if","locations":[{"start":{"line":864,"column":24},"end":{"line":864,"column":24}},{"start":{"line":864,"column":24},"end":{"line":864,"column":24}}]},"119":{"line":873,"type":"if","locations":[{"start":{"line":873,"column":12},"end":{"line":873,"column":12}},{"start":{"line":873,"column":12},"end":{"line":873,"column":12}}]},"120":{"line":890,"type":"if","locations":[{"start":{"line":890,"column":12},"end":{"line":890,"column":12}},{"start":{"line":890,"column":12},"end":{"line":890,"column":12}}]},"121":{"line":905,"type":"if","locations":[{"start":{"line":905,"column":12},"end":{"line":905,"column":12}},{"start":{"line":905,"column":12},"end":{"line":905,"column":12}}]},"122":{"line":928,"type":"if","locations":[{"start":{"line":928,"column":12},"end":{"line":928,"column":12}},{"start":{"line":928,"column":12},"end":{"line":928,"column":12}}]},"123":{"line":941,"type":"if","locations":[{"start":{"line":941,"column":12},"end":{"line":941,"column":12}},{"start":{"line":941,"column":12},"end":{"line":941,"column":12}}]},"124":{"line":941,"type":"binary-expr","locations":[{"start":{"line":941,"column":16},"end":{"line":941,"column":48}},{"start":{"line":941,"column":52},"end":{"line":941,"column":82}}]},"125":{"line":950,"type":"if","locations":[{"start":{"line":950,"column":12},"end":{"line":950,"column":12}},{"start":{"line":950,"column":12},"end":{"line":950,"column":12}}]},"126":{"line":959,"type":"if","locations":[{"start":{"line":959,"column":12},"end":{"line":959,"column":12}},{"start":{"line":959,"column":12},"end":{"line":959,"column":12}}]},"127":{"line":973,"type":"if","locations":[{"start":{"line":973,"column":12},"end":{"line":973,"column":12}},{"start":{"line":973,"column":12},"end":{"line":973,"column":12}}]},"128":{"line":982,"type":"if","locations":[{"start":{"line":982,"column":16},"end":{"line":982,"column":16}},{"start":{"line":982,"column":16},"end":{"line":982,"column":16}}]},"129":{"line":982,"type":"binary-expr","locations":[{"start":{"line":982,"column":20},"end":{"line":982,"column":28}},{"start":{"line":982,"column":32},"end":{"line":982,"column":75}}]},"130":{"line":1000,"type":"if","locations":[{"start":{"line":1000,"column":12},"end":{"line":1000,"column":12}},{"start":{"line":1000,"column":12},"end":{"line":1000,"column":12}}]},"131":{"line":1004,"type":"if","locations":[{"start":{"line":1004,"column":12},"end":{"line":1004,"column":12}},{"start":{"line":1004,"column":12},"end":{"line":1004,"column":12}}]},"132":{"line":1004,"type":"binary-expr","locations":[{"start":{"line":1004,"column":16},"end":{"line":1004,"column":39}},{"start":{"line":1004,"column":43},"end":{"line":1004,"column":69}}]},"133":{"line":1018,"type":"if","locations":[{"start":{"line":1018,"column":12},"end":{"line":1018,"column":12}},{"start":{"line":1018,"column":12},"end":{"line":1018,"column":12}}]},"134":{"line":1022,"type":"binary-expr","locations":[{"start":{"line":1022,"column":48},"end":{"line":1022,"column":83}},{"start":{"line":1022,"column":87},"end":{"line":1022,"column":88}}]},"135":{"line":1036,"type":"if","locations":[{"start":{"line":1036,"column":12},"end":{"line":1036,"column":12}},{"start":{"line":1036,"column":12},"end":{"line":1036,"column":12}}]},"136":{"line":1043,"type":"if","locations":[{"start":{"line":1043,"column":16},"end":{"line":1043,"column":16}},{"start":{"line":1043,"column":16},"end":{"line":1043,"column":16}}]},"137":{"line":1046,"type":"binary-expr","locations":[{"start":{"line":1046,"column":28},"end":{"line":1046,"column":36}},{"start":{"line":1046,"column":40},"end":{"line":1046,"column":50}}]},"138":{"line":1047,"type":"if","locations":[{"start":{"line":1047,"column":16},"end":{"line":1047,"column":16}},{"start":{"line":1047,"column":16},"end":{"line":1047,"column":16}}]},"139":{"line":1047,"type":"binary-expr","locations":[{"start":{"line":1047,"column":20},"end":{"line":1047,"column":29}},{"start":{"line":1047,"column":33},"end":{"line":1047,"column":60}}]},"140":{"line":1049,"type":"if","locations":[{"start":{"line":1049,"column":20},"end":{"line":1049,"column":20}},{"start":{"line":1049,"column":20},"end":{"line":1049,"column":20}}]},"141":{"line":1063,"type":"if","locations":[{"start":{"line":1063,"column":24},"end":{"line":1063,"column":24}},{"start":{"line":1063,"column":24},"end":{"line":1063,"column":24}}]},"142":{"line":1063,"type":"binary-expr","locations":[{"start":{"line":1063,"column":28},"end":{"line":1063,"column":65}},{"start":{"line":1064,"column":28},"end":{"line":1064,"column":67}},{"start":{"line":1065,"column":28},"end":{"line":1065,"column":55}},{"start":{"line":1066,"column":28},"end":{"line":1066,"column":90}}]},"143":{"line":1077,"type":"if","locations":[{"start":{"line":1077,"column":24},"end":{"line":1077,"column":24}},{"start":{"line":1077,"column":24},"end":{"line":1077,"column":24}}]},"144":{"line":1077,"type":"binary-expr","locations":[{"start":{"line":1077,"column":28},"end":{"line":1077,"column":66}},{"start":{"line":1077,"column":70},"end":{"line":1077,"column":118}},{"start":{"line":1077,"column":122},"end":{"line":1077,"column":179}}]},"145":{"line":1078,"type":"binary-expr","locations":[{"start":{"line":1078,"column":49},"end":{"line":1078,"column":76}},{"start":{"line":1078,"column":80},"end":{"line":1078,"column":93}}]},"146":{"line":1089,"type":"if","locations":[{"start":{"line":1089,"column":28},"end":{"line":1089,"column":28}},{"start":{"line":1089,"column":28},"end":{"line":1089,"column":28}}]},"147":{"line":1105,"type":"cond-expr","locations":[{"start":{"line":1106,"column":36},"end":{"line":1106,"column":76}},{"start":{"line":1106,"column":79},"end":{"line":1106,"column":120}}]},"148":{"line":1132,"type":"if","locations":[{"start":{"line":1132,"column":28},"end":{"line":1132,"column":28}},{"start":{"line":1132,"column":28},"end":{"line":1132,"column":28}}]},"149":{"line":1142,"type":"binary-expr","locations":[{"start":{"line":1142,"column":59},"end":{"line":1142,"column":102}},{"start":{"line":1142,"column":106},"end":{"line":1142,"column":110}}]},"150":{"line":1154,"type":"if","locations":[{"start":{"line":1154,"column":24},"end":{"line":1154,"column":24}},{"start":{"line":1154,"column":24},"end":{"line":1154,"column":24}}]},"151":{"line":1154,"type":"binary-expr","locations":[{"start":{"line":1154,"column":28},"end":{"line":1154,"column":52}},{"start":{"line":1154,"column":56},"end":{"line":1154,"column":80}}]},"152":{"line":1160,"type":"if","locations":[{"start":{"line":1160,"column":24},"end":{"line":1160,"column":24}},{"start":{"line":1160,"column":24},"end":{"line":1160,"column":24}}]},"153":{"line":1166,"type":"if","locations":[{"start":{"line":1166,"column":16},"end":{"line":1166,"column":16}},{"start":{"line":1166,"column":16},"end":{"line":1166,"column":16}}]},"154":{"line":1166,"type":"binary-expr","locations":[{"start":{"line":1166,"column":20},"end":{"line":1166,"column":44}},{"start":{"line":1166,"column":48},"end":{"line":1166,"column":72}},{"start":{"line":1166,"column":76},"end":{"line":1166,"column":92}}]},"155":{"line":1189,"type":"binary-expr","locations":[{"start":{"line":1189,"column":20},"end":{"line":1189,"column":25}},{"start":{"line":1189,"column":29},"end":{"line":1189,"column":30}}]},"156":{"line":1191,"type":"if","locations":[{"start":{"line":1191,"column":12},"end":{"line":1191,"column":12}},{"start":{"line":1191,"column":12},"end":{"line":1191,"column":12}}]},"157":{"line":1199,"type":"binary-expr","locations":[{"start":{"line":1199,"column":20},"end":{"line":1199,"column":25}},{"start":{"line":1199,"column":29},"end":{"line":1199,"column":30}}]},"158":{"line":1201,"type":"if","locations":[{"start":{"line":1201,"column":12},"end":{"line":1201,"column":12}},{"start":{"line":1201,"column":12},"end":{"line":1201,"column":12}}]},"159":{"line":1208,"type":"binary-expr","locations":[{"start":{"line":1208,"column":23},"end":{"line":1208,"column":31}},{"start":{"line":1208,"column":35},"end":{"line":1208,"column":105}}]},"160":{"line":1217,"type":"if","locations":[{"start":{"line":1217,"column":12},"end":{"line":1217,"column":12}},{"start":{"line":1217,"column":12},"end":{"line":1217,"column":12}}]},"161":{"line":1219,"type":"if","locations":[{"start":{"line":1219,"column":16},"end":{"line":1219,"column":16}},{"start":{"line":1219,"column":16},"end":{"line":1219,"column":16}}]},"162":{"line":1235,"type":"if","locations":[{"start":{"line":1235,"column":12},"end":{"line":1235,"column":12}},{"start":{"line":1235,"column":12},"end":{"line":1235,"column":12}}]},"163":{"line":1256,"type":"if","locations":[{"start":{"line":1256,"column":20},"end":{"line":1256,"column":20}},{"start":{"line":1256,"column":20},"end":{"line":1256,"column":20}}]},"164":{"line":1256,"type":"binary-expr","locations":[{"start":{"line":1256,"column":24},"end":{"line":1256,"column":68}},{"start":{"line":1256,"column":72},"end":{"line":1256,"column":85}}]},"165":{"line":1265,"type":"if","locations":[{"start":{"line":1265,"column":16},"end":{"line":1265,"column":16}},{"start":{"line":1265,"column":16},"end":{"line":1265,"column":16}}]},"166":{"line":1267,"type":"if","locations":[{"start":{"line":1267,"column":20},"end":{"line":1267,"column":20}},{"start":{"line":1267,"column":20},"end":{"line":1267,"column":20}}]},"167":{"line":1281,"type":"binary-expr","locations":[{"start":{"line":1281,"column":18},"end":{"line":1281,"column":25}},{"start":{"line":1281,"column":29},"end":{"line":1281,"column":50}},{"start":{"line":1281,"column":55},"end":{"line":1281,"column":88}},{"start":{"line":1281,"column":92},"end":{"line":1281,"column":126}}]},"168":{"line":1282,"type":"if","locations":[{"start":{"line":1282,"column":8},"end":{"line":1282,"column":8}},{"start":{"line":1282,"column":8},"end":{"line":1282,"column":8}}]},"169":{"line":1282,"type":"binary-expr","locations":[{"start":{"line":1282,"column":12},"end":{"line":1282,"column":15}},{"start":{"line":1282,"column":19},"end":{"line":1282,"column":37}},{"start":{"line":1282,"column":41},"end":{"line":1282,"column":66}}]}}},"src/js/defaults/options.js":{"path":"src/js/defaults/options.js","s":{"1":1,"2":1},"b":{},"f":{"1":1},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":13}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":20,"column":5}},"2":{"start":{"line":4,"column":4},"end":{"line":19,"column":6}}},"branchMap":{}},"assests/js/lib/file-upload/jquery.ui.widget.js":{"path":"assests/js/lib/file-upload/jquery.ui.widget.js","s":{"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":1,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":1,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0},"b":{"1":[0,1],"2":[1,0],"3":[0,1],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0,0],"52":[0,0],"53":[0,0],"54":[0,0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0,0],"74":[0,0],"75":[0,0],"76":[0,0]},"f":{"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0},"fnMap":{"1":{"name":"(anonymous_1)","line":6,"loc":{"start":{"line":6,"column":1},"end":{"line":6,"column":21}}},"2":{"name":"(anonymous_2)","line":22,"loc":{"start":{"line":22,"column":2},"end":{"line":22,"column":16}}},"3":{"name":"(anonymous_3)","line":38,"loc":{"start":{"line":38,"column":15},"end":{"line":38,"column":32}}},"4":{"name":"(anonymous_4)","line":39,"loc":{"start":{"line":39,"column":8},"end":{"line":39,"column":26}}},"5":{"name":"(anonymous_5)","line":57,"loc":{"start":{"line":57,"column":11},"end":{"line":57,"column":45}}},"6":{"name":"(anonymous_6)","line":73,"loc":{"start":{"line":73,"column":43},"end":{"line":73,"column":60}}},"7":{"name":"(anonymous_7)","line":79,"loc":{"start":{"line":79,"column":40},"end":{"line":79,"column":69}}},"8":{"name":"(anonymous_8)","line":107,"loc":{"start":{"line":107,"column":20},"end":{"line":107,"column":44}}},"9":{"name":"(anonymous_9)","line":112,"loc":{"start":{"line":112,"column":30},"end":{"line":112,"column":41}}},"10":{"name":"(anonymous_10)","line":113,"loc":{"start":{"line":113,"column":16},"end":{"line":113,"column":27}}},"11":{"name":"(anonymous_11)","line":116,"loc":{"start":{"line":116,"column":18},"end":{"line":116,"column":35}}},"12":{"name":"(anonymous_12)","line":119,"loc":{"start":{"line":119,"column":10},"end":{"line":119,"column":21}}},"13":{"name":"(anonymous_13)","line":153,"loc":{"start":{"line":153,"column":50},"end":{"line":153,"column":71}}},"14":{"name":"(anonymous_14)","line":172,"loc":{"start":{"line":172,"column":18},"end":{"line":172,"column":37}}},"15":{"name":"(anonymous_15)","line":198,"loc":{"start":{"line":198,"column":18},"end":{"line":198,"column":43}}},"16":{"name":"(anonymous_16)","line":200,"loc":{"start":{"line":200,"column":16},"end":{"line":200,"column":36}}},"17":{"name":"(anonymous_17)","line":206,"loc":{"start":{"line":206,"column":13},"end":{"line":206,"column":24}}},"18":{"name":"(anonymous_18)","line":235,"loc":{"start":{"line":235,"column":13},"end":{"line":235,"column":24}}},"19":{"name":"(anonymous_19)","line":252,"loc":{"start":{"line":252,"column":11},"end":{"line":252,"column":46}}},"20":{"name":"(anonymous_20)","line":265,"loc":{"start":{"line":265,"column":16},"end":{"line":265,"column":45}}},"21":{"name":"(anonymous_21)","line":278,"loc":{"start":{"line":278,"column":12},"end":{"line":278,"column":30}}},"22":{"name":"(anonymous_22)","line":306,"loc":{"start":{"line":306,"column":10},"end":{"line":306,"column":21}}},"23":{"name":"(anonymous_23)","line":330,"loc":{"start":{"line":330,"column":9},"end":{"line":330,"column":20}}},"24":{"name":"(anonymous_24)","line":334,"loc":{"start":{"line":334,"column":9},"end":{"line":334,"column":32}}},"25":{"name":"(anonymous_25)","line":373,"loc":{"start":{"line":373,"column":14},"end":{"line":373,"column":34}}},"26":{"name":"(anonymous_26)","line":382,"loc":{"start":{"line":382,"column":13},"end":{"line":382,"column":36}}},"27":{"name":"(anonymous_27)","line":399,"loc":{"start":{"line":399,"column":9},"end":{"line":399,"column":20}}},"28":{"name":"(anonymous_28)","line":402,"loc":{"start":{"line":402,"column":10},"end":{"line":402,"column":21}}},"29":{"name":"(anonymous_29)","line":406,"loc":{"start":{"line":406,"column":6},"end":{"line":406,"column":59}}},"30":{"name":"(anonymous_30)","line":427,"loc":{"start":{"line":427,"column":20},"end":{"line":427,"column":47}}},"31":{"name":"handlerProxy","line":428,"loc":{"start":{"line":428,"column":3},"end":{"line":428,"column":27}}},"32":{"name":"(anonymous_32)","line":458,"loc":{"start":{"line":458,"column":7},"end":{"line":458,"column":38}}},"33":{"name":"(anonymous_33)","line":469,"loc":{"start":{"line":469,"column":9},"end":{"line":469,"column":36}}},"34":{"name":"handlerProxy","line":470,"loc":{"start":{"line":470,"column":2},"end":{"line":470,"column":26}}},"35":{"name":"(anonymous_35)","line":478,"loc":{"start":{"line":478,"column":13},"end":{"line":478,"column":33}}},"36":{"name":"(anonymous_36)","line":481,"loc":{"start":{"line":481,"column":15},"end":{"line":481,"column":33}}},"37":{"name":"(anonymous_37)","line":484,"loc":{"start":{"line":484,"column":15},"end":{"line":484,"column":33}}},"38":{"name":"(anonymous_38)","line":490,"loc":{"start":{"line":490,"column":13},"end":{"line":490,"column":33}}},"39":{"name":"(anonymous_39)","line":493,"loc":{"start":{"line":493,"column":12},"end":{"line":493,"column":30}}},"40":{"name":"(anonymous_40)","line":496,"loc":{"start":{"line":496,"column":13},"end":{"line":496,"column":31}}},"41":{"name":"(anonymous_41)","line":502,"loc":{"start":{"line":502,"column":11},"end":{"line":502,"column":41}}},"42":{"name":"(anonymous_42)","line":532,"loc":{"start":{"line":532,"column":45},"end":{"line":532,"column":79}}},"43":{"name":"(anonymous_43)","line":533,"loc":{"start":{"line":533,"column":38},"end":{"line":533,"column":77}}},"44":{"name":"(anonymous_44)","line":557,"loc":{"start":{"line":557,"column":17},"end":{"line":557,"column":34}}}},"statementMap":{"1":{"start":{"line":6,"column":0},"end":{"line":572,"column":4}},"2":{"start":{"line":7,"column":1},"end":{"line":21,"column":2}},"3":{"start":{"line":10,"column":2},"end":{"line":10,"column":33}},"4":{"start":{"line":12,"column":8},"end":{"line":21,"column":2}},"5":{"start":{"line":15,"column":2},"end":{"line":15,"column":33}},"6":{"start":{"line":20,"column":2},"end":{"line":20,"column":20}},"7":{"start":{"line":35,"column":0},"end":{"line":36,"column":38}},"8":{"start":{"line":38,"column":0},"end":{"line":55,"column":18}},"9":{"start":{"line":39,"column":1},"end":{"line":54,"column":3}},"10":{"start":{"line":40,"column":2},"end":{"line":40,"column":22}},"11":{"start":{"line":41,"column":2},"end":{"line":52,"column":3}},"12":{"start":{"line":42,"column":3},"end":{"line":51,"column":19}},"13":{"start":{"line":45,"column":4},"end":{"line":45,"column":39}},"14":{"start":{"line":46,"column":4},"end":{"line":48,"column":5}},"15":{"start":{"line":47,"column":5},"end":{"line":47,"column":42}},"16":{"start":{"line":53,"column":2},"end":{"line":53,"column":16}},"17":{"start":{"line":57,"column":0},"end":{"line":170,"column":2}},"18":{"start":{"line":58,"column":1},"end":{"line":62,"column":37}},"19":{"start":{"line":64,"column":1},"end":{"line":64,"column":31}},"20":{"start":{"line":65,"column":1},"end":{"line":65,"column":35}},"21":{"start":{"line":67,"column":1},"end":{"line":70,"column":2}},"22":{"start":{"line":68,"column":2},"end":{"line":68,"column":19}},"23":{"start":{"line":69,"column":2},"end":{"line":69,"column":18}},"24":{"start":{"line":73,"column":1},"end":{"line":75,"column":3}},"25":{"start":{"line":74,"column":2},"end":{"line":74,"column":36}},"26":{"start":{"line":77,"column":1},"end":{"line":77,"column":39}},"27":{"start":{"line":78,"column":1},"end":{"line":78,"column":46}},"28":{"start":{"line":79,"column":1},"end":{"line":90,"column":3}},"29":{"start":{"line":81,"column":2},"end":{"line":83,"column":3}},"30":{"start":{"line":82,"column":3},"end":{"line":82,"column":46}},"31":{"start":{"line":87,"column":2},"end":{"line":89,"column":3}},"32":{"start":{"line":88,"column":3},"end":{"line":88,"column":42}},"33":{"start":{"line":92,"column":1},"end":{"line":100,"column":4}},"34":{"start":{"line":102,"column":1},"end":{"line":102,"column":28}},"35":{"start":{"line":106,"column":1},"end":{"line":106,"column":70}},"36":{"start":{"line":107,"column":1},"end":{"line":135,"column":4}},"37":{"start":{"line":108,"column":2},"end":{"line":111,"column":3}},"38":{"start":{"line":109,"column":3},"end":{"line":109,"column":36}},"39":{"start":{"line":110,"column":3},"end":{"line":110,"column":10}},"40":{"start":{"line":112,"column":2},"end":{"line":134,"column":7}},"41":{"start":{"line":113,"column":3},"end":{"line":118,"column":6}},"42":{"start":{"line":114,"column":5},"end":{"line":114,"column":60}},"43":{"start":{"line":117,"column":5},"end":{"line":117,"column":55}},"44":{"start":{"line":119,"column":3},"end":{"line":133,"column":5}},"45":{"start":{"line":120,"column":4},"end":{"line":122,"column":17}},"46":{"start":{"line":124,"column":4},"end":{"line":124,"column":25}},"47":{"start":{"line":125,"column":4},"end":{"line":125,"column":35}},"48":{"start":{"line":127,"column":4},"end":{"line":127,"column":49}},"49":{"start":{"line":129,"column":4},"end":{"line":129,"column":26}},"50":{"start":{"line":130,"column":4},"end":{"line":130,"column":36}},"51":{"start":{"line":132,"column":4},"end":{"line":132,"column":23}},"52":{"start":{"line":136,"column":1},"end":{"line":146,"column":4}},"53":{"start":{"line":152,"column":1},"end":{"line":165,"column":2}},"54":{"start":{"line":153,"column":2},"end":{"line":159,"column":5}},"55":{"start":{"line":154,"column":3},"end":{"line":154,"column":40}},"56":{"start":{"line":158,"column":3},"end":{"line":158,"column":101}},"57":{"start":{"line":162,"column":2},"end":{"line":162,"column":48}},"58":{"start":{"line":164,"column":2},"end":{"line":164,"column":46}},"59":{"start":{"line":167,"column":1},"end":{"line":167,"column":38}},"60":{"start":{"line":169,"column":1},"end":{"line":169,"column":20}},"61":{"start":{"line":172,"column":0},"end":{"line":196,"column":2}},"62":{"start":{"line":173,"column":1},"end":{"line":177,"column":8}},"63":{"start":{"line":178,"column":1},"end":{"line":194,"column":2}},"64":{"start":{"line":179,"column":2},"end":{"line":193,"column":3}},"65":{"start":{"line":180,"column":3},"end":{"line":180,"column":38}},"66":{"start":{"line":181,"column":3},"end":{"line":192,"column":4}},"67":{"start":{"line":183,"column":4},"end":{"line":191,"column":5}},"68":{"start":{"line":184,"column":5},"end":{"line":187,"column":35}},"69":{"start":{"line":190,"column":5},"end":{"line":190,"column":27}},"70":{"start":{"line":195,"column":1},"end":{"line":195,"column":15}},"71":{"start":{"line":198,"column":0},"end":{"line":250,"column":2}},"72":{"start":{"line":199,"column":1},"end":{"line":199,"column":56}},"73":{"start":{"line":200,"column":1},"end":{"line":249,"column":3}},"74":{"start":{"line":201,"column":2},"end":{"line":203,"column":22}},"75":{"start":{"line":205,"column":2},"end":{"line":246,"column":3}},"76":{"start":{"line":206,"column":3},"end":{"line":227,"column":6}},"77":{"start":{"line":207,"column":4},"end":{"line":208,"column":41}},"78":{"start":{"line":209,"column":4},"end":{"line":212,"column":5}},"79":{"start":{"line":210,"column":5},"end":{"line":210,"column":28}},"80":{"start":{"line":211,"column":5},"end":{"line":211,"column":18}},"81":{"start":{"line":213,"column":4},"end":{"line":216,"column":5}},"82":{"start":{"line":214,"column":5},"end":{"line":215,"column":53}},"83":{"start":{"line":217,"column":4},"end":{"line":219,"column":5}},"84":{"start":{"line":218,"column":5},"end":{"line":218,"column":91}},"85":{"start":{"line":220,"column":4},"end":{"line":220,"column":62}},"86":{"start":{"line":221,"column":4},"end":{"line":226,"column":5}},"87":{"start":{"line":222,"column":5},"end":{"line":224,"column":18}},"88":{"start":{"line":225,"column":5},"end":{"line":225,"column":18}},"89":{"start":{"line":231,"column":3},"end":{"line":233,"column":4}},"90":{"start":{"line":232,"column":4},"end":{"line":232,"column":70}},"91":{"start":{"line":235,"column":3},"end":{"line":245,"column":6}},"92":{"start":{"line":236,"column":4},"end":{"line":236,"column":44}},"93":{"start":{"line":237,"column":4},"end":{"line":244,"column":5}},"94":{"start":{"line":238,"column":5},"end":{"line":238,"column":38}},"95":{"start":{"line":239,"column":5},"end":{"line":241,"column":6}},"96":{"start":{"line":240,"column":6},"end":{"line":240,"column":23}},"97":{"start":{"line":243,"column":5},"end":{"line":243,"column":59}},"98":{"start":{"line":248,"column":2},"end":{"line":248,"column":21}},"99":{"start":{"line":252,"column":0},"end":{"line":252,"column":49}},"100":{"start":{"line":253,"column":0},"end":{"line":253,"column":33}},"101":{"start":{"line":255,"column":0},"end":{"line":530,"column":2}},"102":{"start":{"line":266,"column":2},"end":{"line":266,"column":61}},"103":{"start":{"line":267,"column":2},"end":{"line":267,"column":30}},"104":{"start":{"line":268,"column":2},"end":{"line":268,"column":28}},"105":{"start":{"line":269,"column":2},"end":{"line":269,"column":58}},"106":{"start":{"line":271,"column":2},"end":{"line":271,"column":22}},"107":{"start":{"line":272,"column":2},"end":{"line":272,"column":23}},"108":{"start":{"line":273,"column":2},"end":{"line":273,"column":23}},"109":{"start":{"line":275,"column":2},"end":{"line":290,"column":3}},"110":{"start":{"line":276,"column":3},"end":{"line":276,"column":48}},"111":{"start":{"line":277,"column":3},"end":{"line":283,"column":6}},"112":{"start":{"line":279,"column":5},"end":{"line":281,"column":6}},"113":{"start":{"line":280,"column":6},"end":{"line":280,"column":21}},"114":{"start":{"line":284,"column":3},"end":{"line":288,"column":34}},"115":{"start":{"line":289,"column":3},"end":{"line":289,"column":84}},"116":{"start":{"line":292,"column":2},"end":{"line":295,"column":13}},"117":{"start":{"line":297,"column":2},"end":{"line":297,"column":17}},"118":{"start":{"line":298,"column":2},"end":{"line":298,"column":62}},"119":{"start":{"line":299,"column":2},"end":{"line":299,"column":15}},"120":{"start":{"line":307,"column":2},"end":{"line":307,"column":18}},"121":{"start":{"line":310,"column":2},"end":{"line":315,"column":53}},"122":{"start":{"line":316,"column":2},"end":{"line":321,"column":26}},"123":{"start":{"line":324,"column":2},"end":{"line":324,"column":46}},"124":{"start":{"line":325,"column":2},"end":{"line":325,"column":49}},"125":{"start":{"line":326,"column":2},"end":{"line":326,"column":49}},"126":{"start":{"line":331,"column":2},"end":{"line":331,"column":22}},"127":{"start":{"line":335,"column":2},"end":{"line":338,"column":5}},"128":{"start":{"line":340,"column":2},"end":{"line":343,"column":3}},"129":{"start":{"line":342,"column":3},"end":{"line":342,"column":46}},"130":{"start":{"line":345,"column":2},"end":{"line":367,"column":3}},"131":{"start":{"line":347,"column":3},"end":{"line":347,"column":16}},"132":{"start":{"line":348,"column":3},"end":{"line":348,"column":28}},"133":{"start":{"line":349,"column":3},"end":{"line":349,"column":23}},"134":{"start":{"line":350,"column":3},"end":{"line":366,"column":4}},"135":{"start":{"line":351,"column":4},"end":{"line":351,"column":76}},"136":{"start":{"line":352,"column":4},"end":{"line":355,"column":5}},"137":{"start":{"line":353,"column":5},"end":{"line":353,"column":61}},"138":{"start":{"line":354,"column":5},"end":{"line":354,"column":41}},"139":{"start":{"line":356,"column":4},"end":{"line":356,"column":22}},"140":{"start":{"line":357,"column":4},"end":{"line":359,"column":5}},"141":{"start":{"line":358,"column":5},"end":{"line":358,"column":69}},"142":{"start":{"line":360,"column":4},"end":{"line":360,"column":29}},"143":{"start":{"line":362,"column":4},"end":{"line":364,"column":5}},"144":{"start":{"line":363,"column":5},"end":{"line":363,"column":75}},"145":{"start":{"line":365,"column":4},"end":{"line":365,"column":27}},"146":{"start":{"line":369,"column":2},"end":{"line":369,"column":30}},"147":{"start":{"line":371,"column":2},"end":{"line":371,"column":14}},"148":{"start":{"line":374,"column":2},"end":{"line":374,"column":10}},"149":{"start":{"line":376,"column":2},"end":{"line":378,"column":3}},"150":{"start":{"line":377,"column":3},"end":{"line":377,"column":42}},"151":{"start":{"line":380,"column":2},"end":{"line":380,"column":14}},"152":{"start":{"line":383,"column":2},"end":{"line":383,"column":30}},"153":{"start":{"line":385,"column":2},"end":{"line":394,"column":3}},"154":{"start":{"line":386,"column":3},"end":{"line":387,"column":63}},"155":{"start":{"line":390,"column":3},"end":{"line":393,"column":4}},"156":{"start":{"line":391,"column":4},"end":{"line":391,"column":51}},"157":{"start":{"line":392,"column":4},"end":{"line":392,"column":51}},"158":{"start":{"line":396,"column":2},"end":{"line":396,"column":14}},"159":{"start":{"line":400,"column":2},"end":{"line":400,"column":47}},"160":{"start":{"line":403,"column":2},"end":{"line":403,"column":46}},"161":{"start":{"line":407,"column":2},"end":{"line":408,"column":19}},"162":{"start":{"line":411,"column":2},"end":{"line":415,"column":3}},"163":{"start":{"line":412,"column":3},"end":{"line":412,"column":22}},"164":{"start":{"line":413,"column":3},"end":{"line":413,"column":35}},"165":{"start":{"line":414,"column":3},"end":{"line":414,"column":33}},"166":{"start":{"line":418,"column":2},"end":{"line":425,"column":3}},"167":{"start":{"line":419,"column":3},"end":{"line":419,"column":22}},"168":{"start":{"line":420,"column":3},"end":{"line":420,"column":26}},"169":{"start":{"line":421,"column":3},"end":{"line":421,"column":35}},"170":{"start":{"line":423,"column":3},"end":{"line":423,"column":44}},"171":{"start":{"line":424,"column":3},"end":{"line":424,"column":48}},"172":{"start":{"line":427,"column":2},"end":{"line":455,"column":5}},"173":{"start":{"line":428,"column":3},"end":{"line":439,"column":4}},"174":{"start":{"line":432,"column":4},"end":{"line":436,"column":5}},"175":{"start":{"line":435,"column":5},"end":{"line":435,"column":12}},"176":{"start":{"line":437,"column":4},"end":{"line":438,"column":35}},"177":{"start":{"line":442,"column":3},"end":{"line":445,"column":4}},"178":{"start":{"line":443,"column":4},"end":{"line":444,"column":51}},"179":{"start":{"line":447,"column":3},"end":{"line":449,"column":24}},"180":{"start":{"line":450,"column":3},"end":{"line":454,"column":4}},"181":{"start":{"line":451,"column":4},"end":{"line":451,"column":66}},"182":{"start":{"line":453,"column":4},"end":{"line":453,"column":44}},"183":{"start":{"line":459,"column":2},"end":{"line":460,"column":23}},"184":{"start":{"line":461,"column":2},"end":{"line":461,"column":54}},"185":{"start":{"line":464,"column":2},"end":{"line":464,"column":58}},"186":{"start":{"line":465,"column":2},"end":{"line":465,"column":60}},"187":{"start":{"line":466,"column":2},"end":{"line":466,"column":60}},"188":{"start":{"line":470,"column":2},"end":{"line":473,"column":3}},"189":{"start":{"line":471,"column":3},"end":{"line":472,"column":34}},"190":{"start":{"line":474,"column":2},"end":{"line":474,"column":22}},"191":{"start":{"line":475,"column":2},"end":{"line":475,"column":48}},"192":{"start":{"line":479,"column":2},"end":{"line":479,"column":49}},"193":{"start":{"line":480,"column":2},"end":{"line":487,"column":5}},"194":{"start":{"line":482,"column":4},"end":{"line":482,"column":58}},"195":{"start":{"line":485,"column":4},"end":{"line":485,"column":61}},"196":{"start":{"line":491,"column":2},"end":{"line":491,"column":49}},"197":{"start":{"line":492,"column":2},"end":{"line":499,"column":5}},"198":{"start":{"line":494,"column":4},"end":{"line":494,"column":58}},"199":{"start":{"line":497,"column":4},"end":{"line":497,"column":61}},"200":{"start":{"line":503,"column":2},"end":{"line":504,"column":35}},"201":{"start":{"line":506,"column":2},"end":{"line":506,"column":20}},"202":{"start":{"line":507,"column":2},"end":{"line":507,"column":27}},"203":{"start":{"line":508,"column":2},"end":{"line":510,"column":49}},"204":{"start":{"line":513,"column":2},"end":{"line":513,"column":35}},"205":{"start":{"line":516,"column":2},"end":{"line":516,"column":29}},"206":{"start":{"line":517,"column":2},"end":{"line":523,"column":3}},"207":{"start":{"line":518,"column":3},"end":{"line":522,"column":4}},"208":{"start":{"line":519,"column":4},"end":{"line":521,"column":5}},"209":{"start":{"line":520,"column":5},"end":{"line":520,"column":34}},"210":{"start":{"line":525,"column":2},"end":{"line":525,"column":38}},"211":{"start":{"line":526,"column":2},"end":{"line":528,"column":32}},"212":{"start":{"line":532,"column":0},"end":{"line":566,"column":3}},"213":{"start":{"line":533,"column":1},"end":{"line":565,"column":3}},"214":{"start":{"line":534,"column":2},"end":{"line":536,"column":3}},"215":{"start":{"line":535,"column":3},"end":{"line":535,"column":33}},"216":{"start":{"line":537,"column":2},"end":{"line":542,"column":37}},"217":{"start":{"line":543,"column":2},"end":{"line":543,"column":26}},"218":{"start":{"line":544,"column":2},"end":{"line":546,"column":3}},"219":{"start":{"line":545,"column":3},"end":{"line":545,"column":35}},"220":{"start":{"line":547,"column":2},"end":{"line":547,"column":43}},"221":{"start":{"line":548,"column":2},"end":{"line":548,"column":30}},"222":{"start":{"line":549,"column":2},"end":{"line":551,"column":3}},"223":{"start":{"line":550,"column":3},"end":{"line":550,"column":34}},"224":{"start":{"line":552,"column":2},"end":{"line":564,"column":3}},"225":{"start":{"line":553,"column":3},"end":{"line":553,"column":32}},"226":{"start":{"line":554,"column":9},"end":{"line":564,"column":3}},"227":{"start":{"line":555,"column":3},"end":{"line":555,"column":71}},"228":{"start":{"line":557,"column":3},"end":{"line":563,"column":6}},"229":{"start":{"line":558,"column":4},"end":{"line":558,"column":26}},"230":{"start":{"line":559,"column":4},"end":{"line":561,"column":5}},"231":{"start":{"line":560,"column":5},"end":{"line":560,"column":35}},"232":{"start":{"line":562,"column":4},"end":{"line":562,"column":11}},"233":{"start":{"line":568,"column":0},"end":{"line":568,"column":22}}},"branchMap":{"1":{"line":7,"type":"if","locations":[{"start":{"line":7,"column":1},"end":{"line":7,"column":1}},{"start":{"line":7,"column":1},"end":{"line":7,"column":1}}]},"2":{"line":7,"type":"binary-expr","locations":[{"start":{"line":7,"column":6},"end":{"line":7,"column":34}},{"start":{"line":7,"column":38},"end":{"line":7,"column":48}}]},"3":{"line":12,"type":"if","locations":[{"start":{"line":12,"column":8},"end":{"line":12,"column":8}},{"start":{"line":12,"column":8},"end":{"line":12,"column":8}}]},"4":{"line":46,"type":"if","locations":[{"start":{"line":46,"column":4},"end":{"line":46,"column":4}},{"start":{"line":46,"column":4},"end":{"line":46,"column":4}}]},"5":{"line":46,"type":"binary-expr","locations":[{"start":{"line":46,"column":9},"end":{"line":46,"column":15}},{"start":{"line":46,"column":19},"end":{"line":46,"column":32}}]},"6":{"line":67,"type":"if","locations":[{"start":{"line":67,"column":1},"end":{"line":67,"column":1}},{"start":{"line":67,"column":1},"end":{"line":67,"column":1}}]},"7":{"line":77,"type":"binary-expr","locations":[{"start":{"line":77,"column":18},"end":{"line":77,"column":32}},{"start":{"line":77,"column":36},"end":{"line":77,"column":38}}]},"8":{"line":81,"type":"if","locations":[{"start":{"line":81,"column":2},"end":{"line":81,"column":2}},{"start":{"line":81,"column":2},"end":{"line":81,"column":2}}]},"9":{"line":87,"type":"if","locations":[{"start":{"line":87,"column":2},"end":{"line":87,"column":2}},{"start":{"line":87,"column":2},"end":{"line":87,"column":2}}]},"10":{"line":108,"type":"if","locations":[{"start":{"line":108,"column":2},"end":{"line":108,"column":2}},{"start":{"line":108,"column":2},"end":{"line":108,"column":2}}]},"11":{"line":140,"type":"cond-expr","locations":[{"start":{"line":140,"column":44},"end":{"line":140,"column":83}},{"start":{"line":140,"column":87},"end":{"line":140,"column":91}}]},"12":{"line":140,"type":"binary-expr","locations":[{"start":{"line":140,"column":44},"end":{"line":140,"column":75}},{"start":{"line":140,"column":79},"end":{"line":140,"column":83}}]},"13":{"line":152,"type":"if","locations":[{"start":{"line":152,"column":1},"end":{"line":152,"column":1}},{"start":{"line":152,"column":1},"end":{"line":152,"column":1}}]},"14":{"line":181,"type":"if","locations":[{"start":{"line":181,"column":3},"end":{"line":181,"column":3}},{"start":{"line":181,"column":3},"end":{"line":181,"column":3}}]},"15":{"line":181,"type":"binary-expr","locations":[{"start":{"line":181,"column":8},"end":{"line":181,"column":49}},{"start":{"line":181,"column":53},"end":{"line":181,"column":72}}]},"16":{"line":183,"type":"if","locations":[{"start":{"line":183,"column":4},"end":{"line":183,"column":4}},{"start":{"line":183,"column":4},"end":{"line":183,"column":4}}]},"17":{"line":184,"type":"cond-expr","locations":[{"start":{"line":185,"column":6},"end":{"line":185,"column":49}},{"start":{"line":187,"column":6},"end":{"line":187,"column":34}}]},"18":{"line":199,"type":"binary-expr","locations":[{"start":{"line":199,"column":16},"end":{"line":199,"column":47}},{"start":{"line":199,"column":51},"end":{"line":199,"column":55}}]},"19":{"line":205,"type":"if","locations":[{"start":{"line":205,"column":2},"end":{"line":205,"column":2}},{"start":{"line":205,"column":2},"end":{"line":205,"column":2}}]},"20":{"line":209,"type":"if","locations":[{"start":{"line":209,"column":4},"end":{"line":209,"column":4}},{"start":{"line":209,"column":4},"end":{"line":209,"column":4}}]},"21":{"line":213,"type":"if","locations":[{"start":{"line":213,"column":4},"end":{"line":213,"column":4}},{"start":{"line":213,"column":4},"end":{"line":213,"column":4}}]},"22":{"line":217,"type":"if","locations":[{"start":{"line":217,"column":4},"end":{"line":217,"column":4}},{"start":{"line":217,"column":4},"end":{"line":217,"column":4}}]},"23":{"line":217,"type":"binary-expr","locations":[{"start":{"line":217,"column":9},"end":{"line":217,"column":43}},{"start":{"line":217,"column":47},"end":{"line":217,"column":74}}]},"24":{"line":221,"type":"if","locations":[{"start":{"line":221,"column":4},"end":{"line":221,"column":4}},{"start":{"line":221,"column":4},"end":{"line":221,"column":4}}]},"25":{"line":221,"type":"binary-expr","locations":[{"start":{"line":221,"column":9},"end":{"line":221,"column":33}},{"start":{"line":221,"column":37},"end":{"line":221,"column":62}}]},"26":{"line":222,"type":"cond-expr","locations":[{"start":{"line":223,"column":6},"end":{"line":223,"column":48}},{"start":{"line":224,"column":6},"end":{"line":224,"column":17}}]},"27":{"line":222,"type":"binary-expr","locations":[{"start":{"line":222,"column":19},"end":{"line":222,"column":30}},{"start":{"line":222,"column":34},"end":{"line":222,"column":52}}]},"28":{"line":231,"type":"if","locations":[{"start":{"line":231,"column":3},"end":{"line":231,"column":3}},{"start":{"line":231,"column":3},"end":{"line":231,"column":3}}]},"29":{"line":237,"type":"if","locations":[{"start":{"line":237,"column":4},"end":{"line":237,"column":4}},{"start":{"line":237,"column":4},"end":{"line":237,"column":4}}]},"30":{"line":238,"type":"binary-expr","locations":[{"start":{"line":238,"column":22},"end":{"line":238,"column":29}},{"start":{"line":238,"column":33},"end":{"line":238,"column":35}}]},"31":{"line":239,"type":"if","locations":[{"start":{"line":239,"column":5},"end":{"line":239,"column":5}},{"start":{"line":239,"column":5},"end":{"line":239,"column":5}}]},"32":{"line":266,"type":"binary-expr","locations":[{"start":{"line":266,"column":15},"end":{"line":266,"column":22}},{"start":{"line":266,"column":26},"end":{"line":266,"column":45}},{"start":{"line":266,"column":49},"end":{"line":266,"column":53}}]},"33":{"line":275,"type":"if","locations":[{"start":{"line":275,"column":2},"end":{"line":275,"column":2}},{"start":{"line":275,"column":2},"end":{"line":275,"column":2}}]},"34":{"line":279,"type":"if","locations":[{"start":{"line":279,"column":5},"end":{"line":279,"column":5}},{"start":{"line":279,"column":5},"end":{"line":279,"column":5}}]},"35":{"line":284,"type":"cond-expr","locations":[{"start":{"line":286,"column":4},"end":{"line":286,"column":25}},{"start":{"line":288,"column":4},"end":{"line":288,"column":31}}]},"36":{"line":288,"type":"binary-expr","locations":[{"start":{"line":288,"column":4},"end":{"line":288,"column":20}},{"start":{"line":288,"column":24},"end":{"line":288,"column":31}}]},"37":{"line":289,"type":"binary-expr","locations":[{"start":{"line":289,"column":20},"end":{"line":289,"column":48}},{"start":{"line":289,"column":52},"end":{"line":289,"column":81}}]},"38":{"line":340,"type":"if","locations":[{"start":{"line":340,"column":2},"end":{"line":340,"column":2}},{"start":{"line":340,"column":2},"end":{"line":340,"column":2}}]},"39":{"line":345,"type":"if","locations":[{"start":{"line":345,"column":2},"end":{"line":345,"column":2}},{"start":{"line":345,"column":2},"end":{"line":345,"column":2}}]},"40":{"line":350,"type":"if","locations":[{"start":{"line":350,"column":3},"end":{"line":350,"column":3}},{"start":{"line":350,"column":3},"end":{"line":350,"column":3}}]},"41":{"line":353,"type":"binary-expr","locations":[{"start":{"line":353,"column":31},"end":{"line":353,"column":54}},{"start":{"line":353,"column":58},"end":{"line":353,"column":60}}]},"42":{"line":357,"type":"if","locations":[{"start":{"line":357,"column":4},"end":{"line":357,"column":4}},{"start":{"line":357,"column":4},"end":{"line":357,"column":4}}]},"43":{"line":358,"type":"cond-expr","locations":[{"start":{"line":358,"column":45},"end":{"line":358,"column":49}},{"start":{"line":358,"column":52},"end":{"line":358,"column":68}}]},"44":{"line":362,"type":"if","locations":[{"start":{"line":362,"column":4},"end":{"line":362,"column":4}},{"start":{"line":362,"column":4},"end":{"line":362,"column":4}}]},"45":{"line":363,"type":"cond-expr","locations":[{"start":{"line":363,"column":48},"end":{"line":363,"column":52}},{"start":{"line":363,"column":55},"end":{"line":363,"column":74}}]},"46":{"line":385,"type":"if","locations":[{"start":{"line":385,"column":2},"end":{"line":385,"column":2}},{"start":{"line":385,"column":2},"end":{"line":385,"column":2}}]},"47":{"line":390,"type":"if","locations":[{"start":{"line":390,"column":3},"end":{"line":390,"column":3}},{"start":{"line":390,"column":3},"end":{"line":390,"column":3}}]},"48":{"line":411,"type":"if","locations":[{"start":{"line":411,"column":2},"end":{"line":411,"column":2}},{"start":{"line":411,"column":2},"end":{"line":411,"column":2}}]},"49":{"line":418,"type":"if","locations":[{"start":{"line":418,"column":2},"end":{"line":418,"column":2}},{"start":{"line":418,"column":2},"end":{"line":418,"column":2}}]},"50":{"line":432,"type":"if","locations":[{"start":{"line":432,"column":4},"end":{"line":432,"column":4}},{"start":{"line":432,"column":4},"end":{"line":432,"column":4}}]},"51":{"line":432,"type":"binary-expr","locations":[{"start":{"line":432,"column":9},"end":{"line":432,"column":31}},{"start":{"line":433,"column":8},"end":{"line":433,"column":42}},{"start":{"line":434,"column":7},"end":{"line":434,"column":48}}]},"52":{"line":437,"type":"cond-expr","locations":[{"start":{"line":437,"column":43},"end":{"line":437,"column":62}},{"start":{"line":437,"column":65},"end":{"line":437,"column":72}}]},"53":{"line":442,"type":"if","locations":[{"start":{"line":442,"column":3},"end":{"line":442,"column":3}},{"start":{"line":442,"column":3},"end":{"line":442,"column":3}}]},"54":{"line":444,"type":"binary-expr","locations":[{"start":{"line":444,"column":5},"end":{"line":444,"column":17}},{"start":{"line":444,"column":21},"end":{"line":444,"column":38}},{"start":{"line":444,"column":42},"end":{"line":444,"column":50}}]},"55":{"line":450,"type":"if","locations":[{"start":{"line":450,"column":3},"end":{"line":450,"column":3}},{"start":{"line":450,"column":3},"end":{"line":450,"column":3}}]},"56":{"line":459,"type":"binary-expr","locations":[{"start":{"line":459,"column":15},"end":{"line":459,"column":24}},{"start":{"line":459,"column":28},"end":{"line":459,"column":30}}]},"57":{"line":471,"type":"cond-expr","locations":[{"start":{"line":471,"column":42},"end":{"line":471,"column":61}},{"start":{"line":471,"column":64},"end":{"line":471,"column":71}}]},"58":{"line":475,"type":"binary-expr","locations":[{"start":{"line":475,"column":35},"end":{"line":475,"column":40}},{"start":{"line":475,"column":44},"end":{"line":475,"column":45}}]},"59":{"line":506,"type":"binary-expr","locations":[{"start":{"line":506,"column":9},"end":{"line":506,"column":13}},{"start":{"line":506,"column":17},"end":{"line":506,"column":19}}]},"60":{"line":508,"type":"cond-expr","locations":[{"start":{"line":509,"column":3},"end":{"line":509,"column":7}},{"start":{"line":510,"column":3},"end":{"line":510,"column":32}}]},"61":{"line":517,"type":"if","locations":[{"start":{"line":517,"column":2},"end":{"line":517,"column":2}},{"start":{"line":517,"column":2},"end":{"line":517,"column":2}}]},"62":{"line":519,"type":"if","locations":[{"start":{"line":519,"column":4},"end":{"line":519,"column":4}},{"start":{"line":519,"column":4},"end":{"line":519,"column":4}}]},"63":{"line":526,"type":"binary-expr","locations":[{"start":{"line":526,"column":12},"end":{"line":526,"column":36}},{"start":{"line":527,"column":3},"end":{"line":527,"column":72}},{"start":{"line":528,"column":3},"end":{"line":528,"column":29}}]},"64":{"line":534,"type":"if","locations":[{"start":{"line":534,"column":2},"end":{"line":534,"column":2}},{"start":{"line":534,"column":2},"end":{"line":534,"column":2}}]},"65":{"line":538,"type":"cond-expr","locations":[{"start":{"line":539,"column":4},"end":{"line":539,"column":10}},{"start":{"line":540,"column":4},"end":{"line":542,"column":36}}]},"66":{"line":540,"type":"cond-expr","locations":[{"start":{"line":541,"column":5},"end":{"line":541,"column":18}},{"start":{"line":542,"column":5},"end":{"line":542,"column":36}}]},"67":{"line":540,"type":"binary-expr","locations":[{"start":{"line":540,"column":4},"end":{"line":540,"column":20}},{"start":{"line":540,"column":24},"end":{"line":540,"column":51}}]},"68":{"line":542,"type":"binary-expr","locations":[{"start":{"line":542,"column":5},"end":{"line":542,"column":19}},{"start":{"line":542,"column":23},"end":{"line":542,"column":36}}]},"69":{"line":543,"type":"binary-expr","locations":[{"start":{"line":543,"column":12},"end":{"line":543,"column":19}},{"start":{"line":543,"column":23},"end":{"line":543,"column":25}}]},"70":{"line":544,"type":"if","locations":[{"start":{"line":544,"column":2},"end":{"line":544,"column":2}},{"start":{"line":544,"column":2},"end":{"line":544,"column":2}}]},"71":{"line":549,"type":"if","locations":[{"start":{"line":549,"column":2},"end":{"line":549,"column":2}},{"start":{"line":549,"column":2},"end":{"line":549,"column":2}}]},"72":{"line":552,"type":"if","locations":[{"start":{"line":552,"column":2},"end":{"line":552,"column":2}},{"start":{"line":552,"column":2},"end":{"line":552,"column":2}}]},"73":{"line":552,"type":"binary-expr","locations":[{"start":{"line":552,"column":7},"end":{"line":552,"column":17}},{"start":{"line":552,"column":21},"end":{"line":552,"column":30}},{"start":{"line":552,"column":34},"end":{"line":552,"column":64}}]},"74":{"line":554,"type":"if","locations":[{"start":{"line":554,"column":9},"end":{"line":554,"column":9}},{"start":{"line":554,"column":9},"end":{"line":554,"column":9}}]},"75":{"line":554,"type":"binary-expr","locations":[{"start":{"line":554,"column":14},"end":{"line":554,"column":35}},{"start":{"line":554,"column":39},"end":{"line":554,"column":60}}]},"76":{"line":559,"type":"if","locations":[{"start":{"line":559,"column":4},"end":{"line":559,"column":4}},{"start":{"line":559,"column":4},"end":{"line":559,"column":4}}]}}},"assests/js/lib/file-upload/jquery.fileupload.js":{"path":"assests/js/lib/file-upload/jquery.fileupload.js","s":{"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":0,"336":0,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":0,"356":0,"357":0,"358":0,"359":0,"360":0,"361":0,"362":0,"363":0,"364":0,"365":0,"366":0,"367":0,"368":0,"369":0,"370":0,"371":0,"372":0,"373":0,"374":0,"375":0,"376":0,"377":0,"378":0,"379":0,"380":0,"381":0,"382":0,"383":0,"384":0,"385":0,"386":0,"387":0,"388":0,"389":0,"390":0,"391":0,"392":0,"393":0,"394":0,"395":0,"396":0,"397":0,"398":0,"399":0,"400":0,"401":0,"402":0,"403":0,"404":0,"405":0,"406":0,"407":0,"408":0,"409":0,"410":0,"411":0,"412":0,"413":0,"414":0,"415":0,"416":0,"417":0,"418":0,"419":0,"420":0,"421":0,"422":0,"423":0,"424":0,"425":0,"426":0,"427":0,"428":0,"429":0,"430":0,"431":0,"432":0,"433":0,"434":0,"435":0,"436":0,"437":0,"438":0,"439":0,"440":0,"441":0,"442":0,"443":0,"444":0,"445":0,"446":0,"447":0,"448":0,"449":0,"450":0,"451":0,"452":0,"453":0,"454":0,"455":0,"456":0,"457":0,"458":0,"459":0,"460":0,"461":0,"462":0,"463":0,"464":0,"465":0,"466":0,"467":0,"468":0,"469":0,"470":0,"471":0,"472":0,"473":0,"474":0,"475":0,"476":0,"477":0,"478":0,"479":0,"480":0,"481":0,"482":0,"483":0,"484":0,"485":0,"486":0,"487":0,"488":0,"489":0,"490":0,"491":0,"492":0,"493":0,"494":0,"495":0,"496":0,"497":0,"498":0,"499":0,"500":0,"501":0,"502":0,"503":0,"504":0,"505":0,"506":0,"507":0,"508":0,"509":0,"510":0,"511":0,"512":0,"513":0,"514":0,"515":0,"516":0,"517":0,"518":0,"519":0,"520":0,"521":0,"522":0,"523":0,"524":0,"525":0,"526":0,"527":0,"528":0,"529":0,"530":0,"531":0,"532":0,"533":0,"534":0,"535":0,"536":0,"537":0,"538":0,"539":0},"b":{"1":[0,1],"2":[1,0],"3":[0,1],"4":[0,0],"5":[0,0],"6":[0,0,0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0,0],"16":[0,0],"17":[0,0,0],"18":[0,0],"19":[0,0],"20":[0,0,0],"21":[0,0,0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0,0,0],"76":[0,0],"77":[0,0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0,0],"97":[0,0],"98":[0,0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0],"104":[0,0,0,0],"105":[0,0],"106":[0,0],"107":[0,0,0],"108":[0,0],"109":[0,0],"110":[0,0],"111":[0,0],"112":[0,0],"113":[0,0],"114":[0,0],"115":[0,0],"116":[0,0],"117":[0,0],"118":[0,0,0,0,0],"119":[0,0],"120":[0,0],"121":[0,0],"122":[0,0],"123":[0,0],"124":[0,0,0],"125":[0,0],"126":[0,0],"127":[0,0],"128":[0,0],"129":[0,0],"130":[0,0],"131":[0,0],"132":[0,0],"133":[0,0,0],"134":[0,0],"135":[0,0],"136":[0,0],"137":[0,0],"138":[0,0],"139":[0,0],"140":[0,0],"141":[0,0,0,0],"142":[0,0],"143":[0,0],"144":[0,0],"145":[0,0],"146":[0,0],"147":[0,0],"148":[0,0],"149":[0,0],"150":[0,0],"151":[0,0],"152":[0,0],"153":[0,0],"154":[0,0],"155":[0,0],"156":[0,0],"157":[0,0,0,0],"158":[0,0],"159":[0,0],"160":[0,0],"161":[0,0],"162":[0,0],"163":[0,0],"164":[0,0],"165":[0,0],"166":[0,0],"167":[0,0],"168":[0,0],"169":[0,0],"170":[0,0],"171":[0,0,0],"172":[0,0],"173":[0,0],"174":[0,0],"175":[0,0],"176":[0,0],"177":[0,0],"178":[0,0],"179":[0,0,0],"180":[0,0],"181":[0,0],"182":[0,0],"183":[0,0],"184":[0,0],"185":[0,0],"186":[0,0],"187":[0,0],"188":[0,0],"189":[0,0],"190":[0,0,0],"191":[0,0],"192":[0,0],"193":[0,0],"194":[0,0],"195":[0,0],"196":[0,0],"197":[0,0],"198":[0,0],"199":[0,0],"200":[0,0],"201":[0,0],"202":[0,0],"203":[0,0],"204":[0,0],"205":[0,0]},"f":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0},"fnMap":{"1":{"name":"(anonymous_1)","line":15,"loc":{"start":{"line":15,"column":2},"end":{"line":15,"column":21}}},"2":{"name":"(anonymous_2)","line":33,"loc":{"start":{"line":33,"column":2},"end":{"line":33,"column":15}}},"3":{"name":"getDragHandler","line":61,"loc":{"start":{"line":61,"column":4},"end":{"line":61,"column":34}}},"4":{"name":"(anonymous_4)","line":63,"loc":{"start":{"line":63,"column":15},"end":{"line":63,"column":28}}},"5":{"name":"(anonymous_5)","line":176,"loc":{"start":{"line":176,"column":18},"end":{"line":176,"column":46}}},"6":{"name":"(anonymous_6)","line":179,"loc":{"start":{"line":179,"column":36},"end":{"line":179,"column":58}}},"7":{"name":"(anonymous_7)","line":191,"loc":{"start":{"line":191,"column":22},"end":{"line":191,"column":38}}},"8":{"name":"(anonymous_8)","line":211,"loc":{"start":{"line":211,"column":17},"end":{"line":211,"column":36}}},"9":{"name":"(anonymous_9)","line":217,"loc":{"start":{"line":217,"column":40},"end":{"line":217,"column":52}}},"10":{"name":"(anonymous_10)","line":294,"loc":{"start":{"line":294,"column":43},"end":{"line":294,"column":55}}},"11":{"name":"(anonymous_11)","line":299,"loc":{"start":{"line":299,"column":23},"end":{"line":299,"column":35}}},"12":{"name":"(anonymous_12)","line":303,"loc":{"start":{"line":303,"column":30},"end":{"line":303,"column":63}}},"13":{"name":"(anonymous_13)","line":314,"loc":{"start":{"line":314,"column":22},"end":{"line":314,"column":41}}},"14":{"name":"(anonymous_14)","line":320,"loc":{"start":{"line":320,"column":22},"end":{"line":320,"column":41}}},"15":{"name":"(anonymous_15)","line":330,"loc":{"start":{"line":330,"column":41},"end":{"line":330,"column":64}}},"16":{"name":"(anonymous_16)","line":338,"loc":{"start":{"line":338,"column":19},"end":{"line":338,"column":36}}},"17":{"name":"(anonymous_17)","line":340,"loc":{"start":{"line":340,"column":26},"end":{"line":340,"column":49}}},"18":{"name":"(anonymous_18)","line":346,"loc":{"start":{"line":346,"column":29},"end":{"line":346,"column":44}}},"19":{"name":"(anonymous_19)","line":359,"loc":{"start":{"line":359,"column":29},"end":{"line":359,"column":44}}},"20":{"name":"(anonymous_20)","line":372,"loc":{"start":{"line":372,"column":21},"end":{"line":372,"column":40}}},"21":{"name":"(anonymous_21)","line":417,"loc":{"start":{"line":417,"column":31},"end":{"line":417,"column":50}}},"22":{"name":"(anonymous_22)","line":423,"loc":{"start":{"line":423,"column":47},"end":{"line":423,"column":60}}},"23":{"name":"(anonymous_23)","line":431,"loc":{"start":{"line":431,"column":30},"end":{"line":431,"column":42}}},"24":{"name":"(anonymous_24)","line":437,"loc":{"start":{"line":437,"column":23},"end":{"line":437,"column":44}}},"25":{"name":"(anonymous_25)","line":442,"loc":{"start":{"line":442,"column":22},"end":{"line":442,"column":41}}},"26":{"name":"(anonymous_26)","line":474,"loc":{"start":{"line":474,"column":46},"end":{"line":474,"column":69}}},"27":{"name":"(anonymous_27)","line":487,"loc":{"start":{"line":487,"column":59},"end":{"line":487,"column":83}}},"28":{"name":"(anonymous_28)","line":494,"loc":{"start":{"line":494,"column":46},"end":{"line":494,"column":69}}},"29":{"name":"(anonymous_29)","line":515,"loc":{"start":{"line":515,"column":29},"end":{"line":515,"column":48}}},"30":{"name":"(anonymous_30)","line":530,"loc":{"start":{"line":530,"column":27},"end":{"line":530,"column":46}}},"31":{"name":"(anonymous_31)","line":548,"loc":{"start":{"line":548,"column":23},"end":{"line":548,"column":42}}},"32":{"name":"(anonymous_32)","line":553,"loc":{"start":{"line":553,"column":31},"end":{"line":553,"column":43}}},"33":{"name":"(anonymous_33)","line":571,"loc":{"start":{"line":571,"column":27},"end":{"line":571,"column":46}}},"34":{"name":"(anonymous_34)","line":600,"loc":{"start":{"line":600,"column":26},"end":{"line":600,"column":42}}},"35":{"name":"(anonymous_35)","line":609,"loc":{"start":{"line":609,"column":27},"end":{"line":609,"column":47}}},"36":{"name":"(anonymous_36)","line":624,"loc":{"start":{"line":624,"column":25},"end":{"line":624,"column":44}}},"37":{"name":"(anonymous_37)","line":633,"loc":{"start":{"line":633,"column":24},"end":{"line":633,"column":66}}},"38":{"name":"(anonymous_38)","line":647,"loc":{"start":{"line":647,"column":32},"end":{"line":647,"column":51}}},"39":{"name":"(anonymous_39)","line":649,"loc":{"start":{"line":649,"column":29},"end":{"line":649,"column":45}}},"40":{"name":"(anonymous_40)","line":652,"loc":{"start":{"line":652,"column":27},"end":{"line":652,"column":62}}},"41":{"name":"(anonymous_41)","line":656,"loc":{"start":{"line":656,"column":28},"end":{"line":656,"column":40}}},"42":{"name":"(anonymous_42)","line":667,"loc":{"start":{"line":667,"column":26},"end":{"line":667,"column":38}}},"43":{"name":"(anonymous_43)","line":678,"loc":{"start":{"line":678,"column":25},"end":{"line":678,"column":37}}},"44":{"name":"(anonymous_44)","line":686,"loc":{"start":{"line":686,"column":25},"end":{"line":686,"column":37}}},"45":{"name":"(anonymous_45)","line":694,"loc":{"start":{"line":694,"column":30},"end":{"line":694,"column":42}}},"46":{"name":"(anonymous_46)","line":698,"loc":{"start":{"line":698,"column":28},"end":{"line":698,"column":40}}},"47":{"name":"(anonymous_47)","line":701,"loc":{"start":{"line":701,"column":28},"end":{"line":701,"column":40}}},"48":{"name":"(anonymous_48)","line":708,"loc":{"start":{"line":708,"column":27},"end":{"line":708,"column":44}}},"49":{"name":"(anonymous_49)","line":721,"loc":{"start":{"line":721,"column":24},"end":{"line":721,"column":53}}},"50":{"name":"(anonymous_50)","line":749,"loc":{"start":{"line":749,"column":21},"end":{"line":749,"column":33}}},"51":{"name":"(anonymous_51)","line":771,"loc":{"start":{"line":771,"column":26},"end":{"line":771,"column":63}}},"52":{"name":"(anonymous_52)","line":801,"loc":{"start":{"line":801,"column":26},"end":{"line":801,"column":68}}},"53":{"name":"(anonymous_53)","line":814,"loc":{"start":{"line":814,"column":28},"end":{"line":814,"column":40}}},"54":{"name":"(anonymous_54)","line":821,"loc":{"start":{"line":821,"column":21},"end":{"line":821,"column":40}}},"55":{"name":"(anonymous_55)","line":847,"loc":{"start":{"line":847,"column":17},"end":{"line":847,"column":63}}},"56":{"name":"(anonymous_56)","line":865,"loc":{"start":{"line":865,"column":17},"end":{"line":865,"column":68}}},"57":{"name":"(anonymous_57)","line":879,"loc":{"start":{"line":879,"column":19},"end":{"line":879,"column":79}}},"58":{"name":"(anonymous_58)","line":885,"loc":{"start":{"line":885,"column":17},"end":{"line":885,"column":36}}},"59":{"name":"(anonymous_59)","line":895,"loc":{"start":{"line":895,"column":23},"end":{"line":895,"column":35}}},"60":{"name":"(anonymous_60)","line":907,"loc":{"start":{"line":907,"column":27},"end":{"line":907,"column":64}}},"61":{"name":"(anonymous_61)","line":909,"loc":{"start":{"line":909,"column":28},"end":{"line":909,"column":70}}},"62":{"name":"(anonymous_62)","line":911,"loc":{"start":{"line":911,"column":30},"end":{"line":911,"column":81}}},"63":{"name":"(anonymous_63)","line":956,"loc":{"start":{"line":956,"column":29},"end":{"line":956,"column":41}}},"64":{"name":"(anonymous_64)","line":971,"loc":{"start":{"line":971,"column":16},"end":{"line":971,"column":35}}},"65":{"name":"(anonymous_65)","line":1030,"loc":{"start":{"line":1030,"column":37},"end":{"line":1030,"column":63}}},"66":{"name":"(anonymous_66)","line":1047,"loc":{"start":{"line":1047,"column":27},"end":{"line":1047,"column":43}}},"67":{"name":"(anonymous_67)","line":1067,"loc":{"start":{"line":1067,"column":64},"end":{"line":1067,"column":81}}},"68":{"name":"(anonymous_68)","line":1080,"loc":{"start":{"line":1080,"column":30},"end":{"line":1080,"column":53}}},"69":{"name":"(anonymous_69)","line":1085,"loc":{"start":{"line":1085,"column":31},"end":{"line":1085,"column":44}}},"70":{"name":"(anonymous_70)","line":1095,"loc":{"start":{"line":1095,"column":33},"end":{"line":1095,"column":52}}},"71":{"name":"(anonymous_71)","line":1099,"loc":{"start":{"line":1099,"column":27},"end":{"line":1099,"column":44}}},"72":{"name":"(anonymous_72)","line":1103,"loc":{"start":{"line":1103,"column":30},"end":{"line":1103,"column":42}}},"73":{"name":"(anonymous_73)","line":1104,"loc":{"start":{"line":1104,"column":42},"end":{"line":1104,"column":61}}},"74":{"name":"(anonymous_74)","line":1120,"loc":{"start":{"line":1120,"column":31},"end":{"line":1120,"column":47}}},"75":{"name":"(anonymous_75)","line":1136,"loc":{"start":{"line":1136,"column":32},"end":{"line":1136,"column":57}}},"76":{"name":"(anonymous_76)","line":1140,"loc":{"start":{"line":1140,"column":31},"end":{"line":1140,"column":48}}},"77":{"name":"(anonymous_77)","line":1143,"loc":{"start":{"line":1143,"column":19},"end":{"line":1143,"column":31}}},"78":{"name":"(anonymous_78)","line":1151,"loc":{"start":{"line":1151,"column":26},"end":{"line":1151,"column":50}}},"79":{"name":"(anonymous_79)","line":1157,"loc":{"start":{"line":1157,"column":33},"end":{"line":1157,"column":49}}},"80":{"name":"(anonymous_80)","line":1176,"loc":{"start":{"line":1176,"column":34},"end":{"line":1176,"column":55}}},"81":{"name":"(anonymous_81)","line":1197,"loc":{"start":{"line":1197,"column":30},"end":{"line":1197,"column":53}}},"82":{"name":"(anonymous_82)","line":1205,"loc":{"start":{"line":1205,"column":28},"end":{"line":1205,"column":49}}},"83":{"name":"(anonymous_83)","line":1212,"loc":{"start":{"line":1212,"column":19},"end":{"line":1212,"column":31}}},"84":{"name":"(anonymous_84)","line":1220,"loc":{"start":{"line":1220,"column":19},"end":{"line":1220,"column":32}}},"85":{"name":"(anonymous_85)","line":1226,"loc":{"start":{"line":1226,"column":59},"end":{"line":1226,"column":76}}},"86":{"name":"(anonymous_86)","line":1241,"loc":{"start":{"line":1241,"column":18},"end":{"line":1241,"column":31}}},"87":{"name":"(anonymous_87)","line":1246,"loc":{"start":{"line":1246,"column":30},"end":{"line":1246,"column":53}}},"88":{"name":"(anonymous_88)","line":1262,"loc":{"start":{"line":1262,"column":17},"end":{"line":1262,"column":30}}},"89":{"name":"(anonymous_89)","line":1269,"loc":{"start":{"line":1269,"column":59},"end":{"line":1269,"column":76}}},"90":{"name":"(anonymous_90)","line":1288,"loc":{"start":{"line":1288,"column":28},"end":{"line":1288,"column":40}}},"91":{"name":"(anonymous_91)","line":1309,"loc":{"start":{"line":1309,"column":31},"end":{"line":1309,"column":43}}},"92":{"name":"(anonymous_92)","line":1315,"loc":{"start":{"line":1315,"column":18},"end":{"line":1315,"column":30}}},"93":{"name":"(anonymous_93)","line":1319,"loc":{"start":{"line":1319,"column":20},"end":{"line":1319,"column":42}}},"94":{"name":"(anonymous_94)","line":1331,"loc":{"start":{"line":1331,"column":29},"end":{"line":1331,"column":41}}},"95":{"name":"(anonymous_95)","line":1347,"loc":{"start":{"line":1347,"column":20},"end":{"line":1347,"column":35}}},"96":{"name":"(anonymous_96)","line":1354,"loc":{"start":{"line":1354,"column":25},"end":{"line":1354,"column":47}}},"97":{"name":"(anonymous_97)","line":1359,"loc":{"start":{"line":1359,"column":29},"end":{"line":1359,"column":41}}},"98":{"name":"(anonymous_98)","line":1366,"loc":{"start":{"line":1366,"column":16},"end":{"line":1366,"column":39}}},"99":{"name":"(anonymous_99)","line":1371,"loc":{"start":{"line":1371,"column":62},"end":{"line":1371,"column":77}}},"100":{"name":"(anonymous_100)","line":1384,"loc":{"start":{"line":1384,"column":17},"end":{"line":1384,"column":29}}},"101":{"name":"(anonymous_101)","line":1396,"loc":{"start":{"line":1396,"column":16},"end":{"line":1396,"column":28}}},"102":{"name":"(anonymous_102)","line":1404,"loc":{"start":{"line":1404,"column":18},"end":{"line":1404,"column":30}}},"103":{"name":"(anonymous_103)","line":1412,"loc":{"start":{"line":1412,"column":13},"end":{"line":1412,"column":29}}},"104":{"name":"(anonymous_104)","line":1418,"loc":{"start":{"line":1418,"column":63},"end":{"line":1418,"column":80}}},"105":{"name":"(anonymous_105)","line":1433,"loc":{"start":{"line":1433,"column":14},"end":{"line":1433,"column":30}}},"106":{"name":"(anonymous_106)","line":1441,"loc":{"start":{"line":1441,"column":36},"end":{"line":1441,"column":48}}},"107":{"name":"(anonymous_107)","line":1450,"loc":{"start":{"line":1450,"column":24},"end":{"line":1450,"column":41}}},"108":{"name":"(anonymous_108)","line":1461,"loc":{"start":{"line":1461,"column":32},"end":{"line":1461,"column":69}}},"109":{"name":"(anonymous_109)","line":1464,"loc":{"start":{"line":1464,"column":32},"end":{"line":1464,"column":74}}}},"statementMap":{"1":{"start":{"line":15,"column":1},"end":{"line":1482,"column":4}},"2":{"start":{"line":17,"column":4},"end":{"line":32,"column":5}},"3":{"start":{"line":19,"column":8},"end":{"line":22,"column":20}},"4":{"start":{"line":23,"column":11},"end":{"line":32,"column":5}},"5":{"start":{"line":25,"column":8},"end":{"line":28,"column":10}},"6":{"start":{"line":31,"column":8},"end":{"line":31,"column":31}},"7":{"start":{"line":38,"column":4},"end":{"line":46,"column":51}},"8":{"start":{"line":53,"column":4},"end":{"line":53,"column":76}},"9":{"start":{"line":54,"column":4},"end":{"line":54,"column":56}},"10":{"start":{"line":57,"column":4},"end":{"line":58,"column":63}},"11":{"start":{"line":61,"column":4},"end":{"line":77,"column":5}},"12":{"start":{"line":62,"column":8},"end":{"line":62,"column":45}},"13":{"start":{"line":63,"column":8},"end":{"line":76,"column":10}},"14":{"start":{"line":64,"column":12},"end":{"line":64,"column":77}},"15":{"start":{"line":65,"column":12},"end":{"line":65,"column":46}},"16":{"start":{"line":66,"column":12},"end":{"line":75,"column":13}},"17":{"start":{"line":71,"column":16},"end":{"line":71,"column":35}},"18":{"start":{"line":72,"column":16},"end":{"line":74,"column":17}},"19":{"start":{"line":73,"column":20},"end":{"line":73,"column":53}},"20":{"start":{"line":87,"column":4},"end":{"line":1480,"column":7}},"21":{"start":{"line":177,"column":16},"end":{"line":177,"column":71}},"22":{"start":{"line":178,"column":16},"end":{"line":182,"column":17}},"23":{"start":{"line":179,"column":20},"end":{"line":181,"column":23}},"24":{"start":{"line":180,"column":24},"end":{"line":180,"column":74}},"25":{"start":{"line":183,"column":16},"end":{"line":183,"column":31}},"26":{"start":{"line":192,"column":16},"end":{"line":192,"column":45}},"27":{"start":{"line":212,"column":16},"end":{"line":214,"column":17}},"28":{"start":{"line":213,"column":20},"end":{"line":213,"column":33}},"29":{"start":{"line":215,"column":16},"end":{"line":220,"column":17}},"30":{"start":{"line":217,"column":20},"end":{"line":219,"column":23}},"31":{"start":{"line":218,"column":24},"end":{"line":218,"column":38}},"32":{"start":{"line":295,"column":12},"end":{"line":295,"column":72}},"33":{"start":{"line":296,"column":12},"end":{"line":296,"column":48}},"34":{"start":{"line":300,"column":12},"end":{"line":300,"column":80}},"35":{"start":{"line":301,"column":12},"end":{"line":301,"column":28}},"36":{"start":{"line":302,"column":12},"end":{"line":302,"column":29}},"37":{"start":{"line":303,"column":12},"end":{"line":311,"column":14}},"38":{"start":{"line":304,"column":16},"end":{"line":304,"column":52}},"39":{"start":{"line":305,"column":16},"end":{"line":309,"column":17}},"40":{"start":{"line":306,"column":20},"end":{"line":306,"column":82}},"41":{"start":{"line":307,"column":20},"end":{"line":307,"column":41}},"42":{"start":{"line":308,"column":20},"end":{"line":308,"column":41}},"43":{"start":{"line":310,"column":16},"end":{"line":310,"column":36}},"44":{"start":{"line":315,"column":12},"end":{"line":317,"column":49}},"45":{"start":{"line":321,"column":12},"end":{"line":321,"column":25}},"46":{"start":{"line":322,"column":12},"end":{"line":324,"column":13}},"47":{"start":{"line":323,"column":16},"end":{"line":323,"column":54}},"48":{"start":{"line":325,"column":12},"end":{"line":327,"column":13}},"49":{"start":{"line":326,"column":16},"end":{"line":326,"column":40}},"50":{"start":{"line":328,"column":12},"end":{"line":334,"column":13}},"51":{"start":{"line":329,"column":16},"end":{"line":329,"column":30}},"52":{"start":{"line":330,"column":16},"end":{"line":332,"column":19}},"53":{"start":{"line":331,"column":20},"end":{"line":331,"column":62}},"54":{"start":{"line":333,"column":16},"end":{"line":333,"column":32}},"55":{"start":{"line":335,"column":12},"end":{"line":335,"column":22}},"56":{"start":{"line":339,"column":12},"end":{"line":339,"column":26}},"57":{"start":{"line":340,"column":12},"end":{"line":342,"column":15}},"58":{"start":{"line":341,"column":16},"end":{"line":341,"column":40}},"59":{"start":{"line":343,"column":12},"end":{"line":343,"column":25}},"60":{"start":{"line":347,"column":12},"end":{"line":351,"column":14}},"61":{"start":{"line":352,"column":12},"end":{"line":356,"column":13}},"62":{"start":{"line":353,"column":16},"end":{"line":353,"column":50}},"63":{"start":{"line":355,"column":16},"end":{"line":355,"column":41}},"64":{"start":{"line":360,"column":12},"end":{"line":360,"column":21}},"65":{"start":{"line":361,"column":12},"end":{"line":369,"column":13}},"66":{"start":{"line":362,"column":16},"end":{"line":366,"column":17}},"67":{"start":{"line":363,"column":20},"end":{"line":365,"column":21}},"68":{"start":{"line":364,"column":24},"end":{"line":364,"column":51}},"69":{"start":{"line":368,"column":16},"end":{"line":368,"column":35}},"70":{"start":{"line":373,"column":12},"end":{"line":414,"column":13}},"71":{"start":{"line":374,"column":16},"end":{"line":375,"column":27}},"72":{"start":{"line":376,"column":16},"end":{"line":380,"column":17}},"73":{"start":{"line":379,"column":20},"end":{"line":379,"column":27}},"74":{"start":{"line":381,"column":16},"end":{"line":381,"column":33}},"75":{"start":{"line":382,"column":16},"end":{"line":384,"column":46}},"76":{"start":{"line":387,"column":16},"end":{"line":387,"column":74}},"77":{"start":{"line":388,"column":16},"end":{"line":392,"column":18}},"78":{"start":{"line":393,"column":16},"end":{"line":393,"column":61}},"79":{"start":{"line":394,"column":16},"end":{"line":398,"column":18}},"80":{"start":{"line":402,"column":16},"end":{"line":406,"column":18}},"81":{"start":{"line":409,"column":16},"end":{"line":413,"column":18}},"82":{"start":{"line":418,"column":12},"end":{"line":419,"column":73}},"83":{"start":{"line":422,"column":12},"end":{"line":434,"column":13}},"84":{"start":{"line":423,"column":16},"end":{"line":430,"column":19}},"85":{"start":{"line":424,"column":20},"end":{"line":424,"column":45}},"86":{"start":{"line":426,"column":20},"end":{"line":426,"column":61}},"87":{"start":{"line":427,"column":20},"end":{"line":427,"column":41}},"88":{"start":{"line":428,"column":20},"end":{"line":428,"column":39}},"89":{"start":{"line":429,"column":20},"end":{"line":429,"column":49}},"90":{"start":{"line":431,"column":16},"end":{"line":433,"column":18}},"91":{"start":{"line":432,"column":20},"end":{"line":432,"column":31}},"92":{"start":{"line":439,"column":12},"end":{"line":439,"column":83}},"93":{"start":{"line":443,"column":12},"end":{"line":449,"column":61}},"94":{"start":{"line":450,"column":12},"end":{"line":450,"column":60}},"95":{"start":{"line":451,"column":12},"end":{"line":453,"column":13}},"96":{"start":{"line":452,"column":16},"end":{"line":452,"column":72}},"97":{"start":{"line":454,"column":12},"end":{"line":457,"column":13}},"98":{"start":{"line":455,"column":16},"end":{"line":456,"column":47}},"99":{"start":{"line":458,"column":12},"end":{"line":510,"column":13}},"100":{"start":{"line":459,"column":16},"end":{"line":459,"column":78}},"101":{"start":{"line":460,"column":16},"end":{"line":460,"column":52}},"102":{"start":{"line":461,"column":19},"end":{"line":510,"column":13}},"103":{"start":{"line":462,"column":16},"end":{"line":508,"column":17}},"104":{"start":{"line":467,"column":20},"end":{"line":467,"column":58}},"105":{"start":{"line":468,"column":20},"end":{"line":481,"column":21}},"106":{"start":{"line":469,"column":24},"end":{"line":472,"column":27}},"107":{"start":{"line":474,"column":24},"end":{"line":480,"column":27}},"108":{"start":{"line":475,"column":28},"end":{"line":479,"column":31}},"109":{"start":{"line":483,"column":20},"end":{"line":490,"column":21}},"110":{"start":{"line":484,"column":24},"end":{"line":484,"column":52}},"111":{"start":{"line":486,"column":24},"end":{"line":486,"column":50}},"112":{"start":{"line":487,"column":24},"end":{"line":489,"column":27}},"113":{"start":{"line":488,"column":28},"end":{"line":488,"column":69}},"114":{"start":{"line":491,"column":20},"end":{"line":507,"column":21}},"115":{"start":{"line":492,"column":24},"end":{"line":492,"column":76}},"116":{"start":{"line":494,"column":24},"end":{"line":506,"column":27}},"117":{"start":{"line":497,"column":28},"end":{"line":505,"column":29}},"118":{"start":{"line":499,"column":32},"end":{"line":504,"column":34}},"119":{"start":{"line":509,"column":16},"end":{"line":509,"column":40}},"120":{"start":{"line":512,"column":12},"end":{"line":512,"column":32}},"121":{"start":{"line":516,"column":12},"end":{"line":516,"column":81}},"122":{"start":{"line":518,"column":12},"end":{"line":518,"column":68}},"123":{"start":{"line":520,"column":12},"end":{"line":520,"column":58}},"124":{"start":{"line":522,"column":12},"end":{"line":527,"column":13}},"125":{"start":{"line":523,"column":16},"end":{"line":526,"column":19}},"126":{"start":{"line":531,"column":12},"end":{"line":545,"column":13}},"127":{"start":{"line":532,"column":16},"end":{"line":537,"column":17}},"128":{"start":{"line":533,"column":20},"end":{"line":535,"column":21}},"129":{"start":{"line":534,"column":24},"end":{"line":534,"column":51}},"130":{"start":{"line":536,"column":20},"end":{"line":536,"column":56}},"131":{"start":{"line":538,"column":16},"end":{"line":542,"column":17}},"132":{"start":{"line":541,"column":20},"end":{"line":541,"column":81}},"133":{"start":{"line":544,"column":16},"end":{"line":544,"column":50}},"134":{"start":{"line":549,"column":12},"end":{"line":550,"column":46}},"135":{"start":{"line":551,"column":12},"end":{"line":567,"column":13}},"136":{"start":{"line":552,"column":16},"end":{"line":552,"column":31}},"137":{"start":{"line":553,"column":16},"end":{"line":561,"column":19}},"138":{"start":{"line":554,"column":20},"end":{"line":556,"column":64}},"139":{"start":{"line":557,"column":20},"end":{"line":560,"column":21}},"140":{"start":{"line":558,"column":24},"end":{"line":558,"column":45}},"141":{"start":{"line":559,"column":24},"end":{"line":559,"column":31}},"142":{"start":{"line":562,"column":16},"end":{"line":564,"column":17}},"143":{"start":{"line":563,"column":20},"end":{"line":563,"column":70}},"144":{"start":{"line":565,"column":19},"end":{"line":567,"column":13}},"145":{"start":{"line":566,"column":16},"end":{"line":566,"column":40}},"146":{"start":{"line":568,"column":12},"end":{"line":568,"column":29}},"147":{"start":{"line":574,"column":12},"end":{"line":581,"column":13}},"148":{"start":{"line":575,"column":16},"end":{"line":575,"column":65}},"149":{"start":{"line":578,"column":16},"end":{"line":580,"column":17}},"150":{"start":{"line":579,"column":20},"end":{"line":579,"column":74}},"151":{"start":{"line":582,"column":12},"end":{"line":582,"column":60}},"152":{"start":{"line":583,"column":12},"end":{"line":585,"column":13}},"153":{"start":{"line":584,"column":16},"end":{"line":584,"column":75}},"154":{"start":{"line":587,"column":12},"end":{"line":590,"column":32}},"155":{"start":{"line":591,"column":12},"end":{"line":594,"column":13}},"156":{"start":{"line":593,"column":16},"end":{"line":593,"column":38}},"157":{"start":{"line":595,"column":12},"end":{"line":597,"column":13}},"158":{"start":{"line":596,"column":16},"end":{"line":596,"column":80}},"159":{"start":{"line":601,"column":12},"end":{"line":601,"column":59}},"160":{"start":{"line":602,"column":12},"end":{"line":602,"column":44}},"161":{"start":{"line":603,"column":12},"end":{"line":603,"column":44}},"162":{"start":{"line":604,"column":12},"end":{"line":604,"column":27}},"163":{"start":{"line":610,"column":12},"end":{"line":612,"column":13}},"164":{"start":{"line":611,"column":16},"end":{"line":611,"column":40}},"165":{"start":{"line":613,"column":12},"end":{"line":615,"column":13}},"166":{"start":{"line":614,"column":16},"end":{"line":614,"column":34}},"167":{"start":{"line":616,"column":12},"end":{"line":618,"column":13}},"168":{"start":{"line":617,"column":16},"end":{"line":617,"column":34}},"169":{"start":{"line":619,"column":12},"end":{"line":619,"column":29}},"170":{"start":{"line":625,"column":12},"end":{"line":625,"column":43}},"171":{"start":{"line":626,"column":12},"end":{"line":626,"column":41}},"172":{"start":{"line":627,"column":12},"end":{"line":627,"column":46}},"173":{"start":{"line":628,"column":12},"end":{"line":628,"column":27}},"174":{"start":{"line":634,"column":12},"end":{"line":635,"column":40}},"175":{"start":{"line":636,"column":12},"end":{"line":636,"column":65}},"176":{"start":{"line":637,"column":12},"end":{"line":641,"column":13}},"177":{"start":{"line":638,"column":16},"end":{"line":638,"column":47}},"178":{"start":{"line":639,"column":19},"end":{"line":641,"column":13}},"179":{"start":{"line":640,"column":16},"end":{"line":640,"column":46}},"180":{"start":{"line":642,"column":12},"end":{"line":642,"column":40}},"181":{"start":{"line":643,"column":12},"end":{"line":643,"column":49}},"182":{"start":{"line":648,"column":12},"end":{"line":651,"column":18}},"183":{"start":{"line":650,"column":20},"end":{"line":650,"column":74}},"184":{"start":{"line":652,"column":12},"end":{"line":666,"column":14}},"185":{"start":{"line":653,"column":16},"end":{"line":664,"column":17}},"186":{"start":{"line":654,"column":20},"end":{"line":663,"column":56}},"187":{"start":{"line":657,"column":32},"end":{"line":660,"column":33}},"188":{"start":{"line":658,"column":36},"end":{"line":659,"column":76}},"189":{"start":{"line":661,"column":32},"end":{"line":661,"column":61}},"190":{"start":{"line":665,"column":16},"end":{"line":665,"column":64}},"191":{"start":{"line":667,"column":12},"end":{"line":677,"column":14}},"192":{"start":{"line":668,"column":16},"end":{"line":675,"column":17}},"193":{"start":{"line":669,"column":20},"end":{"line":674,"column":62}},"194":{"start":{"line":676,"column":16},"end":{"line":676,"column":59}},"195":{"start":{"line":678,"column":12},"end":{"line":685,"column":14}},"196":{"start":{"line":679,"column":16},"end":{"line":681,"column":17}},"197":{"start":{"line":680,"column":20},"end":{"line":680,"column":46}},"198":{"start":{"line":682,"column":16},"end":{"line":682,"column":43}},"199":{"start":{"line":683,"column":16},"end":{"line":683,"column":50}},"200":{"start":{"line":684,"column":16},"end":{"line":684,"column":50}},"201":{"start":{"line":686,"column":12},"end":{"line":693,"column":14}},"202":{"start":{"line":687,"column":16},"end":{"line":689,"column":17}},"203":{"start":{"line":688,"column":20},"end":{"line":688,"column":62}},"204":{"start":{"line":690,"column":16},"end":{"line":692,"column":17}},"205":{"start":{"line":691,"column":20},"end":{"line":691,"column":70}},"206":{"start":{"line":694,"column":12},"end":{"line":697,"column":14}},"207":{"start":{"line":695,"column":16},"end":{"line":696,"column":73}},"208":{"start":{"line":698,"column":12},"end":{"line":700,"column":14}},"209":{"start":{"line":699,"column":16},"end":{"line":699,"column":38}},"210":{"start":{"line":701,"column":12},"end":{"line":703,"column":14}},"211":{"start":{"line":702,"column":16},"end":{"line":702,"column":38}},"212":{"start":{"line":709,"column":12},"end":{"line":712,"column":43}},"213":{"start":{"line":713,"column":12},"end":{"line":713,"column":54}},"214":{"start":{"line":722,"column":12},"end":{"line":722,"column":63}},"215":{"start":{"line":723,"column":12},"end":{"line":732,"column":23}},"216":{"start":{"line":733,"column":12},"end":{"line":736,"column":13}},"217":{"start":{"line":735,"column":16},"end":{"line":735,"column":29}},"218":{"start":{"line":737,"column":12},"end":{"line":739,"column":13}},"219":{"start":{"line":738,"column":16},"end":{"line":738,"column":28}},"220":{"start":{"line":740,"column":12},"end":{"line":747,"column":13}},"221":{"start":{"line":741,"column":16},"end":{"line":741,"column":59}},"222":{"start":{"line":742,"column":16},"end":{"line":746,"column":18}},"223":{"start":{"line":749,"column":12},"end":{"line":812,"column":14}},"224":{"start":{"line":751,"column":16},"end":{"line":752,"column":55}},"225":{"start":{"line":753,"column":16},"end":{"line":758,"column":18}},"226":{"start":{"line":761,"column":16},"end":{"line":761,"column":42}},"227":{"start":{"line":763,"column":16},"end":{"line":764,"column":54}},"228":{"start":{"line":766,"column":16},"end":{"line":766,"column":37}},"229":{"start":{"line":768,"column":16},"end":{"line":768,"column":46}},"230":{"start":{"line":769,"column":16},"end":{"line":811,"column":23}},"231":{"start":{"line":772,"column":24},"end":{"line":773,"column":47}},"232":{"start":{"line":777,"column":24},"end":{"line":783,"column":25}},"233":{"start":{"line":778,"column":28},"end":{"line":782,"column":35}},"234":{"start":{"line":784,"column":24},"end":{"line":784,"column":69}},"235":{"start":{"line":785,"column":24},"end":{"line":785,"column":42}},"236":{"start":{"line":786,"column":24},"end":{"line":786,"column":50}},"237":{"start":{"line":787,"column":24},"end":{"line":787,"column":40}},"238":{"start":{"line":788,"column":24},"end":{"line":788,"column":60}},"239":{"start":{"line":789,"column":24},"end":{"line":789,"column":62}},"240":{"start":{"line":790,"column":24},"end":{"line":799,"column":25}},"241":{"start":{"line":793,"column":28},"end":{"line":793,"column":37}},"242":{"start":{"line":795,"column":28},"end":{"line":798,"column":30}},"243":{"start":{"line":802,"column":24},"end":{"line":802,"column":40}},"244":{"start":{"line":803,"column":24},"end":{"line":803,"column":50}},"245":{"start":{"line":804,"column":24},"end":{"line":804,"column":52}},"246":{"start":{"line":805,"column":24},"end":{"line":805,"column":60}},"247":{"start":{"line":806,"column":24},"end":{"line":806,"column":62}},"248":{"start":{"line":807,"column":24},"end":{"line":810,"column":26}},"249":{"start":{"line":813,"column":12},"end":{"line":813,"column":42}},"250":{"start":{"line":814,"column":12},"end":{"line":816,"column":14}},"251":{"start":{"line":815,"column":16},"end":{"line":815,"column":37}},"252":{"start":{"line":817,"column":12},"end":{"line":817,"column":21}},"253":{"start":{"line":818,"column":12},"end":{"line":818,"column":27}},"254":{"start":{"line":822,"column":12},"end":{"line":832,"column":13}},"255":{"start":{"line":826,"column":16},"end":{"line":826,"column":39}},"256":{"start":{"line":828,"column":16},"end":{"line":828,"column":62}},"257":{"start":{"line":830,"column":16},"end":{"line":830,"column":65}},"258":{"start":{"line":831,"column":16},"end":{"line":831,"column":43}},"259":{"start":{"line":836,"column":12},"end":{"line":836,"column":43}},"260":{"start":{"line":837,"column":12},"end":{"line":837,"column":43}},"261":{"start":{"line":838,"column":12},"end":{"line":838,"column":74}},"262":{"start":{"line":839,"column":12},"end":{"line":839,"column":80}},"263":{"start":{"line":840,"column":12},"end":{"line":840,"column":54}},"264":{"start":{"line":841,"column":12},"end":{"line":841,"column":30}},"265":{"start":{"line":843,"column":12},"end":{"line":843,"column":49}},"266":{"start":{"line":844,"column":12},"end":{"line":844,"column":47}},"267":{"start":{"line":848,"column":12},"end":{"line":849,"column":45}},"268":{"start":{"line":850,"column":12},"end":{"line":858,"column":13}},"269":{"start":{"line":853,"column":16},"end":{"line":857,"column":29}},"270":{"start":{"line":859,"column":12},"end":{"line":859,"column":54}},"271":{"start":{"line":860,"column":12},"end":{"line":860,"column":66}},"272":{"start":{"line":861,"column":12},"end":{"line":861,"column":51}},"273":{"start":{"line":862,"column":12},"end":{"line":862,"column":49}},"274":{"start":{"line":866,"column":12},"end":{"line":866,"column":45}},"275":{"start":{"line":867,"column":12},"end":{"line":872,"column":13}},"276":{"start":{"line":870,"column":16},"end":{"line":870,"column":66}},"277":{"start":{"line":871,"column":16},"end":{"line":871,"column":64}},"278":{"start":{"line":873,"column":12},"end":{"line":873,"column":51}},"279":{"start":{"line":874,"column":12},"end":{"line":874,"column":66}},"280":{"start":{"line":875,"column":12},"end":{"line":875,"column":69}},"281":{"start":{"line":876,"column":12},"end":{"line":876,"column":49}},"282":{"start":{"line":882,"column":12},"end":{"line":882,"column":51}},"283":{"start":{"line":886,"column":12},"end":{"line":888,"column":13}},"284":{"start":{"line":887,"column":16},"end":{"line":887,"column":53}},"285":{"start":{"line":889,"column":12},"end":{"line":940,"column":18}},"286":{"start":{"line":896,"column":20},"end":{"line":896,"column":39}},"287":{"start":{"line":898,"column":20},"end":{"line":898,"column":69}},"288":{"start":{"line":899,"column":20},"end":{"line":938,"column":23}},"289":{"start":{"line":908,"column":24},"end":{"line":908,"column":73}},"290":{"start":{"line":910,"column":24},"end":{"line":910,"column":78}},"291":{"start":{"line":912,"column":24},"end":{"line":917,"column":26}},"292":{"start":{"line":918,"column":24},"end":{"line":918,"column":43}},"293":{"start":{"line":919,"column":24},"end":{"line":919,"column":42}},"294":{"start":{"line":920,"column":24},"end":{"line":932,"column":25}},"295":{"start":{"line":924,"column":28},"end":{"line":924,"column":63}},"296":{"start":{"line":925,"column":28},"end":{"line":931,"column":29}},"297":{"start":{"line":926,"column":32},"end":{"line":929,"column":33}},"298":{"start":{"line":927,"column":36},"end":{"line":927,"column":55}},"299":{"start":{"line":928,"column":36},"end":{"line":928,"column":42}},"300":{"start":{"line":930,"column":32},"end":{"line":930,"column":63}},"301":{"start":{"line":933,"column":24},"end":{"line":937,"column":25}},"302":{"start":{"line":936,"column":28},"end":{"line":936,"column":50}},"303":{"start":{"line":939,"column":20},"end":{"line":939,"column":33}},"304":{"start":{"line":941,"column":12},"end":{"line":941,"column":41}},"305":{"start":{"line":942,"column":12},"end":{"line":967,"column":13}},"306":{"start":{"line":945,"column":16},"end":{"line":952,"column":17}},"307":{"start":{"line":946,"column":20},"end":{"line":946,"column":40}},"308":{"start":{"line":947,"column":20},"end":{"line":947,"column":43}},"309":{"start":{"line":948,"column":20},"end":{"line":948,"column":43}},"310":{"start":{"line":950,"column":20},"end":{"line":950,"column":69}},"311":{"start":{"line":951,"column":20},"end":{"line":951,"column":42}},"312":{"start":{"line":956,"column":16},"end":{"line":965,"column":18}},"313":{"start":{"line":957,"column":20},"end":{"line":957,"column":60}},"314":{"start":{"line":958,"column":20},"end":{"line":963,"column":21}},"315":{"start":{"line":959,"column":24},"end":{"line":961,"column":25}},"316":{"start":{"line":960,"column":28},"end":{"line":960,"column":70}},"317":{"start":{"line":962,"column":24},"end":{"line":962,"column":38}},"318":{"start":{"line":964,"column":20},"end":{"line":964,"column":41}},"319":{"start":{"line":966,"column":16},"end":{"line":966,"column":50}},"320":{"start":{"line":968,"column":12},"end":{"line":968,"column":26}},"321":{"start":{"line":972,"column":12},"end":{"line":986,"column":22}},"322":{"start":{"line":987,"column":12},"end":{"line":989,"column":13}},"323":{"start":{"line":988,"column":16},"end":{"line":988,"column":29}},"324":{"start":{"line":990,"column":12},"end":{"line":992,"column":13}},"325":{"start":{"line":991,"column":16},"end":{"line":991,"column":38}},"326":{"start":{"line":993,"column":12},"end":{"line":1028,"column":13}},"327":{"start":{"line":995,"column":16},"end":{"line":995,"column":34}},"328":{"start":{"line":996,"column":16},"end":{"line":996,"column":43}},"329":{"start":{"line":997,"column":19},"end":{"line":1028,"column":13}},"330":{"start":{"line":998,"column":16},"end":{"line":998,"column":29}},"331":{"start":{"line":999,"column":16},"end":{"line":999,"column":34}},"332":{"start":{"line":1000,"column":16},"end":{"line":1007,"column":17}},"333":{"start":{"line":1001,"column":20},"end":{"line":1001,"column":60}},"334":{"start":{"line":1002,"column":20},"end":{"line":1002,"column":67}},"335":{"start":{"line":1003,"column":20},"end":{"line":1005,"column":21}},"336":{"start":{"line":1004,"column":24},"end":{"line":1004,"column":51}},"337":{"start":{"line":1006,"column":20},"end":{"line":1006,"column":54}},"338":{"start":{"line":1008,"column":19},"end":{"line":1028,"column":13}},"339":{"start":{"line":1009,"column":16},"end":{"line":1009,"column":29}},"340":{"start":{"line":1010,"column":16},"end":{"line":1010,"column":34}},"341":{"start":{"line":1011,"column":16},"end":{"line":1025,"column":17}},"342":{"start":{"line":1012,"column":20},"end":{"line":1012,"column":58}},"343":{"start":{"line":1013,"column":20},"end":{"line":1024,"column":21}},"344":{"start":{"line":1016,"column":24},"end":{"line":1016,"column":60}},"345":{"start":{"line":1017,"column":24},"end":{"line":1017,"column":67}},"346":{"start":{"line":1018,"column":24},"end":{"line":1020,"column":25}},"347":{"start":{"line":1019,"column":28},"end":{"line":1019,"column":55}},"348":{"start":{"line":1021,"column":24},"end":{"line":1021,"column":58}},"349":{"start":{"line":1022,"column":24},"end":{"line":1022,"column":34}},"350":{"start":{"line":1023,"column":24},"end":{"line":1023,"column":38}},"351":{"start":{"line":1027,"column":16},"end":{"line":1027,"column":41}},"352":{"start":{"line":1029,"column":12},"end":{"line":1029,"column":39}},"353":{"start":{"line":1030,"column":12},"end":{"line":1043,"column":15}},"354":{"start":{"line":1031,"column":16},"end":{"line":1031,"column":49}},"355":{"start":{"line":1032,"column":16},"end":{"line":1032,"column":62}},"356":{"start":{"line":1033,"column":16},"end":{"line":1033,"column":56}},"357":{"start":{"line":1034,"column":16},"end":{"line":1034,"column":50}},"358":{"start":{"line":1035,"column":16},"end":{"line":1035,"column":50}},"359":{"start":{"line":1036,"column":16},"end":{"line":1036,"column":56}},"360":{"start":{"line":1037,"column":16},"end":{"line":1041,"column":18}},"361":{"start":{"line":1042,"column":16},"end":{"line":1042,"column":30}},"362":{"start":{"line":1044,"column":12},"end":{"line":1044,"column":26}},"363":{"start":{"line":1048,"column":12},"end":{"line":1050,"column":64}},"364":{"start":{"line":1052,"column":12},"end":{"line":1052,"column":45}},"365":{"start":{"line":1053,"column":12},"end":{"line":1053,"column":61}},"366":{"start":{"line":1056,"column":12},"end":{"line":1056,"column":45}},"367":{"start":{"line":1059,"column":12},"end":{"line":1061,"column":13}},"368":{"start":{"line":1060,"column":16},"end":{"line":1060,"column":35}},"369":{"start":{"line":1063,"column":12},"end":{"line":1063,"column":48}},"370":{"start":{"line":1067,"column":12},"end":{"line":1072,"column":15}},"371":{"start":{"line":1068,"column":16},"end":{"line":1070,"column":17}},"372":{"start":{"line":1069,"column":20},"end":{"line":1069,"column":41}},"373":{"start":{"line":1071,"column":16},"end":{"line":1071,"column":26}},"374":{"start":{"line":1075,"column":12},"end":{"line":1077,"column":13}},"375":{"start":{"line":1076,"column":16},"end":{"line":1076,"column":42}},"376":{"start":{"line":1081,"column":12},"end":{"line":1112,"column":18}},"377":{"start":{"line":1086,"column":20},"end":{"line":1088,"column":21}},"378":{"start":{"line":1087,"column":24},"end":{"line":1087,"column":40}},"379":{"start":{"line":1093,"column":20},"end":{"line":1093,"column":37}},"380":{"start":{"line":1096,"column":20},"end":{"line":1101,"column":42}},"381":{"start":{"line":1100,"column":24},"end":{"line":1100,"column":43}},"382":{"start":{"line":1104,"column":20},"end":{"line":1111,"column":37}},"383":{"start":{"line":1105,"column":24},"end":{"line":1110,"column":25}},"384":{"start":{"line":1106,"column":28},"end":{"line":1106,"column":52}},"385":{"start":{"line":1108,"column":28},"end":{"line":1108,"column":62}},"386":{"start":{"line":1109,"column":28},"end":{"line":1109,"column":42}},"387":{"start":{"line":1113,"column":12},"end":{"line":1113,"column":30}},"388":{"start":{"line":1114,"column":12},"end":{"line":1132,"column":13}},"389":{"start":{"line":1115,"column":16},"end":{"line":1124,"column":17}},"390":{"start":{"line":1117,"column":20},"end":{"line":1117,"column":52}},"391":{"start":{"line":1118,"column":20},"end":{"line":1118,"column":45}},"392":{"start":{"line":1120,"column":20},"end":{"line":1123,"column":37}},"393":{"start":{"line":1121,"column":24},"end":{"line":1121,"column":49}},"394":{"start":{"line":1122,"column":24},"end":{"line":1122,"column":42}},"395":{"start":{"line":1125,"column":19},"end":{"line":1132,"column":13}},"396":{"start":{"line":1126,"column":16},"end":{"line":1126,"column":49}},"397":{"start":{"line":1127,"column":16},"end":{"line":1127,"column":30}},"398":{"start":{"line":1131,"column":16},"end":{"line":1131,"column":32}},"399":{"start":{"line":1133,"column":12},"end":{"line":1133,"column":33}},"400":{"start":{"line":1137,"column":12},"end":{"line":1137,"column":28}},"401":{"start":{"line":1138,"column":12},"end":{"line":1148,"column":15}},"402":{"start":{"line":1141,"column":20},"end":{"line":1141,"column":66}},"403":{"start":{"line":1144,"column":16},"end":{"line":1147,"column":18}},"404":{"start":{"line":1152,"column":12},"end":{"line":1152,"column":46}},"405":{"start":{"line":1153,"column":12},"end":{"line":1153,"column":43}},"406":{"start":{"line":1154,"column":12},"end":{"line":1170,"column":13}},"407":{"start":{"line":1156,"column":16},"end":{"line":1169,"column":18}},"408":{"start":{"line":1158,"column":24},"end":{"line":1158,"column":34}},"409":{"start":{"line":1159,"column":24},"end":{"line":1166,"column":25}},"410":{"start":{"line":1160,"column":28},"end":{"line":1160,"column":60}},"411":{"start":{"line":1161,"column":28},"end":{"line":1164,"column":29}},"412":{"start":{"line":1163,"column":32},"end":{"line":1163,"column":63}},"413":{"start":{"line":1165,"column":28},"end":{"line":1165,"column":41}},"414":{"start":{"line":1167,"column":24},"end":{"line":1167,"column":49}},"415":{"start":{"line":1171,"column":12},"end":{"line":1173,"column":24}},"416":{"start":{"line":1177,"column":12},"end":{"line":1177,"column":37}},"417":{"start":{"line":1178,"column":12},"end":{"line":1181,"column":22}},"418":{"start":{"line":1182,"column":12},"end":{"line":1184,"column":13}},"419":{"start":{"line":1183,"column":16},"end":{"line":1183,"column":60}},"420":{"start":{"line":1185,"column":12},"end":{"line":1185,"column":57}},"421":{"start":{"line":1186,"column":12},"end":{"line":1201,"column":13}},"422":{"start":{"line":1187,"column":16},"end":{"line":1187,"column":48}},"423":{"start":{"line":1188,"column":16},"end":{"line":1190,"column":17}},"424":{"start":{"line":1189,"column":20},"end":{"line":1189,"column":62}},"425":{"start":{"line":1194,"column":16},"end":{"line":1194,"column":61}},"426":{"start":{"line":1195,"column":19},"end":{"line":1201,"column":13}},"427":{"start":{"line":1197,"column":16},"end":{"line":1200,"column":19}},"428":{"start":{"line":1198,"column":20},"end":{"line":1198,"column":46}},"429":{"start":{"line":1199,"column":20},"end":{"line":1199,"column":46}},"430":{"start":{"line":1202,"column":12},"end":{"line":1202,"column":57}},"431":{"start":{"line":1206,"column":12},"end":{"line":1208,"column":13}},"432":{"start":{"line":1207,"column":16},"end":{"line":1207,"column":64}},"433":{"start":{"line":1209,"column":12},"end":{"line":1217,"column":15}},"434":{"start":{"line":1213,"column":16},"end":{"line":1216,"column":18}},"435":{"start":{"line":1221,"column":12},"end":{"line":1225,"column":18}},"436":{"start":{"line":1226,"column":12},"end":{"line":1238,"column":15}},"437":{"start":{"line":1227,"column":16},"end":{"line":1227,"column":35}},"438":{"start":{"line":1228,"column":16},"end":{"line":1230,"column":17}},"439":{"start":{"line":1229,"column":20},"end":{"line":1229,"column":49}},"440":{"start":{"line":1231,"column":16},"end":{"line":1237,"column":17}},"441":{"start":{"line":1236,"column":20},"end":{"line":1236,"column":41}},"442":{"start":{"line":1242,"column":12},"end":{"line":1244,"column":35}},"443":{"start":{"line":1245,"column":12},"end":{"line":1259,"column":13}},"444":{"start":{"line":1246,"column":16},"end":{"line":1251,"column":19}},"445":{"start":{"line":1247,"column":20},"end":{"line":1247,"column":66}},"446":{"start":{"line":1248,"column":20},"end":{"line":1250,"column":21}},"447":{"start":{"line":1249,"column":24},"end":{"line":1249,"column":46}},"448":{"start":{"line":1252,"column":16},"end":{"line":1258,"column":17}},"449":{"start":{"line":1257,"column":20},"end":{"line":1257,"column":41}},"450":{"start":{"line":1263,"column":12},"end":{"line":1263,"column":77}},"451":{"start":{"line":1264,"column":12},"end":{"line":1266,"column":26}},"452":{"start":{"line":1267,"column":12},"end":{"line":1279,"column":13}},"453":{"start":{"line":1268,"column":16},"end":{"line":1268,"column":35}},"454":{"start":{"line":1269,"column":16},"end":{"line":1278,"column":19}},"455":{"start":{"line":1270,"column":20},"end":{"line":1270,"column":39}},"456":{"start":{"line":1271,"column":20},"end":{"line":1277,"column":21}},"457":{"start":{"line":1276,"column":24},"end":{"line":1276,"column":45}},"458":{"start":{"line":1289,"column":12},"end":{"line":1301,"column":13}},"459":{"start":{"line":1290,"column":16},"end":{"line":1297,"column":19}},"460":{"start":{"line":1298,"column":16},"end":{"line":1300,"column":19}},"461":{"start":{"line":1302,"column":12},"end":{"line":1306,"column":13}},"462":{"start":{"line":1303,"column":16},"end":{"line":1305,"column":19}},"463":{"start":{"line":1310,"column":12},"end":{"line":1310,"column":82}},"464":{"start":{"line":1311,"column":12},"end":{"line":1311,"column":55}},"465":{"start":{"line":1312,"column":12},"end":{"line":1312,"column":56}},"466":{"start":{"line":1316,"column":12},"end":{"line":1316,"column":41}},"467":{"start":{"line":1320,"column":12},"end":{"line":1320,"column":69}},"468":{"start":{"line":1321,"column":12},"end":{"line":1323,"column":13}},"469":{"start":{"line":1322,"column":16},"end":{"line":1322,"column":45}},"470":{"start":{"line":1324,"column":12},"end":{"line":1324,"column":36}},"471":{"start":{"line":1325,"column":12},"end":{"line":1328,"column":13}},"472":{"start":{"line":1326,"column":16},"end":{"line":1326,"column":43}},"473":{"start":{"line":1327,"column":16},"end":{"line":1327,"column":42}},"474":{"start":{"line":1332,"column":12},"end":{"line":1332,"column":39}},"475":{"start":{"line":1333,"column":12},"end":{"line":1338,"column":13}},"476":{"start":{"line":1334,"column":16},"end":{"line":1335,"column":79}},"477":{"start":{"line":1336,"column":19},"end":{"line":1338,"column":13}},"478":{"start":{"line":1337,"column":16},"end":{"line":1337,"column":57}},"479":{"start":{"line":1339,"column":12},"end":{"line":1341,"column":13}},"480":{"start":{"line":1340,"column":16},"end":{"line":1340,"column":55}},"481":{"start":{"line":1342,"column":12},"end":{"line":1344,"column":13}},"482":{"start":{"line":1343,"column":16},"end":{"line":1343,"column":57}},"483":{"start":{"line":1348,"column":12},"end":{"line":1349,"column":40}},"484":{"start":{"line":1350,"column":12},"end":{"line":1350,"column":26}},"485":{"start":{"line":1351,"column":12},"end":{"line":1351,"column":58}},"486":{"start":{"line":1355,"column":12},"end":{"line":1356,"column":49}},"487":{"start":{"line":1360,"column":12},"end":{"line":1362,"column":43}},"488":{"start":{"line":1364,"column":12},"end":{"line":1381,"column":14}},"489":{"start":{"line":1367,"column":20},"end":{"line":1368,"column":30}},"490":{"start":{"line":1369,"column":20},"end":{"line":1379,"column":21}},"491":{"start":{"line":1371,"column":24},"end":{"line":1373,"column":27}},"492":{"start":{"line":1372,"column":28},"end":{"line":1372,"column":63}},"493":{"start":{"line":1374,"column":24},"end":{"line":1374,"column":42}},"494":{"start":{"line":1375,"column":24},"end":{"line":1377,"column":25}},"495":{"start":{"line":1376,"column":28},"end":{"line":1376,"column":59}},"496":{"start":{"line":1378,"column":24},"end":{"line":1378,"column":45}},"497":{"start":{"line":1385,"column":12},"end":{"line":1385,"column":39}},"498":{"start":{"line":1386,"column":12},"end":{"line":1386,"column":39}},"499":{"start":{"line":1387,"column":12},"end":{"line":1387,"column":29}},"500":{"start":{"line":1388,"column":12},"end":{"line":1388,"column":55}},"501":{"start":{"line":1389,"column":12},"end":{"line":1389,"column":45}},"502":{"start":{"line":1390,"column":12},"end":{"line":1390,"column":43}},"503":{"start":{"line":1391,"column":12},"end":{"line":1391,"column":38}},"504":{"start":{"line":1397,"column":12},"end":{"line":1397,"column":32}},"505":{"start":{"line":1405,"column":12},"end":{"line":1405,"column":34}},"506":{"start":{"line":1413,"column":12},"end":{"line":1413,"column":28}},"507":{"start":{"line":1414,"column":12},"end":{"line":1416,"column":13}},"508":{"start":{"line":1415,"column":16},"end":{"line":1415,"column":23}},"509":{"start":{"line":1417,"column":12},"end":{"line":1425,"column":13}},"510":{"start":{"line":1418,"column":16},"end":{"line":1421,"column":19}},"511":{"start":{"line":1419,"column":20},"end":{"line":1419,"column":39}},"512":{"start":{"line":1420,"column":20},"end":{"line":1420,"column":44}},"513":{"start":{"line":1423,"column":16},"end":{"line":1423,"column":53}},"514":{"start":{"line":1424,"column":16},"end":{"line":1424,"column":40}},"515":{"start":{"line":1434,"column":12},"end":{"line":1476,"column":13}},"516":{"start":{"line":1435,"column":16},"end":{"line":1471,"column":17}},"517":{"start":{"line":1436,"column":20},"end":{"line":1440,"column":32}},"518":{"start":{"line":1441,"column":20},"end":{"line":1448,"column":22}},"519":{"start":{"line":1442,"column":24},"end":{"line":1442,"column":39}},"520":{"start":{"line":1443,"column":24},"end":{"line":1445,"column":25}},"521":{"start":{"line":1444,"column":28},"end":{"line":1444,"column":49}},"522":{"start":{"line":1446,"column":24},"end":{"line":1446,"column":59}},"523":{"start":{"line":1447,"column":24},"end":{"line":1447,"column":39}},"524":{"start":{"line":1449,"column":20},"end":{"line":1469,"column":22}},"525":{"start":{"line":1451,"column":28},"end":{"line":1453,"column":29}},"526":{"start":{"line":1452,"column":32},"end":{"line":1452,"column":39}},"527":{"start":{"line":1454,"column":28},"end":{"line":1457,"column":29}},"528":{"start":{"line":1455,"column":32},"end":{"line":1455,"column":45}},"529":{"start":{"line":1456,"column":32},"end":{"line":1456,"column":39}},"530":{"start":{"line":1458,"column":28},"end":{"line":1458,"column":47}},"531":{"start":{"line":1459,"column":28},"end":{"line":1459,"column":61}},"532":{"start":{"line":1460,"column":28},"end":{"line":1467,"column":30}},"533":{"start":{"line":1462,"column":36},"end":{"line":1462,"column":75}},"534":{"start":{"line":1465,"column":36},"end":{"line":1465,"column":79}},"535":{"start":{"line":1470,"column":20},"end":{"line":1470,"column":57}},"536":{"start":{"line":1472,"column":16},"end":{"line":1472,"column":53}},"537":{"start":{"line":1473,"column":16},"end":{"line":1475,"column":17}},"538":{"start":{"line":1474,"column":20},"end":{"line":1474,"column":52}},"539":{"start":{"line":1477,"column":12},"end":{"line":1477,"column":68}}},"branchMap":{"1":{"line":17,"type":"if","locations":[{"start":{"line":17,"column":4},"end":{"line":17,"column":4}},{"start":{"line":17,"column":4},"end":{"line":17,"column":4}}]},"2":{"line":17,"type":"binary-expr","locations":[{"start":{"line":17,"column":8},"end":{"line":17,"column":36}},{"start":{"line":17,"column":40},"end":{"line":17,"column":50}}]},"3":{"line":23,"type":"if","locations":[{"start":{"line":23,"column":11},"end":{"line":23,"column":11}},{"start":{"line":23,"column":11},"end":{"line":23,"column":11}}]},"4":{"line":38,"type":"binary-expr","locations":[{"start":{"line":38,"column":28},"end":{"line":44,"column":38}},{"start":{"line":46,"column":8},"end":{"line":46,"column":49}}]},"5":{"line":53,"type":"binary-expr","locations":[{"start":{"line":53,"column":33},"end":{"line":53,"column":53}},{"start":{"line":53,"column":57},"end":{"line":53,"column":74}}]},"6":{"line":57,"type":"binary-expr","locations":[{"start":{"line":57,"column":26},"end":{"line":57,"column":37}},{"start":{"line":57,"column":42},"end":{"line":57,"column":62}},{"start":{"line":58,"column":8},"end":{"line":58,"column":34}},{"start":{"line":58,"column":38},"end":{"line":58,"column":61}}]},"7":{"line":64,"type":"binary-expr","locations":[{"start":{"line":64,"column":29},"end":{"line":64,"column":44}},{"start":{"line":64,"column":48},"end":{"line":64,"column":76}}]},"8":{"line":66,"type":"if","locations":[{"start":{"line":66,"column":12},"end":{"line":66,"column":12}},{"start":{"line":66,"column":12},"end":{"line":66,"column":12}}]},"9":{"line":66,"type":"binary-expr","locations":[{"start":{"line":66,"column":16},"end":{"line":66,"column":28}},{"start":{"line":66,"column":32},"end":{"line":66,"column":77}},{"start":{"line":67,"column":20},"end":{"line":70,"column":31}}]},"10":{"line":72,"type":"if","locations":[{"start":{"line":72,"column":16},"end":{"line":72,"column":16}},{"start":{"line":72,"column":16},"end":{"line":72,"column":16}}]},"11":{"line":177,"type":"binary-expr","locations":[{"start":{"line":177,"column":26},"end":{"line":177,"column":48}},{"start":{"line":177,"column":52},"end":{"line":177,"column":70}}]},"12":{"line":178,"type":"if","locations":[{"start":{"line":178,"column":16},"end":{"line":178,"column":16}},{"start":{"line":178,"column":16},"end":{"line":178,"column":16}}]},"13":{"line":212,"type":"if","locations":[{"start":{"line":212,"column":16},"end":{"line":212,"column":16}},{"start":{"line":212,"column":16},"end":{"line":212,"column":16}}]},"14":{"line":215,"type":"if","locations":[{"start":{"line":215,"column":16},"end":{"line":215,"column":16}},{"start":{"line":215,"column":16},"end":{"line":215,"column":16}}]},"15":{"line":215,"type":"binary-expr","locations":[{"start":{"line":215,"column":20},"end":{"line":215,"column":35}},{"start":{"line":215,"column":40},"end":{"line":215,"column":65}},{"start":{"line":216,"column":24},"end":{"line":216,"column":66}}]},"16":{"line":294,"type":"binary-expr","locations":[{"start":{"line":294,"column":20},"end":{"line":294,"column":39}},{"start":{"line":294,"column":43},"end":{"line":297,"column":9}}]},"17":{"line":295,"type":"binary-expr","locations":[{"start":{"line":295,"column":24},"end":{"line":295,"column":34}},{"start":{"line":295,"column":38},"end":{"line":295,"column":54}},{"start":{"line":295,"column":58},"end":{"line":295,"column":71}}]},"18":{"line":300,"type":"cond-expr","locations":[{"start":{"line":300,"column":43},"end":{"line":300,"column":53}},{"start":{"line":300,"column":56},"end":{"line":300,"column":78}}]},"19":{"line":305,"type":"if","locations":[{"start":{"line":305,"column":16},"end":{"line":305,"column":16}},{"start":{"line":305,"column":16},"end":{"line":305,"column":16}}]},"20":{"line":305,"type":"binary-expr","locations":[{"start":{"line":305,"column":20},"end":{"line":305,"column":33}},{"start":{"line":305,"column":37},"end":{"line":305,"column":46}},{"start":{"line":305,"column":50},"end":{"line":305,"column":69}}]},"21":{"line":315,"type":"binary-expr","locations":[{"start":{"line":315,"column":19},"end":{"line":315,"column":48}},{"start":{"line":316,"column":18},"end":{"line":316,"column":36}},{"start":{"line":316,"column":40},"end":{"line":316,"column":63}},{"start":{"line":317,"column":16},"end":{"line":317,"column":47}}]},"22":{"line":322,"type":"if","locations":[{"start":{"line":322,"column":12},"end":{"line":322,"column":12}},{"start":{"line":322,"column":12},"end":{"line":322,"column":12}}]},"23":{"line":325,"type":"if","locations":[{"start":{"line":325,"column":12},"end":{"line":325,"column":12}},{"start":{"line":325,"column":12},"end":{"line":325,"column":12}}]},"24":{"line":328,"type":"if","locations":[{"start":{"line":328,"column":12},"end":{"line":328,"column":12}},{"start":{"line":328,"column":12},"end":{"line":328,"column":12}}]},"25":{"line":341,"type":"binary-expr","locations":[{"start":{"line":341,"column":25},"end":{"line":341,"column":34}},{"start":{"line":341,"column":38},"end":{"line":341,"column":39}}]},"26":{"line":352,"type":"if","locations":[{"start":{"line":352,"column":12},"end":{"line":352,"column":12}},{"start":{"line":352,"column":12},"end":{"line":352,"column":12}}]},"27":{"line":361,"type":"if","locations":[{"start":{"line":361,"column":12},"end":{"line":361,"column":12}},{"start":{"line":361,"column":12},"end":{"line":361,"column":12}}]},"28":{"line":363,"type":"if","locations":[{"start":{"line":363,"column":20},"end":{"line":363,"column":20}},{"start":{"line":363,"column":20},"end":{"line":363,"column":20}}]},"29":{"line":373,"type":"if","locations":[{"start":{"line":373,"column":12},"end":{"line":373,"column":12}},{"start":{"line":373,"column":12},"end":{"line":373,"column":12}}]},"30":{"line":374,"type":"cond-expr","locations":[{"start":{"line":374,"column":40},"end":{"line":374,"column":50}},{"start":{"line":374,"column":53},"end":{"line":374,"column":75}}]},"31":{"line":376,"type":"if","locations":[{"start":{"line":376,"column":16},"end":{"line":376,"column":16}},{"start":{"line":376,"column":16},"end":{"line":376,"column":16}}]},"32":{"line":376,"type":"binary-expr","locations":[{"start":{"line":376,"column":20},"end":{"line":376,"column":30}},{"start":{"line":376,"column":34},"end":{"line":376,"column":55}},{"start":{"line":377,"column":25},"end":{"line":377,"column":65}},{"start":{"line":378,"column":24},"end":{"line":378,"column":44}}]},"33":{"line":383,"type":"binary-expr","locations":[{"start":{"line":383,"column":42},"end":{"line":383,"column":56}},{"start":{"line":383,"column":60},"end":{"line":383,"column":80}}]},"34":{"line":384,"type":"binary-expr","locations":[{"start":{"line":384,"column":21},"end":{"line":384,"column":39}},{"start":{"line":384,"column":43},"end":{"line":384,"column":44}}]},"35":{"line":419,"type":"cond-expr","locations":[{"start":{"line":419,"column":36},"end":{"line":419,"column":49}},{"start":{"line":419,"column":52},"end":{"line":419,"column":72}}]},"36":{"line":422,"type":"if","locations":[{"start":{"line":422,"column":12},"end":{"line":422,"column":12}},{"start":{"line":422,"column":12},"end":{"line":422,"column":12}}]},"37":{"line":447,"type":"binary-expr","locations":[{"start":{"line":447,"column":28},"end":{"line":447,"column":45}},{"start":{"line":447,"column":49},"end":{"line":447,"column":73}}]},"38":{"line":448,"type":"cond-expr","locations":[{"start":{"line":449,"column":20},"end":{"line":449,"column":40}},{"start":{"line":449,"column":43},"end":{"line":449,"column":60}}]},"39":{"line":451,"type":"if","locations":[{"start":{"line":451,"column":12},"end":{"line":451,"column":12}},{"start":{"line":451,"column":12},"end":{"line":451,"column":12}}]},"40":{"line":454,"type":"if","locations":[{"start":{"line":454,"column":12},"end":{"line":454,"column":12}},{"start":{"line":454,"column":12},"end":{"line":454,"column":12}}]},"41":{"line":454,"type":"binary-expr","locations":[{"start":{"line":454,"column":16},"end":{"line":454,"column":26}},{"start":{"line":454,"column":30},"end":{"line":454,"column":42}},{"start":{"line":454,"column":46},"end":{"line":454,"column":79}}]},"42":{"line":458,"type":"if","locations":[{"start":{"line":458,"column":12},"end":{"line":458,"column":12}},{"start":{"line":458,"column":12},"end":{"line":458,"column":12}}]},"43":{"line":459,"type":"binary-expr","locations":[{"start":{"line":459,"column":38},"end":{"line":459,"column":47}},{"start":{"line":459,"column":51},"end":{"line":459,"column":77}}]},"44":{"line":460,"type":"binary-expr","locations":[{"start":{"line":460,"column":31},"end":{"line":460,"column":43}},{"start":{"line":460,"column":47},"end":{"line":460,"column":51}}]},"45":{"line":461,"type":"if","locations":[{"start":{"line":461,"column":19},"end":{"line":461,"column":19}},{"start":{"line":461,"column":19},"end":{"line":461,"column":19}}]},"46":{"line":462,"type":"if","locations":[{"start":{"line":462,"column":16},"end":{"line":462,"column":16}},{"start":{"line":462,"column":16},"end":{"line":462,"column":16}}]},"47":{"line":468,"type":"if","locations":[{"start":{"line":468,"column":20},"end":{"line":468,"column":20}},{"start":{"line":468,"column":20},"end":{"line":468,"column":20}}]},"48":{"line":476,"type":"binary-expr","locations":[{"start":{"line":476,"column":39},"end":{"line":476,"column":76}},{"start":{"line":477,"column":36},"end":{"line":477,"column":60}},{"start":{"line":477,"column":65},"end":{"line":477,"column":74}}]},"49":{"line":483,"type":"if","locations":[{"start":{"line":483,"column":20},"end":{"line":483,"column":20}},{"start":{"line":483,"column":20},"end":{"line":483,"column":20}}]},"50":{"line":491,"type":"if","locations":[{"start":{"line":491,"column":20},"end":{"line":491,"column":20}},{"start":{"line":491,"column":20},"end":{"line":491,"column":20}}]},"51":{"line":497,"type":"if","locations":[{"start":{"line":497,"column":28},"end":{"line":497,"column":28}},{"start":{"line":497,"column":28},"end":{"line":497,"column":28}}]},"52":{"line":497,"type":"binary-expr","locations":[{"start":{"line":497,"column":32},"end":{"line":497,"column":64}},{"start":{"line":498,"column":36},"end":{"line":498,"column":68}}]},"53":{"line":500,"type":"binary-expr","locations":[{"start":{"line":500,"column":37},"end":{"line":500,"column":74}},{"start":{"line":501,"column":40},"end":{"line":501,"column":64}},{"start":{"line":501,"column":69},"end":{"line":501,"column":78}}]},"54":{"line":503,"type":"binary-expr","locations":[{"start":{"line":503,"column":36},"end":{"line":503,"column":51}},{"start":{"line":503,"column":55},"end":{"line":503,"column":64}}]},"55":{"line":518,"type":"binary-expr","locations":[{"start":{"line":518,"column":44},"end":{"line":518,"column":60}},{"start":{"line":518,"column":64},"end":{"line":518,"column":66}}]},"56":{"line":522,"type":"if","locations":[{"start":{"line":522,"column":12},"end":{"line":522,"column":12}},{"start":{"line":522,"column":12},"end":{"line":522,"column":12}}]},"57":{"line":522,"type":"binary-expr","locations":[{"start":{"line":522,"column":16},"end":{"line":522,"column":32}},{"start":{"line":522,"column":36},"end":{"line":522,"column":46}},{"start":{"line":522,"column":50},"end":{"line":522,"column":78}}]},"58":{"line":524,"type":"binary-expr","locations":[{"start":{"line":524,"column":26},"end":{"line":524,"column":51}},{"start":{"line":524,"column":55},"end":{"line":524,"column":65}}]},"59":{"line":531,"type":"if","locations":[{"start":{"line":531,"column":12},"end":{"line":531,"column":12}},{"start":{"line":531,"column":12},"end":{"line":531,"column":12}}]},"60":{"line":532,"type":"if","locations":[{"start":{"line":532,"column":16},"end":{"line":532,"column":16}},{"start":{"line":532,"column":16},"end":{"line":532,"column":16}}]},"61":{"line":533,"type":"if","locations":[{"start":{"line":533,"column":20},"end":{"line":533,"column":20}},{"start":{"line":533,"column":20},"end":{"line":533,"column":20}}]},"62":{"line":538,"type":"if","locations":[{"start":{"line":538,"column":16},"end":{"line":538,"column":16}},{"start":{"line":538,"column":16},"end":{"line":538,"column":16}}]},"63":{"line":541,"type":"binary-expr","locations":[{"start":{"line":541,"column":57},"end":{"line":541,"column":73}},{"start":{"line":541,"column":77},"end":{"line":541,"column":79}}]},"64":{"line":551,"type":"if","locations":[{"start":{"line":551,"column":12},"end":{"line":551,"column":12}},{"start":{"line":551,"column":12},"end":{"line":551,"column":12}}]},"65":{"line":555,"type":"binary-expr","locations":[{"start":{"line":555,"column":31},"end":{"line":555,"column":49}},{"start":{"line":555,"column":53},"end":{"line":555,"column":62}}]},"66":{"line":556,"type":"binary-expr","locations":[{"start":{"line":556,"column":29},"end":{"line":556,"column":48}},{"start":{"line":556,"column":52},"end":{"line":556,"column":55}}]},"67":{"line":562,"type":"if","locations":[{"start":{"line":562,"column":16},"end":{"line":562,"column":16}},{"start":{"line":562,"column":16},"end":{"line":562,"column":16}}]},"68":{"line":563,"type":"binary-expr","locations":[{"start":{"line":563,"column":33},"end":{"line":563,"column":55}},{"start":{"line":563,"column":59},"end":{"line":563,"column":68}}]},"69":{"line":565,"type":"if","locations":[{"start":{"line":565,"column":19},"end":{"line":565,"column":19}},{"start":{"line":565,"column":19},"end":{"line":565,"column":19}}]},"70":{"line":574,"type":"if","locations":[{"start":{"line":574,"column":12},"end":{"line":574,"column":12}},{"start":{"line":574,"column":12},"end":{"line":574,"column":12}}]},"71":{"line":574,"type":"binary-expr","locations":[{"start":{"line":574,"column":16},"end":{"line":574,"column":29}},{"start":{"line":574,"column":33},"end":{"line":574,"column":53}}]},"72":{"line":578,"type":"if","locations":[{"start":{"line":578,"column":16},"end":{"line":578,"column":16}},{"start":{"line":578,"column":16},"end":{"line":578,"column":16}}]},"73":{"line":583,"type":"if","locations":[{"start":{"line":583,"column":12},"end":{"line":583,"column":12}},{"start":{"line":583,"column":12},"end":{"line":583,"column":12}}]},"74":{"line":584,"type":"binary-expr","locations":[{"start":{"line":584,"column":30},"end":{"line":584,"column":57}},{"start":{"line":584,"column":61},"end":{"line":584,"column":74}}]},"75":{"line":587,"type":"binary-expr","locations":[{"start":{"line":587,"column":28},"end":{"line":587,"column":40}},{"start":{"line":588,"column":17},"end":{"line":588,"column":65}},{"start":{"line":589,"column":20},"end":{"line":589,"column":47}},{"start":{"line":589,"column":52},"end":{"line":589,"column":54}}]},"76":{"line":591,"type":"if","locations":[{"start":{"line":591,"column":12},"end":{"line":591,"column":12}},{"start":{"line":591,"column":12},"end":{"line":591,"column":12}}]},"77":{"line":591,"type":"binary-expr","locations":[{"start":{"line":591,"column":16},"end":{"line":591,"column":39}},{"start":{"line":591,"column":43},"end":{"line":591,"column":65}},{"start":{"line":592,"column":20},"end":{"line":592,"column":44}}]},"78":{"line":595,"type":"if","locations":[{"start":{"line":595,"column":12},"end":{"line":595,"column":12}},{"start":{"line":595,"column":12},"end":{"line":595,"column":12}}]},"79":{"line":610,"type":"if","locations":[{"start":{"line":610,"column":12},"end":{"line":610,"column":12}},{"start":{"line":610,"column":12},"end":{"line":610,"column":12}}]},"80":{"line":613,"type":"if","locations":[{"start":{"line":613,"column":12},"end":{"line":613,"column":12}},{"start":{"line":613,"column":12},"end":{"line":613,"column":12}}]},"81":{"line":616,"type":"if","locations":[{"start":{"line":616,"column":12},"end":{"line":616,"column":12}},{"start":{"line":616,"column":12},"end":{"line":616,"column":12}}]},"82":{"line":636,"type":"binary-expr","locations":[{"start":{"line":636,"column":22},"end":{"line":636,"column":29}},{"start":{"line":636,"column":33},"end":{"line":636,"column":53}},{"start":{"line":636,"column":57},"end":{"line":636,"column":64}}]},"83":{"line":637,"type":"if","locations":[{"start":{"line":637,"column":12},"end":{"line":637,"column":12}},{"start":{"line":637,"column":12},"end":{"line":637,"column":12}}]},"84":{"line":639,"type":"if","locations":[{"start":{"line":639,"column":19},"end":{"line":639,"column":19}},{"start":{"line":639,"column":19},"end":{"line":639,"column":19}}]},"85":{"line":653,"type":"if","locations":[{"start":{"line":653,"column":16},"end":{"line":653,"column":16}},{"start":{"line":653,"column":16},"end":{"line":653,"column":16}}]},"86":{"line":653,"type":"binary-expr","locations":[{"start":{"line":653,"column":20},"end":{"line":653,"column":31}},{"start":{"line":653,"column":35},"end":{"line":653,"column":45}}]},"87":{"line":655,"type":"binary-expr","locations":[{"start":{"line":655,"column":25},"end":{"line":655,"column":43}},{"start":{"line":655,"column":47},"end":{"line":655,"column":65}}]},"88":{"line":657,"type":"if","locations":[{"start":{"line":657,"column":32},"end":{"line":657,"column":32}},{"start":{"line":657,"column":32},"end":{"line":657,"column":32}}]},"89":{"line":665,"type":"binary-expr","locations":[{"start":{"line":665,"column":23},"end":{"line":665,"column":41}},{"start":{"line":665,"column":45},"end":{"line":665,"column":63}}]},"90":{"line":668,"type":"if","locations":[{"start":{"line":668,"column":16},"end":{"line":668,"column":16}},{"start":{"line":668,"column":16},"end":{"line":668,"column":16}}]},"91":{"line":670,"type":"binary-expr","locations":[{"start":{"line":670,"column":25},"end":{"line":674,"column":35}},{"start":{"line":674,"column":40},"end":{"line":674,"column":61}}]},"92":{"line":676,"type":"binary-expr","locations":[{"start":{"line":676,"column":23},"end":{"line":676,"column":33}},{"start":{"line":676,"column":37},"end":{"line":676,"column":58}}]},"93":{"line":679,"type":"if","locations":[{"start":{"line":679,"column":16},"end":{"line":679,"column":16}},{"start":{"line":679,"column":16},"end":{"line":679,"column":16}}]},"94":{"line":687,"type":"if","locations":[{"start":{"line":687,"column":16},"end":{"line":687,"column":16}},{"start":{"line":687,"column":16},"end":{"line":687,"column":16}}]},"95":{"line":690,"type":"if","locations":[{"start":{"line":690,"column":16},"end":{"line":690,"column":16}},{"start":{"line":690,"column":16},"end":{"line":690,"column":16}}]},"96":{"line":695,"type":"binary-expr","locations":[{"start":{"line":695,"column":23},"end":{"line":695,"column":34}},{"start":{"line":695,"column":38},"end":{"line":695,"column":56}},{"start":{"line":695,"column":60},"end":{"line":696,"column":72}}]},"97":{"line":710,"type":"binary-expr","locations":[{"start":{"line":710,"column":24},"end":{"line":710,"column":29}},{"start":{"line":710,"column":33},"end":{"line":710,"column":49}}]},"98":{"line":711,"type":"binary-expr","locations":[{"start":{"line":711,"column":32},"end":{"line":711,"column":37}},{"start":{"line":711,"column":41},"end":{"line":711,"column":57}},{"start":{"line":712,"column":20},"end":{"line":712,"column":42}}]},"99":{"line":713,"type":"binary-expr","locations":[{"start":{"line":713,"column":19},"end":{"line":713,"column":32}},{"start":{"line":713,"column":36},"end":{"line":713,"column":53}}]},"100":{"line":722,"type":"binary-expr","locations":[{"start":{"line":722,"column":36},"end":{"line":722,"column":57}},{"start":{"line":722,"column":61},"end":{"line":722,"column":62}}]},"101":{"line":727,"type":"binary-expr","locations":[{"start":{"line":727,"column":22},"end":{"line":727,"column":42}},{"start":{"line":727,"column":46},"end":{"line":727,"column":48}}]},"102":{"line":733,"type":"if","locations":[{"start":{"line":733,"column":12},"end":{"line":733,"column":12}},{"start":{"line":733,"column":12},"end":{"line":733,"column":12}}]},"103":{"line":733,"type":"binary-expr","locations":[{"start":{"line":733,"column":16},"end":{"line":733,"column":74}},{"start":{"line":734,"column":20},"end":{"line":734,"column":32}}]},"104":{"line":733,"type":"binary-expr","locations":[{"start":{"line":733,"column":18},"end":{"line":733,"column":44}},{"start":{"line":733,"column":48},"end":{"line":733,"column":53}},{"start":{"line":733,"column":58},"end":{"line":733,"column":60}},{"start":{"line":733,"column":64},"end":{"line":733,"column":72}}]},"105":{"line":737,"type":"if","locations":[{"start":{"line":737,"column":12},"end":{"line":737,"column":12}},{"start":{"line":737,"column":12},"end":{"line":737,"column":12}}]},"106":{"line":740,"type":"if","locations":[{"start":{"line":740,"column":12},"end":{"line":740,"column":12}},{"start":{"line":740,"column":12},"end":{"line":740,"column":12}}]},"107":{"line":769,"type":"binary-expr","locations":[{"start":{"line":769,"column":26},"end":{"line":769,"column":71}},{"start":{"line":769,"column":75},"end":{"line":769,"column":84}},{"start":{"line":770,"column":24},"end":{"line":770,"column":61}}]},"108":{"line":772,"type":"binary-expr","locations":[{"start":{"line":772,"column":29},"end":{"line":772,"column":58}},{"start":{"line":773,"column":29},"end":{"line":773,"column":45}}]},"109":{"line":777,"type":"if","locations":[{"start":{"line":777,"column":24},"end":{"line":777,"column":24}},{"start":{"line":777,"column":24},"end":{"line":777,"column":24}}]},"110":{"line":790,"type":"if","locations":[{"start":{"line":790,"column":24},"end":{"line":790,"column":24}},{"start":{"line":790,"column":24},"end":{"line":790,"column":24}}]},"111":{"line":822,"type":"if","locations":[{"start":{"line":822,"column":12},"end":{"line":822,"column":12}},{"start":{"line":822,"column":12},"end":{"line":822,"column":12}}]},"112":{"line":838,"type":"binary-expr","locations":[{"start":{"line":838,"column":50},"end":{"line":838,"column":68}},{"start":{"line":838,"column":72},"end":{"line":838,"column":73}}]},"113":{"line":839,"type":"binary-expr","locations":[{"start":{"line":839,"column":48},"end":{"line":839,"column":74}},{"start":{"line":839,"column":78},"end":{"line":839,"column":79}}]},"114":{"line":850,"type":"if","locations":[{"start":{"line":850,"column":12},"end":{"line":850,"column":12}},{"start":{"line":850,"column":12},"end":{"line":850,"column":12}}]},"115":{"line":867,"type":"if","locations":[{"start":{"line":867,"column":12},"end":{"line":867,"column":12}},{"start":{"line":867,"column":12},"end":{"line":867,"column":12}}]},"116":{"line":886,"type":"if","locations":[{"start":{"line":886,"column":12},"end":{"line":886,"column":12}},{"start":{"line":886,"column":12},"end":{"line":886,"column":12}}]},"117":{"line":899,"type":"binary-expr","locations":[{"start":{"line":899,"column":28},"end":{"line":899,"column":33}},{"start":{"line":899,"column":37},"end":{"line":938,"column":22}}]},"118":{"line":900,"type":"binary-expr","locations":[{"start":{"line":900,"column":26},"end":{"line":900,"column":33}},{"start":{"line":900,"column":37},"end":{"line":904,"column":35}},{"start":{"line":905,"column":24},"end":{"line":905,"column":76}},{"start":{"line":906,"column":24},"end":{"line":906,"column":52}},{"start":{"line":906,"column":56},"end":{"line":906,"column":71}}]},"119":{"line":920,"type":"if","locations":[{"start":{"line":920,"column":24},"end":{"line":920,"column":24}},{"start":{"line":920,"column":24},"end":{"line":920,"column":24}}]},"120":{"line":920,"type":"binary-expr","locations":[{"start":{"line":920,"column":28},"end":{"line":920,"column":58}},{"start":{"line":921,"column":32},"end":{"line":921,"column":78}}]},"121":{"line":926,"type":"if","locations":[{"start":{"line":926,"column":32},"end":{"line":926,"column":32}},{"start":{"line":926,"column":32},"end":{"line":926,"column":32}}]},"122":{"line":933,"type":"if","locations":[{"start":{"line":933,"column":24},"end":{"line":933,"column":24}},{"start":{"line":933,"column":24},"end":{"line":933,"column":24}}]},"123":{"line":942,"type":"if","locations":[{"start":{"line":942,"column":12},"end":{"line":942,"column":12}},{"start":{"line":942,"column":12},"end":{"line":942,"column":12}}]},"124":{"line":942,"type":"binary-expr","locations":[{"start":{"line":942,"column":16},"end":{"line":942,"column":46}},{"start":{"line":943,"column":21},"end":{"line":943,"column":56}},{"start":{"line":944,"column":20},"end":{"line":944,"column":72}}]},"125":{"line":945,"type":"if","locations":[{"start":{"line":945,"column":16},"end":{"line":945,"column":16}},{"start":{"line":945,"column":16},"end":{"line":945,"column":16}}]},"126":{"line":958,"type":"if","locations":[{"start":{"line":958,"column":20},"end":{"line":958,"column":20}},{"start":{"line":958,"column":20},"end":{"line":958,"column":20}}]},"127":{"line":959,"type":"if","locations":[{"start":{"line":959,"column":24},"end":{"line":959,"column":24}},{"start":{"line":959,"column":24},"end":{"line":959,"column":24}}]},"128":{"line":987,"type":"if","locations":[{"start":{"line":987,"column":12},"end":{"line":987,"column":12}},{"start":{"line":987,"column":12},"end":{"line":987,"column":12}}]},"129":{"line":990,"type":"if","locations":[{"start":{"line":990,"column":12},"end":{"line":990,"column":12}},{"start":{"line":990,"column":12},"end":{"line":990,"column":12}}]},"130":{"line":990,"type":"binary-expr","locations":[{"start":{"line":990,"column":16},"end":{"line":990,"column":25}},{"start":{"line":990,"column":29},"end":{"line":990,"column":56}}]},"131":{"line":993,"type":"if","locations":[{"start":{"line":993,"column":12},"end":{"line":993,"column":12}},{"start":{"line":993,"column":12},"end":{"line":993,"column":12}}]},"132":{"line":993,"type":"binary-expr","locations":[{"start":{"line":993,"column":16},"end":{"line":993,"column":66}},{"start":{"line":994,"column":20},"end":{"line":994,"column":47}}]},"133":{"line":993,"type":"binary-expr","locations":[{"start":{"line":993,"column":18},"end":{"line":993,"column":43}},{"start":{"line":993,"column":47},"end":{"line":993,"column":52}},{"start":{"line":993,"column":56},"end":{"line":993,"column":65}}]},"134":{"line":997,"type":"if","locations":[{"start":{"line":997,"column":19},"end":{"line":997,"column":19}},{"start":{"line":997,"column":19},"end":{"line":997,"column":19}}]},"135":{"line":997,"type":"binary-expr","locations":[{"start":{"line":997,"column":23},"end":{"line":997,"column":64}},{"start":{"line":997,"column":68},"end":{"line":997,"column":73}}]},"136":{"line":997,"type":"binary-expr","locations":[{"start":{"line":997,"column":25},"end":{"line":997,"column":50}},{"start":{"line":997,"column":54},"end":{"line":997,"column":63}}]},"137":{"line":1003,"type":"if","locations":[{"start":{"line":1003,"column":20},"end":{"line":1003,"column":20}},{"start":{"line":1003,"column":20},"end":{"line":1003,"column":20}}]},"138":{"line":1008,"type":"if","locations":[{"start":{"line":1008,"column":19},"end":{"line":1008,"column":19}},{"start":{"line":1008,"column":19},"end":{"line":1008,"column":19}}]},"139":{"line":1008,"type":"binary-expr","locations":[{"start":{"line":1008,"column":23},"end":{"line":1008,"column":49}},{"start":{"line":1008,"column":53},"end":{"line":1008,"column":62}}]},"140":{"line":1013,"type":"if","locations":[{"start":{"line":1013,"column":20},"end":{"line":1013,"column":20}},{"start":{"line":1013,"column":20},"end":{"line":1013,"column":20}}]},"141":{"line":1013,"type":"binary-expr","locations":[{"start":{"line":1013,"column":24},"end":{"line":1013,"column":45}},{"start":{"line":1014,"column":29},"end":{"line":1014,"column":83}},{"start":{"line":1015,"column":29},"end":{"line":1015,"column":34}},{"start":{"line":1015,"column":38},"end":{"line":1015,"column":56}}]},"142":{"line":1018,"type":"if","locations":[{"start":{"line":1018,"column":24},"end":{"line":1018,"column":24}},{"start":{"line":1018,"column":24},"end":{"line":1018,"column":24}}]},"143":{"line":1030,"type":"binary-expr","locations":[{"start":{"line":1030,"column":19},"end":{"line":1030,"column":26}},{"start":{"line":1030,"column":30},"end":{"line":1030,"column":35}}]},"144":{"line":1032,"type":"cond-expr","locations":[{"start":{"line":1032,"column":42},"end":{"line":1032,"column":49}},{"start":{"line":1032,"column":52},"end":{"line":1032,"column":61}}]},"145":{"line":1059,"type":"if","locations":[{"start":{"line":1059,"column":12},"end":{"line":1059,"column":12}},{"start":{"line":1059,"column":12},"end":{"line":1059,"column":12}}]},"146":{"line":1068,"type":"if","locations":[{"start":{"line":1068,"column":16},"end":{"line":1068,"column":16}},{"start":{"line":1068,"column":16},"end":{"line":1068,"column":16}}]},"147":{"line":1075,"type":"if","locations":[{"start":{"line":1075,"column":12},"end":{"line":1075,"column":12}},{"start":{"line":1075,"column":12},"end":{"line":1075,"column":12}}]},"148":{"line":1086,"type":"if","locations":[{"start":{"line":1086,"column":20},"end":{"line":1086,"column":20}},{"start":{"line":1086,"column":20},"end":{"line":1086,"column":20}}]},"149":{"line":1086,"type":"binary-expr","locations":[{"start":{"line":1086,"column":24},"end":{"line":1086,"column":25}},{"start":{"line":1086,"column":29},"end":{"line":1086,"column":37}}]},"150":{"line":1105,"type":"if","locations":[{"start":{"line":1105,"column":24},"end":{"line":1105,"column":24}},{"start":{"line":1105,"column":24},"end":{"line":1105,"column":24}}]},"151":{"line":1113,"type":"binary-expr","locations":[{"start":{"line":1113,"column":19},"end":{"line":1113,"column":23}},{"start":{"line":1113,"column":27},"end":{"line":1113,"column":29}}]},"152":{"line":1114,"type":"if","locations":[{"start":{"line":1114,"column":12},"end":{"line":1114,"column":12}},{"start":{"line":1114,"column":12},"end":{"line":1114,"column":12}}]},"153":{"line":1115,"type":"if","locations":[{"start":{"line":1115,"column":16},"end":{"line":1115,"column":16}},{"start":{"line":1115,"column":16},"end":{"line":1115,"column":16}}]},"154":{"line":1125,"type":"if","locations":[{"start":{"line":1125,"column":19},"end":{"line":1125,"column":19}},{"start":{"line":1125,"column":19},"end":{"line":1125,"column":19}}]},"155":{"line":1152,"type":"binary-expr","locations":[{"start":{"line":1152,"column":27},"end":{"line":1152,"column":39}},{"start":{"line":1152,"column":43},"end":{"line":1152,"column":45}}]},"156":{"line":1154,"type":"if","locations":[{"start":{"line":1154,"column":12},"end":{"line":1154,"column":12}},{"start":{"line":1154,"column":12},"end":{"line":1154,"column":12}}]},"157":{"line":1154,"type":"binary-expr","locations":[{"start":{"line":1154,"column":16},"end":{"line":1154,"column":21}},{"start":{"line":1154,"column":25},"end":{"line":1154,"column":37}},{"start":{"line":1154,"column":42},"end":{"line":1154,"column":67}},{"start":{"line":1155,"column":20},"end":{"line":1155,"column":39}}]},"158":{"line":1159,"type":"if","locations":[{"start":{"line":1159,"column":24},"end":{"line":1159,"column":24}},{"start":{"line":1159,"column":24},"end":{"line":1159,"column":24}}]},"159":{"line":1161,"type":"if","locations":[{"start":{"line":1161,"column":28},"end":{"line":1161,"column":28}},{"start":{"line":1161,"column":28},"end":{"line":1161,"column":28}}]},"160":{"line":1178,"type":"binary-expr","locations":[{"start":{"line":1178,"column":26},"end":{"line":1178,"column":57}},{"start":{"line":1179,"column":20},"end":{"line":1179,"column":45}}]},"161":{"line":1182,"type":"if","locations":[{"start":{"line":1182,"column":12},"end":{"line":1182,"column":12}},{"start":{"line":1182,"column":12},"end":{"line":1182,"column":12}}]},"162":{"line":1182,"type":"binary-expr","locations":[{"start":{"line":1182,"column":16},"end":{"line":1182,"column":23}},{"start":{"line":1182,"column":27},"end":{"line":1182,"column":41}}]},"163":{"line":1186,"type":"if","locations":[{"start":{"line":1186,"column":12},"end":{"line":1186,"column":12}},{"start":{"line":1186,"column":12},"end":{"line":1186,"column":12}}]},"164":{"line":1188,"type":"if","locations":[{"start":{"line":1188,"column":16},"end":{"line":1188,"column":16}},{"start":{"line":1188,"column":16},"end":{"line":1188,"column":16}}]},"165":{"line":1195,"type":"if","locations":[{"start":{"line":1195,"column":19},"end":{"line":1195,"column":19}},{"start":{"line":1195,"column":19},"end":{"line":1195,"column":19}}]},"166":{"line":1195,"type":"binary-expr","locations":[{"start":{"line":1195,"column":23},"end":{"line":1195,"column":50}},{"start":{"line":1195,"column":54},"end":{"line":1195,"column":71}}]},"167":{"line":1206,"type":"if","locations":[{"start":{"line":1206,"column":12},"end":{"line":1206,"column":12}},{"start":{"line":1206,"column":12},"end":{"line":1206,"column":12}}]},"168":{"line":1206,"type":"binary-expr","locations":[{"start":{"line":1206,"column":16},"end":{"line":1206,"column":41}},{"start":{"line":1206,"column":45},"end":{"line":1206,"column":67}}]},"169":{"line":1228,"type":"if","locations":[{"start":{"line":1228,"column":16},"end":{"line":1228,"column":16}},{"start":{"line":1228,"column":16},"end":{"line":1228,"column":16}}]},"170":{"line":1231,"type":"if","locations":[{"start":{"line":1231,"column":16},"end":{"line":1231,"column":16}},{"start":{"line":1231,"column":16},"end":{"line":1231,"column":16}}]},"171":{"line":1242,"type":"binary-expr","locations":[{"start":{"line":1242,"column":24},"end":{"line":1242,"column":39}},{"start":{"line":1242,"column":43},"end":{"line":1242,"column":72}},{"start":{"line":1243,"column":20},"end":{"line":1243,"column":55}}]},"172":{"line":1245,"type":"if","locations":[{"start":{"line":1245,"column":12},"end":{"line":1245,"column":12}},{"start":{"line":1245,"column":12},"end":{"line":1245,"column":12}}]},"173":{"line":1245,"type":"binary-expr","locations":[{"start":{"line":1245,"column":16},"end":{"line":1245,"column":21}},{"start":{"line":1245,"column":25},"end":{"line":1245,"column":37}}]},"174":{"line":1247,"type":"binary-expr","locations":[{"start":{"line":1247,"column":31},"end":{"line":1247,"column":45}},{"start":{"line":1247,"column":49},"end":{"line":1247,"column":65}}]},"175":{"line":1248,"type":"if","locations":[{"start":{"line":1248,"column":20},"end":{"line":1248,"column":20}},{"start":{"line":1248,"column":20},"end":{"line":1248,"column":20}}]},"176":{"line":1252,"type":"if","locations":[{"start":{"line":1252,"column":16},"end":{"line":1252,"column":16}},{"start":{"line":1252,"column":16},"end":{"line":1252,"column":16}}]},"177":{"line":1263,"type":"binary-expr","locations":[{"start":{"line":1263,"column":29},"end":{"line":1263,"column":44}},{"start":{"line":1263,"column":48},"end":{"line":1263,"column":76}}]},"178":{"line":1267,"type":"if","locations":[{"start":{"line":1267,"column":12},"end":{"line":1267,"column":12}},{"start":{"line":1267,"column":12},"end":{"line":1267,"column":12}}]},"179":{"line":1267,"type":"binary-expr","locations":[{"start":{"line":1267,"column":16},"end":{"line":1267,"column":28}},{"start":{"line":1267,"column":32},"end":{"line":1267,"column":50}},{"start":{"line":1267,"column":54},"end":{"line":1267,"column":79}}]},"180":{"line":1271,"type":"if","locations":[{"start":{"line":1271,"column":20},"end":{"line":1271,"column":20}},{"start":{"line":1271,"column":20},"end":{"line":1271,"column":20}}]},"181":{"line":1289,"type":"if","locations":[{"start":{"line":1289,"column":12},"end":{"line":1289,"column":12}},{"start":{"line":1289,"column":12},"end":{"line":1289,"column":12}}]},"182":{"line":1302,"type":"if","locations":[{"start":{"line":1302,"column":12},"end":{"line":1302,"column":12}},{"start":{"line":1302,"column":12},"end":{"line":1302,"column":12}}]},"183":{"line":1321,"type":"if","locations":[{"start":{"line":1321,"column":12},"end":{"line":1321,"column":12}},{"start":{"line":1321,"column":12},"end":{"line":1321,"column":12}}]},"184":{"line":1325,"type":"if","locations":[{"start":{"line":1325,"column":12},"end":{"line":1325,"column":12}},{"start":{"line":1325,"column":12},"end":{"line":1325,"column":12}}]},"185":{"line":1333,"type":"if","locations":[{"start":{"line":1333,"column":12},"end":{"line":1333,"column":12}},{"start":{"line":1333,"column":12},"end":{"line":1333,"column":12}}]},"186":{"line":1334,"type":"cond-expr","locations":[{"start":{"line":1335,"column":24},"end":{"line":1335,"column":36}},{"start":{"line":1335,"column":39},"end":{"line":1335,"column":78}}]},"187":{"line":1336,"type":"if","locations":[{"start":{"line":1336,"column":19},"end":{"line":1336,"column":19}},{"start":{"line":1336,"column":19},"end":{"line":1336,"column":19}}]},"188":{"line":1339,"type":"if","locations":[{"start":{"line":1339,"column":12},"end":{"line":1339,"column":12}},{"start":{"line":1339,"column":12},"end":{"line":1339,"column":12}}]},"189":{"line":1342,"type":"if","locations":[{"start":{"line":1342,"column":12},"end":{"line":1342,"column":12}},{"start":{"line":1342,"column":12},"end":{"line":1342,"column":12}}]},"190":{"line":1355,"type":"binary-expr","locations":[{"start":{"line":1355,"column":19},"end":{"line":1355,"column":32}},{"start":{"line":1355,"column":36},"end":{"line":1355,"column":62}},{"start":{"line":1356,"column":16},"end":{"line":1356,"column":48}}]},"191":{"line":1369,"type":"if","locations":[{"start":{"line":1369,"column":20},"end":{"line":1369,"column":20}},{"start":{"line":1369,"column":20},"end":{"line":1369,"column":20}}]},"192":{"line":1375,"type":"if","locations":[{"start":{"line":1375,"column":24},"end":{"line":1375,"column":24}},{"start":{"line":1375,"column":24},"end":{"line":1375,"column":24}}]},"193":{"line":1414,"type":"if","locations":[{"start":{"line":1414,"column":12},"end":{"line":1414,"column":12}},{"start":{"line":1414,"column":12},"end":{"line":1414,"column":12}}]},"194":{"line":1414,"type":"binary-expr","locations":[{"start":{"line":1414,"column":16},"end":{"line":1414,"column":21}},{"start":{"line":1414,"column":25},"end":{"line":1414,"column":46}}]},"195":{"line":1417,"type":"if","locations":[{"start":{"line":1417,"column":12},"end":{"line":1417,"column":12}},{"start":{"line":1417,"column":12},"end":{"line":1417,"column":12}}]},"196":{"line":1417,"type":"binary-expr","locations":[{"start":{"line":1417,"column":16},"end":{"line":1417,"column":30}},{"start":{"line":1417,"column":34},"end":{"line":1417,"column":45}}]},"197":{"line":1434,"type":"if","locations":[{"start":{"line":1434,"column":12},"end":{"line":1434,"column":12}},{"start":{"line":1434,"column":12},"end":{"line":1434,"column":12}}]},"198":{"line":1434,"type":"binary-expr","locations":[{"start":{"line":1434,"column":16},"end":{"line":1434,"column":20}},{"start":{"line":1434,"column":24},"end":{"line":1434,"column":46}}]},"199":{"line":1435,"type":"if","locations":[{"start":{"line":1435,"column":16},"end":{"line":1435,"column":16}},{"start":{"line":1435,"column":16},"end":{"line":1435,"column":16}}]},"200":{"line":1435,"type":"binary-expr","locations":[{"start":{"line":1435,"column":20},"end":{"line":1435,"column":34}},{"start":{"line":1435,"column":38},"end":{"line":1435,"column":49}}]},"201":{"line":1443,"type":"if","locations":[{"start":{"line":1443,"column":24},"end":{"line":1443,"column":24}},{"start":{"line":1443,"column":24},"end":{"line":1443,"column":24}}]},"202":{"line":1451,"type":"if","locations":[{"start":{"line":1451,"column":28},"end":{"line":1451,"column":28}},{"start":{"line":1451,"column":28},"end":{"line":1451,"column":28}}]},"203":{"line":1454,"type":"if","locations":[{"start":{"line":1454,"column":28},"end":{"line":1454,"column":28}},{"start":{"line":1454,"column":28},"end":{"line":1454,"column":28}}]},"204":{"line":1473,"type":"if","locations":[{"start":{"line":1473,"column":16},"end":{"line":1473,"column":16}},{"start":{"line":1473,"column":16},"end":{"line":1473,"column":16}}]},"205":{"line":1477,"type":"binary-expr","locations":[{"start":{"line":1477,"column":46},"end":{"line":1477,"column":50}},{"start":{"line":1477,"column":54},"end":{"line":1477,"column":66}}]}}},"assests/js/lib/file-upload/jquery.iframe-transport.js":{"path":"assests/js/lib/file-upload/jquery.iframe-transport.js","s":{"1":1,"2":1,"3":0,"4":1,"5":0,"6":1,"7":1,"8":1,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0},"b":{"1":[0,1],"2":[1,0],"3":[0,1],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0,0],"29":[0,0]},"f":{"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"fnMap":{"1":{"name":"(anonymous_1)","line":14,"loc":{"start":{"line":14,"column":2},"end":{"line":14,"column":21}}},"2":{"name":"(anonymous_2)","line":26,"loc":{"start":{"line":26,"column":2},"end":{"line":26,"column":15}}},"3":{"name":"(anonymous_3)","line":42,"loc":{"start":{"line":42,"column":30},"end":{"line":42,"column":49}}},"4":{"name":"(anonymous_4)","line":53,"loc":{"start":{"line":53,"column":22},"end":{"line":53,"column":53}}},"5":{"name":"(anonymous_5)","line":75,"loc":{"start":{"line":75,"column":35},"end":{"line":75,"column":47}}},"6":{"name":"(anonymous_6)","line":81,"loc":{"start":{"line":81,"column":42},"end":{"line":81,"column":54}}},"7":{"name":"(anonymous_7)","line":107,"loc":{"start":{"line":107,"column":50},"end":{"line":107,"column":62}}},"8":{"name":"(anonymous_8)","line":119,"loc":{"start":{"line":119,"column":53},"end":{"line":119,"column":77}}},"9":{"name":"(anonymous_9)","line":130,"loc":{"start":{"line":130,"column":52},"end":{"line":130,"column":69}}},"10":{"name":"(anonymous_10)","line":134,"loc":{"start":{"line":134,"column":55},"end":{"line":134,"column":72}}},"11":{"name":"(anonymous_11)","line":155,"loc":{"start":{"line":155,"column":51},"end":{"line":155,"column":75}}},"12":{"name":"(anonymous_12)","line":167,"loc":{"start":{"line":167,"column":23},"end":{"line":167,"column":35}}},"13":{"name":"(anonymous_13)","line":196,"loc":{"start":{"line":196,"column":27},"end":{"line":196,"column":45}}},"14":{"name":"(anonymous_14)","line":199,"loc":{"start":{"line":199,"column":27},"end":{"line":199,"column":45}}},"15":{"name":"(anonymous_15)","line":202,"loc":{"start":{"line":202,"column":27},"end":{"line":202,"column":45}}},"16":{"name":"(anonymous_16)","line":205,"loc":{"start":{"line":205,"column":26},"end":{"line":205,"column":44}}},"17":{"name":"(anonymous_17)","line":211,"loc":{"start":{"line":211,"column":29},"end":{"line":211,"column":47}}}},"statementMap":{"1":{"start":{"line":14,"column":1},"end":{"line":217,"column":4}},"2":{"start":{"line":16,"column":4},"end":{"line":25,"column":5}},"3":{"start":{"line":18,"column":8},"end":{"line":18,"column":36}},"4":{"start":{"line":19,"column":11},"end":{"line":25,"column":5}},"5":{"start":{"line":21,"column":8},"end":{"line":21,"column":35}},"6":{"start":{"line":24,"column":8},"end":{"line":24,"column":31}},"7":{"start":{"line":30,"column":4},"end":{"line":30,"column":20}},"8":{"start":{"line":42,"column":4},"end":{"line":182,"column":7}},"9":{"start":{"line":43,"column":8},"end":{"line":181,"column":9}},"10":{"start":{"line":47,"column":12},"end":{"line":51,"column":29}},"11":{"start":{"line":52,"column":12},"end":{"line":180,"column":14}},"12":{"start":{"line":54,"column":20},"end":{"line":54,"column":68}},"13":{"start":{"line":55,"column":20},"end":{"line":55,"column":75}},"14":{"start":{"line":56,"column":20},"end":{"line":56,"column":70}},"15":{"start":{"line":58,"column":20},"end":{"line":67,"column":21}},"16":{"start":{"line":59,"column":24},"end":{"line":59,"column":84}},"17":{"start":{"line":60,"column":24},"end":{"line":60,"column":46}},"18":{"start":{"line":61,"column":27},"end":{"line":67,"column":21}},"19":{"start":{"line":62,"column":24},"end":{"line":62,"column":81}},"20":{"start":{"line":63,"column":24},"end":{"line":63,"column":46}},"21":{"start":{"line":64,"column":27},"end":{"line":67,"column":21}},"22":{"start":{"line":65,"column":24},"end":{"line":65,"column":83}},"23":{"start":{"line":66,"column":24},"end":{"line":66,"column":46}},"24":{"start":{"line":71,"column":20},"end":{"line":71,"column":33}},"25":{"start":{"line":72,"column":20},"end":{"line":164,"column":23}},"26":{"start":{"line":76,"column":24},"end":{"line":78,"column":76}},"27":{"start":{"line":79,"column":24},"end":{"line":113,"column":31}},"28":{"start":{"line":82,"column":32},"end":{"line":82,"column":45}},"29":{"start":{"line":85,"column":32},"end":{"line":95,"column":33}},"30":{"start":{"line":86,"column":36},"end":{"line":86,"column":65}},"31":{"start":{"line":90,"column":36},"end":{"line":92,"column":37}},"32":{"start":{"line":91,"column":40},"end":{"line":91,"column":58}},"33":{"start":{"line":94,"column":36},"end":{"line":94,"column":57}},"34":{"start":{"line":98,"column":32},"end":{"line":102,"column":34}},"35":{"start":{"line":105,"column":32},"end":{"line":106,"column":52}},"36":{"start":{"line":107,"column":32},"end":{"line":112,"column":38}},"37":{"start":{"line":111,"column":36},"end":{"line":111,"column":50}},"38":{"start":{"line":114,"column":24},"end":{"line":117,"column":58}},"39":{"start":{"line":118,"column":24},"end":{"line":125,"column":25}},"40":{"start":{"line":119,"column":28},"end":{"line":124,"column":31}},"41":{"start":{"line":120,"column":32},"end":{"line":123,"column":52}},"42":{"start":{"line":126,"column":24},"end":{"line":150,"column":25}},"43":{"start":{"line":128,"column":28},"end":{"line":128,"column":72}},"44":{"start":{"line":130,"column":28},"end":{"line":132,"column":31}},"45":{"start":{"line":131,"column":32},"end":{"line":131,"column":62}},"46":{"start":{"line":133,"column":28},"end":{"line":140,"column":29}},"47":{"start":{"line":134,"column":32},"end":{"line":139,"column":35}},"48":{"start":{"line":135,"column":36},"end":{"line":138,"column":38}},"49":{"start":{"line":143,"column":28},"end":{"line":147,"column":73}},"50":{"start":{"line":149,"column":28},"end":{"line":149,"column":65}},"51":{"start":{"line":151,"column":24},"end":{"line":151,"column":38}},"52":{"start":{"line":154,"column":24},"end":{"line":163,"column":25}},"53":{"start":{"line":155,"column":28},"end":{"line":162,"column":31}},"54":{"start":{"line":156,"column":32},"end":{"line":156,"column":70}},"55":{"start":{"line":158,"column":32},"end":{"line":160,"column":70}},"56":{"start":{"line":161,"column":32},"end":{"line":161,"column":57}},"57":{"start":{"line":165,"column":20},"end":{"line":165,"column":64}},"58":{"start":{"line":168,"column":20},"end":{"line":175,"column":21}},"59":{"start":{"line":172,"column":24},"end":{"line":174,"column":59}},"60":{"start":{"line":176,"column":20},"end":{"line":178,"column":21}},"61":{"start":{"line":177,"column":24},"end":{"line":177,"column":38}},"62":{"start":{"line":194,"column":4},"end":{"line":215,"column":7}},"63":{"start":{"line":197,"column":16},"end":{"line":197,"column":58}},"64":{"start":{"line":200,"column":16},"end":{"line":200,"column":71}},"65":{"start":{"line":203,"column":16},"end":{"line":203,"column":58}},"66":{"start":{"line":206,"column":16},"end":{"line":206,"column":49}},"67":{"start":{"line":207,"column":16},"end":{"line":209,"column":51}},"68":{"start":{"line":212,"column":16},"end":{"line":212,"column":72}}},"branchMap":{"1":{"line":16,"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":16,"column":4}},{"start":{"line":16,"column":4},"end":{"line":16,"column":4}}]},"2":{"line":16,"type":"binary-expr","locations":[{"start":{"line":16,"column":8},"end":{"line":16,"column":36}},{"start":{"line":16,"column":40},"end":{"line":16,"column":50}}]},"3":{"line":19,"type":"if","locations":[{"start":{"line":19,"column":11},"end":{"line":19,"column":11}},{"start":{"line":19,"column":11},"end":{"line":19,"column":11}}]},"4":{"line":43,"type":"if","locations":[{"start":{"line":43,"column":8},"end":{"line":43,"column":8}},{"start":{"line":43,"column":8},"end":{"line":43,"column":8}}]},"5":{"line":47,"type":"binary-expr","locations":[{"start":{"line":47,"column":35},"end":{"line":47,"column":59}},{"start":{"line":47,"column":63},"end":{"line":47,"column":82}}]},"6":{"line":56,"type":"cond-expr","locations":[{"start":{"line":56,"column":60},"end":{"line":56,"column":63}},{"start":{"line":56,"column":66},"end":{"line":56,"column":69}}]},"7":{"line":58,"type":"if","locations":[{"start":{"line":58,"column":20},"end":{"line":58,"column":20}},{"start":{"line":58,"column":20},"end":{"line":58,"column":20}}]},"8":{"line":61,"type":"if","locations":[{"start":{"line":61,"column":27},"end":{"line":61,"column":27}},{"start":{"line":61,"column":27},"end":{"line":61,"column":27}}]},"9":{"line":64,"type":"if","locations":[{"start":{"line":64,"column":27},"end":{"line":64,"column":27}},{"start":{"line":64,"column":27},"end":{"line":64,"column":27}}]},"10":{"line":77,"type":"cond-expr","locations":[{"start":{"line":78,"column":36},"end":{"line":78,"column":53}},{"start":{"line":78,"column":56},"end":{"line":78,"column":75}}]},"11":{"line":90,"type":"if","locations":[{"start":{"line":90,"column":36},"end":{"line":90,"column":36}},{"start":{"line":90,"column":36},"end":{"line":90,"column":36}}]},"12":{"line":90,"type":"binary-expr","locations":[{"start":{"line":90,"column":40},"end":{"line":90,"column":56}},{"start":{"line":90,"column":60},"end":{"line":90,"column":83}}]},"13":{"line":118,"type":"if","locations":[{"start":{"line":118,"column":24},"end":{"line":118,"column":24}},{"start":{"line":118,"column":24},"end":{"line":118,"column":24}}]},"14":{"line":126,"type":"if","locations":[{"start":{"line":126,"column":24},"end":{"line":126,"column":24}},{"start":{"line":126,"column":24},"end":{"line":126,"column":24}}]},"15":{"line":126,"type":"binary-expr","locations":[{"start":{"line":126,"column":28},"end":{"line":126,"column":45}},{"start":{"line":126,"column":49},"end":{"line":126,"column":73}},{"start":{"line":127,"column":32},"end":{"line":127,"column":55}}]},"16":{"line":133,"type":"if","locations":[{"start":{"line":133,"column":28},"end":{"line":133,"column":28}},{"start":{"line":133,"column":28},"end":{"line":133,"column":28}}]},"17":{"line":137,"type":"binary-expr","locations":[{"start":{"line":137,"column":40},"end":{"line":137,"column":57}},{"start":{"line":137,"column":61},"end":{"line":137,"column":78}}]},"18":{"line":154,"type":"if","locations":[{"start":{"line":154,"column":24},"end":{"line":154,"column":24}},{"start":{"line":154,"column":24},"end":{"line":154,"column":24}}]},"19":{"line":154,"type":"binary-expr","locations":[{"start":{"line":154,"column":28},"end":{"line":154,"column":43}},{"start":{"line":154,"column":47},"end":{"line":154,"column":69}}]},"20":{"line":168,"type":"if","locations":[{"start":{"line":168,"column":20},"end":{"line":168,"column":20}},{"start":{"line":168,"column":20},"end":{"line":168,"column":20}}]},"21":{"line":176,"type":"if","locations":[{"start":{"line":176,"column":20},"end":{"line":176,"column":20}},{"start":{"line":176,"column":20},"end":{"line":176,"column":20}}]},"22":{"line":197,"type":"binary-expr","locations":[{"start":{"line":197,"column":23},"end":{"line":197,"column":29}},{"start":{"line":197,"column":33},"end":{"line":197,"column":57}}]},"23":{"line":200,"type":"binary-expr","locations":[{"start":{"line":200,"column":23},"end":{"line":200,"column":29}},{"start":{"line":200,"column":33},"end":{"line":200,"column":70}}]},"24":{"line":203,"type":"binary-expr","locations":[{"start":{"line":203,"column":23},"end":{"line":203,"column":29}},{"start":{"line":203,"column":33},"end":{"line":203,"column":57}}]},"25":{"line":206,"type":"binary-expr","locations":[{"start":{"line":206,"column":29},"end":{"line":206,"column":35}},{"start":{"line":206,"column":39},"end":{"line":206,"column":48}}]},"26":{"line":207,"type":"cond-expr","locations":[{"start":{"line":207,"column":54},"end":{"line":207,"column":60}},{"start":{"line":208,"column":24},"end":{"line":209,"column":50}}]},"27":{"line":207,"type":"binary-expr","locations":[{"start":{"line":207,"column":23},"end":{"line":207,"column":29}},{"start":{"line":207,"column":33},"end":{"line":207,"column":51}}]},"28":{"line":208,"type":"binary-expr","locations":[{"start":{"line":208,"column":36},"end":{"line":208,"column":54}},{"start":{"line":208,"column":58},"end":{"line":208,"column":80}},{"start":{"line":209,"column":28},"end":{"line":209,"column":49}}]},"29":{"line":212,"type":"binary-expr","locations":[{"start":{"line":212,"column":23},"end":{"line":212,"column":29}},{"start":{"line":212,"column":33},"end":{"line":212,"column":71}}]}}},"assests/js/lib/handlebars.runtime.min.js":{"path":"assests/js/lib/handlebars.runtime.min.js","s":{"1":1,"2":1,"3":1,"4":1,"5":56,"6":22,"7":34,"8":34,"9":1,"10":1,"11":1,"12":1,"13":1,"14":9,"15":1,"16":1,"17":1,"18":1,"19":1,"20":4,"21":4,"22":0,"23":0,"24":0,"25":0,"26":0,"27":1,"28":16,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":8,"42":0,"43":0,"44":0,"45":8,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":1,"54":0,"55":0,"56":0,"57":1,"58":0,"59":1,"60":1,"61":1,"62":0,"63":1,"64":1,"65":1,"66":8,"67":1,"68":1,"69":0,"70":0,"71":0,"72":0,"73":1,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":1,"84":0,"85":1,"86":0,"87":0,"88":1,"89":0,"90":1,"91":0,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":0,"99":1,"100":0,"101":1,"102":1,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":0,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":1,"160":1,"161":1,"162":1,"163":1,"164":0,"165":0,"166":1,"167":1,"168":1,"169":1,"170":0,"171":0,"172":1,"173":1,"174":0,"175":0,"176":0,"177":0,"178":1,"179":1,"180":0,"181":1,"182":1,"183":1,"184":1,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":1,"192":1,"193":1,"194":1,"195":1,"196":1,"197":1,"198":1,"199":1,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":1,"207":1,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":1,"219":1,"220":0,"221":1,"222":0,"223":1,"224":9,"225":9,"226":0,"227":0,"228":0,"229":0,"230":1,"231":1,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":1,"242":1,"243":0,"244":0,"245":0,"246":0,"247":0,"248":9,"249":0,"250":9,"251":0,"252":9,"253":9,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":9,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":1,"278":1,"279":0,"280":0,"281":0,"282":1,"283":0,"284":1,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":1,"298":0,"299":1,"300":0,"301":1,"302":0,"303":0,"304":0,"305":0,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1,"313":1,"314":9,"315":1,"316":9,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":0,"328":0,"329":0,"330":1,"331":1,"332":1,"333":1,"334":1,"335":1,"336":1,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":0,"344":0,"345":0,"346":0,"347":0,"348":1,"349":0,"350":0,"351":0,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":0,"361":1},"b":{"1":[0,1],"2":[1,0],"3":[0,1],"4":[1,0],"5":[0,1],"6":[22,34],"7":[4,0],"8":[4,4],"9":[0,0],"10":[0,0],"11":[0,16],"12":[16,16],"13":[1,1],"14":[1,1],"15":[1,1],"16":[0,8],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,1],"21":[0,0],"22":[8,8],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0,0],"31":[0,0],"32":[0,0],"33":[1,0],"34":[0,0],"35":[1,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0,0],"69":[0,0],"70":[0,0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[9,9,0],"83":[0,9],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0,0],"89":[0,0],"90":[0,0,0],"91":[0,0],"92":[0,0],"93":[0,0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0],"98":[0,0],"99":[0,9],"100":[0,9],"101":[9,9],"102":[0,0],"103":[0,0],"104":[0,0],"105":[0,0],"106":[0,0],"107":[0,0,0,0],"108":[0,0],"109":[0,0],"110":[0,0],"111":[0,0,0,0],"112":[0,0],"113":[0,0],"114":[0,0,0],"115":[0,0],"116":[0,0],"117":[0,0],"118":[0,0],"119":[0,0],"120":[0,0],"121":[0,0,0,0,0],"122":[0,0],"123":[0,0],"124":[0,0],"125":[0,0],"126":[0,0],"127":[0,0,0],"128":[0,0],"129":[0,0],"130":[0,0],"131":[0,0],"132":[0,0],"133":[0,0,0],"134":[0,0],"135":[0,0],"136":[0,0],"137":[0,0,0],"138":[0,0],"139":[0,0,0],"140":[0,0],"141":[0,0],"142":[0,0],"143":[9,0],"144":[9,9],"145":[9,0],"146":[1,1],"147":[1,1],"148":[0,1],"149":[1,1],"150":[0,1],"151":[1,0],"152":[0,0],"153":[1,0],"154":[1,0,0],"155":[1,0,1],"156":[0,1],"157":[0,1],"158":[1,0],"159":[0,1],"160":[1,0],"161":[0,1],"162":[1,0],"163":[0,0],"164":[0,1],"165":[1,0],"166":[1,0],"167":[0,0],"168":[1,0],"169":[1,1],"170":[0,0],"171":[0,0],"172":[1,0],"173":[1,0],"174":[0,0],"175":[0,0,0],"176":[0,0],"177":[1,0],"178":[0,0]},"f":{"1":1,"2":1,"3":1,"4":56,"5":1,"6":1,"7":9,"8":1,"9":4,"10":1,"11":16,"12":1,"13":1,"14":8,"15":0,"16":0,"17":0,"18":1,"19":0,"20":1,"21":0,"22":1,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":1,"30":0,"31":0,"32":1,"33":0,"34":1,"35":1,"36":0,"37":1,"38":1,"39":1,"40":1,"41":1,"42":0,"43":1,"44":1,"45":0,"46":0,"47":1,"48":1,"49":0,"50":1,"51":1,"52":0,"53":0,"54":1,"55":1,"56":0,"57":1,"58":1,"59":0,"60":1,"61":1,"62":0,"63":1,"64":1,"65":1,"66":1,"67":0,"68":0,"69":1,"70":0,"71":0,"72":1,"73":0,"74":0,"75":1,"76":9,"77":9,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":1,"100":1,"101":1,"102":1,"103":9,"104":1,"105":9,"106":1,"107":1,"108":1,"109":1,"110":1,"111":0,"112":0,"113":1,"114":1,"115":1,"116":0,"117":0,"118":0,"119":0,"120":0,"121":1,"122":0,"123":1,"124":1,"125":1,"126":1,"127":1,"128":0,"129":1},"fnMap":{"1":{"name":"(anonymous_1)","line":27,"loc":{"start":{"line":27,"column":1},"end":{"line":27,"column":14}}},"2":{"name":"(anonymous_2)","line":27,"loc":{"start":{"line":27,"column":206},"end":{"line":27,"column":216}}},"3":{"name":"(anonymous_3)","line":27,"loc":{"start":{"line":27,"column":224},"end":{"line":27,"column":235}}},"4":{"name":"b","line":27,"loc":{"start":{"line":27,"column":236},"end":{"line":27,"column":249}}},"5":{"name":"(anonymous_5)","line":27,"loc":{"start":{"line":27,"column":423},"end":{"line":27,"column":438}}},"6":{"name":"d","line":27,"loc":{"start":{"line":27,"column":452},"end":{"line":27,"column":464}}},"7":{"name":"(anonymous_7)","line":27,"loc":{"start":{"line":27,"column":637},"end":{"line":27,"column":648}}},"8":{"name":"(anonymous_8)","line":27,"loc":{"start":{"line":27,"column":909},"end":{"line":27,"column":922}}},"9":{"name":"(anonymous_9)","line":27,"loc":{"start":{"line":27,"column":949},"end":{"line":27,"column":960}}},"10":{"name":"(anonymous_10)","line":27,"loc":{"start":{"line":27,"column":1121},"end":{"line":27,"column":1134}}},"11":{"name":"(anonymous_11)","line":27,"loc":{"start":{"line":27,"column":1161},"end":{"line":27,"column":1172}}},"12":{"name":"(anonymous_12)","line":27,"loc":{"start":{"line":27,"column":1230},"end":{"line":27,"column":1245}}},"13":{"name":"d","line":27,"loc":{"start":{"line":27,"column":1259},"end":{"line":27,"column":1276}}},"14":{"name":"(anonymous_14)","line":27,"loc":{"start":{"line":27,"column":1830},"end":{"line":27,"column":1843}}},"15":{"name":"(anonymous_15)","line":27,"loc":{"start":{"line":27,"column":2008},"end":{"line":27,"column":2019}}},"16":{"name":"(anonymous_16)","line":27,"loc":{"start":{"line":27,"column":2060},"end":{"line":27,"column":2073}}},"17":{"name":"(anonymous_17)","line":27,"loc":{"start":{"line":27,"column":2282},"end":{"line":27,"column":2293}}},"18":{"name":"(anonymous_18)","line":27,"loc":{"start":{"line":27,"column":2337},"end":{"line":27,"column":2350}}},"19":{"name":"(anonymous_19)","line":27,"loc":{"start":{"line":27,"column":2527},"end":{"line":27,"column":2538}}},"20":{"name":"(anonymous_20)","line":27,"loc":{"start":{"line":27,"column":2649},"end":{"line":27,"column":2662}}},"21":{"name":"c","line":27,"loc":{"start":{"line":27,"column":2676},"end":{"line":27,"column":2689}}},"22":{"name":"d","line":27,"loc":{"start":{"line":27,"column":2702},"end":{"line":27,"column":2715}}},"23":{"name":"e","line":27,"loc":{"start":{"line":27,"column":2863},"end":{"line":27,"column":2878}}},"24":{"name":"f","line":27,"loc":{"start":{"line":27,"column":2940},"end":{"line":27,"column":2953}}},"25":{"name":"g","line":27,"loc":{"start":{"line":27,"column":3089},"end":{"line":27,"column":3102}}},"26":{"name":"h","line":27,"loc":{"start":{"line":27,"column":3143},"end":{"line":27,"column":3156}}},"27":{"name":"i","line":27,"loc":{"start":{"line":27,"column":3192},"end":{"line":27,"column":3207}}},"28":{"name":"j","line":27,"loc":{"start":{"line":27,"column":3226},"end":{"line":27,"column":3241}}},"29":{"name":"(anonymous_29)","line":27,"loc":{"start":{"line":27,"column":3559},"end":{"line":27,"column":3570}}},"30":{"name":"(anonymous_30)","line":27,"loc":{"start":{"line":27,"column":3623},"end":{"line":27,"column":3634}}},"31":{"name":"(anonymous_31)","line":27,"loc":{"start":{"line":27,"column":3733},"end":{"line":27,"column":3744}}},"32":{"name":"(anonymous_32)","line":27,"loc":{"start":{"line":27,"column":3821},"end":{"line":27,"column":3836}}},"33":{"name":"d","line":27,"loc":{"start":{"line":27,"column":3850},"end":{"line":27,"column":3865}}},"34":{"name":"(anonymous_34)","line":27,"loc":{"start":{"line":27,"column":4393},"end":{"line":27,"column":4408}}},"35":{"name":"(anonymous_35)","line":27,"loc":{"start":{"line":27,"column":4451},"end":{"line":27,"column":4466}}},"36":{"name":"(anonymous_36)","line":27,"loc":{"start":{"line":27,"column":4488},"end":{"line":27,"column":4503}}},"37":{"name":"(anonymous_37)","line":27,"loc":{"start":{"line":27,"column":4530},"end":{"line":27,"column":4543}}},"38":{"name":"(anonymous_38)","line":27,"loc":{"start":{"line":27,"column":4828},"end":{"line":27,"column":4843}}},"39":{"name":"d","line":27,"loc":{"start":{"line":27,"column":4857},"end":{"line":27,"column":4870}}},"40":{"name":"(anonymous_40)","line":27,"loc":{"start":{"line":27,"column":5158},"end":{"line":27,"column":5173}}},"41":{"name":"(anonymous_41)","line":27,"loc":{"start":{"line":27,"column":5227},"end":{"line":27,"column":5238}}},"42":{"name":"(anonymous_42)","line":27,"loc":{"start":{"line":27,"column":5277},"end":{"line":27,"column":5290}}},"43":{"name":"(anonymous_43)","line":27,"loc":{"start":{"line":27,"column":5620},"end":{"line":27,"column":5635}}},"44":{"name":"(anonymous_44)","line":27,"loc":{"start":{"line":27,"column":5725},"end":{"line":27,"column":5736}}},"45":{"name":"(anonymous_45)","line":27,"loc":{"start":{"line":27,"column":5761},"end":{"line":27,"column":5774}}},"46":{"name":"c","line":27,"loc":{"start":{"line":27,"column":5775},"end":{"line":27,"column":5792}}},"47":{"name":"(anonymous_47)","line":27,"loc":{"start":{"line":27,"column":6443},"end":{"line":27,"column":6458}}},"48":{"name":"(anonymous_48)","line":27,"loc":{"start":{"line":27,"column":6541},"end":{"line":27,"column":6552}}},"49":{"name":"(anonymous_49)","line":27,"loc":{"start":{"line":27,"column":6586},"end":{"line":27,"column":6596}}},"50":{"name":"(anonymous_50)","line":27,"loc":{"start":{"line":27,"column":6731},"end":{"line":27,"column":6746}}},"51":{"name":"(anonymous_51)","line":27,"loc":{"start":{"line":27,"column":6800},"end":{"line":27,"column":6811}}},"52":{"name":"(anonymous_52)","line":27,"loc":{"start":{"line":27,"column":6834},"end":{"line":27,"column":6847}}},"53":{"name":"(anonymous_53)","line":27,"loc":{"start":{"line":27,"column":6982},"end":{"line":27,"column":6995}}},"54":{"name":"(anonymous_54)","line":27,"loc":{"start":{"line":27,"column":7099},"end":{"line":27,"column":7112}}},"55":{"name":"(anonymous_55)","line":27,"loc":{"start":{"line":27,"column":7155},"end":{"line":27,"column":7166}}},"56":{"name":"(anonymous_56)","line":27,"loc":{"start":{"line":27,"column":7190},"end":{"line":27,"column":7200}}},"57":{"name":"(anonymous_57)","line":27,"loc":{"start":{"line":27,"column":7440},"end":{"line":27,"column":7453}}},"58":{"name":"(anonymous_58)","line":27,"loc":{"start":{"line":27,"column":7496},"end":{"line":27,"column":7507}}},"59":{"name":"(anonymous_59)","line":27,"loc":{"start":{"line":27,"column":7534},"end":{"line":27,"column":7547}}},"60":{"name":"(anonymous_60)","line":27,"loc":{"start":{"line":27,"column":7590},"end":{"line":27,"column":7605}}},"61":{"name":"(anonymous_61)","line":27,"loc":{"start":{"line":27,"column":7659},"end":{"line":27,"column":7670}}},"62":{"name":"(anonymous_62)","line":27,"loc":{"start":{"line":27,"column":7695},"end":{"line":27,"column":7708}}},"63":{"name":"(anonymous_63)","line":27,"loc":{"start":{"line":27,"column":8008},"end":{"line":27,"column":8023}}},"64":{"name":"d","line":27,"loc":{"start":{"line":27,"column":8037},"end":{"line":27,"column":8050}}},"65":{"name":"(anonymous_65)","line":27,"loc":{"start":{"line":27,"column":8155},"end":{"line":27,"column":8170}}},"66":{"name":"(anonymous_66)","line":27,"loc":{"start":{"line":27,"column":8224},"end":{"line":27,"column":8235}}},"67":{"name":"(anonymous_67)","line":27,"loc":{"start":{"line":27,"column":8265},"end":{"line":27,"column":8282}}},"68":{"name":"(anonymous_68)","line":27,"loc":{"start":{"line":27,"column":8327},"end":{"line":27,"column":8340}}},"69":{"name":"(anonymous_69)","line":27,"loc":{"start":{"line":27,"column":8488},"end":{"line":27,"column":8503}}},"70":{"name":"(anonymous_70)","line":27,"loc":{"start":{"line":27,"column":8614},"end":{"line":27,"column":8625}}},"71":{"name":"(anonymous_71)","line":27,"loc":{"start":{"line":27,"column":8732},"end":{"line":27,"column":8743}}},"72":{"name":"(anonymous_72)","line":27,"loc":{"start":{"line":27,"column":9013},"end":{"line":27,"column":9026}}},"73":{"name":"c","line":27,"loc":{"start":{"line":27,"column":9040},"end":{"line":27,"column":9053}}},"74":{"name":"(anonymous_74)","line":27,"loc":{"start":{"line":27,"column":9124},"end":{"line":27,"column":9134}}},"75":{"name":"(anonymous_75)","line":27,"loc":{"start":{"line":27,"column":9196},"end":{"line":27,"column":9211}}},"76":{"name":"d","line":27,"loc":{"start":{"line":27,"column":9225},"end":{"line":27,"column":9238}}},"77":{"name":"e","line":27,"loc":{"start":{"line":27,"column":9745},"end":{"line":27,"column":9760}}},"78":{"name":"c","line":27,"loc":{"start":{"line":27,"column":9761},"end":{"line":27,"column":9778}}},"79":{"name":"d","line":27,"loc":{"start":{"line":27,"column":10252},"end":{"line":27,"column":10265}}},"80":{"name":"c","line":27,"loc":{"start":{"line":27,"column":10266},"end":{"line":27,"column":10279}}},"81":{"name":"(anonymous_81)","line":27,"loc":{"start":{"line":27,"column":10825},"end":{"line":27,"column":10838}}},"82":{"name":"(anonymous_82)","line":27,"loc":{"start":{"line":27,"column":10924},"end":{"line":27,"column":10937}}},"83":{"name":"(anonymous_83)","line":27,"loc":{"start":{"line":27,"column":11015},"end":{"line":27,"column":11028}}},"84":{"name":"(anonymous_84)","line":27,"loc":{"start":{"line":27,"column":11124},"end":{"line":27,"column":11135}}},"85":{"name":"(anonymous_85)","line":27,"loc":{"start":{"line":27,"column":11199},"end":{"line":27,"column":11218}}},"86":{"name":"(anonymous_86)","line":27,"loc":{"start":{"line":27,"column":11339},"end":{"line":27,"column":11352}}},"87":{"name":"(anonymous_87)","line":27,"loc":{"start":{"line":27,"column":11394},"end":{"line":27,"column":11407}}},"88":{"name":"(anonymous_88)","line":27,"loc":{"start":{"line":27,"column":11548},"end":{"line":27,"column":11559}}},"89":{"name":"(anonymous_89)","line":27,"loc":{"start":{"line":27,"column":11832},"end":{"line":27,"column":11849}}},"90":{"name":"f","line":27,"loc":{"start":{"line":27,"column":12022},"end":{"line":27,"column":12047}}},"91":{"name":"h","line":27,"loc":{"start":{"line":27,"column":12048},"end":{"line":27,"column":12061}}},"92":{"name":"g","line":27,"loc":{"start":{"line":27,"column":12347},"end":{"line":27,"column":12364}}},"93":{"name":"h","line":27,"loc":{"start":{"line":27,"column":12490},"end":{"line":27,"column":12507}}},"94":{"name":"(anonymous_94)","line":27,"loc":{"start":{"line":27,"column":12649},"end":{"line":27,"column":12659}}},"95":{"name":"(anonymous_95)","line":27,"loc":{"start":{"line":27,"column":12726},"end":{"line":27,"column":12737}}},"96":{"name":"i","line":27,"loc":{"start":{"line":27,"column":13075},"end":{"line":27,"column":13087}}},"97":{"name":"j","line":27,"loc":{"start":{"line":27,"column":13097},"end":{"line":27,"column":13112}}},"98":{"name":"k","line":27,"loc":{"start":{"line":27,"column":13172},"end":{"line":27,"column":13195}}},"99":{"name":"(anonymous_99)","line":27,"loc":{"start":{"line":27,"column":13487},"end":{"line":27,"column":13502}}},"100":{"name":"(anonymous_100)","line":27,"loc":{"start":{"line":27,"column":13546},"end":{"line":27,"column":13561}}},"101":{"name":"(anonymous_101)","line":27,"loc":{"start":{"line":27,"column":13597},"end":{"line":27,"column":13612}}},"102":{"name":"(anonymous_102)","line":27,"loc":{"start":{"line":27,"column":13638},"end":{"line":27,"column":13649}}},"103":{"name":"(anonymous_103)","line":27,"loc":{"start":{"line":27,"column":13657},"end":{"line":27,"column":13668}}},"104":{"name":"(anonymous_104)","line":27,"loc":{"start":{"line":27,"column":13695},"end":{"line":27,"column":13708}}},"105":{"name":"(anonymous_105)","line":27,"loc":{"start":{"line":27,"column":13719},"end":{"line":27,"column":13730}}},"106":{"name":"(anonymous_106)","line":27,"loc":{"start":{"line":27,"column":13788},"end":{"line":27,"column":13803}}},"107":{"name":"(anonymous_107)","line":27,"loc":{"start":{"line":27,"column":13842},"end":{"line":27,"column":13855}}},"108":{"name":"(anonymous_108)","line":27,"loc":{"start":{"line":27,"column":13918},"end":{"line":27,"column":13928}}},"109":{"name":"(anonymous_109)","line":27,"loc":{"start":{"line":27,"column":13950},"end":{"line":27,"column":13965}}},"110":{"name":"(anonymous_110)","line":27,"loc":{"start":{"line":27,"column":14010},"end":{"line":27,"column":14025}}},"111":{"name":"(anonymous_111)","line":27,"loc":{"start":{"line":27,"column":14255},"end":{"line":27,"column":14266}}},"112":{"name":"(anonymous_112)","line":27,"loc":{"start":{"line":27,"column":14273},"end":{"line":27,"column":14284}}},"113":{"name":"(anonymous_113)","line":27,"loc":{"start":{"line":27,"column":14474},"end":{"line":27,"column":14487}}},"114":{"name":"(anonymous_114)","line":27,"loc":{"start":{"line":27,"column":14661},"end":{"line":27,"column":14674}}},"115":{"name":"(anonymous_115)","line":27,"loc":{"start":{"line":27,"column":14740},"end":{"line":27,"column":14755}}},"116":{"name":"(anonymous_116)","line":27,"loc":{"start":{"line":27,"column":14778},"end":{"line":27,"column":14793}}},"117":{"name":"(anonymous_117)","line":27,"loc":{"start":{"line":27,"column":14846},"end":{"line":27,"column":14857}}},"118":{"name":"(anonymous_118)","line":27,"loc":{"start":{"line":27,"column":14892},"end":{"line":27,"column":14905}}},"119":{"name":"(anonymous_119)","line":27,"loc":{"start":{"line":27,"column":14942},"end":{"line":27,"column":14957}}},"120":{"name":"(anonymous_120)","line":27,"loc":{"start":{"line":27,"column":14989},"end":{"line":27,"column":14999}}},"121":{"name":"(anonymous_121)","line":27,"loc":{"start":{"line":27,"column":15031},"end":{"line":27,"column":15044}}},"122":{"name":"(anonymous_122)","line":27,"loc":{"start":{"line":27,"column":15055},"end":{"line":27,"column":15066}}},"123":{"name":"(anonymous_123)","line":27,"loc":{"start":{"line":27,"column":15143},"end":{"line":27,"column":15156}}},"124":{"name":"(anonymous_124)","line":27,"loc":{"start":{"line":27,"column":15167},"end":{"line":27,"column":15178}}},"125":{"name":"(anonymous_125)","line":27,"loc":{"start":{"line":27,"column":15216},"end":{"line":27,"column":15229}}},"126":{"name":"(anonymous_126)","line":27,"loc":{"start":{"line":27,"column":15231},"end":{"line":27,"column":15242}}},"127":{"name":"(anonymous_127)","line":27,"loc":{"start":{"line":27,"column":15285},"end":{"line":27,"column":15296}}},"128":{"name":"(anonymous_128)","line":27,"loc":{"start":{"line":27,"column":15362},"end":{"line":27,"column":15372}}},"129":{"name":"(anonymous_129)","line":27,"loc":{"start":{"line":27,"column":15451},"end":{"line":27,"column":15461}}}},"statementMap":{"1":{"start":{"line":27,"column":0},"end":{"line":27,"column":15483}},"2":{"start":{"line":27,"column":15},"end":{"line":27,"column":199}},"3":{"start":{"line":27,"column":217},"end":{"line":27,"column":15480}},"4":{"start":{"line":27,"column":236},"end":{"line":27,"column":381}},"5":{"start":{"line":27,"column":250},"end":{"line":27,"column":278}},"6":{"start":{"line":27,"column":258},"end":{"line":27,"column":278}},"7":{"start":{"line":27,"column":278},"end":{"line":27,"column":317}},"8":{"start":{"line":27,"column":317},"end":{"line":27,"column":380}},"9":{"start":{"line":27,"column":381},"end":{"line":27,"column":390}},"10":{"start":{"line":27,"column":390},"end":{"line":27,"column":420}},"11":{"start":{"line":27,"column":452},"end":{"line":27,"column":675}},"12":{"start":{"line":27,"column":465},"end":{"line":27,"column":499}},"13":{"start":{"line":27,"column":499},"end":{"line":27,"column":674}},"14":{"start":{"line":27,"column":649},"end":{"line":27,"column":671}},"15":{"start":{"line":27,"column":675},"end":{"line":27,"column":715}},"16":{"start":{"line":27,"column":715},"end":{"line":27,"column":731}},"17":{"start":{"line":27,"column":731},"end":{"line":27,"column":828}},"18":{"start":{"line":27,"column":828},"end":{"line":27,"column":907}},"19":{"start":{"line":27,"column":936},"end":{"line":27,"column":1119}},"20":{"start":{"line":27,"column":961},"end":{"line":27,"column":989}},"21":{"start":{"line":27,"column":980},"end":{"line":27,"column":989}},"22":{"start":{"line":27,"column":989},"end":{"line":27,"column":998}},"23":{"start":{"line":27,"column":998},"end":{"line":27,"column":1079}},"24":{"start":{"line":27,"column":1009},"end":{"line":27,"column":1079}},"25":{"start":{"line":27,"column":1024},"end":{"line":27,"column":1079}},"26":{"start":{"line":27,"column":1079},"end":{"line":27,"column":1102}},"27":{"start":{"line":27,"column":1148},"end":{"line":27,"column":1228}},"28":{"start":{"line":27,"column":1173},"end":{"line":27,"column":1211}},"29":{"start":{"line":27,"column":1259},"end":{"line":27,"column":1403}},"30":{"start":{"line":27,"column":1277},"end":{"line":27,"column":1402}},"31":{"start":{"line":27,"column":1403},"end":{"line":27,"column":1425}},"32":{"start":{"line":27,"column":1425},"end":{"line":27,"column":1467}},"33":{"start":{"line":27,"column":1467},"end":{"line":27,"column":1533}},"34":{"start":{"line":27,"column":1533},"end":{"line":27,"column":1545}},"35":{"start":{"line":27,"column":1545},"end":{"line":27,"column":1553}},"36":{"start":{"line":27,"column":1553},"end":{"line":27,"column":1575}},"37":{"start":{"line":27,"column":1575},"end":{"line":27,"column":1702}},"38":{"start":{"line":27,"column":1702},"end":{"line":27,"column":1723}},"39":{"start":{"line":27,"column":1723},"end":{"line":27,"column":1747}},"40":{"start":{"line":27,"column":1747},"end":{"line":27,"column":2567}},"41":{"start":{"line":27,"column":1844},"end":{"line":27,"column":1989}},"42":{"start":{"line":27,"column":1871},"end":{"line":27,"column":1942}},"43":{"start":{"line":27,"column":1876},"end":{"line":27,"column":1942}},"44":{"start":{"line":27,"column":1942},"end":{"line":27,"column":1966}},"45":{"start":{"line":27,"column":1972},"end":{"line":27,"column":1989}},"46":{"start":{"line":27,"column":2020},"end":{"line":27,"column":2042}},"47":{"start":{"line":27,"column":2074},"end":{"line":27,"column":2262}},"48":{"start":{"line":27,"column":2100},"end":{"line":27,"column":2126}},"49":{"start":{"line":27,"column":2131},"end":{"line":27,"column":2243}},"50":{"start":{"line":27,"column":2156},"end":{"line":27,"column":2243}},"51":{"start":{"line":27,"column":2243},"end":{"line":27,"column":2261}},"52":{"start":{"line":27,"column":2294},"end":{"line":27,"column":2317}},"53":{"start":{"line":27,"column":2351},"end":{"line":27,"column":2505}},"54":{"start":{"line":27,"column":2378},"end":{"line":27,"column":2452}},"55":{"start":{"line":27,"column":2383},"end":{"line":27,"column":2452}},"56":{"start":{"line":27,"column":2452},"end":{"line":27,"column":2479}},"57":{"start":{"line":27,"column":2485},"end":{"line":27,"column":2505}},"58":{"start":{"line":27,"column":2539},"end":{"line":27,"column":2564}},"59":{"start":{"line":27,"column":2567},"end":{"line":27,"column":2590}},"60":{"start":{"line":27,"column":2590},"end":{"line":27,"column":2647}},"61":{"start":{"line":27,"column":2676},"end":{"line":27,"column":2702}},"62":{"start":{"line":27,"column":2690},"end":{"line":27,"column":2701}},"63":{"start":{"line":27,"column":2702},"end":{"line":27,"column":2863}},"64":{"start":{"line":27,"column":2716},"end":{"line":27,"column":2854}},"65":{"start":{"line":27,"column":2751},"end":{"line":27,"column":2854}},"66":{"start":{"line":27,"column":2777},"end":{"line":27,"column":2854}},"67":{"start":{"line":27,"column":2854},"end":{"line":27,"column":2862}},"68":{"start":{"line":27,"column":2863},"end":{"line":27,"column":2940}},"69":{"start":{"line":27,"column":2879},"end":{"line":27,"column":2931}},"70":{"start":{"line":27,"column":2910},"end":{"line":27,"column":2931}},"71":{"start":{"line":27,"column":2922},"end":{"line":27,"column":2931}},"72":{"start":{"line":27,"column":2931},"end":{"line":27,"column":2939}},"73":{"start":{"line":27,"column":2940},"end":{"line":27,"column":3089}},"74":{"start":{"line":27,"column":2954},"end":{"line":27,"column":3055}},"75":{"start":{"line":27,"column":2977},"end":{"line":27,"column":3010}},"76":{"start":{"line":27,"column":2992},"end":{"line":27,"column":3010}},"77":{"start":{"line":27,"column":3010},"end":{"line":27,"column":3030}},"78":{"start":{"line":27,"column":3021},"end":{"line":27,"column":3030}},"79":{"start":{"line":27,"column":3030},"end":{"line":27,"column":3048}},"80":{"start":{"line":27,"column":3036},"end":{"line":27,"column":3048}},"81":{"start":{"line":27,"column":3048},"end":{"line":27,"column":3054}},"82":{"start":{"line":27,"column":3055},"end":{"line":27,"column":3088}},"83":{"start":{"line":27,"column":3089},"end":{"line":27,"column":3143}},"84":{"start":{"line":27,"column":3103},"end":{"line":27,"column":3142}},"85":{"start":{"line":27,"column":3143},"end":{"line":27,"column":3192}},"86":{"start":{"line":27,"column":3157},"end":{"line":27,"column":3171}},"87":{"start":{"line":27,"column":3171},"end":{"line":27,"column":3191}},"88":{"start":{"line":27,"column":3192},"end":{"line":27,"column":3226}},"89":{"start":{"line":27,"column":3208},"end":{"line":27,"column":3225}},"90":{"start":{"line":27,"column":3226},"end":{"line":27,"column":3263}},"91":{"start":{"line":27,"column":3242},"end":{"line":27,"column":3262}},"92":{"start":{"line":27,"column":3263},"end":{"line":27,"column":3389}},"93":{"start":{"line":27,"column":3389},"end":{"line":27,"column":3540}},"94":{"start":{"line":27,"column":3540},"end":{"line":27,"column":3553}},"95":{"start":{"line":27,"column":3553},"end":{"line":27,"column":3599}},"96":{"start":{"line":27,"column":3571},"end":{"line":27,"column":3597}},"97":{"start":{"line":27,"column":3599},"end":{"line":27,"column":3712}},"98":{"start":{"line":27,"column":3635},"end":{"line":27,"column":3694}},"99":{"start":{"line":27,"column":3712},"end":{"line":27,"column":3808}},"100":{"start":{"line":27,"column":3745},"end":{"line":27,"column":3806}},"101":{"start":{"line":27,"column":3808},"end":{"line":27,"column":3819}},"102":{"start":{"line":27,"column":3850},"end":{"line":27,"column":4214}},"103":{"start":{"line":27,"column":3866},"end":{"line":27,"column":3899}},"104":{"start":{"line":27,"column":3899},"end":{"line":27,"column":3953}},"105":{"start":{"line":27,"column":3953},"end":{"line":27,"column":4042}},"106":{"start":{"line":27,"column":4023},"end":{"line":27,"column":4042}},"107":{"start":{"line":27,"column":4042},"end":{"line":27,"column":4099}},"108":{"start":{"line":27,"column":4099},"end":{"line":27,"column":4213}},"109":{"start":{"line":27,"column":4103},"end":{"line":27,"column":4202}},"110":{"start":{"line":27,"column":4214},"end":{"line":27,"column":4236}},"111":{"start":{"line":27,"column":4236},"end":{"line":27,"column":4252}},"112":{"start":{"line":27,"column":4252},"end":{"line":27,"column":4332}},"113":{"start":{"line":27,"column":4332},"end":{"line":27,"column":4391}},"114":{"start":{"line":27,"column":4409},"end":{"line":27,"column":4449}},"115":{"start":{"line":27,"column":4467},"end":{"line":27,"column":4478}},"116":{"start":{"line":27,"column":4478},"end":{"line":27,"column":4528}},"117":{"start":{"line":27,"column":4504},"end":{"line":27,"column":4527}},"118":{"start":{"line":27,"column":4544},"end":{"line":27,"column":4557}},"119":{"start":{"line":27,"column":4557},"end":{"line":27,"column":4826}},"120":{"start":{"line":27,"column":4857},"end":{"line":27,"column":4983}},"121":{"start":{"line":27,"column":4871},"end":{"line":27,"column":4982}},"122":{"start":{"line":27,"column":4983},"end":{"line":27,"column":5005}},"123":{"start":{"line":27,"column":5005},"end":{"line":27,"column":5048}},"124":{"start":{"line":27,"column":5048},"end":{"line":27,"column":5156}},"125":{"start":{"line":27,"column":5187},"end":{"line":27,"column":5203}},"126":{"start":{"line":27,"column":5203},"end":{"line":27,"column":5214}},"127":{"start":{"line":27,"column":5214},"end":{"line":27,"column":5618}},"128":{"start":{"line":27,"column":5239},"end":{"line":27,"column":5594}},"129":{"start":{"line":27,"column":5291},"end":{"line":27,"column":5314}},"130":{"start":{"line":27,"column":5314},"end":{"line":27,"column":5339}},"131":{"start":{"line":27,"column":5324},"end":{"line":27,"column":5339}},"132":{"start":{"line":27,"column":5339},"end":{"line":27,"column":5373}},"133":{"start":{"line":27,"column":5358},"end":{"line":27,"column":5373}},"134":{"start":{"line":27,"column":5373},"end":{"line":27,"column":5461}},"135":{"start":{"line":27,"column":5389},"end":{"line":27,"column":5461}},"136":{"start":{"line":27,"column":5461},"end":{"line":27,"column":5579}},"137":{"start":{"line":27,"column":5479},"end":{"line":27,"column":5507}},"138":{"start":{"line":27,"column":5507},"end":{"line":27,"column":5578}},"139":{"start":{"line":27,"column":5579},"end":{"line":27,"column":5592}},"140":{"start":{"line":27,"column":5649},"end":{"line":27,"column":5671}},"141":{"start":{"line":27,"column":5671},"end":{"line":27,"column":5687}},"142":{"start":{"line":27,"column":5687},"end":{"line":27,"column":5712}},"143":{"start":{"line":27,"column":5712},"end":{"line":27,"column":6441}},"144":{"start":{"line":27,"column":5737},"end":{"line":27,"column":6417}},"145":{"start":{"line":27,"column":5775},"end":{"line":27,"column":5931}},"146":{"start":{"line":27,"column":5793},"end":{"line":27,"column":5930}},"147":{"start":{"line":27,"column":5931},"end":{"line":27,"column":5991}},"148":{"start":{"line":27,"column":5937},"end":{"line":27,"column":5991}},"149":{"start":{"line":27,"column":5991},"end":{"line":27,"column":6041}},"150":{"start":{"line":27,"column":6041},"end":{"line":27,"column":6388}},"151":{"start":{"line":27,"column":6206},"end":{"line":27,"column":6388}},"152":{"start":{"line":27,"column":6222},"end":{"line":27,"column":6279}},"153":{"start":{"line":27,"column":6249},"end":{"line":27,"column":6279}},"154":{"start":{"line":27,"column":6284},"end":{"line":27,"column":6297}},"155":{"start":{"line":27,"column":6297},"end":{"line":27,"column":6364}},"156":{"start":{"line":27,"column":6312},"end":{"line":27,"column":6364}},"157":{"start":{"line":27,"column":6364},"end":{"line":27,"column":6387}},"158":{"start":{"line":27,"column":6388},"end":{"line":27,"column":6415}},"159":{"start":{"line":27,"column":6472},"end":{"line":27,"column":6494}},"160":{"start":{"line":27,"column":6494},"end":{"line":27,"column":6510}},"161":{"start":{"line":27,"column":6510},"end":{"line":27,"column":6528}},"162":{"start":{"line":27,"column":6528},"end":{"line":27,"column":6729}},"163":{"start":{"line":27,"column":6553},"end":{"line":27,"column":6705}},"164":{"start":{"line":27,"column":6597},"end":{"line":27,"column":6703}},"165":{"start":{"line":27,"column":6621},"end":{"line":27,"column":6703}},"166":{"start":{"line":27,"column":6760},"end":{"line":27,"column":6776}},"167":{"start":{"line":27,"column":6776},"end":{"line":27,"column":6787}},"168":{"start":{"line":27,"column":6787},"end":{"line":27,"column":7097}},"169":{"start":{"line":27,"column":6812},"end":{"line":27,"column":7073}},"170":{"start":{"line":27,"column":6848},"end":{"line":27,"column":6953}},"171":{"start":{"line":27,"column":6996},"end":{"line":27,"column":7071}},"172":{"start":{"line":27,"column":7126},"end":{"line":27,"column":7438}},"173":{"start":{"line":27,"column":7167},"end":{"line":27,"column":7414}},"174":{"start":{"line":27,"column":7201},"end":{"line":27,"column":7302}},"175":{"start":{"line":27,"column":7281},"end":{"line":27,"column":7302}},"176":{"start":{"line":27,"column":7302},"end":{"line":27,"column":7310}},"177":{"start":{"line":27,"column":7310},"end":{"line":27,"column":7412}},"178":{"start":{"line":27,"column":7467},"end":{"line":27,"column":7588}},"179":{"start":{"line":27,"column":7508},"end":{"line":27,"column":7564}},"180":{"start":{"line":27,"column":7548},"end":{"line":27,"column":7562}},"181":{"start":{"line":27,"column":7619},"end":{"line":27,"column":7635}},"182":{"start":{"line":27,"column":7635},"end":{"line":27,"column":7646}},"183":{"start":{"line":27,"column":7646},"end":{"line":27,"column":8006}},"184":{"start":{"line":27,"column":7671},"end":{"line":27,"column":7982}},"185":{"start":{"line":27,"column":7709},"end":{"line":27,"column":7743}},"186":{"start":{"line":27,"column":7743},"end":{"line":27,"column":7754}},"187":{"start":{"line":27,"column":7754},"end":{"line":27,"column":7793}},"188":{"start":{"line":27,"column":7770},"end":{"line":27,"column":7793}},"189":{"start":{"line":27,"column":7793},"end":{"line":27,"column":7806}},"190":{"start":{"line":27,"column":7806},"end":{"line":27,"column":7980}},"191":{"start":{"line":27,"column":8037},"end":{"line":27,"column":8067}},"192":{"start":{"line":27,"column":8051},"end":{"line":27,"column":8066}},"193":{"start":{"line":27,"column":8067},"end":{"line":27,"column":8089}},"194":{"start":{"line":27,"column":8089},"end":{"line":27,"column":8135}},"195":{"start":{"line":27,"column":8135},"end":{"line":27,"column":8153}},"196":{"start":{"line":27,"column":8184},"end":{"line":27,"column":8200}},"197":{"start":{"line":27,"column":8200},"end":{"line":27,"column":8211}},"198":{"start":{"line":27,"column":8211},"end":{"line":27,"column":8486}},"199":{"start":{"line":27,"column":8236},"end":{"line":27,"column":8462}},"200":{"start":{"line":27,"column":8283},"end":{"line":27,"column":8291}},"201":{"start":{"line":27,"column":8291},"end":{"line":27,"column":8460}},"202":{"start":{"line":27,"column":8341},"end":{"line":27,"column":8358}},"203":{"start":{"line":27,"column":8358},"end":{"line":27,"column":8395}},"204":{"start":{"line":27,"column":8395},"end":{"line":27,"column":8408}},"205":{"start":{"line":27,"column":8408},"end":{"line":27,"column":8429}},"206":{"start":{"line":27,"column":8517},"end":{"line":27,"column":8533}},"207":{"start":{"line":27,"column":8533},"end":{"line":27,"column":8974}},"208":{"start":{"line":27,"column":8626},"end":{"line":27,"column":8718}},"209":{"start":{"line":27,"column":8649},"end":{"line":27,"column":8694}},"210":{"start":{"line":27,"column":8694},"end":{"line":27,"column":8717}},"211":{"start":{"line":27,"column":8718},"end":{"line":27,"column":8726}},"212":{"start":{"line":27,"column":8744},"end":{"line":27,"column":8971}},"213":{"start":{"line":27,"column":8822},"end":{"line":27,"column":8843}},"214":{"start":{"line":27,"column":8843},"end":{"line":27,"column":8865}},"215":{"start":{"line":27,"column":8865},"end":{"line":27,"column":8943}},"216":{"start":{"line":27,"column":8923},"end":{"line":27,"column":8943}},"217":{"start":{"line":27,"column":8943},"end":{"line":27,"column":8970}},"218":{"start":{"line":27,"column":8974},"end":{"line":27,"column":9011}},"219":{"start":{"line":27,"column":9040},"end":{"line":27,"column":9068}},"220":{"start":{"line":27,"column":9054},"end":{"line":27,"column":9067}},"221":{"start":{"line":27,"column":9068},"end":{"line":27,"column":9194}},"222":{"start":{"line":27,"column":9135},"end":{"line":27,"column":9155}},"223":{"start":{"line":27,"column":9225},"end":{"line":27,"column":9745}},"224":{"start":{"line":27,"column":9239},"end":{"line":27,"column":9278}},"225":{"start":{"line":27,"column":9278},"end":{"line":27,"column":9744}},"226":{"start":{"line":27,"column":9288},"end":{"line":27,"column":9574}},"227":{"start":{"line":27,"column":9296},"end":{"line":27,"column":9348}},"228":{"start":{"line":27,"column":9348},"end":{"line":27,"column":9573}},"229":{"start":{"line":27,"column":9574},"end":{"line":27,"column":9743}},"230":{"start":{"line":27,"column":9745},"end":{"line":27,"column":12022}},"231":{"start":{"line":27,"column":9761},"end":{"line":27,"column":10252}},"232":{"start":{"line":27,"column":9779},"end":{"line":27,"column":9873}},"233":{"start":{"line":27,"column":9873},"end":{"line":27,"column":9915}},"234":{"start":{"line":27,"column":9915},"end":{"line":27,"column":10147}},"235":{"start":{"line":27,"column":10027},"end":{"line":27,"column":10138}},"236":{"start":{"line":27,"column":10040},"end":{"line":27,"column":10123}},"237":{"start":{"line":27,"column":10104},"end":{"line":27,"column":10123}},"238":{"start":{"line":27,"column":10123},"end":{"line":27,"column":10137}},"239":{"start":{"line":27,"column":10138},"end":{"line":27,"column":10146}},"240":{"start":{"line":27,"column":10147},"end":{"line":27,"column":10251}},"241":{"start":{"line":27,"column":10252},"end":{"line":27,"column":10612}},"242":{"start":{"line":27,"column":10266},"end":{"line":27,"column":10328}},"243":{"start":{"line":27,"column":10280},"end":{"line":27,"column":10327}},"244":{"start":{"line":27,"column":10328},"end":{"line":27,"column":10402}},"245":{"start":{"line":27,"column":10402},"end":{"line":27,"column":10448}},"246":{"start":{"line":27,"column":10448},"end":{"line":27,"column":10490}},"247":{"start":{"line":27,"column":10490},"end":{"line":27,"column":10611}},"248":{"start":{"line":27,"column":10612},"end":{"line":27,"column":10678}},"249":{"start":{"line":27,"column":10618},"end":{"line":27,"column":10678}},"250":{"start":{"line":27,"column":10678},"end":{"line":27,"column":10754}},"251":{"start":{"line":27,"column":10693},"end":{"line":27,"column":10754}},"252":{"start":{"line":27,"column":10754},"end":{"line":27,"column":10811}},"253":{"start":{"line":27,"column":10811},"end":{"line":27,"column":11521}},"254":{"start":{"line":27,"column":10839},"end":{"line":27,"column":10904}},"255":{"start":{"line":27,"column":10852},"end":{"line":27,"column":10904}},"256":{"start":{"line":27,"column":10904},"end":{"line":27,"column":10915}},"257":{"start":{"line":27,"column":10938},"end":{"line":27,"column":11006}},"258":{"start":{"line":27,"column":10969},"end":{"line":27,"column":11006}},"259":{"start":{"line":27,"column":10992},"end":{"line":27,"column":11006}},"260":{"start":{"line":27,"column":11029},"end":{"line":27,"column":11067}},"261":{"start":{"line":27,"column":11136},"end":{"line":27,"column":11147}},"262":{"start":{"line":27,"column":11147},"end":{"line":27,"column":11177}},"263":{"start":{"line":27,"column":11219},"end":{"line":27,"column":11255}},"264":{"start":{"line":27,"column":11255},"end":{"line":27,"column":11332}},"265":{"start":{"line":27,"column":11353},"end":{"line":27,"column":11378}},"266":{"start":{"line":27,"column":11366},"end":{"line":27,"column":11378}},"267":{"start":{"line":27,"column":11378},"end":{"line":27,"column":11386}},"268":{"start":{"line":27,"column":11408},"end":{"line":27,"column":11419}},"269":{"start":{"line":27,"column":11419},"end":{"line":27,"column":11461}},"270":{"start":{"line":27,"column":11521},"end":{"line":27,"column":12021}},"271":{"start":{"line":27,"column":11560},"end":{"line":27,"column":11821}},"272":{"start":{"line":27,"column":11850},"end":{"line":27,"column":11923}},"273":{"start":{"line":27,"column":11874},"end":{"line":27,"column":11923}},"274":{"start":{"line":27,"column":11923},"end":{"line":27,"column":11992}},"275":{"start":{"line":27,"column":11942},"end":{"line":27,"column":11992}},"276":{"start":{"line":27,"column":11992},"end":{"line":27,"column":12018}},"277":{"start":{"line":27,"column":12022},"end":{"line":27,"column":12347}},"278":{"start":{"line":27,"column":12048},"end":{"line":27,"column":12269}},"279":{"start":{"line":27,"column":12062},"end":{"line":27,"column":12131}},"280":{"start":{"line":27,"column":12131},"end":{"line":27,"column":12268}},"281":{"start":{"line":27,"column":12269},"end":{"line":27,"column":12346}},"282":{"start":{"line":27,"column":12347},"end":{"line":27,"column":12490}},"283":{"start":{"line":27,"column":12365},"end":{"line":27,"column":12489}},"284":{"start":{"line":27,"column":12490},"end":{"line":27,"column":13075}},"285":{"start":{"line":27,"column":12508},"end":{"line":27,"column":12546}},"286":{"start":{"line":27,"column":12546},"end":{"line":27,"column":12616}},"287":{"start":{"line":27,"column":12616},"end":{"line":27,"column":12629}},"288":{"start":{"line":27,"column":12629},"end":{"line":27,"column":13036}},"289":{"start":{"line":27,"column":12660},"end":{"line":27,"column":12689}},"290":{"start":{"line":27,"column":12689},"end":{"line":27,"column":12700}},"291":{"start":{"line":27,"column":12700},"end":{"line":27,"column":12932}},"292":{"start":{"line":27,"column":12738},"end":{"line":27,"column":12803}},"293":{"start":{"line":27,"column":12803},"end":{"line":27,"column":12871}},"294":{"start":{"line":27,"column":12968},"end":{"line":27,"column":13036}},"295":{"start":{"line":27,"column":13036},"end":{"line":27,"column":13074}},"296":{"start":{"line":27,"column":13061},"end":{"line":27,"column":13074}},"297":{"start":{"line":27,"column":13075},"end":{"line":27,"column":13097}},"298":{"start":{"line":27,"column":13088},"end":{"line":27,"column":13096}},"299":{"start":{"line":27,"column":13097},"end":{"line":27,"column":13172}},"300":{"start":{"line":27,"column":13113},"end":{"line":27,"column":13171}},"301":{"start":{"line":27,"column":13172},"end":{"line":27,"column":13279}},"302":{"start":{"line":27,"column":13196},"end":{"line":27,"column":13270}},"303":{"start":{"line":27,"column":13212},"end":{"line":27,"column":13221}},"304":{"start":{"line":27,"column":13221},"end":{"line":27,"column":13269}},"305":{"start":{"line":27,"column":13270},"end":{"line":27,"column":13278}},"306":{"start":{"line":27,"column":13279},"end":{"line":27,"column":13338}},"307":{"start":{"line":27,"column":13338},"end":{"line":27,"column":13447}},"308":{"start":{"line":27,"column":13447},"end":{"line":27,"column":13485}},"309":{"start":{"line":27,"column":13503},"end":{"line":27,"column":13544}},"310":{"start":{"line":27,"column":13562},"end":{"line":27,"column":13595}},"311":{"start":{"line":27,"column":13613},"end":{"line":27,"column":13625}},"312":{"start":{"line":27,"column":13625},"end":{"line":27,"column":13693}},"313":{"start":{"line":27,"column":13650},"end":{"line":27,"column":13691}},"314":{"start":{"line":27,"column":13669},"end":{"line":27,"column":13690}},"315":{"start":{"line":27,"column":13709},"end":{"line":27,"column":13786}},"316":{"start":{"line":27,"column":13731},"end":{"line":27,"column":13785}},"317":{"start":{"line":27,"column":13804},"end":{"line":27,"column":13832}},"318":{"start":{"line":27,"column":13832},"end":{"line":27,"column":13948}},"319":{"start":{"line":27,"column":13856},"end":{"line":27,"column":13896}},"320":{"start":{"line":27,"column":13896},"end":{"line":27,"column":13947}},"321":{"start":{"line":27,"column":13929},"end":{"line":27,"column":13933}},"322":{"start":{"line":27,"column":13966},"end":{"line":27,"column":14423}},"323":{"start":{"line":27,"column":14026},"end":{"line":27,"column":14133}},"324":{"start":{"line":27,"column":14133},"end":{"line":27,"column":14142}},"325":{"start":{"line":27,"column":14142},"end":{"line":27,"column":14421}},"326":{"start":{"line":27,"column":14153},"end":{"line":27,"column":14421}},"327":{"start":{"line":27,"column":14267},"end":{"line":27,"column":14325}},"328":{"start":{"line":27,"column":14285},"end":{"line":27,"column":14323}},"329":{"start":{"line":27,"column":14325},"end":{"line":27,"column":14343}},"330":{"start":{"line":27,"column":14423},"end":{"line":27,"column":14472}},"331":{"start":{"line":27,"column":14488},"end":{"line":27,"column":14630}},"332":{"start":{"line":27,"column":14630},"end":{"line":27,"column":14659}},"333":{"start":{"line":27,"column":14675},"end":{"line":27,"column":14709}},"334":{"start":{"line":27,"column":14709},"end":{"line":27,"column":14738}},"335":{"start":{"line":27,"column":14756},"end":{"line":27,"column":14768}},"336":{"start":{"line":27,"column":14768},"end":{"line":27,"column":15029}},"337":{"start":{"line":27,"column":14794},"end":{"line":27,"column":14822}},"338":{"start":{"line":27,"column":14813},"end":{"line":27,"column":14822}},"339":{"start":{"line":27,"column":14822},"end":{"line":27,"column":14982}},"340":{"start":{"line":27,"column":14839},"end":{"line":27,"column":14878}},"341":{"start":{"line":27,"column":14858},"end":{"line":27,"column":14876}},"342":{"start":{"line":27,"column":14885},"end":{"line":27,"column":14928}},"343":{"start":{"line":27,"column":14906},"end":{"line":27,"column":14926}},"344":{"start":{"line":27,"column":14935},"end":{"line":27,"column":14981}},"345":{"start":{"line":27,"column":14958},"end":{"line":27,"column":14980}},"346":{"start":{"line":27,"column":14982},"end":{"line":27,"column":15028}},"347":{"start":{"line":27,"column":15000},"end":{"line":27,"column":15027}},"348":{"start":{"line":27,"column":15045},"end":{"line":27,"column":15141}},"349":{"start":{"line":27,"column":15067},"end":{"line":27,"column":15132}},"350":{"start":{"line":27,"column":15091},"end":{"line":27,"column":15132}},"351":{"start":{"line":27,"column":15132},"end":{"line":27,"column":15140}},"352":{"start":{"line":27,"column":15157},"end":{"line":27,"column":15214}},"353":{"start":{"line":27,"column":15179},"end":{"line":27,"column":15213}},"354":{"start":{"line":27,"column":15183},"end":{"line":27,"column":15194}},"355":{"start":{"line":27,"column":15204},"end":{"line":27,"column":15212}},"356":{"start":{"line":27,"column":15230},"end":{"line":27,"column":15477}},"357":{"start":{"line":27,"column":15256},"end":{"line":27,"column":15441}},"358":{"start":{"line":27,"column":15297},"end":{"line":27,"column":15349}},"359":{"start":{"line":27,"column":15349},"end":{"line":27,"column":15417}},"360":{"start":{"line":27,"column":15373},"end":{"line":27,"column":15416}},"361":{"start":{"line":27,"column":15462},"end":{"line":27,"column":15473}}},"branchMap":{"1":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":65},"end":{"line":27,"column":83}},{"start":{"line":27,"column":84},"end":{"line":27,"column":199}}]},"2":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":15},"end":{"line":27,"column":39}},{"start":{"line":27,"column":41},"end":{"line":27,"column":64}}]},"3":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":122},"end":{"line":27,"column":134}},{"start":{"line":27,"column":135},"end":{"line":27,"column":199}}]},"4":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":84},"end":{"line":27,"column":109}},{"start":{"line":27,"column":111},"end":{"line":27,"column":121}}]},"5":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":160},"end":{"line":27,"column":182}},{"start":{"line":27,"column":183},"end":{"line":27,"column":199}}]},"6":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":250},"end":{"line":27,"column":250}},{"start":{"line":27,"column":250},"end":{"line":27,"column":250}}]},"7":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":961},"end":{"line":27,"column":961}},{"start":{"line":27,"column":961},"end":{"line":27,"column":961}}]},"8":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":964},"end":{"line":27,"column":965}},{"start":{"line":27,"column":967},"end":{"line":27,"column":979}}]},"9":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":998},"end":{"line":27,"column":998}},{"start":{"line":27,"column":998},"end":{"line":27,"column":998}}]},"10":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":1024},"end":{"line":27,"column":1065}},{"start":{"line":27,"column":1068},"end":{"line":27,"column":1077}}]},"11":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":1196},"end":{"line":27,"column":1197}},{"start":{"line":27,"column":1198},"end":{"line":27,"column":1211}}]},"12":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":1180},"end":{"line":27,"column":1181}},{"start":{"line":27,"column":1183},"end":{"line":27,"column":1195}}]},"13":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":1290},"end":{"line":27,"column":1291}},{"start":{"line":27,"column":1293},"end":{"line":27,"column":1295}}]},"14":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":1310},"end":{"line":27,"column":1311}},{"start":{"line":27,"column":1313},"end":{"line":27,"column":1315}}]},"15":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":1332},"end":{"line":27,"column":1333}},{"start":{"line":27,"column":1335},"end":{"line":27,"column":1337}}]},"16":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":1844},"end":{"line":27,"column":1844}},{"start":{"line":27,"column":1844},"end":{"line":27,"column":1844}}]},"17":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":1871},"end":{"line":27,"column":1871}},{"start":{"line":27,"column":1871},"end":{"line":27,"column":1871}}]},"18":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":2074},"end":{"line":27,"column":2074}},{"start":{"line":27,"column":2074},"end":{"line":27,"column":2074}}]},"19":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":2131},"end":{"line":27,"column":2131}},{"start":{"line":27,"column":2131},"end":{"line":27,"column":2131}}]},"20":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":2351},"end":{"line":27,"column":2351}},{"start":{"line":27,"column":2351},"end":{"line":27,"column":2351}}]},"21":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":2378},"end":{"line":27,"column":2378}},{"start":{"line":27,"column":2378},"end":{"line":27,"column":2378}}]},"22":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":2777},"end":{"line":27,"column":2829}},{"start":{"line":27,"column":2832},"end":{"line":27,"column":2852}}]},"23":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":2910},"end":{"line":27,"column":2910}},{"start":{"line":27,"column":2910},"end":{"line":27,"column":2910}}]},"24":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":2954},"end":{"line":27,"column":2954}},{"start":{"line":27,"column":2954},"end":{"line":27,"column":2954}}]},"25":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":2977},"end":{"line":27,"column":2977}},{"start":{"line":27,"column":2977},"end":{"line":27,"column":2977}}]},"26":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":2980},"end":{"line":27,"column":2981}},{"start":{"line":27,"column":2983},"end":{"line":27,"column":2991}}]},"27":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":3010},"end":{"line":27,"column":3010}},{"start":{"line":27,"column":3010},"end":{"line":27,"column":3010}}]},"28":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":3030},"end":{"line":27,"column":3030}},{"start":{"line":27,"column":3030},"end":{"line":27,"column":3030}}]},"29":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":3072},"end":{"line":27,"column":3086}},{"start":{"line":27,"column":3087},"end":{"line":27,"column":3088}}]},"30":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":3109},"end":{"line":27,"column":3111}},{"start":{"line":27,"column":3113},"end":{"line":27,"column":3118}},{"start":{"line":27,"column":3120},"end":{"line":27,"column":3142}}]},"31":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":3122},"end":{"line":27,"column":3127}},{"start":{"line":27,"column":3129},"end":{"line":27,"column":3141}}]},"32":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":3251},"end":{"line":27,"column":3256}},{"start":{"line":27,"column":3257},"end":{"line":27,"column":3259}}]},"33":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":3599},"end":{"line":27,"column":3605}},{"start":{"line":27,"column":3608},"end":{"line":27,"column":3695}}]},"34":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":3641},"end":{"line":27,"column":3661}},{"start":{"line":27,"column":3663},"end":{"line":27,"column":3694}}]},"35":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":3718},"end":{"line":27,"column":3731}},{"start":{"line":27,"column":3733},"end":{"line":27,"column":3807}}]},"36":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":3751},"end":{"line":27,"column":3776}},{"start":{"line":27,"column":3778},"end":{"line":27,"column":3806}}]},"37":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":3753},"end":{"line":27,"column":3755}},{"start":{"line":27,"column":3757},"end":{"line":27,"column":3775}}]},"38":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":3872},"end":{"line":27,"column":3873}},{"start":{"line":27,"column":3875},"end":{"line":27,"column":3880}}]},"39":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":3899},"end":{"line":27,"column":3900}},{"start":{"line":27,"column":3903},"end":{"line":27,"column":3951}}]},"40":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":4042},"end":{"line":27,"column":4065}},{"start":{"line":27,"column":4067},"end":{"line":27,"column":4098}}]},"41":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":4103},"end":{"line":27,"column":4104}},{"start":{"line":27,"column":4107},"end":{"line":27,"column":4201}}]},"42":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":4127},"end":{"line":27,"column":4187}},{"start":{"line":27,"column":4188},"end":{"line":27,"column":4201}}]},"43":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":5314},"end":{"line":27,"column":5314}},{"start":{"line":27,"column":5314},"end":{"line":27,"column":5314}}]},"44":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":5339},"end":{"line":27,"column":5339}},{"start":{"line":27,"column":5339},"end":{"line":27,"column":5339}}]},"45":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":5342},"end":{"line":27,"column":5348}},{"start":{"line":27,"column":5350},"end":{"line":27,"column":5357}}]},"46":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":5373},"end":{"line":27,"column":5373}},{"start":{"line":27,"column":5373},"end":{"line":27,"column":5373}}]},"47":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":5408},"end":{"line":27,"column":5451}},{"start":{"line":27,"column":5453},"end":{"line":27,"column":5460}}]},"48":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":5408},"end":{"line":27,"column":5413}},{"start":{"line":27,"column":5416},"end":{"line":27,"column":5430}}]},"49":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":5461},"end":{"line":27,"column":5461}},{"start":{"line":27,"column":5461},"end":{"line":27,"column":5461}}]},"50":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":5464},"end":{"line":27,"column":5470}},{"start":{"line":27,"column":5472},"end":{"line":27,"column":5477}}]},"51":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":5793},"end":{"line":27,"column":5794}},{"start":{"line":27,"column":5797},"end":{"line":27,"column":5862}}]},"52":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":5840},"end":{"line":27,"column":5841}},{"start":{"line":27,"column":5844},"end":{"line":27,"column":5861}}]},"53":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":5931},"end":{"line":27,"column":5931}},{"start":{"line":27,"column":5931},"end":{"line":27,"column":5931}}]},"54":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":6041},"end":{"line":27,"column":6041}},{"start":{"line":27,"column":6041},"end":{"line":27,"column":6041}}]},"55":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":6044},"end":{"line":27,"column":6050}},{"start":{"line":27,"column":6052},"end":{"line":27,"column":6057}},{"start":{"line":27,"column":6060},"end":{"line":27,"column":6114}}]},"56":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":6116},"end":{"line":27,"column":6131}},{"start":{"line":27,"column":6134},"end":{"line":27,"column":6148}}]},"57":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":6150},"end":{"line":27,"column":6156}},{"start":{"line":27,"column":6159},"end":{"line":27,"column":6182}}]},"58":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":6184},"end":{"line":27,"column":6185}},{"start":{"line":27,"column":6187},"end":{"line":27,"column":6205}}]},"59":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":6206},"end":{"line":27,"column":6206}},{"start":{"line":27,"column":6206},"end":{"line":27,"column":6206}}]},"60":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":6249},"end":{"line":27,"column":6255}},{"start":{"line":27,"column":6257},"end":{"line":27,"column":6278}}]},"61":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":6312},"end":{"line":27,"column":6331}},{"start":{"line":27,"column":6334},"end":{"line":27,"column":6362}}]},"62":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":6334},"end":{"line":27,"column":6344}},{"start":{"line":27,"column":6346},"end":{"line":27,"column":6354}}]},"63":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":6364},"end":{"line":27,"column":6374}},{"start":{"line":27,"column":6376},"end":{"line":27,"column":6387}}]},"64":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":6395},"end":{"line":27,"column":6400}},{"start":{"line":27,"column":6403},"end":{"line":27,"column":6412}}]},"65":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":6597},"end":{"line":27,"column":6597}},{"start":{"line":27,"column":6597},"end":{"line":27,"column":6597}}]},"66":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":6855},"end":{"line":27,"column":6870}},{"start":{"line":27,"column":6873},"end":{"line":27,"column":6887}}]},"67":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":6927},"end":{"line":27,"column":6942}},{"start":{"line":27,"column":6943},"end":{"line":27,"column":6953}}]},"68":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":6889},"end":{"line":27,"column":6908}},{"start":{"line":27,"column":6910},"end":{"line":27,"column":6912}},{"start":{"line":27,"column":6914},"end":{"line":27,"column":6926}}]},"69":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":7329},"end":{"line":27,"column":7343}},{"start":{"line":27,"column":7344},"end":{"line":27,"column":7388}}]},"70":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":7344},"end":{"line":27,"column":7350}},{"start":{"line":27,"column":7352},"end":{"line":27,"column":7370}},{"start":{"line":27,"column":7373},"end":{"line":27,"column":7387}}]},"71":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":7555},"end":{"line":27,"column":7556}},{"start":{"line":27,"column":7558},"end":{"line":27,"column":7562}}]},"72":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":7709},"end":{"line":27,"column":7724}},{"start":{"line":27,"column":7727},"end":{"line":27,"column":7741}}]},"73":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":7754},"end":{"line":27,"column":7754}},{"start":{"line":27,"column":7754},"end":{"line":27,"column":7754}}]},"74":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":7813},"end":{"line":27,"column":7819}},{"start":{"line":27,"column":7821},"end":{"line":27,"column":7826}},{"start":{"line":27,"column":7829},"end":{"line":27,"column":7915}}]},"75":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":7960},"end":{"line":27,"column":7961}},{"start":{"line":27,"column":7963},"end":{"line":27,"column":7976}}]},"76":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":8298},"end":{"line":27,"column":8308}},{"start":{"line":27,"column":8311},"end":{"line":27,"column":8430}}]},"77":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":8626},"end":{"line":27,"column":8626}},{"start":{"line":27,"column":8626},"end":{"line":27,"column":8626}}]},"78":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":8701},"end":{"line":27,"column":8702}},{"start":{"line":27,"column":8703},"end":{"line":27,"column":8717}}]},"79":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":8744},"end":{"line":27,"column":8744}},{"start":{"line":27,"column":8744},"end":{"line":27,"column":8744}}]},"80":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":8766},"end":{"line":27,"column":8793}},{"start":{"line":27,"column":8795},"end":{"line":27,"column":8820}}]},"81":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":8843},"end":{"line":27,"column":8853}},{"start":{"line":27,"column":8856},"end":{"line":27,"column":8863}}]},"82":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":9245},"end":{"line":27,"column":9246}},{"start":{"line":27,"column":9248},"end":{"line":27,"column":9252}},{"start":{"line":27,"column":9254},"end":{"line":27,"column":9255}}]},"83":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":9278},"end":{"line":27,"column":9278}},{"start":{"line":27,"column":9278},"end":{"line":27,"column":9278}}]},"84":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":9288},"end":{"line":27,"column":9288}},{"start":{"line":27,"column":9288},"end":{"line":27,"column":9288}}]},"85":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":9779},"end":{"line":27,"column":9785}},{"start":{"line":27,"column":9788},"end":{"line":27,"column":9832}}]},"86":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":9812},"end":{"line":27,"column":9817}},{"start":{"line":27,"column":9820},"end":{"line":27,"column":9831}}]},"87":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":9915},"end":{"line":27,"column":9915}},{"start":{"line":27,"column":9915},"end":{"line":27,"column":9915}}]},"88":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":9918},"end":{"line":27,"column":9925}},{"start":{"line":27,"column":9927},"end":{"line":27,"column":9936}},{"start":{"line":27,"column":9939},"end":{"line":27,"column":10016}}]},"89":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":10027},"end":{"line":27,"column":10027}},{"start":{"line":27,"column":10027},"end":{"line":27,"column":10027}}]},"90":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":10079},"end":{"line":27,"column":10082}},{"start":{"line":27,"column":10085},"end":{"line":27,"column":10089}},{"start":{"line":27,"column":10091},"end":{"line":27,"column":10098}}]},"91":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":10377},"end":{"line":27,"column":10379}},{"start":{"line":27,"column":10380},"end":{"line":27,"column":10392}}]},"92":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":10334},"end":{"line":27,"column":10353}},{"start":{"line":27,"column":10355},"end":{"line":27,"column":10376}}]},"93":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":10414},"end":{"line":27,"column":10424}},{"start":{"line":27,"column":10426},"end":{"line":27,"column":10435}},{"start":{"line":27,"column":10438},"end":{"line":27,"column":10446}}]},"94":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":10480},"end":{"line":27,"column":10482}},{"start":{"line":27,"column":10483},"end":{"line":27,"column":10489}}]},"95":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":10497},"end":{"line":27,"column":10508}},{"start":{"line":27,"column":10511},"end":{"line":27,"column":10570}}]},"96":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":10522},"end":{"line":27,"column":10566}},{"start":{"line":27,"column":10567},"end":{"line":27,"column":10570}}]},"97":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":10537},"end":{"line":27,"column":10557}},{"start":{"line":27,"column":10558},"end":{"line":27,"column":10566}}]},"98":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":10588},"end":{"line":27,"column":10596}},{"start":{"line":27,"column":10598},"end":{"line":27,"column":10600}}]},"99":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":10612},"end":{"line":27,"column":10612}},{"start":{"line":27,"column":10612},"end":{"line":27,"column":10612}}]},"100":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":10678},"end":{"line":27,"column":10678}},{"start":{"line":27,"column":10678},"end":{"line":27,"column":10678}}]},"101":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":10681},"end":{"line":27,"column":10683}},{"start":{"line":27,"column":10685},"end":{"line":27,"column":10692}}]},"102":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":10839},"end":{"line":27,"column":10839}},{"start":{"line":27,"column":10839},"end":{"line":27,"column":10839}}]},"103":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":10969},"end":{"line":27,"column":10969}},{"start":{"line":27,"column":10969},"end":{"line":27,"column":10969}}]},"104":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":10972},"end":{"line":27,"column":10976}},{"start":{"line":27,"column":10978},"end":{"line":27,"column":10991}}]},"105":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":11056},"end":{"line":27,"column":11065}},{"start":{"line":27,"column":11066},"end":{"line":27,"column":11067}}]},"106":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":11273},"end":{"line":27,"column":11294}},{"start":{"line":27,"column":11295},"end":{"line":27,"column":11330}}]},"107":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":11262},"end":{"line":27,"column":11263}},{"start":{"line":27,"column":11265},"end":{"line":27,"column":11266}},{"start":{"line":27,"column":11268},"end":{"line":27,"column":11269}},{"start":{"line":27,"column":11271},"end":{"line":27,"column":11272}}]},"108":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":11295},"end":{"line":27,"column":11296}},{"start":{"line":27,"column":11299},"end":{"line":27,"column":11329}}]},"109":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":11358},"end":{"line":27,"column":11359}},{"start":{"line":27,"column":11361},"end":{"line":27,"column":11364}}]},"110":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":11414},"end":{"line":27,"column":11415}},{"start":{"line":27,"column":11417},"end":{"line":27,"column":11418}}]},"111":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":11426},"end":{"line":27,"column":11427}},{"start":{"line":27,"column":11429},"end":{"line":27,"column":11430}},{"start":{"line":27,"column":11432},"end":{"line":27,"column":11437}},{"start":{"line":27,"column":11440},"end":{"line":27,"column":11458}}]},"112":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":11571},"end":{"line":27,"column":11638}},{"start":{"line":27,"column":11641},"end":{"line":27,"column":11820}}]},"113":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":11680},"end":{"line":27,"column":11692}},{"start":{"line":27,"column":11695},"end":{"line":27,"column":11736}}]},"114":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":11739},"end":{"line":27,"column":11751}},{"start":{"line":27,"column":11753},"end":{"line":27,"column":11768}},{"start":{"line":27,"column":11772},"end":{"line":27,"column":11819}}]},"115":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":11850},"end":{"line":27,"column":11850}},{"start":{"line":27,"column":11850},"end":{"line":27,"column":11850}}]},"116":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":11853},"end":{"line":27,"column":11869}},{"start":{"line":27,"column":11871},"end":{"line":27,"column":11873}}]},"117":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":11923},"end":{"line":27,"column":11923}},{"start":{"line":27,"column":11923},"end":{"line":27,"column":11923}}]},"118":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":11926},"end":{"line":27,"column":11937}},{"start":{"line":27,"column":11939},"end":{"line":27,"column":11941}}]},"119":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":12111},"end":{"line":27,"column":12113}},{"start":{"line":27,"column":12114},"end":{"line":27,"column":12126}}]},"120":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12068},"end":{"line":27,"column":12087}},{"start":{"line":27,"column":12089},"end":{"line":27,"column":12110}}]},"121":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12137},"end":{"line":27,"column":12139}},{"start":{"line":27,"column":12141},"end":{"line":27,"column":12148}},{"start":{"line":27,"column":12150},"end":{"line":27,"column":12167}},{"start":{"line":27,"column":12169},"end":{"line":27,"column":12180}},{"start":{"line":27,"column":12183},"end":{"line":27,"column":12198}}]},"122":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12227},"end":{"line":27,"column":12233}},{"start":{"line":27,"column":12235},"end":{"line":27,"column":12236}}]},"123":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12237},"end":{"line":27,"column":12238}},{"start":{"line":27,"column":12240},"end":{"line":27,"column":12265}}]},"124":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":12315},"end":{"line":27,"column":12323}},{"start":{"line":27,"column":12324},"end":{"line":27,"column":12325}}]},"125":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12340},"end":{"line":27,"column":12341}},{"start":{"line":27,"column":12343},"end":{"line":27,"column":12344}}]},"126":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":12374},"end":{"line":27,"column":12416}},{"start":{"line":27,"column":12417},"end":{"line":27,"column":12487}}]},"127":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12374},"end":{"line":27,"column":12380}},{"start":{"line":27,"column":12382},"end":{"line":27,"column":12388}},{"start":{"line":27,"column":12391},"end":{"line":27,"column":12415}}]},"128":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":12445},"end":{"line":27,"column":12468}},{"start":{"line":27,"column":12469},"end":{"line":27,"column":12487}}]},"129":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12514},"end":{"line":27,"column":12520}},{"start":{"line":27,"column":12522},"end":{"line":27,"column":12545}}]},"130":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12559},"end":{"line":27,"column":12564}},{"start":{"line":27,"column":12567},"end":{"line":27,"column":12614}}]},"131":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12586},"end":{"line":27,"column":12594}},{"start":{"line":27,"column":12596},"end":{"line":27,"column":12614}}]},"132":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":12629},"end":{"line":27,"column":12629}},{"start":{"line":27,"column":12629},"end":{"line":27,"column":12629}}]},"133":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12632},"end":{"line":27,"column":12636}},{"start":{"line":27,"column":12638},"end":{"line":27,"column":12646}},{"start":{"line":27,"column":12648},"end":{"line":27,"column":12935}}]},"134":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":12787},"end":{"line":27,"column":12789}},{"start":{"line":27,"column":12790},"end":{"line":27,"column":12802}}]},"135":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12744},"end":{"line":27,"column":12763}},{"start":{"line":27,"column":12765},"end":{"line":27,"column":12786}}]},"136":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12873},"end":{"line":27,"column":12883}},{"start":{"line":27,"column":12886},"end":{"line":27,"column":12931}}]},"137":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":12936},"end":{"line":27,"column":12946}},{"start":{"line":27,"column":12948},"end":{"line":27,"column":12949}},{"start":{"line":27,"column":12952},"end":{"line":27,"column":12955}}]},"138":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":13036},"end":{"line":27,"column":13036}},{"start":{"line":27,"column":13036},"end":{"line":27,"column":13036}}]},"139":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":13120},"end":{"line":27,"column":13121}},{"start":{"line":27,"column":13123},"end":{"line":27,"column":13133}},{"start":{"line":27,"column":13136},"end":{"line":27,"column":13168}}]},"140":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":13140},"end":{"line":27,"column":13156}},{"start":{"line":27,"column":13157},"end":{"line":27,"column":13159}}]},"141":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":13196},"end":{"line":27,"column":13196}},{"start":{"line":27,"column":13196},"end":{"line":27,"column":13196}}]},"142":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":13241},"end":{"line":27,"column":13242}},{"start":{"line":27,"column":13244},"end":{"line":27,"column":13248}}]},"143":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":13684},"end":{"line":27,"column":13688}},{"start":{"line":27,"column":13689},"end":{"line":27,"column":13690}}]},"144":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":13676},"end":{"line":27,"column":13677}},{"start":{"line":27,"column":13679},"end":{"line":27,"column":13683}}]},"145":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":13756},"end":{"line":27,"column":13764}},{"start":{"line":27,"column":13765},"end":{"line":27,"column":13785}}]},"146":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":13862},"end":{"line":27,"column":13879}},{"start":{"line":27,"column":13881},"end":{"line":27,"column":13890}}]},"147":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":13863},"end":{"line":27,"column":13871}},{"start":{"line":27,"column":13873},"end":{"line":27,"column":13875}}]},"148":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":14088},"end":{"line":27,"column":14089}},{"start":{"line":27,"column":14090},"end":{"line":27,"column":14105}}]},"149":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14090},"end":{"line":27,"column":14094}},{"start":{"line":27,"column":14097},"end":{"line":27,"column":14104}}]},"150":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":14110},"end":{"line":27,"column":14111}},{"start":{"line":27,"column":14112},"end":{"line":27,"column":14132}}]},"151":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":14114},"end":{"line":27,"column":14118}},{"start":{"line":27,"column":14119},"end":{"line":27,"column":14132}}]},"152":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14120},"end":{"line":27,"column":14124}},{"start":{"line":27,"column":14126},"end":{"line":27,"column":14128}}]},"153":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14133},"end":{"line":27,"column":14134}},{"start":{"line":27,"column":14137},"end":{"line":27,"column":14140}}]},"154":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14155},"end":{"line":27,"column":14157}},{"start":{"line":27,"column":14159},"end":{"line":27,"column":14160}},{"start":{"line":27,"column":14162},"end":{"line":27,"column":14168}}]},"155":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14169},"end":{"line":27,"column":14170}},{"start":{"line":27,"column":14172},"end":{"line":27,"column":14178}},{"start":{"line":27,"column":14181},"end":{"line":27,"column":14420}}]},"156":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":14185},"end":{"line":27,"column":14189}},{"start":{"line":27,"column":14190},"end":{"line":27,"column":14194}}]},"157":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":14227},"end":{"line":27,"column":14231}},{"start":{"line":27,"column":14232},"end":{"line":27,"column":14392}}]},"158":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14200},"end":{"line":27,"column":14201}},{"start":{"line":27,"column":14203},"end":{"line":27,"column":14226}}]},"159":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":14237},"end":{"line":27,"column":14243}},{"start":{"line":27,"column":14244},"end":{"line":27,"column":14392}}]},"160":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14232},"end":{"line":27,"column":14233}},{"start":{"line":27,"column":14235},"end":{"line":27,"column":14236}}]},"161":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":14255},"end":{"line":27,"column":14347}},{"start":{"line":27,"column":14348},"end":{"line":27,"column":14392}}]},"162":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14244},"end":{"line":27,"column":14245}},{"start":{"line":27,"column":14247},"end":{"line":27,"column":14254}}]},"163":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":14310},"end":{"line":27,"column":14318}},{"start":{"line":27,"column":14319},"end":{"line":27,"column":14323}}]},"164":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":14372},"end":{"line":27,"column":14390}},{"start":{"line":27,"column":14391},"end":{"line":27,"column":14392}}]},"165":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14348},"end":{"line":27,"column":14349}},{"start":{"line":27,"column":14351},"end":{"line":27,"column":14371}}]},"166":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14393},"end":{"line":27,"column":14394}},{"start":{"line":27,"column":14397},"end":{"line":27,"column":14419}}]},"167":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14398},"end":{"line":27,"column":14402}},{"start":{"line":27,"column":14405},"end":{"line":27,"column":14412}}]},"168":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":14550},"end":{"line":27,"column":14556}},{"start":{"line":27,"column":14557},"end":{"line":27,"column":14629}}]},"169":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14504},"end":{"line":27,"column":14530}},{"start":{"line":27,"column":14532},"end":{"line":27,"column":14549}}]},"170":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":14599},"end":{"line":27,"column":14603}},{"start":{"line":27,"column":14604},"end":{"line":27,"column":14629}}]},"171":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14557},"end":{"line":27,"column":14581}},{"start":{"line":27,"column":14583},"end":{"line":27,"column":14598}}]},"172":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14630},"end":{"line":27,"column":14650}},{"start":{"line":27,"column":14653},"end":{"line":27,"column":14658}}]},"173":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":14709},"end":{"line":27,"column":14729}},{"start":{"line":27,"column":14732},"end":{"line":27,"column":14737}}]},"174":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":14794},"end":{"line":27,"column":14794}},{"start":{"line":27,"column":14794},"end":{"line":27,"column":14794}}]},"175":{"line":27,"type":"switch","locations":[{"start":{"line":27,"column":14832},"end":{"line":27,"column":14878}},{"start":{"line":27,"column":14878},"end":{"line":27,"column":14928}},{"start":{"line":27,"column":14928},"end":{"line":27,"column":14981}}]},"176":{"line":27,"type":"if","locations":[{"start":{"line":27,"column":15067},"end":{"line":27,"column":15067}},{"start":{"line":27,"column":15067},"end":{"line":27,"column":15067}}]},"177":{"line":27,"type":"cond-expr","locations":[{"start":{"line":27,"column":15325},"end":{"line":27,"column":15326}},{"start":{"line":27,"column":15327},"end":{"line":27,"column":15333}}]},"178":{"line":27,"type":"binary-expr","locations":[{"start":{"line":27,"column":15380},"end":{"line":27,"column":15396}},{"start":{"line":27,"column":15399},"end":{"line":27,"column":15413}}]}}},"assests/js/lib/jquery-sortable-min.js":{"path":"assests/js/lib/jquery-sortable-min.js","s":{"1":1,"2":1,"3":0,"4":0,"5":1,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":1,"14":0,"15":0,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":1,"24":0,"25":0,"26":0,"27":1,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0,0,0,0,0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0,0,0,0],"46":[0,0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0,0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":18}}},"2":{"name":"v","line":1,"loc":{"start":{"line":1,"column":19},"end":{"line":1,"column":34}}},"3":{"name":"w","line":1,"loc":{"start":{"line":1,"column":118},"end":{"line":1,"column":137}}},"4":{"name":"p","line":1,"loc":{"start":{"line":1,"column":388},"end":{"line":1,"column":403}}},"5":{"name":"x","line":1,"loc":{"start":{"line":1,"column":464},"end":{"line":1,"column":481}}},"6":{"name":"(anonymous_6)","line":2,"loc":{"start":{"line":2,"column":98},"end":{"line":2,"column":111}}},"7":{"name":"q","line":2,"loc":{"start":{"line":2,"column":153},"end":{"line":2,"column":166}}},"8":{"name":"t","line":2,"loc":{"start":{"line":2,"column":456},"end":{"line":2,"column":471}}},"9":{"name":"(anonymous_9)","line":3,"loc":{"start":{"line":3,"column":429},"end":{"line":3,"column":444}}},"10":{"name":"(anonymous_10)","line":4,"loc":{"start":{"line":4,"column":106},"end":{"line":4,"column":119}}},"11":{"name":"(anonymous_11)","line":4,"loc":{"start":{"line":4,"column":139},"end":{"line":4,"column":156}}},"12":{"name":"(anonymous_12)","line":4,"loc":{"start":{"line":4,"column":166},"end":{"line":4,"column":183}}},"13":{"name":"(anonymous_13)","line":4,"loc":{"start":{"line":4,"column":206},"end":{"line":4,"column":223}}},"14":{"name":"(anonymous_14)","line":4,"loc":{"start":{"line":4,"column":372},"end":{"line":4,"column":389}}},"15":{"name":"(anonymous_15)","line":5,"loc":{"start":{"line":5,"column":12},"end":{"line":5,"column":27}}},"16":{"name":"(anonymous_16)","line":5,"loc":{"start":{"line":5,"column":220},"end":{"line":5,"column":235}}},"17":{"name":"(anonymous_17)","line":6,"loc":{"start":{"line":6,"column":77},"end":{"line":6,"column":88}}},"18":{"name":"(anonymous_18)","line":6,"loc":{"start":{"line":6,"column":191},"end":{"line":6,"column":204}}},"19":{"name":"(anonymous_19)","line":7,"loc":{"start":{"line":7,"column":29},"end":{"line":7,"column":40}}},"20":{"name":"(anonymous_20)","line":8,"loc":{"start":{"line":8,"column":58},"end":{"line":8,"column":69}}},"21":{"name":"(anonymous_21)","line":8,"loc":{"start":{"line":8,"column":489},"end":{"line":8,"column":502}}},"22":{"name":"(anonymous_22)","line":9,"loc":{"start":{"line":9,"column":416},"end":{"line":9,"column":433}}},"23":{"name":"(anonymous_23)","line":10,"loc":{"start":{"line":10,"column":114},"end":{"line":10,"column":124}}},"24":{"name":"(anonymous_24)","line":10,"loc":{"start":{"line":10,"column":292},"end":{"line":10,"column":303}}},"25":{"name":"(anonymous_25)","line":10,"loc":{"start":{"line":10,"column":379},"end":{"line":10,"column":389}}},"26":{"name":"(anonymous_26)","line":11,"loc":{"start":{"line":11,"column":113},"end":{"line":11,"column":124}}},"27":{"name":"(anonymous_27)","line":11,"loc":{"start":{"line":11,"column":336},"end":{"line":11,"column":347}}},"28":{"name":"(anonymous_28)","line":11,"loc":{"start":{"line":11,"column":489},"end":{"line":11,"column":500}}},"29":{"name":"(anonymous_29)","line":12,"loc":{"start":{"line":12,"column":137},"end":{"line":12,"column":147}}},"30":{"name":"(anonymous_30)","line":12,"loc":{"start":{"line":12,"column":278},"end":{"line":12,"column":288}}},"31":{"name":"(anonymous_31)","line":12,"loc":{"start":{"line":12,"column":333},"end":{"line":12,"column":344}}},"32":{"name":"(anonymous_32)","line":12,"loc":{"start":{"line":12,"column":410},"end":{"line":12,"column":421}}},"33":{"name":"(anonymous_33)","line":12,"loc":{"start":{"line":12,"column":465},"end":{"line":12,"column":478}}},"34":{"name":"(anonymous_34)","line":13,"loc":{"start":{"line":13,"column":31},"end":{"line":13,"column":41}}},"35":{"name":"(anonymous_35)","line":13,"loc":{"start":{"line":13,"column":79},"end":{"line":13,"column":89}}},"36":{"name":"(anonymous_36)","line":13,"loc":{"start":{"line":13,"column":104},"end":{"line":13,"column":115}}},"37":{"name":"(anonymous_37)","line":13,"loc":{"start":{"line":13,"column":149},"end":{"line":13,"column":160}}},"38":{"name":"(anonymous_38)","line":13,"loc":{"start":{"line":13,"column":256},"end":{"line":13,"column":266}}},"39":{"name":"(anonymous_39)","line":13,"loc":{"start":{"line":13,"column":304},"end":{"line":13,"column":314}}},"40":{"name":"(anonymous_40)","line":13,"loc":{"start":{"line":13,"column":363},"end":{"line":13,"column":374}}},"41":{"name":"(anonymous_41)","line":13,"loc":{"start":{"line":13,"column":501},"end":{"line":13,"column":512}}},"42":{"name":"(anonymous_42)","line":14,"loc":{"start":{"line":14,"column":84},"end":{"line":14,"column":97}}},"43":{"name":"(anonymous_43)","line":14,"loc":{"start":{"line":14,"column":473},"end":{"line":14,"column":486}}},"44":{"name":"(anonymous_44)","line":15,"loc":{"start":{"line":15,"column":371},"end":{"line":15,"column":381}}},"45":{"name":"(anonymous_45)","line":16,"loc":{"start":{"line":16,"column":158},"end":{"line":16,"column":168}}},"46":{"name":"(anonymous_46)","line":16,"loc":{"start":{"line":16,"column":315},"end":{"line":16,"column":326}}},"47":{"name":"(anonymous_47)","line":16,"loc":{"start":{"line":16,"column":400},"end":{"line":16,"column":411}}},"48":{"name":"(anonymous_48)","line":17,"loc":{"start":{"line":17,"column":178},"end":{"line":17,"column":191}}},"49":{"name":"(anonymous_49)","line":17,"loc":{"start":{"line":17,"column":310},"end":{"line":17,"column":323}}},"50":{"name":"(anonymous_50)","line":17,"loc":{"start":{"line":17,"column":409},"end":{"line":17,"column":419}}},"51":{"name":"(anonymous_51)","line":18,"loc":{"start":{"line":18,"column":15},"end":{"line":18,"column":26}}},"52":{"name":"(anonymous_52)","line":18,"loc":{"start":{"line":18,"column":49},"end":{"line":18,"column":60}}},"53":{"name":"(anonymous_53)","line":18,"loc":{"start":{"line":18,"column":137},"end":{"line":18,"column":147}}},"54":{"name":"(anonymous_54)","line":18,"loc":{"start":{"line":18,"column":180},"end":{"line":18,"column":190}}},"55":{"name":"(anonymous_55)","line":18,"loc":{"start":{"line":18,"column":332},"end":{"line":18,"column":343}}},"56":{"name":"(anonymous_56)","line":18,"loc":{"start":{"line":18,"column":381},"end":{"line":18,"column":391}}},"57":{"name":"(anonymous_57)","line":18,"loc":{"start":{"line":18,"column":445},"end":{"line":18,"column":455}}},"58":{"name":"(anonymous_58)","line":18,"loc":{"start":{"line":18,"column":470},"end":{"line":18,"column":481}}},"59":{"name":"(anonymous_59)","line":18,"loc":{"start":{"line":18,"column":507},"end":{"line":18,"column":517}}},"60":{"name":"(anonymous_60)","line":18,"loc":{"start":{"line":18,"column":532},"end":{"line":18,"column":543}}},"61":{"name":"(anonymous_61)","line":19,"loc":{"start":{"line":19,"column":16},"end":{"line":19,"column":26}}},"62":{"name":"(anonymous_62)","line":19,"loc":{"start":{"line":19,"column":71},"end":{"line":19,"column":81}}},"63":{"name":"(anonymous_63)","line":19,"loc":{"start":{"line":19,"column":96},"end":{"line":19,"column":107}}},"64":{"name":"(anonymous_64)","line":19,"loc":{"start":{"line":19,"column":140},"end":{"line":19,"column":150}}},"65":{"name":"(anonymous_65)","line":19,"loc":{"start":{"line":19,"column":165},"end":{"line":19,"column":176}}},"66":{"name":"(anonymous_66)","line":19,"loc":{"start":{"line":19,"column":226},"end":{"line":19,"column":237}}},"67":{"name":"(anonymous_67)","line":19,"loc":{"start":{"line":19,"column":300},"end":{"line":19,"column":310}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":19,"column":471}},"2":{"start":{"line":1,"column":19},"end":{"line":1,"column":118}},"3":{"start":{"line":1,"column":35},"end":{"line":1,"column":107}},"4":{"start":{"line":1,"column":107},"end":{"line":1,"column":117}},"5":{"start":{"line":1,"column":118},"end":{"line":1,"column":388}},"6":{"start":{"line":1,"column":138},"end":{"line":1,"column":153}},"7":{"start":{"line":1,"column":153},"end":{"line":1,"column":177}},"8":{"start":{"line":1,"column":177},"end":{"line":1,"column":387}},"9":{"start":{"line":1,"column":194},"end":{"line":1,"column":233}},"10":{"start":{"line":1,"column":233},"end":{"line":1,"column":275}},"11":{"start":{"line":1,"column":275},"end":{"line":1,"column":315}},"12":{"start":{"line":1,"column":315},"end":{"line":1,"column":386}},"13":{"start":{"line":1,"column":388},"end":{"line":1,"column":464}},"14":{"start":{"line":1,"column":404},"end":{"line":1,"column":421}},"15":{"start":{"line":1,"column":421},"end":{"line":1,"column":463}},"16":{"start":{"line":1,"column":464},"end":{"line":2,"column":153}},"17":{"start":{"line":1,"column":482},"end":{"line":1,"column":499}},"18":{"start":{"line":1,"column":499},"end":{"line":2,"column":18}},"19":{"start":{"line":2,"column":18},"end":{"line":2,"column":82}},"20":{"start":{"line":2,"column":49},"end":{"line":2,"column":82}},"21":{"start":{"line":2,"column":82},"end":{"line":2,"column":152}},"22":{"start":{"line":2,"column":112},"end":{"line":2,"column":150}},"23":{"start":{"line":2,"column":153},"end":{"line":2,"column":456}},"24":{"start":{"line":2,"column":167},"end":{"line":2,"column":197}},"25":{"start":{"line":2,"column":197},"end":{"line":2,"column":216}},"26":{"start":{"line":2,"column":216},"end":{"line":2,"column":455}},"27":{"start":{"line":2,"column":456},"end":{"line":3,"column":357}},"28":{"start":{"line":2,"column":472},"end":{"line":2,"column":482}},"29":{"start":{"line":2,"column":482},"end":{"line":3,"column":5}},"30":{"start":{"line":3,"column":5},"end":{"line":3,"column":36}},"31":{"start":{"line":3,"column":36},"end":{"line":3,"column":86}},"32":{"start":{"line":3,"column":86},"end":{"line":3,"column":165}},"33":{"start":{"line":3,"column":165},"end":{"line":3,"column":203}},"34":{"start":{"line":3,"column":203},"end":{"line":3,"column":241}},"35":{"start":{"line":3,"column":241},"end":{"line":3,"column":305}},"36":{"start":{"line":3,"column":305},"end":{"line":3,"column":356}},"37":{"start":{"line":3,"column":357},"end":{"line":5,"column":403}},"38":{"start":{"line":4,"column":120},"end":{"line":4,"column":128}},"39":{"start":{"line":4,"column":184},"end":{"line":4,"column":192}},"40":{"start":{"line":4,"column":224},"end":{"line":4,"column":277}},"41":{"start":{"line":4,"column":277},"end":{"line":4,"column":318}},"42":{"start":{"line":4,"column":318},"end":{"line":4,"column":363}},"43":{"start":{"line":4,"column":390},"end":{"line":4,"column":454}},"44":{"start":{"line":4,"column":454},"end":{"line":4,"column":502}},"45":{"start":{"line":5,"column":28},"end":{"line":5,"column":114}},"46":{"start":{"line":5,"column":86},"end":{"line":5,"column":114}},"47":{"start":{"line":5,"column":236},"end":{"line":5,"column":260}},"48":{"start":{"line":5,"column":260},"end":{"line":5,"column":275}},"49":{"start":{"line":5,"column":265},"end":{"line":5,"column":275}},"50":{"start":{"line":5,"column":275},"end":{"line":5,"column":296}},"51":{"start":{"line":5,"column":296},"end":{"line":5,"column":319}},"52":{"start":{"line":5,"column":319},"end":{"line":5,"column":337}},"53":{"start":{"line":5,"column":337},"end":{"line":5,"column":345}},"54":{"start":{"line":5,"column":403},"end":{"line":6,"column":71}},"55":{"start":{"line":6,"column":71},"end":{"line":6,"column":169}},"56":{"start":{"line":6,"column":89},"end":{"line":6,"column":150}},"57":{"start":{"line":6,"column":150},"end":{"line":6,"column":167}},"58":{"start":{"line":6,"column":169},"end":{"line":13,"column":341}},"59":{"start":{"line":6,"column":205},"end":{"line":6,"column":245}},"60":{"start":{"line":6,"column":245},"end":{"line":6,"column":298}},"61":{"start":{"line":6,"column":298},"end":{"line":7,"column":22}},"62":{"start":{"line":7,"column":41},"end":{"line":7,"column":230}},"63":{"start":{"line":7,"column":60},"end":{"line":7,"column":107}},"64":{"start":{"line":7,"column":100},"end":{"line":7,"column":107}},"65":{"start":{"line":7,"column":107},"end":{"line":7,"column":178}},"66":{"start":{"line":7,"column":178},"end":{"line":7,"column":213}},"67":{"start":{"line":7,"column":213},"end":{"line":7,"column":229}},"68":{"start":{"line":7,"column":230},"end":{"line":7,"column":249}},"69":{"start":{"line":7,"column":249},"end":{"line":7,"column":332}},"70":{"start":{"line":7,"column":332},"end":{"line":7,"column":353}},"71":{"start":{"line":7,"column":353},"end":{"line":7,"column":403}},"72":{"start":{"line":7,"column":403},"end":{"line":8,"column":51}},"73":{"start":{"line":8,"column":70},"end":{"line":8,"column":98}},"74":{"start":{"line":8,"column":98},"end":{"line":8,"column":119}},"75":{"start":{"line":8,"column":119},"end":{"line":8,"column":469}},"76":{"start":{"line":8,"column":137},"end":{"line":8,"column":290}},"77":{"start":{"line":8,"column":176},"end":{"line":8,"column":220}},"78":{"start":{"line":8,"column":225},"end":{"line":8,"column":290}},"79":{"start":{"line":8,"column":290},"end":{"line":8,"column":361}},"80":{"start":{"line":8,"column":361},"end":{"line":8,"column":384}},"81":{"start":{"line":8,"column":384},"end":{"line":8,"column":409}},"82":{"start":{"line":8,"column":409},"end":{"line":8,"column":452}},"83":{"start":{"line":8,"column":452},"end":{"line":8,"column":468}},"84":{"start":{"line":8,"column":503},"end":{"line":9,"column":84}},"85":{"start":{"line":9,"column":84},"end":{"line":9,"column":356}},"86":{"start":{"line":9,"column":148},"end":{"line":9,"column":162}},"87":{"start":{"line":9,"column":162},"end":{"line":9,"column":355}},"88":{"start":{"line":9,"column":204},"end":{"line":9,"column":355}},"89":{"start":{"line":9,"column":241},"end":{"line":9,"column":318}},"90":{"start":{"line":9,"column":270},"end":{"line":9,"column":300}},"91":{"start":{"line":9,"column":300},"end":{"line":9,"column":309}},"92":{"start":{"line":9,"column":309},"end":{"line":9,"column":317}},"93":{"start":{"line":9,"column":318},"end":{"line":9,"column":354}},"94":{"start":{"line":9,"column":346},"end":{"line":9,"column":354}},"95":{"start":{"line":9,"column":356},"end":{"line":9,"column":398}},"96":{"start":{"line":9,"column":434},"end":{"line":9,"column":462}},"97":{"start":{"line":9,"column":462},"end":{"line":10,"column":89}},"98":{"start":{"line":9,"column":484},"end":{"line":10,"column":89}},"99":{"start":{"line":10,"column":125},"end":{"line":10,"column":246}},"100":{"start":{"line":10,"column":246},"end":{"line":10,"column":277}},"101":{"start":{"line":10,"column":304},"end":{"line":10,"column":360}},"102":{"start":{"line":10,"column":390},"end":{"line":11,"column":76}},"103":{"start":{"line":10,"column":416},"end":{"line":10,"column":490}},"104":{"start":{"line":10,"column":490},"end":{"line":11,"column":56}},"105":{"start":{"line":10,"column":517},"end":{"line":11,"column":56}},"106":{"start":{"line":10,"column":527},"end":{"line":11,"column":56}},"107":{"start":{"line":11,"column":45},"end":{"line":11,"column":50}},"108":{"start":{"line":11,"column":50},"end":{"line":11,"column":55}},"109":{"start":{"line":11,"column":56},"end":{"line":11,"column":75}},"110":{"start":{"line":11,"column":76},"end":{"line":11,"column":100}},"111":{"start":{"line":11,"column":125},"end":{"line":11,"column":146}},"112":{"start":{"line":11,"column":146},"end":{"line":11,"column":278}},"113":{"start":{"line":11,"column":174},"end":{"line":11,"column":209}},"114":{"start":{"line":11,"column":209},"end":{"line":11,"column":255}},"115":{"start":{"line":11,"column":255},"end":{"line":11,"column":277}},"116":{"start":{"line":11,"column":278},"end":{"line":11,"column":308}},"117":{"start":{"line":11,"column":308},"end":{"line":11,"column":322}},"118":{"start":{"line":11,"column":348},"end":{"line":11,"column":369}},"119":{"start":{"line":11,"column":369},"end":{"line":11,"column":476}},"120":{"start":{"line":11,"column":501},"end":{"line":12,"column":69}},"121":{"start":{"line":12,"column":69},"end":{"line":12,"column":119}},"122":{"start":{"line":12,"column":148},"end":{"line":12,"column":159}},"123":{"start":{"line":12,"column":159},"end":{"line":12,"column":193}},"124":{"start":{"line":12,"column":193},"end":{"line":12,"column":324}},"125":{"start":{"line":12,"column":289},"end":{"line":12,"column":302}},"126":{"start":{"line":12,"column":345},"end":{"line":12,"column":368}},"127":{"start":{"line":12,"column":368},"end":{"line":12,"column":392}},"128":{"start":{"line":12,"column":422},"end":{"line":12,"column":433}},"129":{"start":{"line":12,"column":433},"end":{"line":13,"column":11}},"130":{"start":{"line":12,"column":479},"end":{"line":13,"column":9}},"131":{"start":{"line":13,"column":42},"end":{"line":13,"column":61}},"132":{"start":{"line":13,"column":90},"end":{"line":13,"column":138}},"133":{"start":{"line":13,"column":116},"end":{"line":13,"column":136}},"134":{"start":{"line":13,"column":161},"end":{"line":13,"column":169}},"135":{"start":{"line":13,"column":169},"end":{"line":13,"column":237}},"136":{"start":{"line":13,"column":207},"end":{"line":13,"column":237}},"137":{"start":{"line":13,"column":267},"end":{"line":13,"column":293}},"138":{"start":{"line":13,"column":315},"end":{"line":13,"column":338}},"139":{"start":{"line":13,"column":341},"end":{"line":18,"column":431}},"140":{"start":{"line":13,"column":375},"end":{"line":13,"column":396}},"141":{"start":{"line":13,"column":396},"end":{"line":13,"column":487}},"142":{"start":{"line":13,"column":513},"end":{"line":14,"column":64}},"143":{"start":{"line":14,"column":98},"end":{"line":14,"column":229}},"144":{"start":{"line":14,"column":229},"end":{"line":14,"column":293}},"145":{"start":{"line":14,"column":238},"end":{"line":14,"column":293}},"146":{"start":{"line":14,"column":293},"end":{"line":14,"column":455}},"147":{"start":{"line":14,"column":303},"end":{"line":14,"column":455}},"148":{"start":{"line":14,"column":349},"end":{"line":14,"column":409}},"149":{"start":{"line":14,"column":401},"end":{"line":14,"column":409}},"150":{"start":{"line":14,"column":415},"end":{"line":14,"column":455}},"151":{"start":{"line":14,"column":420},"end":{"line":14,"column":455}},"152":{"start":{"line":14,"column":487},"end":{"line":15,"column":139}},"153":{"start":{"line":15,"column":139},"end":{"line":15,"column":280}},"154":{"start":{"line":15,"column":280},"end":{"line":15,"column":309}},"155":{"start":{"line":15,"column":309},"end":{"line":15,"column":351}},"156":{"start":{"line":15,"column":382},"end":{"line":16,"column":110}},"157":{"start":{"line":16,"column":110},"end":{"line":16,"column":136}},"158":{"start":{"line":16,"column":169},"end":{"line":16,"column":183}},"159":{"start":{"line":16,"column":183},"end":{"line":16,"column":299}},"160":{"start":{"line":16,"column":327},"end":{"line":16,"column":380}},"161":{"start":{"line":16,"column":412},"end":{"line":16,"column":456}},"162":{"start":{"line":16,"column":456},"end":{"line":17,"column":155}},"163":{"start":{"line":16,"column":466},"end":{"line":17,"column":18}},"164":{"start":{"line":17,"column":18},"end":{"line":17,"column":115}},"165":{"start":{"line":17,"column":115},"end":{"line":17,"column":154}},"166":{"start":{"line":17,"column":155},"end":{"line":17,"column":163}},"167":{"start":{"line":17,"column":192},"end":{"line":17,"column":253}},"168":{"start":{"line":17,"column":253},"end":{"line":17,"column":260}},"169":{"start":{"line":17,"column":260},"end":{"line":17,"column":277}},"170":{"start":{"line":17,"column":277},"end":{"line":17,"column":297}},"171":{"start":{"line":17,"column":324},"end":{"line":17,"column":460}},"172":{"start":{"line":17,"column":420},"end":{"line":17,"column":451}},"173":{"start":{"line":17,"column":460},"end":{"line":18,"column":4}},"174":{"start":{"line":18,"column":27},"end":{"line":18,"column":111}},"175":{"start":{"line":18,"column":61},"end":{"line":18,"column":108}},"176":{"start":{"line":18,"column":111},"end":{"line":18,"column":118}},"177":{"start":{"line":18,"column":148},"end":{"line":18,"column":169}},"178":{"start":{"line":18,"column":191},"end":{"line":18,"column":202}},"179":{"start":{"line":18,"column":202},"end":{"line":18,"column":239}},"180":{"start":{"line":18,"column":239},"end":{"line":18,"column":261}},"181":{"start":{"line":18,"column":261},"end":{"line":18,"column":359}},"182":{"start":{"line":18,"column":344},"end":{"line":18,"column":355}},"183":{"start":{"line":18,"column":359},"end":{"line":18,"column":428}},"184":{"start":{"line":18,"column":392},"end":{"line":18,"column":426}},"185":{"start":{"line":18,"column":431},"end":{"line":19,"column":194}},"186":{"start":{"line":18,"column":456},"end":{"line":18,"column":497}},"187":{"start":{"line":18,"column":482},"end":{"line":18,"column":495}},"188":{"start":{"line":18,"column":518},"end":{"line":19,"column":4}},"189":{"start":{"line":18,"column":544},"end":{"line":19,"column":2}},"190":{"start":{"line":19,"column":27},"end":{"line":19,"column":61}},"191":{"start":{"line":19,"column":82},"end":{"line":19,"column":130}},"192":{"start":{"line":19,"column":108},"end":{"line":19,"column":128}},"193":{"start":{"line":19,"column":151},"end":{"line":19,"column":191}},"194":{"start":{"line":19,"column":177},"end":{"line":19,"column":189}},"195":{"start":{"line":19,"column":194},"end":{"line":19,"column":218}},"196":{"start":{"line":19,"column":218},"end":{"line":19,"column":443}},"197":{"start":{"line":19,"column":238},"end":{"line":19,"column":284}},"198":{"start":{"line":19,"column":284},"end":{"line":19,"column":442}},"199":{"start":{"line":19,"column":311},"end":{"line":19,"column":337}},"200":{"start":{"line":19,"column":337},"end":{"line":19,"column":377}},"201":{"start":{"line":19,"column":348},"end":{"line":19,"column":377}},"202":{"start":{"line":19,"column":377},"end":{"line":19,"column":429}},"203":{"start":{"line":19,"column":429},"end":{"line":19,"column":440}}},"branchMap":{"1":{"line":1,"type":"cond-expr","locations":[{"start":{"line":1,"column":157},"end":{"line":1,"column":165}},{"start":{"line":1,"column":166},"end":{"line":1,"column":176}}]},"2":{"line":1,"type":"cond-expr","locations":[{"start":{"line":1,"column":208},"end":{"line":1,"column":215}},{"start":{"line":1,"column":216},"end":{"line":1,"column":223}}]},"3":{"line":2,"type":"binary-expr","locations":[{"start":{"line":2,"column":0},"end":{"line":2,"column":1}},{"start":{"line":2,"column":3},"end":{"line":2,"column":17}}]},"4":{"line":2,"type":"binary-expr","locations":[{"start":{"line":2,"column":71},"end":{"line":2,"column":72}},{"start":{"line":2,"column":74},"end":{"line":2,"column":80}}]},"5":{"line":2,"type":"binary-expr","locations":[{"start":{"line":2,"column":119},"end":{"line":2,"column":128}},{"start":{"line":2,"column":130},"end":{"line":2,"column":139}},{"start":{"line":2,"column":141},"end":{"line":2,"column":150}}]},"6":{"line":2,"type":"binary-expr","locations":[{"start":{"line":2,"column":216},"end":{"line":2,"column":238}},{"start":{"line":2,"column":241},"end":{"line":2,"column":454}}]},"7":{"line":2,"type":"binary-expr","locations":[{"start":{"line":2,"column":407},"end":{"line":2,"column":422}},{"start":{"line":2,"column":425},"end":{"line":2,"column":453}}]},"8":{"line":3,"type":"binary-expr","locations":[{"start":{"line":3,"column":51},"end":{"line":3,"column":73}},{"start":{"line":3,"column":75},"end":{"line":3,"column":85}}]},"9":{"line":3,"type":"binary-expr","locations":[{"start":{"line":3,"column":98},"end":{"line":3,"column":127}},{"start":{"line":3,"column":129},"end":{"line":3,"column":164}}]},"10":{"line":3,"type":"cond-expr","locations":[{"start":{"line":3,"column":217},"end":{"line":3,"column":232}},{"start":{"line":3,"column":233},"end":{"line":3,"column":240}}]},"11":{"line":3,"type":"binary-expr","locations":[{"start":{"line":3,"column":305},"end":{"line":3,"column":322}},{"start":{"line":3,"column":324},"end":{"line":3,"column":356}}]},"12":{"line":5,"type":"if","locations":[{"start":{"line":5,"column":28},"end":{"line":5,"column":28}},{"start":{"line":5,"column":28},"end":{"line":5,"column":28}}]},"13":{"line":5,"type":"if","locations":[{"start":{"line":5,"column":260},"end":{"line":5,"column":260}},{"start":{"line":5,"column":260},"end":{"line":5,"column":260}}]},"14":{"line":5,"type":"binary-expr","locations":[{"start":{"line":5,"column":275},"end":{"line":5,"column":279}},{"start":{"line":5,"column":282},"end":{"line":5,"column":294}}]},"15":{"line":6,"type":"binary-expr","locations":[{"start":{"line":6,"column":89},"end":{"line":6,"column":99}},{"start":{"line":6,"column":102},"end":{"line":6,"column":148}}]},"16":{"line":6,"type":"binary-expr","locations":[{"start":{"line":6,"column":102},"end":{"line":6,"column":113}},{"start":{"line":6,"column":116},"end":{"line":6,"column":127}}]},"17":{"line":6,"type":"binary-expr","locations":[{"start":{"line":6,"column":298},"end":{"line":6,"column":306}},{"start":{"line":6,"column":309},"end":{"line":7,"column":21}}]},"18":{"line":6,"type":"binary-expr","locations":[{"start":{"line":6,"column":342},"end":{"line":6,"column":377}},{"start":{"line":6,"column":379},"end":{"line":6,"column":430}},{"start":{"line":6,"column":433},"end":{"line":7,"column":20}}]},"19":{"line":7,"type":"if","locations":[{"start":{"line":7,"column":41},"end":{"line":7,"column":41}},{"start":{"line":7,"column":41},"end":{"line":7,"column":41}}]},"20":{"line":7,"type":"if","locations":[{"start":{"line":7,"column":60},"end":{"line":7,"column":60}},{"start":{"line":7,"column":60},"end":{"line":7,"column":60}}]},"21":{"line":7,"type":"binary-expr","locations":[{"start":{"line":7,"column":63},"end":{"line":7,"column":83}},{"start":{"line":7,"column":85},"end":{"line":7,"column":99}}]},"22":{"line":7,"type":"binary-expr","locations":[{"start":{"line":7,"column":404},"end":{"line":7,"column":406}},{"start":{"line":7,"column":408},"end":{"line":7,"column":421}},{"start":{"line":7,"column":423},"end":{"line":7,"column":439}},{"start":{"line":7,"column":441},"end":{"line":7,"column":456}},{"start":{"line":7,"column":458},"end":{"line":7,"column":474}},{"start":{"line":7,"column":477},"end":{"line":7,"column":502}},{"start":{"line":8,"column":1},"end":{"line":8,"column":50}}]},"23":{"line":8,"type":"if","locations":[{"start":{"line":8,"column":119},"end":{"line":8,"column":119}},{"start":{"line":8,"column":119},"end":{"line":8,"column":119}}]},"24":{"line":8,"type":"if","locations":[{"start":{"line":8,"column":137},"end":{"line":8,"column":137}},{"start":{"line":8,"column":137},"end":{"line":8,"column":137}}]},"25":{"line":8,"type":"binary-expr","locations":[{"start":{"line":8,"column":503},"end":{"line":8,"column":504}},{"start":{"line":9,"column":1},"end":{"line":9,"column":82}}]},"26":{"line":9,"type":"binary-expr","locations":[{"start":{"line":9,"column":3},"end":{"line":9,"column":23}},{"start":{"line":9,"column":25},"end":{"line":9,"column":37}}]},"27":{"line":9,"type":"binary-expr","locations":[{"start":{"line":9,"column":40},"end":{"line":9,"column":64}},{"start":{"line":9,"column":66},"end":{"line":9,"column":82}}]},"28":{"line":9,"type":"if","locations":[{"start":{"line":9,"column":162},"end":{"line":9,"column":162}},{"start":{"line":9,"column":162},"end":{"line":9,"column":162}}]},"29":{"line":9,"type":"binary-expr","locations":[{"start":{"line":9,"column":165},"end":{"line":9,"column":173}},{"start":{"line":9,"column":175},"end":{"line":9,"column":203}}]},"30":{"line":9,"type":"if","locations":[{"start":{"line":9,"column":204},"end":{"line":9,"column":204}},{"start":{"line":9,"column":204},"end":{"line":9,"column":204}}]},"31":{"line":9,"type":"if","locations":[{"start":{"line":9,"column":241},"end":{"line":9,"column":241}},{"start":{"line":9,"column":241},"end":{"line":9,"column":241}}]},"32":{"line":9,"type":"if","locations":[{"start":{"line":9,"column":318},"end":{"line":9,"column":318}},{"start":{"line":9,"column":318},"end":{"line":9,"column":318}}]},"33":{"line":9,"type":"binary-expr","locations":[{"start":{"line":9,"column":356},"end":{"line":9,"column":374}},{"start":{"line":9,"column":377},"end":{"line":9,"column":397}}]},"34":{"line":9,"type":"if","locations":[{"start":{"line":9,"column":462},"end":{"line":9,"column":462}},{"start":{"line":9,"column":462},"end":{"line":9,"column":462}}]},"35":{"line":9,"type":"binary-expr","locations":[{"start":{"line":9,"column":465},"end":{"line":9,"column":466}},{"start":{"line":9,"column":468},"end":{"line":9,"column":470}},{"start":{"line":9,"column":472},"end":{"line":9,"column":483}}]},"36":{"line":10,"type":"binary-expr","locations":[{"start":{"line":10,"column":125},"end":{"line":10,"column":149}},{"start":{"line":10,"column":151},"end":{"line":10,"column":245}}]},"37":{"line":10,"type":"if","locations":[{"start":{"line":10,"column":390},"end":{"line":10,"column":390}},{"start":{"line":10,"column":390},"end":{"line":10,"column":390}}]},"38":{"line":10,"type":"if","locations":[{"start":{"line":10,"column":490},"end":{"line":10,"column":490}},{"start":{"line":10,"column":490},"end":{"line":10,"column":490}}]},"39":{"line":10,"type":"if","locations":[{"start":{"line":10,"column":527},"end":{"line":10,"column":527}},{"start":{"line":10,"column":527},"end":{"line":10,"column":527}}]},"40":{"line":11,"type":"if","locations":[{"start":{"line":11,"column":146},"end":{"line":11,"column":146}},{"start":{"line":11,"column":146},"end":{"line":11,"column":146}}]},"41":{"line":12,"type":"binary-expr","locations":[{"start":{"line":12,"column":0},"end":{"line":12,"column":15}},{"start":{"line":12,"column":17},"end":{"line":12,"column":40}},{"start":{"line":12,"column":42},"end":{"line":12,"column":68}}]},"42":{"line":12,"type":"binary-expr","locations":[{"start":{"line":12,"column":81},"end":{"line":12,"column":88}},{"start":{"line":12,"column":90},"end":{"line":12,"column":97}}]},"43":{"line":12,"type":"binary-expr","locations":[{"start":{"line":12,"column":102},"end":{"line":12,"column":109}},{"start":{"line":12,"column":111},"end":{"line":12,"column":118}}]},"44":{"line":12,"type":"binary-expr","locations":[{"start":{"line":12,"column":193},"end":{"line":12,"column":206}},{"start":{"line":12,"column":209},"end":{"line":12,"column":323}}]},"45":{"line":13,"type":"binary-expr","locations":[{"start":{"line":13,"column":396},"end":{"line":13,"column":410}},{"start":{"line":13,"column":412},"end":{"line":13,"column":427}},{"start":{"line":13,"column":429},"end":{"line":13,"column":446}},{"start":{"line":13,"column":448},"end":{"line":13,"column":467}},{"start":{"line":13,"column":469},"end":{"line":13,"column":487}}]},"46":{"line":13,"type":"binary-expr","locations":[{"start":{"line":13,"column":520},"end":{"line":14,"column":7}},{"start":{"line":14,"column":9},"end":{"line":14,"column":29}},{"start":{"line":14,"column":31},"end":{"line":14,"column":64}}]},"47":{"line":14,"type":"binary-expr","locations":[{"start":{"line":14,"column":166},"end":{"line":14,"column":190}},{"start":{"line":14,"column":192},"end":{"line":14,"column":228}}]},"48":{"line":14,"type":"if","locations":[{"start":{"line":14,"column":229},"end":{"line":14,"column":229}},{"start":{"line":14,"column":229},"end":{"line":14,"column":229}}]},"49":{"line":14,"type":"binary-expr","locations":[{"start":{"line":14,"column":232},"end":{"line":14,"column":234}},{"start":{"line":14,"column":236},"end":{"line":14,"column":237}}]},"50":{"line":14,"type":"if","locations":[{"start":{"line":14,"column":303},"end":{"line":14,"column":303}},{"start":{"line":14,"column":303},"end":{"line":14,"column":303}}]},"51":{"line":14,"type":"binary-expr","locations":[{"start":{"line":14,"column":316},"end":{"line":14,"column":324}},{"start":{"line":14,"column":326},"end":{"line":14,"column":347}}]},"52":{"line":14,"type":"if","locations":[{"start":{"line":14,"column":349},"end":{"line":14,"column":349}},{"start":{"line":14,"column":349},"end":{"line":14,"column":349}}]},"53":{"line":14,"type":"if","locations":[{"start":{"line":14,"column":415},"end":{"line":14,"column":415}},{"start":{"line":14,"column":415},"end":{"line":14,"column":415}}]},"54":{"line":15,"type":"cond-expr","locations":[{"start":{"line":15,"column":161},"end":{"line":15,"column":219}},{"start":{"line":15,"column":220},"end":{"line":15,"column":279}}]},"55":{"line":15,"type":"cond-expr","locations":[{"start":{"line":15,"column":183},"end":{"line":15,"column":207}},{"start":{"line":15,"column":209},"end":{"line":15,"column":219}}]},"56":{"line":15,"type":"cond-expr","locations":[{"start":{"line":15,"column":243},"end":{"line":15,"column":266}},{"start":{"line":15,"column":268},"end":{"line":15,"column":279}}]},"57":{"line":15,"type":"binary-expr","locations":[{"start":{"line":15,"column":280},"end":{"line":15,"column":301}},{"start":{"line":15,"column":304},"end":{"line":15,"column":307}}]},"58":{"line":15,"type":"binary-expr","locations":[{"start":{"line":15,"column":382},"end":{"line":15,"column":401}},{"start":{"line":15,"column":404},"end":{"line":16,"column":108}}]},"59":{"line":16,"type":"cond-expr","locations":[{"start":{"line":16,"column":281},"end":{"line":16,"column":282}},{"start":{"line":16,"column":283},"end":{"line":16,"column":299}}]},"60":{"line":16,"type":"binary-expr","locations":[{"start":{"line":16,"column":189},"end":{"line":16,"column":219}},{"start":{"line":16,"column":221},"end":{"line":16,"column":251}},{"start":{"line":16,"column":253},"end":{"line":16,"column":280}}]},"61":{"line":16,"type":"binary-expr","locations":[{"start":{"line":16,"column":334},"end":{"line":16,"column":353}},{"start":{"line":16,"column":355},"end":{"line":16,"column":380}}]},"62":{"line":16,"type":"if","locations":[{"start":{"line":16,"column":456},"end":{"line":16,"column":456}},{"start":{"line":16,"column":456},"end":{"line":16,"column":456}}]},"63":{"line":17,"type":"binary-expr","locations":[{"start":{"line":17,"column":18},"end":{"line":17,"column":22}},{"start":{"line":17,"column":25},"end":{"line":17,"column":113}}]},"64":{"line":17,"type":"binary-expr","locations":[{"start":{"line":17,"column":260},"end":{"line":17,"column":261}},{"start":{"line":17,"column":264},"end":{"line":17,"column":275}}]},"65":{"line":17,"type":"cond-expr","locations":[{"start":{"line":17,"column":359},"end":{"line":17,"column":365}},{"start":{"line":17,"column":366},"end":{"line":17,"column":377}}]},"66":{"line":18,"type":"binary-expr","locations":[{"start":{"line":18,"column":34},"end":{"line":18,"column":44}},{"start":{"line":18,"column":46},"end":{"line":18,"column":48}}]},"67":{"line":18,"type":"binary-expr","locations":[{"start":{"line":18,"column":62},"end":{"line":18,"column":92}},{"start":{"line":18,"column":95},"end":{"line":18,"column":108}}]},"68":{"line":18,"type":"binary-expr","locations":[{"start":{"line":18,"column":261},"end":{"line":18,"column":278}},{"start":{"line":18,"column":281},"end":{"line":18,"column":357}}]},"69":{"line":18,"type":"binary-expr","locations":[{"start":{"line":18,"column":366},"end":{"line":18,"column":376}},{"start":{"line":18,"column":378},"end":{"line":18,"column":380}}]},"70":{"line":19,"type":"if","locations":[{"start":{"line":19,"column":337},"end":{"line":19,"column":337}},{"start":{"line":19,"column":337},"end":{"line":19,"column":337}}]},"71":{"line":19,"type":"binary-expr","locations":[{"start":{"line":19,"column":340},"end":{"line":19,"column":341}},{"start":{"line":19,"column":343},"end":{"line":19,"column":347}}]},"72":{"line":19,"type":"binary-expr","locations":[{"start":{"line":19,"column":355},"end":{"line":19,"column":370}},{"start":{"line":19,"column":372},"end":{"line":19,"column":376}}]},"73":{"line":19,"type":"binary-expr","locations":[{"start":{"line":19,"column":377},"end":{"line":19,"column":378}},{"start":{"line":19,"column":380},"end":{"line":19,"column":385}},{"start":{"line":19,"column":387},"end":{"line":19,"column":406}},{"start":{"line":19,"column":408},"end":{"line":19,"column":428}}]}}},"assests/js/lib/embed/templates.js":{"path":"assests/js/lib/embed/templates.js","s":{"1":1,"2":1,"3":1,"4":0,"5":0,"6":0,"7":0,"8":1,"9":0,"10":0,"11":1,"12":0,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":0,"26":0,"27":1,"28":0,"29":1,"30":0,"31":0,"32":1,"33":0,"34":1,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0},"b":{"1":[1,1],"2":[1,1],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0,0],"74":[0,0],"75":[0,0],"76":[0,0],"77":[0,0],"78":[0,0],"79":[0,0],"80":[0,0],"81":[0,0],"82":[0,0],"83":[0,0],"84":[0,0],"85":[0,0],"86":[0,0],"87":[0,0],"88":[0,0],"89":[0,0],"90":[0,0],"91":[0,0,0],"92":[0,0],"93":[0,0],"94":[0,0],"95":[0,0],"96":[0,0],"97":[0,0],"98":[0,0],"99":[0,0],"100":[0,0],"101":[0,0],"102":[0,0],"103":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"fnMap":{"1":{"name":"(anonymous_1)","line":4,"loc":{"start":{"line":4,"column":98},"end":{"line":4,"column":147}}},"2":{"name":"(anonymous_2)","line":12,"loc":{"start":{"line":12,"column":35},"end":{"line":12,"column":84}}},"3":{"name":"(anonymous_3)","line":20,"loc":{"start":{"line":20,"column":127},"end":{"line":20,"column":176}}},"4":{"name":"(anonymous_4)","line":28,"loc":{"start":{"line":28,"column":130},"end":{"line":28,"column":179}}},"5":{"name":"(anonymous_5)","line":32,"loc":{"start":{"line":32,"column":100},"end":{"line":32,"column":149}}},"6":{"name":"(anonymous_6)","line":38,"loc":{"start":{"line":38,"column":6},"end":{"line":38,"column":55}}},"7":{"name":"(anonymous_7)","line":42,"loc":{"start":{"line":42,"column":6},"end":{"line":42,"column":55}}},"8":{"name":"(anonymous_8)","line":50,"loc":{"start":{"line":50,"column":6},"end":{"line":50,"column":55}}},"9":{"name":"(anonymous_9)","line":56,"loc":{"start":{"line":56,"column":35},"end":{"line":56,"column":84}}},"10":{"name":"(anonymous_10)","line":64,"loc":{"start":{"line":64,"column":129},"end":{"line":64,"column":178}}},"11":{"name":"(anonymous_11)","line":72,"loc":{"start":{"line":72,"column":132},"end":{"line":72,"column":181}}},"12":{"name":"(anonymous_12)","line":76,"loc":{"start":{"line":76,"column":98},"end":{"line":76,"column":147}}},"13":{"name":"(anonymous_13)","line":78,"loc":{"start":{"line":78,"column":35},"end":{"line":78,"column":84}}},"14":{"name":"(anonymous_14)","line":88,"loc":{"start":{"line":88,"column":133},"end":{"line":88,"column":182}}},"15":{"name":"(anonymous_15)","line":92,"loc":{"start":{"line":92,"column":100},"end":{"line":92,"column":149}}},"16":{"name":"(anonymous_16)","line":96,"loc":{"start":{"line":96,"column":6},"end":{"line":96,"column":55}}},"17":{"name":"(anonymous_17)","line":104,"loc":{"start":{"line":104,"column":6},"end":{"line":104,"column":55}}},"18":{"name":"(anonymous_18)","line":110,"loc":{"start":{"line":110,"column":6},"end":{"line":110,"column":55}}},"19":{"name":"(anonymous_19)","line":114,"loc":{"start":{"line":114,"column":6},"end":{"line":114,"column":55}}},"20":{"name":"(anonymous_20)","line":122,"loc":{"start":{"line":122,"column":35},"end":{"line":122,"column":84}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":50}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":76}},"3":{"start":{"line":4,"column":0},"end":{"line":18,"column":19}},"4":{"start":{"line":5,"column":4},"end":{"line":5,"column":136}},"5":{"start":{"line":7,"column":2},"end":{"line":11,"column":25}},"6":{"start":{"line":13,"column":4},"end":{"line":13,"column":15}},"7":{"start":{"line":15,"column":2},"end":{"line":17,"column":28}},"8":{"start":{"line":20,"column":0},"end":{"line":26,"column":19}},"9":{"start":{"line":21,"column":4},"end":{"line":21,"column":15}},"10":{"start":{"line":23,"column":2},"end":{"line":25,"column":25}},"11":{"start":{"line":28,"column":0},"end":{"line":30,"column":19}},"12":{"start":{"line":29,"column":4},"end":{"line":29,"column":27}},"13":{"start":{"line":32,"column":0},"end":{"line":62,"column":19}},"14":{"start":{"line":33,"column":4},"end":{"line":33,"column":15}},"15":{"start":{"line":35,"column":2},"end":{"line":37,"column":36}},"16":{"start":{"line":39,"column":4},"end":{"line":39,"column":15}},"17":{"start":{"line":41,"column":2},"end":{"line":41,"column":257}},"18":{"start":{"line":43,"column":4},"end":{"line":43,"column":136}},"19":{"start":{"line":45,"column":2},"end":{"line":49,"column":47}},"20":{"start":{"line":51,"column":4},"end":{"line":51,"column":15}},"21":{"start":{"line":53,"column":2},"end":{"line":55,"column":36}},"22":{"start":{"line":57,"column":4},"end":{"line":57,"column":79}},"23":{"start":{"line":59,"column":2},"end":{"line":61,"column":207}},"24":{"start":{"line":64,"column":0},"end":{"line":70,"column":19}},"25":{"start":{"line":65,"column":4},"end":{"line":65,"column":23}},"26":{"start":{"line":67,"column":2},"end":{"line":69,"column":92}},"27":{"start":{"line":72,"column":0},"end":{"line":74,"column":19}},"28":{"start":{"line":73,"column":4},"end":{"line":73,"column":44}},"29":{"start":{"line":76,"column":0},"end":{"line":86,"column":19}},"30":{"start":{"line":79,"column":4},"end":{"line":79,"column":87}},"31":{"start":{"line":81,"column":2},"end":{"line":85,"column":20}},"32":{"start":{"line":88,"column":0},"end":{"line":90,"column":19}},"33":{"start":{"line":89,"column":4},"end":{"line":89,"column":70}},"34":{"start":{"line":92,"column":0},"end":{"line":129,"column":19}},"35":{"start":{"line":93,"column":4},"end":{"line":93,"column":15}},"36":{"start":{"line":95,"column":2},"end":{"line":95,"column":257}},"37":{"start":{"line":97,"column":4},"end":{"line":97,"column":136}},"38":{"start":{"line":99,"column":2},"end":{"line":103,"column":43}},"39":{"start":{"line":105,"column":4},"end":{"line":105,"column":15}},"40":{"start":{"line":107,"column":2},"end":{"line":109,"column":33}},"41":{"start":{"line":111,"column":4},"end":{"line":111,"column":15}},"42":{"start":{"line":113,"column":2},"end":{"line":113,"column":257}},"43":{"start":{"line":115,"column":4},"end":{"line":115,"column":136}},"44":{"start":{"line":117,"column":2},"end":{"line":121,"column":44}},"45":{"start":{"line":123,"column":4},"end":{"line":123,"column":79}},"46":{"start":{"line":125,"column":2},"end":{"line":128,"column":207}}},"branchMap":{"1":{"line":1,"type":"binary-expr","locations":[{"start":{"line":1,"column":23},"end":{"line":1,"column":43}},{"start":{"line":1,"column":47},"end":{"line":1,"column":49}}]},"2":{"line":2,"type":"binary-expr","locations":[{"start":{"line":2,"column":36},"end":{"line":2,"column":69}},{"start":{"line":2,"column":73},"end":{"line":2,"column":75}}]},"3":{"line":5,"type":"cond-expr","locations":[{"start":{"line":5,"column":48},"end":{"line":5,"column":54}},{"start":{"line":5,"column":58},"end":{"line":5,"column":85}}]},"4":{"line":5,"type":"binary-expr","locations":[{"start":{"line":5,"column":58},"end":{"line":5,"column":79}},{"start":{"line":5,"column":83},"end":{"line":5,"column":85}}]},"5":{"line":8,"type":"cond-expr","locations":[{"start":{"line":8,"column":99},"end":{"line":8,"column":105}},{"start":{"line":8,"column":108},"end":{"line":8,"column":114}}]},"6":{"line":8,"type":"binary-expr","locations":[{"start":{"line":8,"column":54},"end":{"line":8,"column":65}},{"start":{"line":8,"column":70},"end":{"line":8,"column":74}},{"start":{"line":8,"column":78},"end":{"line":8,"column":86}}]},"7":{"line":8,"type":"cond-expr","locations":[{"start":{"line":8,"column":144},"end":{"line":8,"column":200}},{"start":{"line":8,"column":203},"end":{"line":8,"column":209}}]},"8":{"line":10,"type":"cond-expr","locations":[{"start":{"line":10,"column":233},"end":{"line":10,"column":239}},{"start":{"line":10,"column":242},"end":{"line":10,"column":244}}]},"9":{"line":10,"type":"cond-expr","locations":[{"start":{"line":10,"column":107},"end":{"line":10,"column":113}},{"start":{"line":10,"column":116},"end":{"line":10,"column":122}}]},"10":{"line":10,"type":"binary-expr","locations":[{"start":{"line":10,"column":38},"end":{"line":10,"column":51}},{"start":{"line":10,"column":56},"end":{"line":10,"column":94}}]},"11":{"line":10,"type":"cond-expr","locations":[{"start":{"line":10,"column":73},"end":{"line":10,"column":85}},{"start":{"line":10,"column":88},"end":{"line":10,"column":94}}]},"12":{"line":10,"type":"cond-expr","locations":[{"start":{"line":10,"column":152},"end":{"line":10,"column":210}},{"start":{"line":10,"column":213},"end":{"line":10,"column":219}}]},"13":{"line":16,"type":"cond-expr","locations":[{"start":{"line":16,"column":243},"end":{"line":16,"column":249}},{"start":{"line":16,"column":252},"end":{"line":16,"column":254}}]},"14":{"line":16,"type":"cond-expr","locations":[{"start":{"line":16,"column":52},"end":{"line":16,"column":58}},{"start":{"line":16,"column":62},"end":{"line":16,"column":89}}]},"15":{"line":16,"type":"binary-expr","locations":[{"start":{"line":16,"column":62},"end":{"line":16,"column":83}},{"start":{"line":16,"column":87},"end":{"line":16,"column":89}}]},"16":{"line":16,"type":"cond-expr","locations":[{"start":{"line":16,"column":109},"end":{"line":16,"column":122}},{"start":{"line":16,"column":125},"end":{"line":16,"column":131}}]},"17":{"line":24,"type":"cond-expr","locations":[{"start":{"line":24,"column":135},"end":{"line":24,"column":141}},{"start":{"line":24,"column":144},"end":{"line":24,"column":165}}]},"18":{"line":24,"type":"binary-expr","locations":[{"start":{"line":24,"column":54},"end":{"line":24,"column":73}},{"start":{"line":24,"column":78},"end":{"line":24,"column":122}}]},"19":{"line":24,"type":"cond-expr","locations":[{"start":{"line":24,"column":95},"end":{"line":24,"column":113}},{"start":{"line":24,"column":116},"end":{"line":24,"column":122}}]},"20":{"line":24,"type":"cond-expr","locations":[{"start":{"line":24,"column":199},"end":{"line":24,"column":312}},{"start":{"line":24,"column":315},"end":{"line":24,"column":321}}]},"21":{"line":24,"type":"cond-expr","locations":[{"start":{"line":24,"column":228},"end":{"line":24,"column":234}},{"start":{"line":24,"column":238},"end":{"line":24,"column":265}}]},"22":{"line":24,"type":"binary-expr","locations":[{"start":{"line":24,"column":238},"end":{"line":24,"column":259}},{"start":{"line":24,"column":263},"end":{"line":24,"column":265}}]},"23":{"line":36,"type":"cond-expr","locations":[{"start":{"line":36,"column":243},"end":{"line":36,"column":249}},{"start":{"line":36,"column":252},"end":{"line":36,"column":254}}]},"24":{"line":36,"type":"cond-expr","locations":[{"start":{"line":36,"column":52},"end":{"line":36,"column":58}},{"start":{"line":36,"column":62},"end":{"line":36,"column":89}}]},"25":{"line":36,"type":"binary-expr","locations":[{"start":{"line":36,"column":62},"end":{"line":36,"column":83}},{"start":{"line":36,"column":87},"end":{"line":36,"column":89}}]},"26":{"line":36,"type":"cond-expr","locations":[{"start":{"line":36,"column":109},"end":{"line":36,"column":122}},{"start":{"line":36,"column":125},"end":{"line":36,"column":131}}]},"27":{"line":41,"type":"cond-expr","locations":[{"start":{"line":41,"column":244},"end":{"line":41,"column":250}},{"start":{"line":41,"column":253},"end":{"line":41,"column":255}}]},"28":{"line":41,"type":"cond-expr","locations":[{"start":{"line":41,"column":56},"end":{"line":41,"column":62}},{"start":{"line":41,"column":66},"end":{"line":41,"column":93}}]},"29":{"line":41,"type":"binary-expr","locations":[{"start":{"line":41,"column":66},"end":{"line":41,"column":87}},{"start":{"line":41,"column":91},"end":{"line":41,"column":93}}]},"30":{"line":41,"type":"cond-expr","locations":[{"start":{"line":41,"column":113},"end":{"line":41,"column":125}},{"start":{"line":41,"column":128},"end":{"line":41,"column":134}}]},"31":{"line":43,"type":"cond-expr","locations":[{"start":{"line":43,"column":48},"end":{"line":43,"column":54}},{"start":{"line":43,"column":58},"end":{"line":43,"column":85}}]},"32":{"line":43,"type":"binary-expr","locations":[{"start":{"line":43,"column":58},"end":{"line":43,"column":79}},{"start":{"line":43,"column":83},"end":{"line":43,"column":85}}]},"33":{"line":46,"type":"cond-expr","locations":[{"start":{"line":46,"column":99},"end":{"line":46,"column":105}},{"start":{"line":46,"column":108},"end":{"line":46,"column":114}}]},"34":{"line":46,"type":"binary-expr","locations":[{"start":{"line":46,"column":54},"end":{"line":46,"column":65}},{"start":{"line":46,"column":70},"end":{"line":46,"column":74}},{"start":{"line":46,"column":78},"end":{"line":46,"column":86}}]},"35":{"line":46,"type":"cond-expr","locations":[{"start":{"line":46,"column":144},"end":{"line":46,"column":200}},{"start":{"line":46,"column":203},"end":{"line":46,"column":209}}]},"36":{"line":48,"type":"cond-expr","locations":[{"start":{"line":48,"column":233},"end":{"line":48,"column":239}},{"start":{"line":48,"column":242},"end":{"line":48,"column":244}}]},"37":{"line":48,"type":"cond-expr","locations":[{"start":{"line":48,"column":107},"end":{"line":48,"column":113}},{"start":{"line":48,"column":116},"end":{"line":48,"column":122}}]},"38":{"line":48,"type":"binary-expr","locations":[{"start":{"line":48,"column":38},"end":{"line":48,"column":51}},{"start":{"line":48,"column":56},"end":{"line":48,"column":94}}]},"39":{"line":48,"type":"cond-expr","locations":[{"start":{"line":48,"column":73},"end":{"line":48,"column":85}},{"start":{"line":48,"column":88},"end":{"line":48,"column":94}}]},"40":{"line":48,"type":"cond-expr","locations":[{"start":{"line":48,"column":152},"end":{"line":48,"column":210}},{"start":{"line":48,"column":213},"end":{"line":48,"column":219}}]},"41":{"line":54,"type":"cond-expr","locations":[{"start":{"line":54,"column":244},"end":{"line":54,"column":250}},{"start":{"line":54,"column":253},"end":{"line":54,"column":255}}]},"42":{"line":54,"type":"cond-expr","locations":[{"start":{"line":54,"column":52},"end":{"line":54,"column":58}},{"start":{"line":54,"column":62},"end":{"line":54,"column":89}}]},"43":{"line":54,"type":"binary-expr","locations":[{"start":{"line":54,"column":62},"end":{"line":54,"column":83}},{"start":{"line":54,"column":87},"end":{"line":54,"column":89}}]},"44":{"line":54,"type":"cond-expr","locations":[{"start":{"line":54,"column":109},"end":{"line":54,"column":123}},{"start":{"line":54,"column":126},"end":{"line":54,"column":132}}]},"45":{"line":57,"type":"cond-expr","locations":[{"start":{"line":57,"column":40},"end":{"line":57,"column":46}},{"start":{"line":57,"column":50},"end":{"line":57,"column":77}}]},"46":{"line":57,"type":"binary-expr","locations":[{"start":{"line":57,"column":50},"end":{"line":57,"column":71}},{"start":{"line":57,"column":75},"end":{"line":57,"column":77}}]},"47":{"line":59,"type":"cond-expr","locations":[{"start":{"line":59,"column":196},"end":{"line":59,"column":202}},{"start":{"line":59,"column":205},"end":{"line":59,"column":207}}]},"48":{"line":59,"type":"cond-expr","locations":[{"start":{"line":59,"column":64},"end":{"line":59,"column":77}},{"start":{"line":59,"column":80},"end":{"line":59,"column":86}}]},"49":{"line":61,"type":"cond-expr","locations":[{"start":{"line":61,"column":194},"end":{"line":61,"column":200}},{"start":{"line":61,"column":203},"end":{"line":61,"column":205}}]},"50":{"line":61,"type":"cond-expr","locations":[{"start":{"line":61,"column":61},"end":{"line":61,"column":75}},{"start":{"line":61,"column":78},"end":{"line":61,"column":84}}]},"51":{"line":68,"type":"cond-expr","locations":[{"start":{"line":68,"column":298},"end":{"line":68,"column":304}},{"start":{"line":68,"column":307},"end":{"line":68,"column":309}}]},"52":{"line":68,"type":"cond-expr","locations":[{"start":{"line":68,"column":105},"end":{"line":68,"column":111}},{"start":{"line":68,"column":114},"end":{"line":68,"column":135}}]},"53":{"line":68,"type":"binary-expr","locations":[{"start":{"line":68,"column":38},"end":{"line":68,"column":50}},{"start":{"line":68,"column":55},"end":{"line":68,"column":92}}]},"54":{"line":68,"type":"cond-expr","locations":[{"start":{"line":68,"column":72},"end":{"line":68,"column":83}},{"start":{"line":68,"column":86},"end":{"line":68,"column":92}}]},"55":{"line":68,"type":"cond-expr","locations":[{"start":{"line":68,"column":169},"end":{"line":68,"column":275}},{"start":{"line":68,"column":278},"end":{"line":68,"column":284}}]},"56":{"line":68,"type":"cond-expr","locations":[{"start":{"line":68,"column":198},"end":{"line":68,"column":204}},{"start":{"line":68,"column":208},"end":{"line":68,"column":235}}]},"57":{"line":68,"type":"binary-expr","locations":[{"start":{"line":68,"column":208},"end":{"line":68,"column":229}},{"start":{"line":68,"column":233},"end":{"line":68,"column":235}}]},"58":{"line":79,"type":"cond-expr","locations":[{"start":{"line":79,"column":48},"end":{"line":79,"column":54}},{"start":{"line":79,"column":58},"end":{"line":79,"column":85}}]},"59":{"line":79,"type":"binary-expr","locations":[{"start":{"line":79,"column":58},"end":{"line":79,"column":79}},{"start":{"line":79,"column":83},"end":{"line":79,"column":85}}]},"60":{"line":82,"type":"cond-expr","locations":[{"start":{"line":82,"column":119},"end":{"line":82,"column":125}},{"start":{"line":82,"column":128},"end":{"line":82,"column":149}}]},"61":{"line":82,"type":"binary-expr","locations":[{"start":{"line":82,"column":54},"end":{"line":82,"column":65}},{"start":{"line":82,"column":70},"end":{"line":82,"column":106}}]},"62":{"line":82,"type":"cond-expr","locations":[{"start":{"line":82,"column":87},"end":{"line":82,"column":97}},{"start":{"line":82,"column":100},"end":{"line":82,"column":106}}]},"63":{"line":82,"type":"cond-expr","locations":[{"start":{"line":82,"column":183},"end":{"line":82,"column":239}},{"start":{"line":82,"column":242},"end":{"line":82,"column":248}}]},"64":{"line":84,"type":"cond-expr","locations":[{"start":{"line":84,"column":195},"end":{"line":84,"column":201}},{"start":{"line":84,"column":204},"end":{"line":84,"column":206}}]},"65":{"line":84,"type":"cond-expr","locations":[{"start":{"line":84,"column":61},"end":{"line":84,"column":76}},{"start":{"line":84,"column":79},"end":{"line":84,"column":85}}]},"66":{"line":95,"type":"cond-expr","locations":[{"start":{"line":95,"column":244},"end":{"line":95,"column":250}},{"start":{"line":95,"column":253},"end":{"line":95,"column":255}}]},"67":{"line":95,"type":"cond-expr","locations":[{"start":{"line":95,"column":56},"end":{"line":95,"column":62}},{"start":{"line":95,"column":66},"end":{"line":95,"column":93}}]},"68":{"line":95,"type":"binary-expr","locations":[{"start":{"line":95,"column":66},"end":{"line":95,"column":87}},{"start":{"line":95,"column":91},"end":{"line":95,"column":93}}]},"69":{"line":95,"type":"cond-expr","locations":[{"start":{"line":95,"column":113},"end":{"line":95,"column":125}},{"start":{"line":95,"column":128},"end":{"line":95,"column":134}}]},"70":{"line":97,"type":"cond-expr","locations":[{"start":{"line":97,"column":48},"end":{"line":97,"column":54}},{"start":{"line":97,"column":58},"end":{"line":97,"column":85}}]},"71":{"line":97,"type":"binary-expr","locations":[{"start":{"line":97,"column":58},"end":{"line":97,"column":79}},{"start":{"line":97,"column":83},"end":{"line":97,"column":85}}]},"72":{"line":100,"type":"cond-expr","locations":[{"start":{"line":100,"column":99},"end":{"line":100,"column":105}},{"start":{"line":100,"column":108},"end":{"line":100,"column":114}}]},"73":{"line":100,"type":"binary-expr","locations":[{"start":{"line":100,"column":54},"end":{"line":100,"column":65}},{"start":{"line":100,"column":70},"end":{"line":100,"column":74}},{"start":{"line":100,"column":78},"end":{"line":100,"column":86}}]},"74":{"line":100,"type":"cond-expr","locations":[{"start":{"line":100,"column":144},"end":{"line":100,"column":200}},{"start":{"line":100,"column":203},"end":{"line":100,"column":209}}]},"75":{"line":102,"type":"cond-expr","locations":[{"start":{"line":102,"column":233},"end":{"line":102,"column":239}},{"start":{"line":102,"column":242},"end":{"line":102,"column":244}}]},"76":{"line":102,"type":"cond-expr","locations":[{"start":{"line":102,"column":107},"end":{"line":102,"column":113}},{"start":{"line":102,"column":116},"end":{"line":102,"column":122}}]},"77":{"line":102,"type":"binary-expr","locations":[{"start":{"line":102,"column":38},"end":{"line":102,"column":51}},{"start":{"line":102,"column":56},"end":{"line":102,"column":94}}]},"78":{"line":102,"type":"cond-expr","locations":[{"start":{"line":102,"column":73},"end":{"line":102,"column":85}},{"start":{"line":102,"column":88},"end":{"line":102,"column":94}}]},"79":{"line":102,"type":"cond-expr","locations":[{"start":{"line":102,"column":152},"end":{"line":102,"column":210}},{"start":{"line":102,"column":213},"end":{"line":102,"column":219}}]},"80":{"line":108,"type":"cond-expr","locations":[{"start":{"line":108,"column":244},"end":{"line":108,"column":250}},{"start":{"line":108,"column":253},"end":{"line":108,"column":255}}]},"81":{"line":108,"type":"cond-expr","locations":[{"start":{"line":108,"column":52},"end":{"line":108,"column":58}},{"start":{"line":108,"column":62},"end":{"line":108,"column":89}}]},"82":{"line":108,"type":"binary-expr","locations":[{"start":{"line":108,"column":62},"end":{"line":108,"column":83}},{"start":{"line":108,"column":87},"end":{"line":108,"column":89}}]},"83":{"line":108,"type":"cond-expr","locations":[{"start":{"line":108,"column":109},"end":{"line":108,"column":123}},{"start":{"line":108,"column":126},"end":{"line":108,"column":132}}]},"84":{"line":113,"type":"cond-expr","locations":[{"start":{"line":113,"column":244},"end":{"line":113,"column":250}},{"start":{"line":113,"column":253},"end":{"line":113,"column":255}}]},"85":{"line":113,"type":"cond-expr","locations":[{"start":{"line":113,"column":56},"end":{"line":113,"column":62}},{"start":{"line":113,"column":66},"end":{"line":113,"column":93}}]},"86":{"line":113,"type":"binary-expr","locations":[{"start":{"line":113,"column":66},"end":{"line":113,"column":87}},{"start":{"line":113,"column":91},"end":{"line":113,"column":93}}]},"87":{"line":113,"type":"cond-expr","locations":[{"start":{"line":113,"column":113},"end":{"line":113,"column":125}},{"start":{"line":113,"column":128},"end":{"line":113,"column":134}}]},"88":{"line":115,"type":"cond-expr","locations":[{"start":{"line":115,"column":48},"end":{"line":115,"column":54}},{"start":{"line":115,"column":58},"end":{"line":115,"column":85}}]},"89":{"line":115,"type":"binary-expr","locations":[{"start":{"line":115,"column":58},"end":{"line":115,"column":79}},{"start":{"line":115,"column":83},"end":{"line":115,"column":85}}]},"90":{"line":118,"type":"cond-expr","locations":[{"start":{"line":118,"column":99},"end":{"line":118,"column":105}},{"start":{"line":118,"column":108},"end":{"line":118,"column":114}}]},"91":{"line":118,"type":"binary-expr","locations":[{"start":{"line":118,"column":54},"end":{"line":118,"column":65}},{"start":{"line":118,"column":70},"end":{"line":118,"column":74}},{"start":{"line":118,"column":78},"end":{"line":118,"column":86}}]},"92":{"line":118,"type":"cond-expr","locations":[{"start":{"line":118,"column":144},"end":{"line":118,"column":200}},{"start":{"line":118,"column":203},"end":{"line":118,"column":209}}]},"93":{"line":120,"type":"cond-expr","locations":[{"start":{"line":120,"column":233},"end":{"line":120,"column":239}},{"start":{"line":120,"column":242},"end":{"line":120,"column":244}}]},"94":{"line":120,"type":"cond-expr","locations":[{"start":{"line":120,"column":107},"end":{"line":120,"column":113}},{"start":{"line":120,"column":116},"end":{"line":120,"column":122}}]},"95":{"line":120,"type":"binary-expr","locations":[{"start":{"line":120,"column":38},"end":{"line":120,"column":51}},{"start":{"line":120,"column":56},"end":{"line":120,"column":94}}]},"96":{"line":120,"type":"cond-expr","locations":[{"start":{"line":120,"column":73},"end":{"line":120,"column":85}},{"start":{"line":120,"column":88},"end":{"line":120,"column":94}}]},"97":{"line":120,"type":"cond-expr","locations":[{"start":{"line":120,"column":152},"end":{"line":120,"column":210}},{"start":{"line":120,"column":213},"end":{"line":120,"column":219}}]},"98":{"line":123,"type":"cond-expr","locations":[{"start":{"line":123,"column":40},"end":{"line":123,"column":46}},{"start":{"line":123,"column":50},"end":{"line":123,"column":77}}]},"99":{"line":123,"type":"binary-expr","locations":[{"start":{"line":123,"column":50},"end":{"line":123,"column":71}},{"start":{"line":123,"column":75},"end":{"line":123,"column":77}}]},"100":{"line":126,"type":"cond-expr","locations":[{"start":{"line":126,"column":194},"end":{"line":126,"column":200}},{"start":{"line":126,"column":203},"end":{"line":126,"column":205}}]},"101":{"line":126,"type":"cond-expr","locations":[{"start":{"line":126,"column":60},"end":{"line":126,"column":73}},{"start":{"line":126,"column":76},"end":{"line":126,"column":82}}]},"102":{"line":128,"type":"cond-expr","locations":[{"start":{"line":128,"column":194},"end":{"line":128,"column":200}},{"start":{"line":128,"column":203},"end":{"line":128,"column":205}}]},"103":{"line":128,"type":"cond-expr","locations":[{"start":{"line":128,"column":61},"end":{"line":128,"column":75}},{"start":{"line":128,"column":78},"end":{"line":128,"column":84}}]}}}} \ No newline at end of file diff --git a/reports/jasmine/lcov/lcov-report/assests/js/lib/embed/index.html b/reports/jasmine/lcov/lcov-report/assests/js/lib/embed/index.html new file mode 100644 index 0000000..c1e7670 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/assests/js/lib/embed/index.html @@ -0,0 +1,93 @@ + + + + Code coverage report for assests/js/lib/embed/ + + + + + + + +
    +
    +

    + all files assests/js/lib/embed/ +

    +
    +
    + 23.91% + Statements + 11/46 +
    +
    + 1.9% + Branches + 4/210 +
    +
    + 0% + Functions + 0/20 +
    +
    + 23.91% + Lines + 11/46 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileStatementsBranchesFunctionsLines
    templates.js
    23.91%11/461.9%4/2100%0/2023.91%11/46
    +
    +
    + +
    + + + + + diff --git a/reports/jasmine/lcov/lcov-report/assests/js/lib/embed/templates.js.html b/reports/jasmine/lcov/lcov-report/assests/js/lib/embed/templates.js.html new file mode 100644 index 0000000..6d63f81 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/assests/js/lib/embed/templates.js.html @@ -0,0 +1,449 @@ + + + + Code coverage report for assests/js/lib/embed/templates.js + + + + + + + +
    +
    +

    + all files / assests/js/lib/embed/ templates.js +

    +
    +
    + 23.91% + Statements + 11/46 +
    +
    + 1.9% + Branches + 4/210 +
    +
    + 0% + Functions + 0/20 +
    +
    + 23.91% + Lines + 11/46 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 + +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  + +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  + +  +  +  + +  +  +  +  +  +  +  +  +  +  +  + +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    this["MediumInsert"] = this["MediumInsert"] || {};
    +this["MediumInsert"]["Templates"] = this["MediumInsert"]["Templates"] || {};
    + 
    +this["MediumInsert"]["Templates"]["src/js/templates/core-buttons.hbs"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
    +    var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function";
    + 
    +  return "            <li><button data-addon=\""
    +    + container.escapeExpression(((helper = (helper = helpers.key || (data && data.key)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"key","hash":{},"data":data}) : helper)))
    +    + "\" data-action=\"add\" class=\"medium-insert-action\" type=\"button\">"
    +    + ((stack1 = ((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"label","hash":{},"data":data}) : helper))) != null ? stack1 : "")
    +    + "</button></li>\n";
    +},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
    +    var stack1;
    + 
    +  return "<div class=\"medium-insert-buttons\" contenteditable=\"false\" style=\"display: none\">\n    <button class=\"medium-insert-buttons-show\" type=\"button\"><span>+</span></button>\n    <ul class=\"medium-insert-buttons-addons\" style=\"display: none\">\n"
    +    + ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.addons : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
    +    + "    </ul>\n</div>\n";
    +},"useData":true});
    + 
    +this["MediumInsert"]["Templates"]["src/js/templates/core-caption.hbs"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
    +    var helper;
    + 
    +  return "<figcaption contenteditable=\"true\" class=\"medium-insert-caption-placeholder\" data-placeholder=\""
    +    + container.escapeExpression(((helper = (helper = helpers.placeholder || (depth0 != null ? depth0.placeholder : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"placeholder","hash":{},"data":data}) : helper)))
    +    + "\"></figcaption>";
    +},"useData":true});
    + 
    +this["MediumInsert"]["Templates"]["src/js/templates/core-empty-line.hbs"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
    +    return "<p><br></p>\n";
    +},"useData":true});
    + 
    +this["MediumInsert"]["Templates"]["src/js/templates/embeds-toolbar.hbs"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
    +    var stack1;
    + 
    +  return "    <div class=\"medium-insert-embeds-toolbar medium-editor-toolbar medium-toolbar-arrow-under medium-editor-toolbar-active\">\n        <ul class=\"medium-editor-toolbar-actions clearfix\">\n"
    +    + ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.styles : depth0),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
    +    + "        </ul>\n    </div>\n";
    +},"2":function(container,depth0,helpers,partials,data) {
    +    var stack1;
    + 
    +  return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.label : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "");
    +},"3":function(container,depth0,helpers,partials,data) {
    +    var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function";
    + 
    +  return "                    <li>\n                        <button class=\"medium-editor-action\" data-action=\""
    +    + container.escapeExpression(((helper = (helper = helpers.key || (data && data.key)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"key","hash":{},"data":data}) : helper)))
    +    + "\">"
    +    + ((stack1 = ((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"label","hash":{},"data":data}) : helper))) != null ? stack1 : "")
    +    + "</button>\n                    </li>\n";
    +},"5":function(container,depth0,helpers,partials,data) {
    +    var stack1;
    + 
    +  return "    <div class=\"medium-insert-embeds-toolbar2 medium-editor-toolbar medium-editor-toolbar-active\">\n        <ul class=\"medium-editor-toolbar-actions clearfix\">\n"
    +    + ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.actions : depth0),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
    +    + "        </ul>\n    </div>\n";
    +},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
    +    var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {});
    + 
    +  return ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.styles : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
    +    + "\n"
    +    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.actions : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "");
    +},"useData":true});
    + 
    +this["MediumInsert"]["Templates"]["src/js/templates/embeds-wrapper.hbs"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
    +    var stack1, helper;
    + 
    +  return "<div class=\"medium-insert-embeds\" contenteditable=\"false\">\n	<figure>\n		<div class=\"medium-insert-embed\">\n			"
    +    + ((stack1 = ((helper = (helper = helpers.html || (depth0 != null ? depth0.html : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"html","hash":{},"data":data}) : helper))) != null ? stack1 : "")
    +    + "\n		</div>\n	</figure>\n	<div class=\"medium-insert-embeds-overlay\"></div>\n</div>";
    +},"useData":true});
    + 
    +this["MediumInsert"]["Templates"]["src/js/templates/images-fileupload.hbs"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
    +    return "<input type=\"file\" multiple>";
    +},"useData":true});
    + 
    +this["MediumInsert"]["Templates"]["src/js/templates/images-image.hbs"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
    +    // return "        <div class=\"medium-insert-images-progress\"></div>\n";
    +},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
    +    var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {});
    + 
    +  return "<figure contenteditable=\"false\">\n    <img src=\""
    +    + container.escapeExpression(((helper = (helper = helpers.img || (depth0 != null ? depth0.img : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(alias1,{"name":"img","hash":{},"data":data}) : helper)))
    +    + "\" alt=\"\"  class=\"editable-content\" />\n"
    +    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.progress : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
    +    + "</figure>\n";
    +},"useData":true});
    + 
    +this["MediumInsert"]["Templates"]["src/js/templates/images-progressbar.hbs"] = Handlebars.template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
    +    return "<progress min=\"0\" max=\"100\" value=\"0\">0</progress>";
    +},"useData":true});
    + 
    +this["MediumInsert"]["Templates"]["src/js/templates/images-toolbar.hbs"] = Handlebars.template({"1":function(container,depth0,helpers,partials,data) {
    +    var stack1;
    + 
    +  return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.label : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "");
    +},"2":function(container,depth0,helpers,partials,data) {
    +    var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function";
    + 
    +  return "                <li>\n                    <button class=\"medium-editor-action\" data-action=\""
    +    + container.escapeExpression(((helper = (helper = helpers.key || (data && data.key)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"key","hash":{},"data":data}) : helper)))
    +    + "\">"
    +    + ((stack1 = ((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"label","hash":{},"data":data}) : helper))) != null ? stack1 : "")
    +    + "</button>\n                </li>\n";
    +},"4":function(container,depth0,helpers,partials,data) {
    +    var stack1;
    + 
    +  return "	<div class=\"medium-insert-images-toolbar2 medium-editor-toolbar medium-editor-toolbar-active\">\n		<ul class=\"medium-editor-toolbar-actions clearfix\">\n"
    +    + ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.actions : depth0),{"name":"each","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
    +    + "    	</ul>\n    </div>\n";
    +},"5":function(container,depth0,helpers,partials,data) {
    +    var stack1;
    + 
    +  return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.label : depth0),{"name":"if","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "");
    +},"6":function(container,depth0,helpers,partials,data) {
    +    var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function";
    + 
    +  return "        	        <li>\n        	            <button class=\"medium-editor-action\" data-action=\""
    +    + container.escapeExpression(((helper = (helper = helpers.key || (data && data.key)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"key","hash":{},"data":data}) : helper)))
    +    + "\">"
    +    + ((stack1 = ((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"label","hash":{},"data":data}) : helper))) != null ? stack1 : "")
    +    + "</button>\n        	        </li>\n";
    +},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
    +    var stack1, alias1=depth0 != null ? depth0 : (container.nullContext || {});
    + 
    +  return "<div class=\"medium-insert-images-toolbar medium-editor-toolbar medium-toolbar-arrow-under medium-editor-toolbar-active\">\n    <ul class=\"medium-editor-toolbar-actions clearfix\">\n"
    +    + ((stack1 = helpers.each.call(alias1,(depth0 != null ? depth0.styles : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
    +    + "    </ul>\n</div>\n\n"
    +    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.actions : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "");
    +},"useData":true});
    +
    +
    + +
    + + + + + diff --git a/reports/jasmine/lcov/lcov-report/assests/js/lib/file-upload/index.html b/reports/jasmine/lcov/lcov-report/assests/js/lib/file-upload/index.html new file mode 100644 index 0000000..79eb164 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/assests/js/lib/file-upload/index.html @@ -0,0 +1,119 @@ + + + + Code coverage report for assests/js/lib/file-upload/ + + + + + + + +
    +
    +

    + all files assests/js/lib/file-upload/ +

    +
    +
    + 2.14% + Statements + 18/840 +
    +
    + 1.36% + Branches + 9/662 +
    +
    + 2.94% + Functions + 5/170 +
    +
    + 2.14% + Lines + 18/840 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileStatementsBranchesFunctionsLines
    jquery.fileupload.js
    1.11%6/5390.67%3/4451.83%2/1091.11%6/539
    jquery.iframe-transport.js
    8.82%6/685%3/6011.76%2/178.82%6/68
    jquery.ui.widget.js
    2.58%6/2331.91%3/1572.27%1/442.58%6/233
    +
    +
    + +
    + + + + + diff --git a/reports/jasmine/lcov/lcov-report/assests/js/lib/file-upload/jquery.fileupload.js.html b/reports/jasmine/lcov/lcov-report/assests/js/lib/file-upload/jquery.fileupload.js.html new file mode 100644 index 0000000..afb7e05 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/assests/js/lib/file-upload/jquery.fileupload.js.html @@ -0,0 +1,4511 @@ + + + + Code coverage report for assests/js/lib/file-upload/jquery.fileupload.js + + + + + + + +
    +
    +

    + all files / assests/js/lib/file-upload/ jquery.fileupload.js +

    +
    +
    + 1.11% + Statements + 6/539 +
    +
    + 0.67% + Branches + 3/445 +
    +
    + 1.83% + Functions + 2/109 +
    +
    + 1.11% + Lines + 6/539 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293 +1294 +1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307 +1308 +1309 +1310 +1311 +1312 +1313 +1314 +1315 +1316 +1317 +1318 +1319 +1320 +1321 +1322 +1323 +1324 +1325 +1326 +1327 +1328 +1329 +1330 +1331 +1332 +1333 +1334 +1335 +1336 +1337 +1338 +1339 +1340 +1341 +1342 +1343 +1344 +1345 +1346 +1347 +1348 +1349 +1350 +1351 +1352 +1353 +1354 +1355 +1356 +1357 +1358 +1359 +1360 +1361 +1362 +1363 +1364 +1365 +1366 +1367 +1368 +1369 +1370 +1371 +1372 +1373 +1374 +1375 +1376 +1377 +1378 +1379 +1380 +1381 +1382 +1383 +1384 +1385 +1386 +1387 +1388 +1389 +1390 +1391 +1392 +1393 +1394 +1395 +1396 +1397 +1398 +1399 +1400 +1401 +1402 +1403 +1404 +1405 +1406 +1407 +1408 +1409 +1410 +1411 +1412 +1413 +1414 +1415 +1416 +1417 +1418 +1419 +1420 +1421 +1422 +1423 +1424 +1425 +1426 +1427 +1428 +1429 +1430 +1431 +1432 +1433 +1434 +1435 +1436 +1437 +1438 +1439 +1440 +1441 +1442 +1443 +1444 +1445 +1446 +1447 +1448 +1449 +1450 +1451 +1452 +1453 +1454 +1455 +1456 +1457 +1458 +1459 +1460 +1461 +1462 +1463 +1464 +1465 +1466 +1467 +1468 +1469 +1470 +1471 +1472 +1473 +1474 +1475 +1476 +1477 +1478 +1479 +1480 +1481 +1482 +1483  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  + +  +  +  +  +  + +  +  +  +  +  +  +  + +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    /*
    + * jQuery File Upload Plugin
    + * https://github.com/blueimp/jQuery-File-Upload
    + *
    + * Copyright 2010, Sebastian Tschan
    + * https://blueimp.net
    + *
    + * Licensed under the MIT license:
    + * http://www.opensource.org/licenses/MIT
    + */
    + 
    +/* jshint nomen:false */
    +/* global define, require, window, document, location, Blob, FormData */
    + 
    +;(function (factory) {
    +    'use strict';
    +    Iif (typeof define === 'function' && define.amd) {
    +        // Register as an anonymous AMD module:
    +        define([
    +            'jquery',
    +            'jquery-ui/widget'
    +        ], factory);
    +    } else Iif (typeof exports === 'object') {
    +        // Node/CommonJS:
    +        factory(
    +            require('jquery'),
    +            require('./vendor/jquery.ui.widget')
    +        );
    +    } else {
    +        // Browser globals:
    +        factory(window.jQuery);
    +    }
    +}(function ($) {
    +    'use strict';
    + 
    +    // Detect file input support, based on
    +    // http://viljamis.com/blog/2012/file-upload-support-on-mobile/
    +    $.support.fileInput = !(new RegExp(
    +        // Handle devices which give false positives for the feature detection:
    +        '(Android (1\\.[0156]|2\\.[01]))' +
    +            '|(Windows Phone (OS 7|8\\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)' +
    +            '|(w(eb)?OSBrowser)|(webOS)' +
    +            '|(Kindle/(1\\.0|2\\.[05]|3\\.0))'
    +    ).test(window.navigator.userAgent) ||
    +        // Feature detection for all other devices:
    +        $('<input type="file">').prop('disabled'));
    + 
    +    // The FileReader API is not actually used, but works as feature detection,
    +    // as some Safari versions (5?) support XHR file uploads via the FormData API,
    +    // but not non-multipart XHR file uploads.
    +    // window.XMLHttpRequestUpload is not available on IE10, so we check for
    +    // window.ProgressEvent instead to detect XHR2 file upload capability:
    +    $.support.xhrFileUpload = !!(window.ProgressEvent && window.FileReader);
    +    $.support.xhrFormDataFileUpload = !!window.FormData;
    + 
    +    // Detect support for Blob slicing (required for chunked uploads):
    +    $.support.blobSlice = window.Blob && (Blob.prototype.slice ||
    +        Blob.prototype.webkitSlice || Blob.prototype.mozSlice);
    + 
    +    // Helper function to create drag handlers for dragover/dragenter/dragleave:
    +    function getDragHandler(type) {
    +        var isDragOver = type === 'dragover';
    +        return function (e) {
    +            e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;
    +            var dataTransfer = e.dataTransfer;
    +            if (dataTransfer && $.inArray('Files', dataTransfer.types) !== -1 &&
    +                    this._trigger(
    +                        type,
    +                        $.Event(type, {delegatedEvent: e})
    +                    ) !== false) {
    +                e.preventDefault();
    +                if (isDragOver) {
    +                    dataTransfer.dropEffect = 'copy';
    +                }
    +            }
    +        };
    +    }
    + 
    +    // The fileupload widget listens for change events on file input fields defined
    +    // via fileInput setting and paste or drop events of the given dropZone.
    +    // In addition to the default jQuery Widget methods, the fileupload widget
    +    // exposes the "add" and "send" methods, to add or directly send files using
    +    // the fileupload API.
    +    // By default, files added via file input selection, paste, drag & drop or
    +    // "add" method are uploaded immediately, but it is possible to override
    +    // the "add" callback option to queue file uploads.
    +    $.widget('blueimp.fileupload', {
    + 
    +        options: {
    +            // The drop target element(s), by the default the complete document.
    +            // Set to null to disable drag & drop support:
    +            dropZone: $(document),
    +            // The paste target element(s), by the default undefined.
    +            // Set to a DOM node or jQuery object to enable file pasting:
    +            pasteZone: undefined,
    +            // The file input field(s), that are listened to for change events.
    +            // If undefined, it is set to the file input fields inside
    +            // of the widget element on plugin initialization.
    +            // Set to null to disable the change listener.
    +            fileInput: undefined,
    +            // By default, the file input field is replaced with a clone after
    +            // each input field change event. This is required for iframe transport
    +            // queues and allows change events to be fired for the same file
    +            // selection, but can be disabled by setting the following option to false:
    +            replaceFileInput: true,
    +            // The parameter name for the file form data (the request argument name).
    +            // If undefined or empty, the name property of the file input field is
    +            // used, or "files[]" if the file input name property is also empty,
    +            // can be a string or an array of strings:
    +            paramName: undefined,
    +            // By default, each file of a selection is uploaded using an individual
    +            // request for XHR type uploads. Set to false to upload file
    +            // selections in one request each:
    +            singleFileUploads: true,
    +            // To limit the number of files uploaded with one XHR request,
    +            // set the following option to an integer greater than 0:
    +            limitMultiFileUploads: undefined,
    +            // The following option limits the number of files uploaded with one
    +            // XHR request to keep the request size under or equal to the defined
    +            // limit in bytes:
    +            limitMultiFileUploadSize: undefined,
    +            // Multipart file uploads add a number of bytes to each uploaded file,
    +            // therefore the following option adds an overhead for each file used
    +            // in the limitMultiFileUploadSize configuration:
    +            limitMultiFileUploadSizeOverhead: 512,
    +            // Set the following option to true to issue all file upload requests
    +            // in a sequential order:
    +            sequentialUploads: false,
    +            // To limit the number of concurrent uploads,
    +            // set the following option to an integer greater than 0:
    +            limitConcurrentUploads: undefined,
    +            // Set the following option to true to force iframe transport uploads:
    +            forceIframeTransport: false,
    +            // Set the following option to the location of a redirect url on the
    +            // origin server, for cross-domain iframe transport uploads:
    +            redirect: undefined,
    +            // The parameter name for the redirect url, sent as part of the form
    +            // data and set to 'redirect' if this option is empty:
    +            redirectParamName: undefined,
    +            // Set the following option to the location of a postMessage window,
    +            // to enable postMessage transport uploads:
    +            postMessage: undefined,
    +            // By default, XHR file uploads are sent as multipart/form-data.
    +            // The iframe transport is always using multipart/form-data.
    +            // Set to false to enable non-multipart XHR uploads:
    +            multipart: true,
    +            // To upload large files in smaller chunks, set the following option
    +            // to a preferred maximum chunk size. If set to 0, null or undefined,
    +            // or the browser does not support the required Blob API, files will
    +            // be uploaded as a whole.
    +            maxChunkSize: undefined,
    +            // When a non-multipart upload or a chunked multipart upload has been
    +            // aborted, this option can be used to resume the upload by setting
    +            // it to the size of the already uploaded bytes. This option is most
    +            // useful when modifying the options object inside of the "add" or
    +            // "send" callbacks, as the options are cloned for each file upload.
    +            uploadedBytes: undefined,
    +            // By default, failed (abort or error) file uploads are removed from the
    +            // global progress calculation. Set the following option to false to
    +            // prevent recalculating the global progress data:
    +            recalculateProgress: true,
    +            // Interval in milliseconds to calculate and trigger progress events:
    +            progressInterval: 100,
    +            // Interval in milliseconds to calculate progress bitrate:
    +            bitrateInterval: 500,
    +            // By default, uploads are started automatically when adding files:
    +            autoUpload: true,
    + 
    +            // Error and info messages:
    +            messages: {
    +                uploadedBytes: 'Uploaded bytes exceed file size'
    +            },
    + 
    +            // Translation function, gets the message key to be translated
    +            // and an object with context specific data as arguments:
    +            i18n: function (message, context) {
    +                message = this.messages[message] || message.toString();
    +                if (context) {
    +                    $.each(context, function (key, value) {
    +                        message = message.replace('{' + key + '}', value);
    +                    });
    +                }
    +                return message;
    +            },
    + 
    +            // Additional form data to be sent along with the file uploads can be set
    +            // using this option, which accepts an array of objects with name and
    +            // value properties, a function returning such an array, a FormData
    +            // object (for XHR file uploads), or a simple object.
    +            // The form of the first fileInput is given as parameter to the function:
    +            formData: function (form) {
    +                return form.serializeArray();
    +            },
    + 
    +            // The add callback is invoked as soon as files are added to the fileupload
    +            // widget (via file input selection, drag & drop, paste or add API call).
    +            // If the singleFileUploads option is enabled, this callback will be
    +            // called once for each file in the selection for XHR file uploads, else
    +            // once for each file selection.
    +            //
    +            // The upload starts when the submit method is invoked on the data parameter.
    +            // The data object contains a files property holding the added files
    +            // and allows you to override plugin options as well as define ajax settings.
    +            //
    +            // Listeners for this callback can also be bound the following way:
    +            // .bind('fileuploadadd', func);
    +            //
    +            // data.submit() returns a Promise object and allows to attach additional
    +            // handlers using jQuery's Deferred callbacks:
    +            // data.submit().done(func).fail(func).always(func);
    +            add: function (e, data) {
    +                if (e.isDefaultPrevented()) {
    +                    return false;
    +                }
    +                if (data.autoUpload || (data.autoUpload !== false &&
    +                        $(this).fileupload('option', 'autoUpload'))) {
    +                    data.process().done(function () {
    +                        data.submit();
    +                    });
    +                }
    +            },
    + 
    +            // Other callbacks:
    + 
    +            // Callback for the submit event of each file upload:
    +            // submit: function (e, data) {}, // .bind('fileuploadsubmit', func);
    + 
    +            // Callback for the start of each file upload request:
    +            // send: function (e, data) {}, // .bind('fileuploadsend', func);
    + 
    +            // Callback for successful uploads:
    +            // done: function (e, data) {}, // .bind('fileuploaddone', func);
    + 
    +            // Callback for failed (abort or error) uploads:
    +            // fail: function (e, data) {}, // .bind('fileuploadfail', func);
    + 
    +            // Callback for completed (success, abort or error) requests:
    +            // always: function (e, data) {}, // .bind('fileuploadalways', func);
    + 
    +            // Callback for upload progress events:
    +            // progress: function (e, data) {}, // .bind('fileuploadprogress', func);
    + 
    +            // Callback for global upload progress events:
    +            // progressall: function (e, data) {}, // .bind('fileuploadprogressall', func);
    + 
    +            // Callback for uploads start, equivalent to the global ajaxStart event:
    +            // start: function (e) {}, // .bind('fileuploadstart', func);
    + 
    +            // Callback for uploads stop, equivalent to the global ajaxStop event:
    +            // stop: function (e) {}, // .bind('fileuploadstop', func);
    + 
    +            // Callback for change events of the fileInput(s):
    +            // change: function (e, data) {}, // .bind('fileuploadchange', func);
    + 
    +            // Callback for paste events to the pasteZone(s):
    +            // paste: function (e, data) {}, // .bind('fileuploadpaste', func);
    + 
    +            // Callback for drop events of the dropZone(s):
    +            // drop: function (e, data) {}, // .bind('fileuploaddrop', func);
    + 
    +            // Callback for dragover events of the dropZone(s):
    +            // dragover: function (e) {}, // .bind('fileuploaddragover', func);
    + 
    +            // Callback for the start of each chunk upload request:
    +            // chunksend: function (e, data) {}, // .bind('fileuploadchunksend', func);
    + 
    +            // Callback for successful chunk uploads:
    +            // chunkdone: function (e, data) {}, // .bind('fileuploadchunkdone', func);
    + 
    +            // Callback for failed (abort or error) chunk uploads:
    +            // chunkfail: function (e, data) {}, // .bind('fileuploadchunkfail', func);
    + 
    +            // Callback for completed (success, abort or error) chunk upload requests:
    +            // chunkalways: function (e, data) {}, // .bind('fileuploadchunkalways', func);
    + 
    +            // The plugin options are used as settings object for the ajax calls.
    +            // The following are jQuery ajax settings required for the file uploads:
    +            processData: false,
    +            contentType: false,
    +            cache: false,
    +            timeout: 0
    +        },
    + 
    +        // A list of options that require reinitializing event listeners and/or
    +        // special initialization code:
    +        _specialOptions: [
    +            'fileInput',
    +            'dropZone',
    +            'pasteZone',
    +            'multipart',
    +            'forceIframeTransport'
    +        ],
    + 
    +        _blobSlice: $.support.blobSlice && function () {
    +            var slice = this.slice || this.webkitSlice || this.mozSlice;
    +            return slice.apply(this, arguments);
    +        },
    + 
    +        _BitrateTimer: function () {
    +            this.timestamp = ((Date.now) ? Date.now() : (new Date()).getTime());
    +            this.loaded = 0;
    +            this.bitrate = 0;
    +            this.getBitrate = function (now, loaded, interval) {
    +                var timeDiff = now - this.timestamp;
    +                if (!this.bitrate || !interval || timeDiff > interval) {
    +                    this.bitrate = (loaded - this.loaded) * (1000 / timeDiff) * 8;
    +                    this.loaded = loaded;
    +                    this.timestamp = now;
    +                }
    +                return this.bitrate;
    +            };
    +        },
    + 
    +        _isXHRUpload: function (options) {
    +            return !options.forceIframeTransport &&
    +                ((!options.multipart && $.support.xhrFileUpload) ||
    +                $.support.xhrFormDataFileUpload);
    +        },
    + 
    +        _getFormData: function (options) {
    +            var formData;
    +            if ($.type(options.formData) === 'function') {
    +                return options.formData(options.form);
    +            }
    +            if ($.isArray(options.formData)) {
    +                return options.formData;
    +            }
    +            if ($.type(options.formData) === 'object') {
    +                formData = [];
    +                $.each(options.formData, function (name, value) {
    +                    formData.push({name: name, value: value});
    +                });
    +                return formData;
    +            }
    +            return [];
    +        },
    + 
    +        _getTotal: function (files) {
    +            var total = 0;
    +            $.each(files, function (index, file) {
    +                total += file.size || 1;
    +            });
    +            return total;
    +        },
    + 
    +        _initProgressObject: function (obj) {
    +            var progress = {
    +                loaded: 0,
    +                total: 0,
    +                bitrate: 0
    +            };
    +            if (obj._progress) {
    +                $.extend(obj._progress, progress);
    +            } else {
    +                obj._progress = progress;
    +            }
    +        },
    + 
    +        _initResponseObject: function (obj) {
    +            var prop;
    +            if (obj._response) {
    +                for (prop in obj._response) {
    +                    if (obj._response.hasOwnProperty(prop)) {
    +                        delete obj._response[prop];
    +                    }
    +                }
    +            } else {
    +                obj._response = {};
    +            }
    +        },
    + 
    +        _onProgress: function (e, data) {
    +            if (e.lengthComputable) {
    +                var now = ((Date.now) ? Date.now() : (new Date()).getTime()),
    +                    loaded;
    +                if (data._time && data.progressInterval &&
    +                        (now - data._time < data.progressInterval) &&
    +                        e.loaded !== e.total) {
    +                    return;
    +                }
    +                data._time = now;
    +                loaded = Math.floor(
    +                    e.loaded / e.total * (data.chunkSize || data._progress.total)
    +                ) + (data.uploadedBytes || 0);
    +                // Add the difference from the previously loaded state
    +                // to the global loaded counter:
    +                this._progress.loaded += (loaded - data._progress.loaded);
    +                this._progress.bitrate = this._bitrateTimer.getBitrate(
    +                    now,
    +                    this._progress.loaded,
    +                    data.bitrateInterval
    +                );
    +                data._progress.loaded = data.loaded = loaded;
    +                data._progress.bitrate = data.bitrate = data._bitrateTimer.getBitrate(
    +                    now,
    +                    loaded,
    +                    data.bitrateInterval
    +                );
    +                // Trigger a custom progress event with a total data property set
    +                // to the file size(s) of the current upload and a loaded data
    +                // property calculated accordingly:
    +                this._trigger(
    +                    'progress',
    +                    $.Event('progress', {delegatedEvent: e}),
    +                    data
    +                );
    +                // Trigger a global progress event for all current file uploads,
    +                // including ajax calls queued for sequential file uploads:
    +                this._trigger(
    +                    'progressall',
    +                    $.Event('progressall', {delegatedEvent: e}),
    +                    this._progress
    +                );
    +            }
    +        },
    + 
    +        _initProgressListener: function (options) {
    +            var that = this,
    +                xhr = options.xhr ? options.xhr() : $.ajaxSettings.xhr();
    +            // Accesss to the native XHR object is required to add event listeners
    +            // for the upload progress event:
    +            if (xhr.upload) {
    +                $(xhr.upload).bind('progress', function (e) {
    +                    var oe = e.originalEvent;
    +                    // Make sure the progress event properties get copied over:
    +                    e.lengthComputable = oe.lengthComputable;
    +                    e.loaded = oe.loaded;
    +                    e.total = oe.total;
    +                    that._onProgress(e, options);
    +                });
    +                options.xhr = function () {
    +                    return xhr;
    +                };
    +            }
    +        },
    + 
    +        _isInstanceOf: function (type, obj) {
    +            // Cross-frame instanceof check
    +            return Object.prototype.toString.call(obj) === '[object ' + type + ']';
    +        },
    + 
    +        _initXHRData: function (options) {
    +            var that = this,
    +                formData,
    +                file = options.files[0],
    +                // Ignore non-multipart setting if not supported:
    +                multipart = options.multipart || !$.support.xhrFileUpload,
    +                paramName = $.type(options.paramName) === 'array' ?
    +                    options.paramName[0] : options.paramName;
    +            options.headers = $.extend({}, options.headers);
    +            if (options.contentRange) {
    +                options.headers['Content-Range'] = options.contentRange;
    +            }
    +            if (!multipart || options.blob || !this._isInstanceOf('File', file)) {
    +                options.headers['Content-Disposition'] = 'attachment; filename="' +
    +                    encodeURI(file.name) + '"';
    +            }
    +            if (!multipart) {
    +                options.contentType = file.type || 'application/octet-stream';
    +                options.data = options.blob || file;
    +            } else if ($.support.xhrFormDataFileUpload) {
    +                if (options.postMessage) {
    +                    // window.postMessage does not allow sending FormData
    +                    // objects, so we just add the File/Blob objects to
    +                    // the formData array and let the postMessage window
    +                    // create the FormData object out of this array:
    +                    formData = this._getFormData(options);
    +                    if (options.blob) {
    +                        formData.push({
    +                            name: paramName,
    +                            value: options.blob
    +                        });
    +                    } else {
    +                        $.each(options.files, function (index, file) {
    +                            formData.push({
    +                                name: ($.type(options.paramName) === 'array' &&
    +                                    options.paramName[index]) || paramName,
    +                                value: file
    +                            });
    +                        });
    +                    }
    +                } else {
    +                    if (that._isInstanceOf('FormData', options.formData)) {
    +                        formData = options.formData;
    +                    } else {
    +                        formData = new FormData();
    +                        $.each(this._getFormData(options), function (index, field) {
    +                            formData.append(field.name, field.value);
    +                        });
    +                    }
    +                    if (options.blob) {
    +                        formData.append(paramName, options.blob, file.name);
    +                    } else {
    +                        $.each(options.files, function (index, file) {
    +                            // This check allows the tests to run with
    +                            // dummy objects:
    +                            if (that._isInstanceOf('File', file) ||
    +                                    that._isInstanceOf('Blob', file)) {
    +                                formData.append(
    +                                    ($.type(options.paramName) === 'array' &&
    +                                        options.paramName[index]) || paramName,
    +                                    file,
    +                                    file.uploadName || file.name
    +                                );
    +                            }
    +                        });
    +                    }
    +                }
    +                options.data = formData;
    +            }
    +            // Blob reference is not needed anymore, free memory:
    +            options.blob = null;
    +        },
    + 
    +        _initIframeSettings: function (options) {
    +            var targetHost = $('<a></a>').prop('href', options.url).prop('host');
    +            // Setting the dataType to iframe enables the iframe transport:
    +            options.dataType = 'iframe ' + (options.dataType || '');
    +            // The iframe transport accepts a serialized array as form data:
    +            options.formData = this._getFormData(options);
    +            // Add redirect url to form data on cross-domain uploads:
    +            if (options.redirect && targetHost && targetHost !== location.host) {
    +                options.formData.push({
    +                    name: options.redirectParamName || 'redirect',
    +                    value: options.redirect
    +                });
    +            }
    +        },
    + 
    +        _initDataSettings: function (options) {
    +            if (this._isXHRUpload(options)) {
    +                if (!this._chunkedUpload(options, true)) {
    +                    if (!options.data) {
    +                        this._initXHRData(options);
    +                    }
    +                    this._initProgressListener(options);
    +                }
    +                if (options.postMessage) {
    +                    // Setting the dataType to postmessage enables the
    +                    // postMessage transport:
    +                    options.dataType = 'postmessage ' + (options.dataType || '');
    +                }
    +            } else {
    +                this._initIframeSettings(options);
    +            }
    +        },
    + 
    +        _getParamName: function (options) {
    +            var fileInput = $(options.fileInput),
    +                paramName = options.paramName;
    +            if (!paramName) {
    +                paramName = [];
    +                fileInput.each(function () {
    +                    var input = $(this),
    +                        name = input.prop('name') || 'files[]',
    +                        i = (input.prop('files') || [1]).length;
    +                    while (i) {
    +                        paramName.push(name);
    +                        i -= 1;
    +                    }
    +                });
    +                if (!paramName.length) {
    +                    paramName = [fileInput.prop('name') || 'files[]'];
    +                }
    +            } else if (!$.isArray(paramName)) {
    +                paramName = [paramName];
    +            }
    +            return paramName;
    +        },
    + 
    +        _initFormSettings: function (options) {
    +            // Retrieve missing options from the input field and the
    +            // associated form, if available:
    +            if (!options.form || !options.form.length) {
    +                options.form = $(options.fileInput.prop('form'));
    +                // If the given file input doesn't have an associated form,
    +                // use the default widget file input's form:
    +                if (!options.form.length) {
    +                    options.form = $(this.options.fileInput.prop('form'));
    +                }
    +            }
    +            options.paramName = this._getParamName(options);
    +            if (!options.url) {
    +                options.url = options.form.prop('action') || location.href;
    +            }
    +            // The HTTP request method must be "POST" or "PUT":
    +            options.type = (options.type ||
    +                ($.type(options.form.prop('method')) === 'string' &&
    +                    options.form.prop('method')) || ''
    +                ).toUpperCase();
    +            if (options.type !== 'POST' && options.type !== 'PUT' &&
    +                    options.type !== 'PATCH') {
    +                options.type = 'POST';
    +            }
    +            if (!options.formAcceptCharset) {
    +                options.formAcceptCharset = options.form.attr('accept-charset');
    +            }
    +        },
    + 
    +        _getAJAXSettings: function (data) {
    +            var options = $.extend({}, this.options, data);
    +            this._initFormSettings(options);
    +            this._initDataSettings(options);
    +            return options;
    +        },
    + 
    +        // jQuery 1.6 doesn't provide .state(),
    +        // while jQuery 1.8+ removed .isRejected() and .isResolved():
    +        _getDeferredState: function (deferred) {
    +            if (deferred.state) {
    +                return deferred.state();
    +            }
    +            if (deferred.isResolved()) {
    +                return 'resolved';
    +            }
    +            if (deferred.isRejected()) {
    +                return 'rejected';
    +            }
    +            return 'pending';
    +        },
    + 
    +        // Maps jqXHR callbacks to the equivalent
    +        // methods of the given Promise object:
    +        _enhancePromise: function (promise) {
    +            promise.success = promise.done;
    +            promise.error = promise.fail;
    +            promise.complete = promise.always;
    +            return promise;
    +        },
    + 
    +        // Creates and returns a Promise object enhanced with
    +        // the jqXHR methods abort, success, error and complete:
    +        _getXHRPromise: function (resolveOrReject, context, args) {
    +            var dfd = $.Deferred(),
    +                promise = dfd.promise();
    +            context = context || this.options.context || promise;
    +            if (resolveOrReject === true) {
    +                dfd.resolveWith(context, args);
    +            } else if (resolveOrReject === false) {
    +                dfd.rejectWith(context, args);
    +            }
    +            promise.abort = dfd.promise;
    +            return this._enhancePromise(promise);
    +        },
    + 
    +        // Adds convenience methods to the data callback argument:
    +        _addConvenienceMethods: function (e, data) {
    +            var that = this,
    +                getPromise = function (args) {
    +                    return $.Deferred().resolveWith(that, args).promise();
    +                };
    +            data.process = function (resolveFunc, rejectFunc) {
    +                if (resolveFunc || rejectFunc) {
    +                    data._processQueue = this._processQueue =
    +                        (this._processQueue || getPromise([this])).then(
    +                            function () {
    +                                if (data.errorThrown) {
    +                                    return $.Deferred()
    +                                        .rejectWith(that, [data]).promise();
    +                                }
    +                                return getPromise(arguments);
    +                            }
    +                        ).then(resolveFunc, rejectFunc);
    +                }
    +                return this._processQueue || getPromise([this]);
    +            };
    +            data.submit = function () {
    +                if (this.state() !== 'pending') {
    +                    data.jqXHR = this.jqXHR =
    +                        (that._trigger(
    +                            'submit',
    +                            $.Event('submit', {delegatedEvent: e}),
    +                            this
    +                        ) !== false) && that._onSend(e, this);
    +                }
    +                return this.jqXHR || that._getXHRPromise();
    +            };
    +            data.abort = function () {
    +                if (this.jqXHR) {
    +                    return this.jqXHR.abort();
    +                }
    +                this.errorThrown = 'abort';
    +                that._trigger('fail', null, this);
    +                return that._getXHRPromise(false);
    +            };
    +            data.state = function () {
    +                if (this.jqXHR) {
    +                    return that._getDeferredState(this.jqXHR);
    +                }
    +                if (this._processQueue) {
    +                    return that._getDeferredState(this._processQueue);
    +                }
    +            };
    +            data.processing = function () {
    +                return !this.jqXHR && this._processQueue && that
    +                    ._getDeferredState(this._processQueue) === 'pending';
    +            };
    +            data.progress = function () {
    +                return this._progress;
    +            };
    +            data.response = function () {
    +                return this._response;
    +            };
    +        },
    + 
    +        // Parses the Range header from the server response
    +        // and returns the uploaded bytes:
    +        _getUploadedBytes: function (jqXHR) {
    +            var range = jqXHR.getResponseHeader('Range'),
    +                parts = range && range.split('-'),
    +                upperBytesPos = parts && parts.length > 1 &&
    +                    parseInt(parts[1], 10);
    +            return upperBytesPos && upperBytesPos + 1;
    +        },
    + 
    +        // Uploads a file in multiple, sequential requests
    +        // by splitting the file up in multiple blob chunks.
    +        // If the second parameter is true, only tests if the file
    +        // should be uploaded in chunks, but does not invoke any
    +        // upload requests:
    +        _chunkedUpload: function (options, testOnly) {
    +            options.uploadedBytes = options.uploadedBytes || 0;
    +            var that = this,
    +                file = options.files[0],
    +                fs = file.size,
    +                ub = options.uploadedBytes,
    +                mcs = options.maxChunkSize || fs,
    +                slice = this._blobSlice,
    +                dfd = $.Deferred(),
    +                promise = dfd.promise(),
    +                jqXHR,
    +                upload;
    +            if (!(this._isXHRUpload(options) && slice && (ub || mcs < fs)) ||
    +                    options.data) {
    +                return false;
    +            }
    +            if (testOnly) {
    +                return true;
    +            }
    +            if (ub >= fs) {
    +                file.error = options.i18n('uploadedBytes');
    +                return this._getXHRPromise(
    +                    false,
    +                    options.context,
    +                    [null, 'error', file.error]
    +                );
    +            }
    +            // The chunk upload method:
    +            upload = function () {
    +                // Clone the options object for each chunk upload:
    +                var o = $.extend({}, options),
    +                    currentLoaded = o._progress.loaded;
    +                o.blob = slice.call(
    +                    file,
    +                    ub,
    +                    ub + mcs,
    +                    file.type
    +                );
    +                // Store the current chunk size, as the blob itself
    +                // will be dereferenced after data processing:
    +                o.chunkSize = o.blob.size;
    +                // Expose the chunk bytes position range:
    +                o.contentRange = 'bytes ' + ub + '-' +
    +                    (ub + o.chunkSize - 1) + '/' + fs;
    +                // Process the upload data (the blob and potential form data):
    +                that._initXHRData(o);
    +                // Add progress listeners for this chunk upload:
    +                that._initProgressListener(o);
    +                jqXHR = ((that._trigger('chunksend', null, o) !== false && $.ajax(o)) ||
    +                        that._getXHRPromise(false, o.context))
    +                    .done(function (result, textStatus, jqXHR) {
    +                        ub = that._getUploadedBytes(jqXHR) ||
    +                            (ub + o.chunkSize);
    +                        // Create a progress event if no final progress event
    +                        // with loaded equaling total has been triggered
    +                        // for this chunk:
    +                        if (currentLoaded + o.chunkSize - o._progress.loaded) {
    +                            that._onProgress($.Event('progress', {
    +                                lengthComputable: true,
    +                                loaded: ub - o.uploadedBytes,
    +                                total: ub - o.uploadedBytes
    +                            }), o);
    +                        }
    +                        options.uploadedBytes = o.uploadedBytes = ub;
    +                        o.result = result;
    +                        o.textStatus = textStatus;
    +                        o.jqXHR = jqXHR;
    +                        that._trigger('chunkdone', null, o);
    +                        that._trigger('chunkalways', null, o);
    +                        if (ub < fs) {
    +                            // File upload not yet complete,
    +                            // continue with the next chunk:
    +                            upload();
    +                        } else {
    +                            dfd.resolveWith(
    +                                o.context,
    +                                [result, textStatus, jqXHR]
    +                            );
    +                        }
    +                    })
    +                    .fail(function (jqXHR, textStatus, errorThrown) {
    +                        o.jqXHR = jqXHR;
    +                        o.textStatus = textStatus;
    +                        o.errorThrown = errorThrown;
    +                        that._trigger('chunkfail', null, o);
    +                        that._trigger('chunkalways', null, o);
    +                        dfd.rejectWith(
    +                            o.context,
    +                            [jqXHR, textStatus, errorThrown]
    +                        );
    +                    });
    +            };
    +            this._enhancePromise(promise);
    +            promise.abort = function () {
    +                return jqXHR.abort();
    +            };
    +            upload();
    +            return promise;
    +        },
    + 
    +        _beforeSend: function (e, data) {
    +            if (this._active === 0) {
    +                // the start callback is triggered when an upload starts
    +                // and no other uploads are currently running,
    +                // equivalent to the global ajaxStart event:
    +                this._trigger('start');
    +                // Set timer for global bitrate progress calculation:
    +                this._bitrateTimer = new this._BitrateTimer();
    +                // Reset the global progress values:
    +                this._progress.loaded = this._progress.total = 0;
    +                this._progress.bitrate = 0;
    +            }
    +            // Make sure the container objects for the .response() and
    +            // .progress() methods on the data object are available
    +            // and reset to their initial state:
    +            this._initResponseObject(data);
    +            this._initProgressObject(data);
    +            data._progress.loaded = data.loaded = data.uploadedBytes || 0;
    +            data._progress.total = data.total = this._getTotal(data.files) || 1;
    +            data._progress.bitrate = data.bitrate = 0;
    +            this._active += 1;
    +            // Initialize the global progress values:
    +            this._progress.loaded += data.loaded;
    +            this._progress.total += data.total;
    +        },
    + 
    +        _onDone: function (result, textStatus, jqXHR, options) {
    +            var total = options._progress.total,
    +                response = options._response;
    +            if (options._progress.loaded < total) {
    +                // Create a progress event if no final progress event
    +                // with loaded equaling total has been triggered:
    +                this._onProgress($.Event('progress', {
    +                    lengthComputable: true,
    +                    loaded: total,
    +                    total: total
    +                }), options);
    +            }
    +            response.result = options.result = result;
    +            response.textStatus = options.textStatus = textStatus;
    +            response.jqXHR = options.jqXHR = jqXHR;
    +            this._trigger('done', null, options);
    +        },
    + 
    +        _onFail: function (jqXHR, textStatus, errorThrown, options) {
    +            var response = options._response;
    +            if (options.recalculateProgress) {
    +                // Remove the failed (error or abort) file upload from
    +                // the global progress calculation:
    +                this._progress.loaded -= options._progress.loaded;
    +                this._progress.total -= options._progress.total;
    +            }
    +            response.jqXHR = options.jqXHR = jqXHR;
    +            response.textStatus = options.textStatus = textStatus;
    +            response.errorThrown = options.errorThrown = errorThrown;
    +            this._trigger('fail', null, options);
    +        },
    + 
    +        _onAlways: function (jqXHRorResult, textStatus, jqXHRorError, options) {
    +            // jqXHRorResult, textStatus and jqXHRorError are added to the
    +            // options object via done and fail callbacks
    +            this._trigger('always', null, options);
    +        },
    + 
    +        _onSend: function (e, data) {
    +            if (!data.submit) {
    +                this._addConvenienceMethods(e, data);
    +            }
    +            var that = this,
    +                jqXHR,
    +                aborted,
    +                slot,
    +                pipe,
    +                options = that._getAJAXSettings(data),
    +                send = function () {
    +                    that._sending += 1;
    +                    // Set timer for bitrate progress calculation:
    +                    options._bitrateTimer = new that._BitrateTimer();
    +                    jqXHR = jqXHR || (
    +                        ((aborted || that._trigger(
    +                            'send',
    +                            $.Event('send', {delegatedEvent: e}),
    +                            options
    +                        ) === false) &&
    +                        that._getXHRPromise(false, options.context, aborted)) ||
    +                        that._chunkedUpload(options) || $.ajax(options)
    +                    ).done(function (result, textStatus, jqXHR) {
    +                        that._onDone(result, textStatus, jqXHR, options);
    +                    }).fail(function (jqXHR, textStatus, errorThrown) {
    +                        that._onFail(jqXHR, textStatus, errorThrown, options);
    +                    }).always(function (jqXHRorResult, textStatus, jqXHRorError) {
    +                        that._onAlways(
    +                            jqXHRorResult,
    +                            textStatus,
    +                            jqXHRorError,
    +                            options
    +                        );
    +                        that._sending -= 1;
    +                        that._active -= 1;
    +                        if (options.limitConcurrentUploads &&
    +                                options.limitConcurrentUploads > that._sending) {
    +                            // Start the next queued upload,
    +                            // that has not been aborted:
    +                            var nextSlot = that._slots.shift();
    +                            while (nextSlot) {
    +                                if (that._getDeferredState(nextSlot) === 'pending') {
    +                                    nextSlot.resolve();
    +                                    break;
    +                                }
    +                                nextSlot = that._slots.shift();
    +                            }
    +                        }
    +                        if (that._active === 0) {
    +                            // The stop callback is triggered when all uploads have
    +                            // been completed, equivalent to the global ajaxStop event:
    +                            that._trigger('stop');
    +                        }
    +                    });
    +                    return jqXHR;
    +                };
    +            this._beforeSend(e, options);
    +            if (this.options.sequentialUploads ||
    +                    (this.options.limitConcurrentUploads &&
    +                    this.options.limitConcurrentUploads <= this._sending)) {
    +                if (this.options.limitConcurrentUploads > 1) {
    +                    slot = $.Deferred();
    +                    this._slots.push(slot);
    +                    pipe = slot.then(send);
    +                } else {
    +                    this._sequence = this._sequence.then(send, send);
    +                    pipe = this._sequence;
    +                }
    +                // Return the piped Promise object, enhanced with an abort method,
    +                // which is delegated to the jqXHR object of the current upload,
    +                // and jqXHR callbacks mapped to the equivalent Promise methods:
    +                pipe.abort = function () {
    +                    aborted = [undefined, 'abort', 'abort'];
    +                    if (!jqXHR) {
    +                        if (slot) {
    +                            slot.rejectWith(options.context, aborted);
    +                        }
    +                        return send();
    +                    }
    +                    return jqXHR.abort();
    +                };
    +                return this._enhancePromise(pipe);
    +            }
    +            return send();
    +        },
    + 
    +        _onAdd: function (e, data) {
    +            var that = this,
    +                result = true,
    +                options = $.extend({}, this.options, data),
    +                files = data.files,
    +                filesLength = files.length,
    +                limit = options.limitMultiFileUploads,
    +                limitSize = options.limitMultiFileUploadSize,
    +                overhead = options.limitMultiFileUploadSizeOverhead,
    +                batchSize = 0,
    +                paramName = this._getParamName(options),
    +                paramNameSet,
    +                paramNameSlice,
    +                fileSet,
    +                i,
    +                j = 0;
    +            if (!filesLength) {
    +                return false;
    +            }
    +            if (limitSize && files[0].size === undefined) {
    +                limitSize = undefined;
    +            }
    +            if (!(options.singleFileUploads || limit || limitSize) ||
    +                    !this._isXHRUpload(options)) {
    +                fileSet = [files];
    +                paramNameSet = [paramName];
    +            } else if (!(options.singleFileUploads || limitSize) && limit) {
    +                fileSet = [];
    +                paramNameSet = [];
    +                for (i = 0; i < filesLength; i += limit) {
    +                    fileSet.push(files.slice(i, i + limit));
    +                    paramNameSlice = paramName.slice(i, i + limit);
    +                    if (!paramNameSlice.length) {
    +                        paramNameSlice = paramName;
    +                    }
    +                    paramNameSet.push(paramNameSlice);
    +                }
    +            } else if (!options.singleFileUploads && limitSize) {
    +                fileSet = [];
    +                paramNameSet = [];
    +                for (i = 0; i < filesLength; i = i + 1) {
    +                    batchSize += files[i].size + overhead;
    +                    if (i + 1 === filesLength ||
    +                            ((batchSize + files[i + 1].size + overhead) > limitSize) ||
    +                            (limit && i + 1 - j >= limit)) {
    +                        fileSet.push(files.slice(j, i + 1));
    +                        paramNameSlice = paramName.slice(j, i + 1);
    +                        if (!paramNameSlice.length) {
    +                            paramNameSlice = paramName;
    +                        }
    +                        paramNameSet.push(paramNameSlice);
    +                        j = i + 1;
    +                        batchSize = 0;
    +                    }
    +                }
    +            } else {
    +                paramNameSet = paramName;
    +            }
    +            data.originalFiles = files;
    +            $.each(fileSet || files, function (index, element) {
    +                var newData = $.extend({}, data);
    +                newData.files = fileSet ? element : [element];
    +                newData.paramName = paramNameSet[index];
    +                that._initResponseObject(newData);
    +                that._initProgressObject(newData);
    +                that._addConvenienceMethods(e, newData);
    +                result = that._trigger(
    +                    'add',
    +                    $.Event('add', {delegatedEvent: e}),
    +                    newData
    +                );
    +                return result;
    +            });
    +            return result;
    +        },
    + 
    +        _replaceFileInput: function (data) {
    +            var input = data.fileInput,
    +                inputClone = input.clone(true),
    +                restoreFocus = input.is(document.activeElement);
    +            // Add a reference for the new cloned file input to the data argument:
    +            data.fileInputClone = inputClone;
    +            $('<form></form>').append(inputClone)[0].reset();
    +            // Detaching allows to insert the fileInput on another form
    +            // without loosing the file input value:
    +            input.after(inputClone).detach();
    +            // If the fileInput had focus before it was detached,
    +            // restore focus to the inputClone.
    +            if (restoreFocus) {
    +                inputClone.focus();
    +            }
    +            // Avoid memory leaks with the detached file input:
    +            $.cleanData(input.unbind('remove'));
    +            // Replace the original file input element in the fileInput
    +            // elements set with the clone, which has been copied including
    +            // event handlers:
    +            this.options.fileInput = this.options.fileInput.map(function (i, el) {
    +                if (el === input[0]) {
    +                    return inputClone[0];
    +                }
    +                return el;
    +            });
    +            // If the widget has been initialized on the file input itself,
    +            // override this.element with the file input clone:
    +            if (input[0] === this.element[0]) {
    +                this.element = inputClone;
    +            }
    +        },
    + 
    +        _handleFileTreeEntry: function (entry, path) {
    +            var that = this,
    +                dfd = $.Deferred(),
    +                entries = [],
    +                dirReader,
    +                errorHandler = function (e) {
    +                    if (e && !e.entry) {
    +                        e.entry = entry;
    +                    }
    +                    // Since $.when returns immediately if one
    +                    // Deferred is rejected, we use resolve instead.
    +                    // This allows valid files and invalid items
    +                    // to be returned together in one set:
    +                    dfd.resolve([e]);
    +                },
    +                successHandler = function (entries) {
    +                    that._handleFileTreeEntries(
    +                        entries,
    +                        path + entry.name + '/'
    +                    ).done(function (files) {
    +                        dfd.resolve(files);
    +                    }).fail(errorHandler);
    +                },
    +                readEntries = function () {
    +                    dirReader.readEntries(function (results) {
    +                        if (!results.length) {
    +                            successHandler(entries);
    +                        } else {
    +                            entries = entries.concat(results);
    +                            readEntries();
    +                        }
    +                    }, errorHandler);
    +                };
    +            path = path || '';
    +            if (entry.isFile) {
    +                if (entry._file) {
    +                    // Workaround for Chrome bug #149735
    +                    entry._file.relativePath = path;
    +                    dfd.resolve(entry._file);
    +                } else {
    +                    entry.file(function (file) {
    +                        file.relativePath = path;
    +                        dfd.resolve(file);
    +                    }, errorHandler);
    +                }
    +            } else if (entry.isDirectory) {
    +                dirReader = entry.createReader();
    +                readEntries();
    +            } else {
    +                // Return an empy list for file system items
    +                // other than files or directories:
    +                dfd.resolve([]);
    +            }
    +            return dfd.promise();
    +        },
    + 
    +        _handleFileTreeEntries: function (entries, path) {
    +            var that = this;
    +            return $.when.apply(
    +                $,
    +                $.map(entries, function (entry) {
    +                    return that._handleFileTreeEntry(entry, path);
    +                })
    +            ).then(function () {
    +                return Array.prototype.concat.apply(
    +                    [],
    +                    arguments
    +                );
    +            });
    +        },
    + 
    +        _getDroppedFiles: function (dataTransfer) {
    +            dataTransfer = dataTransfer || {};
    +            var items = dataTransfer.items;
    +            if (items && items.length && (items[0].webkitGetAsEntry ||
    +                    items[0].getAsEntry)) {
    +                return this._handleFileTreeEntries(
    +                    $.map(items, function (item) {
    +                        var entry;
    +                        if (item.webkitGetAsEntry) {
    +                            entry = item.webkitGetAsEntry();
    +                            if (entry) {
    +                                // Workaround for Chrome bug #149735:
    +                                entry._file = item.getAsFile();
    +                            }
    +                            return entry;
    +                        }
    +                        return item.getAsEntry();
    +                    })
    +                );
    +            }
    +            return $.Deferred().resolve(
    +                $.makeArray(dataTransfer.files)
    +            ).promise();
    +        },
    + 
    +        _getSingleFileInputFiles: function (fileInput) {
    +            fileInput = $(fileInput);
    +            var entries = fileInput.prop('webkitEntries') ||
    +                    fileInput.prop('entries'),
    +                files,
    +                value;
    +            if (entries && entries.length) {
    +                return this._handleFileTreeEntries(entries);
    +            }
    +            files = $.makeArray(fileInput.prop('files'));
    +            if (!files.length) {
    +                value = fileInput.prop('value');
    +                if (!value) {
    +                    return $.Deferred().resolve([]).promise();
    +                }
    +                // If the files property is not available, the browser does not
    +                // support the File API and we add a pseudo File object with
    +                // the input value as name with path information removed:
    +                files = [{name: value.replace(/^.*\\/, '')}];
    +            } else if (files[0].name === undefined && files[0].fileName) {
    +                // File normalization for Safari 4 and Firefox 3:
    +                $.each(files, function (index, file) {
    +                    file.name = file.fileName;
    +                    file.size = file.fileSize;
    +                });
    +            }
    +            return $.Deferred().resolve(files).promise();
    +        },
    + 
    +        _getFileInputFiles: function (fileInput) {
    +            if (!(fileInput instanceof $) || fileInput.length === 1) {
    +                return this._getSingleFileInputFiles(fileInput);
    +            }
    +            return $.when.apply(
    +                $,
    +                $.map(fileInput, this._getSingleFileInputFiles)
    +            ).then(function () {
    +                return Array.prototype.concat.apply(
    +                    [],
    +                    arguments
    +                );
    +            });
    +        },
    + 
    +        _onChange: function (e) {
    +            var that = this,
    +                data = {
    +                    fileInput: $(e.target),
    +                    form: $(e.target.form)
    +                };
    +            this._getFileInputFiles(data.fileInput).always(function (files) {
    +                data.files = files;
    +                if (that.options.replaceFileInput) {
    +                    that._replaceFileInput(data);
    +                }
    +                if (that._trigger(
    +                        'change',
    +                        $.Event('change', {delegatedEvent: e}),
    +                        data
    +                    ) !== false) {
    +                    that._onAdd(e, data);
    +                }
    +            });
    +        },
    + 
    +        _onPaste: function (e) {
    +            var items = e.originalEvent && e.originalEvent.clipboardData &&
    +                    e.originalEvent.clipboardData.items,
    +                data = {files: []};
    +            if (items && items.length) {
    +                $.each(items, function (index, item) {
    +                    var file = item.getAsFile && item.getAsFile();
    +                    if (file) {
    +                        data.files.push(file);
    +                    }
    +                });
    +                if (this._trigger(
    +                        'paste',
    +                        $.Event('paste', {delegatedEvent: e}),
    +                        data
    +                    ) !== false) {
    +                    this._onAdd(e, data);
    +                }
    +            }
    +        },
    + 
    +        _onDrop: function (e) {
    +            e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;
    +            var that = this,
    +                dataTransfer = e.dataTransfer,
    +                data = {};
    +            if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {
    +                e.preventDefault();
    +                this._getDroppedFiles(dataTransfer).always(function (files) {
    +                    data.files = files;
    +                    if (that._trigger(
    +                            'drop',
    +                            $.Event('drop', {delegatedEvent: e}),
    +                            data
    +                        ) !== false) {
    +                        that._onAdd(e, data);
    +                    }
    +                });
    +            }
    +        },
    + 
    +        _onDragOver: getDragHandler('dragover'),
    + 
    +        _onDragEnter: getDragHandler('dragenter'),
    + 
    +        _onDragLeave: getDragHandler('dragleave'),
    + 
    +        _initEventHandlers: function () {
    +            if (this._isXHRUpload(this.options)) {
    +                this._on(this.options.dropZone, {
    +                    dragover: this._onDragOver,
    +                    drop: this._onDrop,
    +                    // event.preventDefault() on dragenter is required for IE10+:
    +                    dragenter: this._onDragEnter,
    +                    // dragleave is not required, but added for completeness:
    +                    dragleave: this._onDragLeave
    +                });
    +                this._on(this.options.pasteZone, {
    +                    paste: this._onPaste
    +                });
    +            }
    +            if ($.support.fileInput) {
    +                this._on(this.options.fileInput, {
    +                    change: this._onChange
    +                });
    +            }
    +        },
    + 
    +        _destroyEventHandlers: function () {
    +            this._off(this.options.dropZone, 'dragenter dragleave dragover drop');
    +            this._off(this.options.pasteZone, 'paste');
    +            this._off(this.options.fileInput, 'change');
    +        },
    + 
    +        _destroy: function () {
    +            this._destroyEventHandlers();
    +        },
    + 
    +        _setOption: function (key, value) {
    +            var reinit = $.inArray(key, this._specialOptions) !== -1;
    +            if (reinit) {
    +                this._destroyEventHandlers();
    +            }
    +            this._super(key, value);
    +            if (reinit) {
    +                this._initSpecialOptions();
    +                this._initEventHandlers();
    +            }
    +        },
    + 
    +        _initSpecialOptions: function () {
    +            var options = this.options;
    +            if (options.fileInput === undefined) {
    +                options.fileInput = this.element.is('input[type="file"]') ?
    +                        this.element : this.element.find('input[type="file"]');
    +            } else if (!(options.fileInput instanceof $)) {
    +                options.fileInput = $(options.fileInput);
    +            }
    +            if (!(options.dropZone instanceof $)) {
    +                options.dropZone = $(options.dropZone);
    +            }
    +            if (!(options.pasteZone instanceof $)) {
    +                options.pasteZone = $(options.pasteZone);
    +            }
    +        },
    + 
    +        _getRegExp: function (str) {
    +            var parts = str.split('/'),
    +                modifiers = parts.pop();
    +            parts.shift();
    +            return new RegExp(parts.join('/'), modifiers);
    +        },
    + 
    +        _isRegExpOption: function (key, value) {
    +            return key !== 'url' && $.type(value) === 'string' &&
    +                /^\/.*\/[igm]{0,3}$/.test(value);
    +        },
    + 
    +        _initDataAttributes: function () {
    +            var that = this,
    +                options = this.options,
    +                data = this.element.data();
    +            // Initialize options set via HTML5 data-attributes:
    +            $.each(
    +                this.element[0].attributes,
    +                function (index, attr) {
    +                    var key = attr.name.toLowerCase(),
    +                        value;
    +                    if (/^data-/.test(key)) {
    +                        // Convert hyphen-ated key to camelCase:
    +                        key = key.slice(5).replace(/-[a-z]/g, function (str) {
    +                            return str.charAt(1).toUpperCase();
    +                        });
    +                        value = data[key];
    +                        if (that._isRegExpOption(key, value)) {
    +                            value = that._getRegExp(value);
    +                        }
    +                        options[key] = value;
    +                    }
    +                }
    +            );
    +        },
    + 
    +        _create: function () {
    +            this._initDataAttributes();
    +            this._initSpecialOptions();
    +            this._slots = [];
    +            this._sequence = this._getXHRPromise(true);
    +            this._sending = this._active = 0;
    +            this._initProgressObject(this);
    +            this._initEventHandlers();
    +        },
    + 
    +        // This method is exposed to the widget API and allows to query
    +        // the number of active uploads:
    +        active: function () {
    +            return this._active;
    +        },
    + 
    +        // This method is exposed to the widget API and allows to query
    +        // the widget upload progress.
    +        // It returns an object with loaded, total and bitrate properties
    +        // for the running uploads:
    +        progress: function () {
    +            return this._progress;
    +        },
    + 
    +        // This method is exposed to the widget API and allows adding files
    +        // using the fileupload API. The data parameter accepts an object which
    +        // must have a files property and can contain additional options:
    +        // .fileupload('add', {files: filesList});
    +        add: function (data) {
    +            var that = this;
    +            if (!data || this.options.disabled) {
    +                return;
    +            }
    +            if (data.fileInput && !data.files) {
    +                this._getFileInputFiles(data.fileInput).always(function (files) {
    +                    data.files = files;
    +                    that._onAdd(null, data);
    +                });
    +            } else {
    +                data.files = $.makeArray(data.files);
    +                this._onAdd(null, data);
    +            }
    +        },
    + 
    +        // This method is exposed to the widget API and allows sending files
    +        // using the fileupload API. The data parameter accepts an object which
    +        // must have a files or fileInput property and can contain additional options:
    +        // .fileupload('send', {files: filesList});
    +        // The method returns a Promise object for the file upload call.
    +        send: function (data) {
    +            if (data && !this.options.disabled) {
    +                if (data.fileInput && !data.files) {
    +                    var that = this,
    +                        dfd = $.Deferred(),
    +                        promise = dfd.promise(),
    +                        jqXHR,
    +                        aborted;
    +                    promise.abort = function () {
    +                        aborted = true;
    +                        if (jqXHR) {
    +                            return jqXHR.abort();
    +                        }
    +                        dfd.reject(null, 'abort', 'abort');
    +                        return promise;
    +                    };
    +                    this._getFileInputFiles(data.fileInput).always(
    +                        function (files) {
    +                            if (aborted) {
    +                                return;
    +                            }
    +                            if (!files.length) {
    +                                dfd.reject();
    +                                return;
    +                            }
    +                            data.files = files;
    +                            jqXHR = that._onSend(null, data);
    +                            jqXHR.then(
    +                                function (result, textStatus, jqXHR) {
    +                                    dfd.resolve(result, textStatus, jqXHR);
    +                                },
    +                                function (jqXHR, textStatus, errorThrown) {
    +                                    dfd.reject(jqXHR, textStatus, errorThrown);
    +                                }
    +                            );
    +                        }
    +                    );
    +                    return this._enhancePromise(promise);
    +                }
    +                data.files = $.makeArray(data.files);
    +                if (data.files.length) {
    +                    return this._onSend(null, data);
    +                }
    +            }
    +            return this._getXHRPromise(false, data && data.context);
    +        }
    + 
    +    });
    + 
    +}));
    + 
    +
    +
    + +
    + + + + + diff --git a/reports/jasmine/lcov/lcov-report/assests/js/lib/file-upload/jquery.iframe-transport.js.html b/reports/jasmine/lcov/lcov-report/assests/js/lib/file-upload/jquery.iframe-transport.js.html new file mode 100644 index 0000000..e5165b8 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/assests/js/lib/file-upload/jquery.iframe-transport.js.html @@ -0,0 +1,716 @@ + + + + Code coverage report for assests/js/lib/file-upload/jquery.iframe-transport.js + + + + + + + +
    +
    +

    + all files / assests/js/lib/file-upload/ jquery.iframe-transport.js +

    +
    +
    + 8.82% + Statements + 6/68 +
    +
    + 5% + Branches + 3/60 +
    +
    + 11.76% + Functions + 2/17 +
    +
    + 8.82% + Lines + 6/68 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218  +  +  +  +  +  +  +  +  +  +  +  +  + +  + +  +  + +  +  +  +  + +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    /*
    + * jQuery Iframe Transport Plugin
    + * https://github.com/blueimp/jQuery-File-Upload
    + *
    + * Copyright 2011, Sebastian Tschan
    + * https://blueimp.net
    + *
    + * Licensed under the MIT license:
    + * http://www.opensource.org/licenses/MIT
    + */
    + 
    +/* global define, require, window, document */
    + 
    +;(function (factory) {
    +    'use strict';
    +    Iif (typeof define === 'function' && define.amd) {
    +        // Register as an anonymous AMD module:
    +        define(['jquery'], factory);
    +    } else Iif (typeof exports === 'object') {
    +        // Node/CommonJS:
    +        factory(require('jquery'));
    +    } else {
    +        // Browser globals:
    +        factory(window.jQuery);
    +    }
    +}(function ($) {
    +    'use strict';
    + 
    +    // Helper variable to create unique names for the transport iframes:
    +    var counter = 0;
    + 
    +    // The iframe transport accepts four additional options:
    +    // options.fileInput: a jQuery collection of file input fields
    +    // options.paramName: the parameter name for the file form data,
    +    //  overrides the name property of the file input field(s),
    +    //  can be a string or an array of strings.
    +    // options.formData: an array of objects with name and value properties,
    +    //  equivalent to the return data of .serializeArray(), e.g.:
    +    //  [{name: 'a', value: 1}, {name: 'b', value: 2}]
    +    // options.initialIframeSrc: the URL of the initial iframe src,
    +    //  by default set to "javascript:false;"
    +    $.ajaxTransport('iframe', function (options) {
    +        if (options.async) {
    +            // javascript:false as initial iframe src
    +            // prevents warning popups on HTTPS in IE6:
    +            /*jshint scripturl: true */
    +            var initialIframeSrc = options.initialIframeSrc || 'javascript:false;',
    +            /*jshint scripturl: false */
    +                form,
    +                iframe,
    +                addParamChar;
    +            return {
    +                send: function (_, completeCallback) {
    +                    form = $('<form style="display:none;"></form>');
    +                    form.attr('accept-charset', options.formAcceptCharset);
    +                    addParamChar = /\?/.test(options.url) ? '&' : '?';
    +                    // XDomainRequest only supports GET and POST:
    +                    if (options.type === 'DELETE') {
    +                        options.url = options.url + addParamChar + '_method=DELETE';
    +                        options.type = 'POST';
    +                    } else if (options.type === 'PUT') {
    +                        options.url = options.url + addParamChar + '_method=PUT';
    +                        options.type = 'POST';
    +                    } else if (options.type === 'PATCH') {
    +                        options.url = options.url + addParamChar + '_method=PATCH';
    +                        options.type = 'POST';
    +                    }
    +                    // IE versions below IE8 cannot set the name property of
    +                    // elements that have already been added to the DOM,
    +                    // so we set the name along with the iframe HTML markup:
    +                    counter += 1;
    +                    iframe = $(
    +                        '<iframe src="' + initialIframeSrc +
    +                            '" name="iframe-transport-' + counter + '"></iframe>'
    +                    ).bind('load', function () {
    +                        var fileInputClones,
    +                            paramNames = $.isArray(options.paramName) ?
    +                                    options.paramName : [options.paramName];
    +                        iframe
    +                            .unbind('load')
    +                            .bind('load', function () {
    +                                var response;
    +                                // Wrap in a try/catch block to catch exceptions thrown
    +                                // when trying to access cross-domain iframe contents:
    +                                try {
    +                                    response = iframe.contents();
    +                                    // Google Chrome and Firefox do not throw an
    +                                    // exception when calling iframe.contents() on
    +                                    // cross-domain requests, so we unify the response:
    +                                    if (!response.length || !response[0].firstChild) {
    +                                        throw new Error();
    +                                    }
    +                                } catch (e) {
    +                                    response = undefined;
    +                                }
    +                                // The complete callback returns the
    +                                // iframe content document as response object:
    +                                completeCallback(
    +                                    200,
    +                                    'success',
    +                                    {'iframe': response}
    +                                );
    +                                // Fix for IE endless progress bar activity bug
    +                                // (happens on form submits to iframe targets):
    +                                $('<iframe src="' + initialIframeSrc + '"></iframe>')
    +                                    .appendTo(form);
    +                                window.setTimeout(function () {
    +                                    // Removing the form in a setTimeout call
    +                                    // allows Chrome's developer tools to display
    +                                    // the response result
    +                                    form.remove();
    +                                }, 0);
    +                            });
    +                        form
    +                            .prop('target', iframe.prop('name'))
    +                            .prop('action', options.url)
    +                            .prop('method', options.type);
    +                        if (options.formData) {
    +                            $.each(options.formData, function (index, field) {
    +                                $('<input type="hidden"/>')
    +                                    .prop('name', field.name)
    +                                    .val(field.value)
    +                                    .appendTo(form);
    +                            });
    +                        }
    +                        if (options.fileInput && options.fileInput.length &&
    +                                options.type === 'POST') {
    +                            fileInputClones = options.fileInput.clone();
    +                            // Insert a clone for each file input field:
    +                            options.fileInput.after(function (index) {
    +                                return fileInputClones[index];
    +                            });
    +                            if (options.paramName) {
    +                                options.fileInput.each(function (index) {
    +                                    $(this).prop(
    +                                        'name',
    +                                        paramNames[index] || options.paramName
    +                                    );
    +                                });
    +                            }
    +                            // Appending the file input fields to the hidden form
    +                            // removes them from their original location:
    +                            form
    +                                .append(options.fileInput)
    +                                .prop('enctype', 'multipart/form-data')
    +                                // enctype must be set as encoding for IE:
    +                                .prop('encoding', 'multipart/form-data');
    +                            // Remove the HTML5 form attribute from the input(s):
    +                            options.fileInput.removeAttr('form');
    +                        }
    +                        form.submit();
    +                        // Insert the file input fields at their original location
    +                        // by replacing the clones with the originals:
    +                        if (fileInputClones && fileInputClones.length) {
    +                            options.fileInput.each(function (index, input) {
    +                                var clone = $(fileInputClones[index]);
    +                                // Restore the original name and form properties:
    +                                $(input)
    +                                    .prop('name', clone.prop('name'))
    +                                    .attr('form', clone.attr('form'));
    +                                clone.replaceWith(input);
    +                            });
    +                        }
    +                    });
    +                    form.append(iframe).appendTo(document.body);
    +                },
    +                abort: function () {
    +                    if (iframe) {
    +                        // javascript:false as iframe src aborts the request
    +                        // and prevents warning popups on HTTPS in IE6.
    +                        // concat is used to avoid the "Script URL" JSLint error:
    +                        iframe
    +                            .unbind('load')
    +                            .prop('src', initialIframeSrc);
    +                    }
    +                    if (form) {
    +                        form.remove();
    +                    }
    +                }
    +            };
    +        }
    +    });
    + 
    +    // The iframe transport returns the iframe content document as response.
    +    // The following adds converters from iframe to text, json, html, xml
    +    // and script.
    +    // Please note that the Content-Type for JSON responses has to be text/plain
    +    // or text/html, if the browser doesn't include application/json in the
    +    // Accept header, else IE will show a download dialog.
    +    // The Content-Type for XML responses on the other hand has to be always
    +    // application/xml or text/xml, so IE properly parses the XML response.
    +    // See also
    +    // https://github.com/blueimp/jQuery-File-Upload/wiki/Setup#content-type-negotiation
    +    $.ajaxSetup({
    +        converters: {
    +            'iframe text': function (iframe) {
    +                return iframe && $(iframe[0].body).text();
    +            },
    +            'iframe json': function (iframe) {
    +                return iframe && $.parseJSON($(iframe[0].body).text());
    +            },
    +            'iframe html': function (iframe) {
    +                return iframe && $(iframe[0].body).html();
    +            },
    +            'iframe xml': function (iframe) {
    +                var xmlDoc = iframe && iframe[0];
    +                return xmlDoc && $.isXMLDoc(xmlDoc) ? xmlDoc :
    +                        $.parseXML((xmlDoc.XMLDocument && xmlDoc.XMLDocument.xml) ||
    +                            $(xmlDoc.body).html());
    +            },
    +            'iframe script': function (iframe) {
    +                return iframe && $.globalEval($(iframe[0].body).text());
    +            }
    +        }
    +    });
    + 
    +}));
    + 
    +
    +
    + +
    + + + + + diff --git a/reports/jasmine/lcov/lcov-report/assests/js/lib/file-upload/jquery.ui.widget.js.html b/reports/jasmine/lcov/lcov-report/assests/js/lib/file-upload/jquery.ui.widget.js.html new file mode 100644 index 0000000..1552d43 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/assests/js/lib/file-upload/jquery.ui.widget.js.html @@ -0,0 +1,1781 @@ + + + + Code coverage report for assests/js/lib/file-upload/jquery.ui.widget.js + + + + + + + +
    +
    +

    + all files / assests/js/lib/file-upload/ jquery.ui.widget.js +

    +
    +
    + 2.58% + Statements + 6/233 +
    +
    + 1.91% + Branches + 3/157 +
    +
    + 2.27% + Functions + 1/44 +
    +
    + 2.58% + Lines + 6/233 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573  +  +  +  +  + + +  +  +  +  + +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    /*! jQuery UI - v1.11.4+CommonJS - 2015-08-28
    +* http://jqueryui.com
    +* Includes: widget.js
    +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */
    + 
    +(function( factory ) {
    +	Iif ( typeof define === "function" && define.amd ) {
    + 
    +		// AMD. Register as an anonymous module.
    +		define([ "jquery" ], factory );
    + 
    +	} else Iif ( typeof exports === "object" ) {
    + 
    +		// Node/CommonJS
    +		factory( require( "jquery" ) );
    + 
    +	} else {
    + 
    +		// Browser globals
    +		factory( jQuery );
    +	}
    +}(function( $ ) {
    +/*!
    + * jQuery UI Widget 1.11.4
    + * http://jqueryui.com
    + *
    + * Copyright jQuery Foundation and other contributors
    + * Released under the MIT license.
    + * http://jquery.org/license
    + *
    + * http://api.jqueryui.com/jQuery.widget/
    + */
    + 
    + 
    +var widget_uuid = 0,
    +	widget_slice = Array.prototype.slice;
    + 
    +$.cleanData = (function( orig ) {
    +	return function( elems ) {
    +		var events, elem, i;
    +		for ( i = 0; (elem = elems[i]) != null; i++ ) {
    +			try {
    + 
    +				// Only trigger remove when necessary to save time
    +				events = $._data( elem, "events" );
    +				if ( events && events.remove ) {
    +					$( elem ).triggerHandler( "remove" );
    +				}
    + 
    +			// http://bugs.jquery.com/ticket/8235
    +			} catch ( e ) {}
    +		}
    +		orig( elems );
    +	};
    +})( $.cleanData );
    + 
    +$.widget = function( name, base, prototype ) {
    +	var fullName, existingConstructor, constructor, basePrototype,
    +		// proxiedPrototype allows the provided prototype to remain unmodified
    +		// so that it can be used as a mixin for multiple widgets (#8876)
    +		proxiedPrototype = {},
    +		namespace = name.split( "." )[ 0 ];
    + 
    +	name = name.split( "." )[ 1 ];
    +	fullName = namespace + "-" + name;
    + 
    +	if ( !prototype ) {
    +		prototype = base;
    +		base = $.Widget;
    +	}
    + 
    +	// create selector for plugin
    +	$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
    +		return !!$.data( elem, fullName );
    +	};
    + 
    +	$[ namespace ] = $[ namespace ] || {};
    +	existingConstructor = $[ namespace ][ name ];
    +	constructor = $[ namespace ][ name ] = function( options, element ) {
    +		// allow instantiation without "new" keyword
    +		if ( !this._createWidget ) {
    +			return new constructor( options, element );
    +		}
    + 
    +		// allow instantiation without initializing for simple inheritance
    +		// must use "new" keyword (the code above always passes args)
    +		if ( arguments.length ) {
    +			this._createWidget( options, element );
    +		}
    +	};
    +	// extend with the existing constructor to carry over any static properties
    +	$.extend( constructor, existingConstructor, {
    +		version: prototype.version,
    +		// copy the object used to create the prototype in case we need to
    +		// redefine the widget later
    +		_proto: $.extend( {}, prototype ),
    +		// track widgets that inherit from this widget in case this widget is
    +		// redefined after a widget inherits from it
    +		_childConstructors: []
    +	});
    + 
    +	basePrototype = new base();
    +	// we need to make the options hash a property directly on the new instance
    +	// otherwise we'll modify the options hash on the prototype that we're
    +	// inheriting from
    +	basePrototype.options = $.widget.extend( {}, basePrototype.options );
    +	$.each( prototype, function( prop, value ) {
    +		if ( !$.isFunction( value ) ) {
    +			proxiedPrototype[ prop ] = value;
    +			return;
    +		}
    +		proxiedPrototype[ prop ] = (function() {
    +			var _super = function() {
    +					return base.prototype[ prop ].apply( this, arguments );
    +				},
    +				_superApply = function( args ) {
    +					return base.prototype[ prop ].apply( this, args );
    +				};
    +			return function() {
    +				var __super = this._super,
    +					__superApply = this._superApply,
    +					returnValue;
    + 
    +				this._super = _super;
    +				this._superApply = _superApply;
    + 
    +				returnValue = value.apply( this, arguments );
    + 
    +				this._super = __super;
    +				this._superApply = __superApply;
    + 
    +				return returnValue;
    +			};
    +		})();
    +	});
    +	constructor.prototype = $.widget.extend( basePrototype, {
    +		// TODO: remove support for widgetEventPrefix
    +		// always use the name + a colon as the prefix, e.g., draggable:start
    +		// don't prefix for widgets that aren't DOM-based
    +		widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name
    +	}, proxiedPrototype, {
    +		constructor: constructor,
    +		namespace: namespace,
    +		widgetName: name,
    +		widgetFullName: fullName
    +	});
    + 
    +	// If this widget is being redefined then we need to find all widgets that
    +	// are inheriting from it and redefine all of them so that they inherit from
    +	// the new version of this widget. We're essentially trying to replace one
    +	// level in the prototype chain.
    +	if ( existingConstructor ) {
    +		$.each( existingConstructor._childConstructors, function( i, child ) {
    +			var childPrototype = child.prototype;
    + 
    +			// redefine the child widget using the same prototype that was
    +			// originally used, but inherit from the new version of the base
    +			$.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
    +		});
    +		// remove the list of existing child constructors from the old constructor
    +		// so the old child constructors can be garbage collected
    +		delete existingConstructor._childConstructors;
    +	} else {
    +		base._childConstructors.push( constructor );
    +	}
    + 
    +	$.widget.bridge( name, constructor );
    + 
    +	return constructor;
    +};
    + 
    +$.widget.extend = function( target ) {
    +	var input = widget_slice.call( arguments, 1 ),
    +		inputIndex = 0,
    +		inputLength = input.length,
    +		key,
    +		value;
    +	for ( ; inputIndex < inputLength; inputIndex++ ) {
    +		for ( key in input[ inputIndex ] ) {
    +			value = input[ inputIndex ][ key ];
    +			if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
    +				// Clone objects
    +				if ( $.isPlainObject( value ) ) {
    +					target[ key ] = $.isPlainObject( target[ key ] ) ?
    +						$.widget.extend( {}, target[ key ], value ) :
    +						// Don't extend strings, arrays, etc. with objects
    +						$.widget.extend( {}, value );
    +				// Copy everything else by reference
    +				} else {
    +					target[ key ] = value;
    +				}
    +			}
    +		}
    +	}
    +	return target;
    +};
    + 
    +$.widget.bridge = function( name, object ) {
    +	var fullName = object.prototype.widgetFullName || name;
    +	$.fn[ name ] = function( options ) {
    +		var isMethodCall = typeof options === "string",
    +			args = widget_slice.call( arguments, 1 ),
    +			returnValue = this;
    + 
    +		if ( isMethodCall ) {
    +			this.each(function() {
    +				var methodValue,
    +					instance = $.data( this, fullName );
    +				if ( options === "instance" ) {
    +					returnValue = instance;
    +					return false;
    +				}
    +				if ( !instance ) {
    +					return $.error( "cannot call methods on " + name + " prior to initialization; " +
    +						"attempted to call method '" + options + "'" );
    +				}
    +				if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
    +					return $.error( "no such method '" + options + "' for " + name + " widget instance" );
    +				}
    +				methodValue = instance[ options ].apply( instance, args );
    +				if ( methodValue !== instance && methodValue !== undefined ) {
    +					returnValue = methodValue && methodValue.jquery ?
    +						returnValue.pushStack( methodValue.get() ) :
    +						methodValue;
    +					return false;
    +				}
    +			});
    +		} else {
    + 
    +			// Allow multiple hashes to be passed on init
    +			if ( args.length ) {
    +				options = $.widget.extend.apply( null, [ options ].concat(args) );
    +			}
    + 
    +			this.each(function() {
    +				var instance = $.data( this, fullName );
    +				if ( instance ) {
    +					instance.option( options || {} );
    +					if ( instance._init ) {
    +						instance._init();
    +					}
    +				} else {
    +					$.data( this, fullName, new object( options, this ) );
    +				}
    +			});
    +		}
    + 
    +		return returnValue;
    +	};
    +};
    + 
    +$.Widget = function( /* options, element */ ) {};
    +$.Widget._childConstructors = [];
    + 
    +$.Widget.prototype = {
    +	widgetName: "widget",
    +	widgetEventPrefix: "",
    +	defaultElement: "<div>",
    +	options: {
    +		disabled: false,
    + 
    +		// callbacks
    +		create: null
    +	},
    +	_createWidget: function( options, element ) {
    +		element = $( element || this.defaultElement || this )[ 0 ];
    +		this.element = $( element );
    +		this.uuid = widget_uuid++;
    +		this.eventNamespace = "." + this.widgetName + this.uuid;
    + 
    +		this.bindings = $();
    +		this.hoverable = $();
    +		this.focusable = $();
    + 
    +		if ( element !== this ) {
    +			$.data( element, this.widgetFullName, this );
    +			this._on( true, this.element, {
    +				remove: function( event ) {
    +					if ( event.target === element ) {
    +						this.destroy();
    +					}
    +				}
    +			});
    +			this.document = $( element.style ?
    +				// element within the document
    +				element.ownerDocument :
    +				// element is window or document
    +				element.document || element );
    +			this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
    +		}
    + 
    +		this.options = $.widget.extend( {},
    +			this.options,
    +			this._getCreateOptions(),
    +			options );
    + 
    +		this._create();
    +		this._trigger( "create", null, this._getCreateEventData() );
    +		this._init();
    +	},
    +	_getCreateOptions: $.noop,
    +	_getCreateEventData: $.noop,
    +	_create: $.noop,
    +	_init: $.noop,
    + 
    +	destroy: function() {
    +		this._destroy();
    +		// we can probably remove the unbind calls in 2.0
    +		// all event bindings should go through this._on()
    +		this.element
    +			.unbind( this.eventNamespace )
    +			.removeData( this.widgetFullName )
    +			// support: jquery <1.6.3
    +			// http://bugs.jquery.com/ticket/9413
    +			.removeData( $.camelCase( this.widgetFullName ) );
    +		this.widget()
    +			.unbind( this.eventNamespace )
    +			.removeAttr( "aria-disabled" )
    +			.removeClass(
    +				this.widgetFullName + "-disabled " +
    +				"ui-state-disabled" );
    + 
    +		// clean up events and states
    +		this.bindings.unbind( this.eventNamespace );
    +		this.hoverable.removeClass( "ui-state-hover" );
    +		this.focusable.removeClass( "ui-state-focus" );
    +	},
    +	_destroy: $.noop,
    + 
    +	widget: function() {
    +		return this.element;
    +	},
    + 
    +	option: function( key, value ) {
    +		var options = key,
    +			parts,
    +			curOption,
    +			i;
    + 
    +		if ( arguments.length === 0 ) {
    +			// don't return a reference to the internal hash
    +			return $.widget.extend( {}, this.options );
    +		}
    + 
    +		if ( typeof key === "string" ) {
    +			// handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
    +			options = {};
    +			parts = key.split( "." );
    +			key = parts.shift();
    +			if ( parts.length ) {
    +				curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
    +				for ( i = 0; i < parts.length - 1; i++ ) {
    +					curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
    +					curOption = curOption[ parts[ i ] ];
    +				}
    +				key = parts.pop();
    +				if ( arguments.length === 1 ) {
    +					return curOption[ key ] === undefined ? null : curOption[ key ];
    +				}
    +				curOption[ key ] = value;
    +			} else {
    +				if ( arguments.length === 1 ) {
    +					return this.options[ key ] === undefined ? null : this.options[ key ];
    +				}
    +				options[ key ] = value;
    +			}
    +		}
    + 
    +		this._setOptions( options );
    + 
    +		return this;
    +	},
    +	_setOptions: function( options ) {
    +		var key;
    + 
    +		for ( key in options ) {
    +			this._setOption( key, options[ key ] );
    +		}
    + 
    +		return this;
    +	},
    +	_setOption: function( key, value ) {
    +		this.options[ key ] = value;
    + 
    +		if ( key === "disabled" ) {
    +			this.widget()
    +				.toggleClass( this.widgetFullName + "-disabled", !!value );
    + 
    +			// If the widget is becoming disabled, then nothing is interactive
    +			if ( value ) {
    +				this.hoverable.removeClass( "ui-state-hover" );
    +				this.focusable.removeClass( "ui-state-focus" );
    +			}
    +		}
    + 
    +		return this;
    +	},
    + 
    +	enable: function() {
    +		return this._setOptions({ disabled: false });
    +	},
    +	disable: function() {
    +		return this._setOptions({ disabled: true });
    +	},
    + 
    +	_on: function( suppressDisabledCheck, element, handlers ) {
    +		var delegateElement,
    +			instance = this;
    + 
    +		// no suppressDisabledCheck flag, shuffle arguments
    +		if ( typeof suppressDisabledCheck !== "boolean" ) {
    +			handlers = element;
    +			element = suppressDisabledCheck;
    +			suppressDisabledCheck = false;
    +		}
    + 
    +		// no element argument, shuffle and use this.element
    +		if ( !handlers ) {
    +			handlers = element;
    +			element = this.element;
    +			delegateElement = this.widget();
    +		} else {
    +			element = delegateElement = $( element );
    +			this.bindings = this.bindings.add( element );
    +		}
    + 
    +		$.each( handlers, function( event, handler ) {
    +			function handlerProxy() {
    +				// allow widgets to customize the disabled handling
    +				// - disabled as an array instead of boolean
    +				// - disabled class as method for disabling individual parts
    +				if ( !suppressDisabledCheck &&
    +						( instance.options.disabled === true ||
    +							$( this ).hasClass( "ui-state-disabled" ) ) ) {
    +					return;
    +				}
    +				return ( typeof handler === "string" ? instance[ handler ] : handler )
    +					.apply( instance, arguments );
    +			}
    + 
    +			// copy the guid so direct unbinding works
    +			if ( typeof handler !== "string" ) {
    +				handlerProxy.guid = handler.guid =
    +					handler.guid || handlerProxy.guid || $.guid++;
    +			}
    + 
    +			var match = event.match( /^([\w:-]*)\s*(.*)$/ ),
    +				eventName = match[1] + instance.eventNamespace,
    +				selector = match[2];
    +			if ( selector ) {
    +				delegateElement.delegate( selector, eventName, handlerProxy );
    +			} else {
    +				element.bind( eventName, handlerProxy );
    +			}
    +		});
    +	},
    + 
    +	_off: function( element, eventName ) {
    +		eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) +
    +			this.eventNamespace;
    +		element.unbind( eventName ).undelegate( eventName );
    + 
    +		// Clear the stack to avoid memory leaks (#10056)
    +		this.bindings = $( this.bindings.not( element ).get() );
    +		this.focusable = $( this.focusable.not( element ).get() );
    +		this.hoverable = $( this.hoverable.not( element ).get() );
    +	},
    + 
    +	_delay: function( handler, delay ) {
    +		function handlerProxy() {
    +			return ( typeof handler === "string" ? instance[ handler ] : handler )
    +				.apply( instance, arguments );
    +		}
    +		var instance = this;
    +		return setTimeout( handlerProxy, delay || 0 );
    +	},
    + 
    +	_hoverable: function( element ) {
    +		this.hoverable = this.hoverable.add( element );
    +		this._on( element, {
    +			mouseenter: function( event ) {
    +				$( event.currentTarget ).addClass( "ui-state-hover" );
    +			},
    +			mouseleave: function( event ) {
    +				$( event.currentTarget ).removeClass( "ui-state-hover" );
    +			}
    +		});
    +	},
    + 
    +	_focusable: function( element ) {
    +		this.focusable = this.focusable.add( element );
    +		this._on( element, {
    +			focusin: function( event ) {
    +				$( event.currentTarget ).addClass( "ui-state-focus" );
    +			},
    +			focusout: function( event ) {
    +				$( event.currentTarget ).removeClass( "ui-state-focus" );
    +			}
    +		});
    +	},
    + 
    +	_trigger: function( type, event, data ) {
    +		var prop, orig,
    +			callback = this.options[ type ];
    + 
    +		data = data || {};
    +		event = $.Event( event );
    +		event.type = ( type === this.widgetEventPrefix ?
    +			type :
    +			this.widgetEventPrefix + type ).toLowerCase();
    +		// the original event may come from any element
    +		// so we need to reset the target on the new event
    +		event.target = this.element[ 0 ];
    + 
    +		// copy original event properties over to the new event
    +		orig = event.originalEvent;
    +		if ( orig ) {
    +			for ( prop in orig ) {
    +				if ( !( prop in event ) ) {
    +					event[ prop ] = orig[ prop ];
    +				}
    +			}
    +		}
    + 
    +		this.element.trigger( event, data );
    +		return !( $.isFunction( callback ) &&
    +			callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
    +			event.isDefaultPrevented() );
    +	}
    +};
    + 
    +$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
    +	$.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
    +		if ( typeof options === "string" ) {
    +			options = { effect: options };
    +		}
    +		var hasOptions,
    +			effectName = !options ?
    +				method :
    +				options === true || typeof options === "number" ?
    +					defaultEffect :
    +					options.effect || defaultEffect;
    +		options = options || {};
    +		if ( typeof options === "number" ) {
    +			options = { duration: options };
    +		}
    +		hasOptions = !$.isEmptyObject( options );
    +		options.complete = callback;
    +		if ( options.delay ) {
    +			element.delay( options.delay );
    +		}
    +		if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
    +			element[ method ]( options );
    +		} else if ( effectName !== method && element[ effectName ] ) {
    +			element[ effectName ]( options.duration, options.easing, callback );
    +		} else {
    +			element.queue(function( next ) {
    +				$( this )[ method ]();
    +				if ( callback ) {
    +					callback.call( element[ 0 ] );
    +				}
    +				next();
    +			});
    +		}
    +	};
    +});
    + 
    +var widget = $.widget;
    + 
    + 
    + 
    +}));
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/assests/js/lib/handlebars.runtime.min.js.html b/reports/jasmine/lcov/lcov-report/assests/js/lib/handlebars.runtime.min.js.html new file mode 100644 index 0000000..0d8d2cf --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/assests/js/lib/handlebars.runtime.min.js.html @@ -0,0 +1,143 @@ + + + + Code coverage report for assests/js/lib/handlebars.runtime.min.js + + + + + + + +
    +
    +

    + all files / assests/js/lib/ handlebars.runtime.min.js +

    +
    +
    + 48.2% + Statements + 174/361 +
    +
    + 17.11% + Branches + 65/380 +
    +
    + 53.49% + Functions + 69/129 +
    +
    + 100% + Lines + 1/1 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +56×
    /**!
    + 
    + @license
    + handlebars v4.0.12
    + 
    +Copyright (C) 2011-2017 by Yehuda Katz
    + 
    +Permission is hereby granted, free of charge, to any person obtaining a copy
    +of this software and associated documentation files (the "Software"), to deal
    +in the Software without restriction, including without limitation the rights
    +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    +copies of the Software, and to permit persons to whom the Software is
    +furnished to do so, subject to the following conditions:
    + 
    +The above copyright notice and this permission notice shall be included in
    +all copies or substantial portions of the Software.
    + 
    +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    +THE SOFTWARE.
    + 
    +*/
    +!function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define([],b):"object"==typeof exports?exports.Handlebars=b():a.Handlebars=b()}(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){"use strict";function d(){var a=new h.HandlebarsEnvironment;return n.extend(a,h),a.SafeString=j["default"],a.Exception=l["default"],a.Utils=n,a.escapeExpression=n.escapeExpression,a.VM=p,a.template=function(b){return p.template(b,a)},a}var e=c(1)["default"],f=c(2)["default"];b.__esModule=!0;var g=c(3),h=e(g),i=c(20),j=f(i),k=c(5),l=f(k),m=c(4),n=e(m),o=c(21),p=e(o),q=c(33),r=f(q),s=d();s.create=d,r["default"](s),s["default"]=s,b["default"]=s,a.exports=b["default"]},function(a,b){"use strict";b["default"]=function(a){Eif(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b},b.__esModule=!0},function(a,b){"use strict";b["default"]=function(a){return a&&a.__esModule?a:{"default":a}},b.__esModule=!0},function(a,b,c){"use strict";function d(a,b,c){this.helpers=a||{},this.partials=b||{},this.decorators=c||{},i.registerDefaultHelpers(this),j.registerDefaultDecorators(this)}var e=c(2)["default"];b.__esModule=!0,b.HandlebarsEnvironment=d;var f=c(4),g=c(5),h=e(g),i=c(9),j=c(17),k=c(19),l=e(k),m="4.0.12";b.VERSION=m;var n=7;b.COMPILER_REVISION=n;var o={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0"};b.REVISION_CHANGES=o;var p="[object Object]";d.prototype={constructor:d,logger:l["default"],log:l["default"].log,registerHelper:function(a,b){Iif(f.toString.call(a)===p){if(b)throw new h["default"]("Arg not supported with multiple helpers");f.extend(this.helpers,a)}else this.helpers[a]=b},unregisterHelper:function(a){delete this.helpers[a]},registerPartial:function(a,b){if(f.toString.call(a)===p)f.extend(this.partials,a);else{if("undefined"==typeof b)throw new h["default"]('Attempting to register a partial called "'+a+'" as undefined');this.partials[a]=b}},unregisterPartial:function(a){delete this.partials[a]},registerDecorator:function(a,b){Iif(f.toString.call(a)===p){if(b)throw new h["default"]("Arg not supported with multiple decorators");f.extend(this.decorators,a)}else this.decorators[a]=b},unregisterDecorator:function(a){delete this.decorators[a]}};var q=l["default"].log;b.log=q,b.createFrame=f.createFrame,b.logger=l["default"]},function(a,b){"use strict";function c(a){return k[a]}function d(a){for(var b=1;b<arguments.length;b++)for(var c in arguments[b])Object.prototype.hasOwnProperty.call(arguments[b],c)&&(a[c]=arguments[b][c]);return a}function e(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1}function f(a){if("string"!=typeof a){if(a&&a.toHTML)return a.toHTML();if(null==a)return"";if(!a)return a+"";a=""+a}return m.test(a)?a.replace(l,c):a}function g(a){return!a&&0!==a||!(!p(a)||0!==a.length)}function h(a){var b=d({},a);return b._parent=a,b}function i(a,b){return a.path=b,a}function j(a,b){return(a?a+".":"")+b}b.__esModule=!0,b.extend=d,b.indexOf=e,b.escapeExpression=f,b.isEmpty=g,b.createFrame=h,b.blockParams=i,b.appendContextPath=j;var k={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},l=/[&<>"'`=]/g,m=/[&<>"'`=]/,n=Object.prototype.toString;b.toString=n;var o=function(a){return"function"==typeof a};o(/x/)&&(b.isFunction=o=function(a){return"function"==typeof a&&"[object Function]"===n.call(a)}),b.isFunction=o;var p=Array.isArray||function(a){return!(!a||"object"!=typeof a)&&"[object Array]"===n.call(a)};b.isArray=p},function(a,b,c){"use strict";function d(a,b){var c=b&&b.loc,g=void 0,h=void 0;c&&(g=c.start.line,h=c.start.column,a+=" - "+g+":"+h);for(var i=Error.prototype.constructor.call(this,a),j=0;j<f.length;j++)this[f[j]]=i[f[j]];Error.captureStackTrace&&Error.captureStackTrace(this,d);try{c&&(this.lineNumber=g,e?Object.defineProperty(this,"column",{value:h,enumerable:!0}):this.column=h)}catch(k){}}var e=c(6)["default"];b.__esModule=!0;var f=["description","fileName","lineNumber","message","name","number","stack"];d.prototype=new Error,b["default"]=d,a.exports=b["default"]},function(a,b,c){a.exports={"default":c(7),__esModule:!0}},function(a,b,c){var d=c(8);a.exports=function(a,b,c){return d.setDesc(a,b,c)}},function(a,b){var c=Object;a.exports={create:c.create,getProto:c.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:c.getOwnPropertyDescriptor,setDesc:c.defineProperty,setDescs:c.defineProperties,getKeys:c.keys,getNames:c.getOwnPropertyNames,getSymbols:c.getOwnPropertySymbols,each:[].forEach}},function(a,b,c){"use strict";function d(a){g["default"](a),i["default"](a),k["default"](a),m["default"](a),o["default"](a),q["default"](a),s["default"](a)}var e=c(2)["default"];b.__esModule=!0,b.registerDefaultHelpers=d;var f=c(10),g=e(f),h=c(11),i=e(h),j=c(12),k=e(j),l=c(13),m=e(l),n=c(14),o=e(n),p=c(15),q=e(p),r=c(16),s=e(r)},function(a,b,c){"use strict";b.__esModule=!0;var d=c(4);b["default"]=function(a){a.registerHelper("blockHelperMissing",function(b,c){var e=c.inverse,f=c.fn;if(b===!0)return f(this);if(b===!1||null==b)return e(this);if(d.isArray(b))return b.length>0?(c.ids&&(c.ids=[c.name]),a.helpers.each(b,c)):e(this);if(c.data&&c.ids){var g=d.createFrame(c.data);g.contextPath=d.appendContextPath(c.data.contextPath,c.name),c={data:g}}return f(b,c)})},a.exports=b["default"]},function(a,b,c){"use strict";var d=c(2)["default"];b.__esModule=!0;var e=c(4),f=c(5),g=d(f);b["default"]=function(a){a.registerHelper("each",function(a,b){function c(b,c,f){j&&(j.key=b,j.index=c,j.first=0===c,j.last=!!f,k&&(j.contextPath=k+b)),i+=d(a[b],{data:j,blockParams:e.blockParams([a[b],b],[k+b,null])})}if(!b)throw new g["default"]("Must pass iterator to #each");var d=b.fn,f=b.inverse,h=0,i="",j=void 0,k=void 0;if(b.data&&b.ids&&(k=e.appendContextPath(b.data.contextPath,b.ids[0])+"."),e.isFunction(a)&&(a=a.call(this)),b.data&&(j=e.createFrame(b.data)),a&&"object"==typeof a)if(e.isArray(a))for(var l=a.length;h<l;h++)h in a&&c(h,h,h===a.length-1);else{var m=void 0;for(var n in a)a.hasOwnProperty(n)&&(void 0!==m&&c(m,h-1),m=n,h++);void 0!==m&&c(m,h-1,!0)}return 0===h&&(i=f(this)),i})},a.exports=b["default"]},function(a,b,c){"use strict";var d=c(2)["default"];b.__esModule=!0;var e=c(5),f=d(e);b["default"]=function(a){a.registerHelper("helperMissing",function(){if(1!==arguments.length)throw new f["default"]('Missing helper: "'+arguments[arguments.length-1].name+'"')})},a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=c(4);b["default"]=function(a){a.registerHelper("if",function(a,b){return d.isFunction(a)&&(a=a.call(this)),!b.hash.includeZero&&!a||d.isEmpty(a)?b.inverse(this):b.fn(this)}),a.registerHelper("unless",function(b,c){return a.helpers["if"].call(this,b,{fn:c.inverse,inverse:c.fn,hash:c.hash})})},a.exports=b["default"]},function(a,b){"use strict";b.__esModule=!0,b["default"]=function(a){a.registerHelper("log",function(){for(var b=[void 0],c=arguments[arguments.length-1],d=0;d<arguments.length-1;d++)b.push(arguments[d]);var e=1;null!=c.hash.level?e=c.hash.level:c.data&&null!=c.data.level&&(e=c.data.level),b[0]=e,a.log.apply(a,b)})},a.exports=b["default"]},function(a,b){"use strict";b.__esModule=!0,b["default"]=function(a){a.registerHelper("lookup",function(a,b){return a&&a[b]})},a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=c(4);b["default"]=function(a){a.registerHelper("with",function(a,b){d.isFunction(a)&&(a=a.call(this));var c=b.fn;if(d.isEmpty(a))return b.inverse(this);var e=b.data;return b.data&&b.ids&&(e=d.createFrame(b.data),e.contextPath=d.appendContextPath(b.data.contextPath,b.ids[0])),c(a,{data:e,blockParams:d.blockParams([a],[e&&e.contextPath])})})},a.exports=b["default"]},function(a,b,c){"use strict";function d(a){g["default"](a)}var e=c(2)["default"];b.__esModule=!0,b.registerDefaultDecorators=d;var f=c(18),g=e(f)},function(a,b,c){"use strict";b.__esModule=!0;var d=c(4);b["default"]=function(a){a.registerDecorator("inline",function(a,b,c,e){var f=a;return b.partials||(b.partials={},f=function(e,f){var g=c.partials;c.partials=d.extend({},g,b.partials);var h=a(e,f);return c.partials=g,h}),b.partials[e.args[0]]=e.fn,f})},a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=c(4),e={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(a){if("string"==typeof a){var b=d.indexOf(e.methodMap,a.toLowerCase());a=b>=0?b:parseInt(a,10)}return a},log:function(a){if(a=e.lookupLevel(a),"undefined"!=typeof console&&e.lookupLevel(e.level)<=a){var b=e.methodMap[a];console[b]||(b="log");for(var c=arguments.length,d=Array(c>1?c-1:0),f=1;f<c;f++)d[f-1]=arguments[f];console[b].apply(console,d)}}};b["default"]=e,a.exports=b["default"]},function(a,b){"use strict";function c(a){this.string=a}b.__esModule=!0,c.prototype.toString=c.prototype.toHTML=function(){return""+this.string},b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";function d(a){var b=a&&a[0]||1,c=s.COMPILER_REVISION;Iif(b!==c){if(b<c){var d=s.REVISION_CHANGES[c],e=s.REVISION_CHANGES[b];throw new r["default"]("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+d+") or downgrade your runtime to an older version ("+e+").")}throw new r["default"]("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+a[1]+").")}}function e(a,b){function c(c,d,e){e.hash&&(d=p.extend({},d,e.hash),e.ids&&(e.ids[0]=!0)),c=b.VM.resolvePartial.call(this,c,d,e);var f=b.VM.invokePartial.call(this,c,d,e);if(null==f&&b.compile&&(e.partials[e.name]=b.compile(c,a.compilerOptions,b),f=e.partials[e.name](d,e)),null!=f){if(e.indent){for(var g=f.split("\n"),h=0,i=g.length;h<i&&(g[h]||h+1!==i);h++)g[h]=e.indent+g[h];f=g.join("\n")}return f}throw new r["default"]("The partial "+e.name+" could not be compiled when running in runtime-only mode")}function d(b){function c(b){return""+a.main(e,b,e.helpers,e.partials,g,i,h)}var f=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],g=f.data;d._setup(f),!f.partial&&a.useData&&(g=j(b,g));var h=void 0,i=a.useBlockParams?[]:void 0;return a.useDepths&&(h=f.depths?b!=f.depths[0]?[b].concat(f.depths):f.depths:[b]),(c=k(a.main,c,e,f.depths||[],g,i))(b,f)}Iif(!b)throw new r["default"]("No environment passed to template");Iif(!a||!a.main)throw new r["default"]("Unknown template object: "+typeof a);a.main.decorator=a.main_d,b.VM.checkRevision(a.compiler);var e={strict:function(a,b){if(!(b in a))throw new r["default"]('"'+b+'" not defined in '+a);return a[b]},lookup:function(a,b){for(var c=a.length,d=0;d<c;d++)if(a[d]&&null!=a[d][b])return a[d][b]},lambda:function(a,b){return"function"==typeof a?a.call(b):a},escapeExpression:p.escapeExpression,invokePartial:c,fn:function(b){var c=a[b];return c.decorator=a[b+"_d"],c},programs:[],program:function(a,b,c,d,e){var g=this.programs[a],h=this.fn(a);return b||e||d||c?g=f(this,a,h,b,c,d,e):g||(g=this.programs[a]=f(this,a,h)),g},data:function(a,b){for(;a&&b--;)a=a._parent;return a},merge:function(a,b){var c=a||b;return a&&b&&a!==b&&(c=p.extend({},b,a)),c},nullContext:l({}),noop:b.VM.noop,compilerInfo:a.compiler};return d.isTop=!0,d._setup=function(c){c.partial?(e.helpers=c.helpers,e.partials=c.partials,e.decorators=c.decorators):(e.helpers=e.merge(c.helpers,b.helpers),a.usePartial&&(e.partials=e.merge(c.partials,b.partials)),(a.usePartial||a.useDecorators)&&(e.decorators=e.merge(c.decorators,b.decorators)))},d._child=function(b,c,d,g){if(a.useBlockParams&&!d)throw new r["default"]("must pass block params");if(a.useDepths&&!g)throw new r["default"]("must pass parent depths");return f(e,b,a[b],c,0,d,g)},d}function f(a,b,c,d,e,f,g){function h(b){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],h=g;return!g||b==g[0]||b===a.nullContext&&null===g[0]||(h=[b].concat(g)),c(a,b,a.helpers,a.partials,e.data||d,f&&[e.blockParams].concat(f),h)}return h=k(c,h,a,g,d,f),h.program=b,h.depth=g?g.length:0,h.blockParams=e||0,h}function g(a,b,c){return a?a.call||c.name||(c.name=a,a=c.partials[a]):a="@partial-block"===c.name?c.data["partial-block"]:c.partials[c.name],a}function h(a,b,c){var d=c.data&&c.data["partial-block"];c.partial=!0,c.ids&&(c.data.contextPath=c.ids[0]||c.data.contextPath);var e=void 0;if(c.fn&&c.fn!==i&&!function(){c.data=s.createFrame(c.data);var a=c.fn;e=c.data["partial-block"]=function(b){var c=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return c.data=s.createFrame(c.data),c.data["partial-block"]=d,a(b,c)},a.partials&&(c.partials=p.extend({},c.partials,a.partials))}(),void 0===a&&e&&(a=e),void 0===a)throw new r["default"]("The partial "+c.name+" could not be found");if(a instanceof Function)return a(b,c)}function i(){return""}function j(a,b){return b&&"root"in b||(b=b?s.createFrame(b):{},b.root=a),b}function k(a,b,c,d,e,f){if(a.decorator){var g={};b=a.decorator(b,g,c,d&&d[0],e,f,d),p.extend(b,g)}return b}var l=c(22)["default"],m=c(1)["default"],n=c(2)["default"];b.__esModule=!0,b.checkRevision=d,b.template=e,b.wrapProgram=f,b.resolvePartial=g,b.invokePartial=h,b.noop=i;var o=c(4),p=m(o),q=c(5),r=n(q),s=c(3)},function(a,b,c){a.exports={"default":c(23),__esModule:!0}},function(a,b,c){c(24),a.exports=c(29).Object.seal},function(a,b,c){var d=c(25);c(26)("seal",function(a){return function(b){return a&&d(b)?a(b):b}})},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b,c){var d=c(27),e=c(29),f=c(32);a.exports=function(a,b){var c=(e.Object||{})[a]||Object[a],g={};g[a]=b(c),d(d.S+d.F*f(function(){c(1)}),"Object",g)}},function(a,b,c){var d=c(28),e=c(29),f=c(30),g="prototype",h=function(a,b,c){var i,j,k,l=a&h.F,m=a&h.G,n=a&h.S,o=a&h.P,p=a&h.B,q=a&h.W,r=m?e:e[b]||(e[b]={}),s=m?d:n?d[b]:(d[b]||{})[g];m&&(c=b);for(i in c)j=!l&&s&&i in s,j&&i in r||(k=j?s[i]:c[i],r[i]=m&&"function"!=typeof s[i]?c[i]:p&&j?f(k,d):q&&s[i]==k?function(a){var b=function(b){return this instanceof a?new a(b):a(b)};return b[g]=a[g],b}(k):o&&"function"==typeof k?f(Function.call,k):k,o&&((r[g]||(r[g]={}))[i]=k))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,a.exports=h},function(a,b){var c=a.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b){var c=a.exports={version:"1.2.6"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(31);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){try{return!!a()}catch(b){return!0}}},function(a,b){(function(c){"use strict";b.__esModule=!0,b["default"]=function(a){var b="undefined"!=typeof c?c:window,d=b.Handlebars;a.noConflict=function(){return b.Handlebars===a&&(b.Handlebars=d),a}},a.exports=b["default"]}).call(b,function(){return this}())}])});
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/assests/js/lib/index.html b/reports/jasmine/lcov/lcov-report/assests/js/lib/index.html new file mode 100644 index 0000000..8765b01 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/assests/js/lib/index.html @@ -0,0 +1,106 @@ + + + + Code coverage report for assests/js/lib/ + + + + + + + +
    +
    +

    + all files assests/js/lib/ +

    +
    +
    + 32.09% + Statements + 181/564 +
    +
    + 11.99% + Branches + 65/542 +
    +
    + 35.2% + Functions + 69/196 +
    +
    + 15% + Lines + 3/20 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileStatementsBranchesFunctionsLines
    handlebars.runtime.min.js
    48.2%174/36117.11%65/38053.49%69/129100%1/1
    jquery-sortable-min.js
    3.45%7/2030%0/1620%0/6710.53%2/19
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/assests/js/lib/jquery-sortable-min.js.html b/reports/jasmine/lcov/lcov-report/assests/js/lib/jquery-sortable-min.js.html new file mode 100644 index 0000000..9a35e4b --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/assests/js/lib/jquery-sortable-min.js.html @@ -0,0 +1,122 @@ + + + + Code coverage report for assests/js/lib/jquery-sortable-min.js + + + + + + + +
    +
    +

    + all files / assests/js/lib/ jquery-sortable-min.js +

    +
    +
    + 3.45% + Statements + 7/203 +
    +
    + 0% + Branches + 0/162 +
    +
    + 0% + Functions + 0/67 +
    +
    + 10.53% + Lines + 2/19 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    !function(d,B,m,f){function v(a,b){var c=Math.max(0,a[0]-b[0],b[0]-a[1]),e=Math.max(0,a[2]-b[1],b[1]-a[3]);return c+e}function w(a,b,c,e){var k=a.length;e=e?"offset":"position";for(c=c||0;k--;){var g=a[k].el?a[k].el:d(a[k]),l=g[e]();l.left+=parseInt(g.css("margin-left"),10);l.top+=parseInt(g.css("margin-top"),10);b[k]=[l.left-c,l.left+g.outerWidth()+c,l.top-c,l.top+g.outerHeight()+c]}}function p(a,b){var c=b.offset();return{left:a.left-c.left,top:a.top-c.top}}function x(a,b,c){b=[b.left,b.top];c=
    +c&&[c.left,c.top];for(var e,k=a.length,d=[];k--;)e=a[k],d[k]=[k,v(e,b),c&&v(e,c)];return d=d.sort(function(a,b){return b[1]-a[1]||b[2]-a[2]||b[0]-a[0]})}function q(a){this.options=d.extend({},n,a);this.containers=[];this.options.rootGroup||(this.scrollProxy=d.proxy(this.scroll,this),this.dragProxy=d.proxy(this.drag,this),this.dropProxy=d.proxy(this.drop,this),this.placeholder=d(this.options.placeholder),a.isValidTarget||(this.options.isValidTarget=f))}function t(a,b){this.el=a;this.options=d.extend({},
    +z,b);this.group=q.get(this.options);this.rootGroup=this.options.rootGroup||this.group;this.handle=this.rootGroup.options.handle||this.rootGroup.options.itemSelector;var c=this.rootGroup.options.itemPath;this.target=c?this.el.find(c):this.el;this.target.on(r.start,this.handle,d.proxy(this.dragInit,this));this.options.drop&&this.group.containers.push(this)}var r,z={drag:!0,drop:!0,exclude:"",nested:!0,vertical:!0},n={afterMove:function(a,b,c){},containerPath:"",containerSelector:"ol, ul",distance:0,
    +delay:0,handle:"",itemPath:"",itemSelector:"li",bodyClass:"dragging",draggedClass:"dragged",isValidTarget:function(a,b){return!0},onCancel:function(a,b,c,e){},onDrag:function(a,b,c,e){a.css(b)},onDragStart:function(a,b,c,e){a.css({height:a.outerHeight(),width:a.outerWidth()});a.addClass(b.group.options.draggedClass);d("body").addClass(b.group.options.bodyClass)},onDrop:function(a,b,c,e){a.removeClass(b.group.options.draggedClass).removeAttr("style");d("body").removeClass(b.group.options.bodyClass)},
    +onMousedown:function(a,b,c){if(!c.target.nodeName.match(/^(input|select|textarea)$/i))return c.preventDefault(),!0},placeholderClass:"placeholder",placeholder:'<li class="placeholder"></li>',pullPlaceholder:!0,serialize:function(a,b,c){a=d.extend({},a.data());if(c)return[b];b[0]&&(a.children=b);delete a.subContainers;delete a.sortable;return a},tolerance:0},s={},y=0,A={left:0,top:0,bottom:0,right:0};r={start:"touchstart.sortable mousedown.sortable",drop:"touchend.sortable touchcancel.sortable mouseup.sortable",
    +drag:"touchmove.sortable mousemove.sortable",scroll:"scroll.sortable"};q.get=function(a){s[a.group]||(a.group===f&&(a.group=y++),s[a.group]=new q(a));return s[a.group]};q.prototype={dragInit:function(a,b){this.$document=d(b.el[0].ownerDocument);var c=d(a.target).closest(this.options.itemSelector);c.length&&(this.item=c,this.itemContainer=b,!this.item.is(this.options.exclude)&&this.options.onMousedown(this.item,n.onMousedown,a)&&(this.setPointer(a),this.toggleListeners("on"),this.setupDelayTimer(),
    +this.dragInitDone=!0))},drag:function(a){if(!this.dragging){if(!this.distanceMet(a)||!this.delayMet)return;this.options.onDragStart(this.item,this.itemContainer,n.onDragStart,a);this.item.before(this.placeholder);this.dragging=!0}this.setPointer(a);this.options.onDrag(this.item,p(this.pointer,this.item.offsetParent()),n.onDrag,a);a=this.getPointer(a);var b=this.sameResultBox,c=this.options.tolerance;(!b||b.top-c>a.top||b.bottom+c<a.top||b.left-c>a.left||b.right+c<a.left)&&!this.searchValidTarget()&&
    +(this.placeholder.detach(),this.lastAppendedItem=f)},drop:function(a){this.toggleListeners("off");this.dragInitDone=!1;if(this.dragging){if(this.placeholder.closest("html")[0])this.placeholder.before(this.item).detach();else this.options.onCancel(this.item,this.itemContainer,n.onCancel,a);this.options.onDrop(this.item,this.getContainer(this.item),n.onDrop,a);this.clearDimensions();this.clearOffsetParent();this.lastAppendedItem=this.sameResultBox=f;this.dragging=!1}},searchValidTarget:function(a,b){a||
    +(a=this.relativePointer||this.pointer,b=this.lastRelativePointer||this.lastPointer);for(var c=x(this.getContainerDimensions(),a,b),e=c.length;e--;){var d=c[e][0];if(!c[e][1]||this.options.pullPlaceholder)if(d=this.containers[d],!d.disabled){if(!this.$getOffsetParent()){var g=d.getItemOffsetParent();a=p(a,g);b=p(b,g)}if(d.searchValidTarget(a,b))return!0}}this.sameResultBox&&(this.sameResultBox=f)},movePlaceholder:function(a,b,c,e){var d=this.lastAppendedItem;if(e||!d||d[0]!==b[0])b[c](this.placeholder),
    +this.lastAppendedItem=b,this.sameResultBox=e,this.options.afterMove(this.placeholder,a,b)},getContainerDimensions:function(){this.containerDimensions||w(this.containers,this.containerDimensions=[],this.options.tolerance,!this.$getOffsetParent());return this.containerDimensions},getContainer:function(a){return a.closest(this.options.containerSelector).data(m)},$getOffsetParent:function(){if(this.offsetParent===f){var a=this.containers.length-1,b=this.containers[a].getItemOffsetParent();if(!this.options.rootGroup)for(;a--;)if(b[0]!=
    +this.containers[a].getItemOffsetParent()[0]){b=!1;break}this.offsetParent=b}return this.offsetParent},setPointer:function(a){a=this.getPointer(a);if(this.$getOffsetParent()){var b=p(a,this.$getOffsetParent());this.lastRelativePointer=this.relativePointer;this.relativePointer=b}this.lastPointer=this.pointer;this.pointer=a},distanceMet:function(a){a=this.getPointer(a);return Math.max(Math.abs(this.pointer.left-a.left),Math.abs(this.pointer.top-a.top))>=this.options.distance},getPointer:function(a){var b=
    +a.originalEvent||a.originalEvent.touches&&a.originalEvent.touches[0];return{left:a.pageX||b.pageX,top:a.pageY||b.pageY}},setupDelayTimer:function(){var a=this;this.delayMet=!this.options.delay;this.delayMet||(clearTimeout(this._mouseDelayTimer),this._mouseDelayTimer=setTimeout(function(){a.delayMet=!0},this.options.delay))},scroll:function(a){this.clearDimensions();this.clearOffsetParent()},toggleListeners:function(a){var b=this;d.each(["drag","drop","scroll"],function(c,e){b.$document[a](r[e],b[e+
    +"Proxy"])})},clearOffsetParent:function(){this.offsetParent=f},clearDimensions:function(){this.traverse(function(a){a._clearDimensions()})},traverse:function(a){a(this);for(var b=this.containers.length;b--;)this.containers[b].traverse(a)},_clearDimensions:function(){this.containerDimensions=f},_destroy:function(){s[this.options.group]=f}};t.prototype={dragInit:function(a){var b=this.rootGroup;!this.disabled&&!b.dragInitDone&&this.options.drag&&this.isValidDrag(a)&&b.dragInit(a,this)},isValidDrag:function(a){return 1==
    +a.which||"touchstart"==a.type&&1==a.originalEvent.touches.length},searchValidTarget:function(a,b){var c=x(this.getItemDimensions(),a,b),e=c.length,d=this.rootGroup,g=!d.options.isValidTarget||d.options.isValidTarget(d.item,this);if(!e&&g)return d.movePlaceholder(this,this.target,"append"),!0;for(;e--;)if(d=c[e][0],!c[e][1]&&this.hasChildGroup(d)){if(this.getContainerGroup(d).searchValidTarget(a,b))return!0}else if(g)return this.movePlaceholder(d,a),!0},movePlaceholder:function(a,b){var c=d(this.items[a]),
    +e=this.itemDimensions[a],k="after",g=c.outerWidth(),f=c.outerHeight(),h=c.offset(),h={left:h.left,right:h.left+g,top:h.top,bottom:h.top+f};this.options.vertical?b.top<=(e[2]+e[3])/2?(k="before",h.bottom-=f/2):h.top+=f/2:b.left<=(e[0]+e[1])/2?(k="before",h.right-=g/2):h.left+=g/2;this.hasChildGroup(a)&&(h=A);this.rootGroup.movePlaceholder(this,c,k,h)},getItemDimensions:function(){this.itemDimensions||(this.items=this.$getChildren(this.el,"item").filter(":not(."+this.group.options.placeholderClass+
    +", ."+this.group.options.draggedClass+")").get(),w(this.items,this.itemDimensions=[],this.options.tolerance));return this.itemDimensions},getItemOffsetParent:function(){var a=this.el;return"relative"===a.css("position")||"absolute"===a.css("position")||"fixed"===a.css("position")?a:a.offsetParent()},hasChildGroup:function(a){return this.options.nested&&this.getContainerGroup(a)},getContainerGroup:function(a){var b=d.data(this.items[a],"subContainers");if(b===f){var c=this.$getChildren(this.items[a],
    +"container"),b=!1;c[0]&&(b=d.extend({},this.options,{rootGroup:this.rootGroup,group:y++}),b=c[m](b).data(m).group);d.data(this.items[a],"subContainers",b)}return b},$getChildren:function(a,b){var c=this.rootGroup.options,e=c[b+"Path"],c=c[b+"Selector"];a=d(a);e&&(a=a.find(e));return a.children(c)},_serialize:function(a,b){var c=this,e=this.$getChildren(a,b?"item":"container").not(this.options.exclude).map(function(){return c._serialize(d(this),!b)}).get();return this.rootGroup.options.serialize(a,
    +e,b)},traverse:function(a){d.each(this.items||[],function(b){(b=d.data(this,"subContainers"))&&b.traverse(a)});a(this)},_clearDimensions:function(){this.itemDimensions=f},_destroy:function(){var a=this;this.target.off(r.start,this.handle);this.el.removeData(m);this.options.drop&&(this.group.containers=d.grep(this.group.containers,function(b){return b!=a}));d.each(this.items||[],function(){d.removeData(this,"subContainers")})}};var u={enable:function(){this.traverse(function(a){a.disabled=!1})},disable:function(){this.traverse(function(a){a.disabled=
    +!0})},serialize:function(){return this._serialize(this.el,!0)},refresh:function(){this.traverse(function(a){a._clearDimensions()})},destroy:function(){this.traverse(function(a){a._destroy()})}};d.extend(t.prototype,u);d.fn[m]=function(a){var b=Array.prototype.slice.call(arguments,1);return this.map(function(){var c=d(this),e=c.data(m);if(e&&u[a])return u[a].apply(e,b)||this;e||a!==f&&"object"!==typeof a||c.data(m,new t(c,a));return this})}}(jQuery,window,"sortable");
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/base.css b/reports/jasmine/lcov/lcov-report/base.css new file mode 100644 index 0000000..29737bc --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/base.css @@ -0,0 +1,213 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.medium .chart { border:1px solid #f9cd0b; } +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } +/* light gray */ +span.cline-neutral { background: #eaeaea; } + +.cbranch-no { background: yellow !important; color: #111; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/reports/jasmine/lcov/lcov-report/index.html b/reports/jasmine/lcov/lcov-report/index.html new file mode 100644 index 0000000..4a375a8 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/index.html @@ -0,0 +1,158 @@ + + + + Code coverage report for All files + + + + + + + +
    +
    +

    + / +

    +
    +
    + 8.54% + Statements + 304/3559 +
    +
    + 3% + Branches + 84/2803 +
    +
    + 11.69% + Functions + 94/804 +
    +
    + 4.18% + Lines + 126/3015 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileStatementsBranchesFunctionsLines
    assests/js/lib/
    32.09%181/56411.99%65/54235.2%69/19615%3/20
    assests/js/lib/embed/
    23.91%11/461.9%4/2100%0/2023.91%11/46
    assests/js/lib/file-upload/
    2.14%18/8401.36%9/6622.94%5/1702.14%18/840
    src/js/
    5.33%56/10500.78%6/7673.87%7/1815.33%56/1050
    src/js/defaults/
    100%4/4100%0/0100%2/2100%4/4
    src/js/extensions/
    3.22%34/10550%0/6224.68%11/2353.22%34/1055
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/core.js.html b/reports/jasmine/lcov/lcov-report/js/core.js.html new file mode 100644 index 0000000..9f193bb --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/core.js.html @@ -0,0 +1,3926 @@ + + + + Code coverage report for js/core.js + + + + + + + +
    +
    +

    + all files / js/ core.js +

    +
    +
    + 5.59% + Statements + 29/519 +
    +
    + 0% + Branches + 0/378 +
    +
    + 1.27% + Functions + 1/79 +
    +
    + 5.59% + Lines + 29/519 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +  +  +  +  + +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  + +  +  +  + +  +  +  + +  +  +  + +  +  +  + +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    // Event handlers that shouldn't be exposed externally
    + 
    +    function handleDisableExtraSpaces(event) {
    +        var node = MediumEditor.selection.getSelectionStart(this.options.ownerDocument),
    +            textContent = node.textContent,
    +            caretPositions = MediumEditor.selection.getCaretOffsets(node);
    + 
    +        if ((textContent[caretPositions.left - 1] === undefined) || (textContent[caretPositions.left - 1].trim() === '') || (textContent[caretPositions.left] !== undefined && textContent[caretPositions.left].trim() === '')) {
    +            event.preventDefault();
    +        }
    +    }
    + 
    +    function handleDisabledEnterKeydown(event, element) {
    +        if (this.options.disableReturn || element.getAttribute('data-disable-return')) {
    +            event.preventDefault();
    +        } else if (this.options.disableDoubleReturn || element.getAttribute('data-disable-double-return')) {
    +            var node = MediumEditor.selection.getSelectionStart(this.options.ownerDocument);
    + 
    +            // if current text selection is empty OR previous sibling text is empty OR it is not a list
    +            if ((node && node.textContent.trim() === '' && node.nodeName.toLowerCase() !== 'li') ||
    +                (node.previousElementSibling && node.previousElementSibling.nodeName.toLowerCase() !== 'br' &&
    +                 node.previousElementSibling.textContent.trim() === '')) {
    +                event.preventDefault();
    +            }
    +        }
    +    }
    + 
    +    function handleTabKeydown(event) {
    +        // Override tab only for pre nodes
    +        var node = MediumEditor.selection.getSelectionStart(this.options.ownerDocument),
    +            tag = node && node.nodeName.toLowerCase();
    + 
    +        if (tag === 'pre') {
    +            event.preventDefault();
    +            MediumEditor.util.insertHTMLCommand(this.options.ownerDocument, '    ');
    +        }
    + 
    +        // Tab to indent list structures!
    +        if (MediumEditor.util.isListItem(node)) {
    +            event.preventDefault();
    + 
    +            // If Shift is down, outdent, otherwise indent
    +            if (event.shiftKey) {
    +                this.options.ownerDocument.execCommand('outdent', false, null);
    +            } else {
    +                this.options.ownerDocument.execCommand('indent', false, null);
    +            }
    +        }
    +    }
    + 
    +    function handleBlockDeleteKeydowns(event) {
    +        var p, node = MediumEditor.selection.getSelectionStart(this.options.ownerDocument),
    +            tagName = node.nodeName.toLowerCase(),
    +            isEmpty = /^(\s+|<br\/?>)?$/i,
    +            isHeader = /h\d/i;
    + 
    +        if (MediumEditor.util.isKey(event, [MediumEditor.util.keyCode.BACKSPACE, MediumEditor.util.keyCode.ENTER]) &&
    +                // has a preceeding sibling
    +                node.previousElementSibling &&
    +                // in a header
    +                isHeader.test(tagName) &&
    +                // at the very end of the block
    +                MediumEditor.selection.getCaretOffsets(node).left === 0) {
    +            if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.BACKSPACE) && isEmpty.test(node.previousElementSibling.innerHTML)) {
    +                // backspacing the begining of a header into an empty previous element will
    +                // change the tagName of the current node to prevent one
    +                // instead delete previous node and cancel the event.
    +                node.previousElementSibling.parentNode.removeChild(node.previousElementSibling);
    +                event.preventDefault();
    +            } else if (!this.options.disableDoubleReturn && MediumEditor.util.isKey(event, MediumEditor.util.keyCode.ENTER)) {
    +                // hitting return in the begining of a header will create empty header elements before the current one
    +                // instead, make "<p><br></p>" element, which are what happens if you hit return in an empty paragraph
    +                p = this.options.ownerDocument.createElement('p');
    +                p.innerHTML = '<br>';
    +                node.previousElementSibling.parentNode.insertBefore(p, node);
    +                event.preventDefault();
    +            }
    +        } else if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.DELETE) &&
    +                    // between two sibling elements
    +                    node.nextElementSibling &&
    +                    node.previousElementSibling &&
    +                    // not in a header
    +                    !isHeader.test(tagName) &&
    +                    // in an empty tag
    +                    isEmpty.test(node.innerHTML) &&
    +                    // when the next tag *is* a header
    +                    isHeader.test(node.nextElementSibling.nodeName.toLowerCase())) {
    +            // hitting delete in an empty element preceding a header, ex:
    +            //  <p>[CURSOR]</p><h1>Header</h1>
    +            // Will cause the h1 to become a paragraph.
    +            // Instead, delete the paragraph node and move the cursor to the begining of the h1
    + 
    +            // remove node and move cursor to start of header
    +            MediumEditor.selection.moveCursor(this.options.ownerDocument, node.nextElementSibling);
    + 
    +            node.previousElementSibling.parentNode.removeChild(node);
    + 
    +            event.preventDefault();
    +        } else if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.BACKSPACE) &&
    +                tagName === 'li' &&
    +                // hitting backspace inside an empty li
    +                isEmpty.test(node.innerHTML) &&
    +                // is first element (no preceeding siblings)
    +                !node.previousElementSibling &&
    +                // parent also does not have a sibling
    +                !node.parentElement.previousElementSibling &&
    +                // is not the only li in a list
    +                node.nextElementSibling &&
    +                node.nextElementSibling.nodeName.toLowerCase() === 'li') {
    +            // backspacing in an empty first list element in the first list (with more elements) ex:
    +            //  <ul><li>[CURSOR]</li><li>List Item 2</li></ul>
    +            // will remove the first <li> but add some extra element before (varies based on browser)
    +            // Instead, this will:
    +            // 1) remove the list element
    +            // 2) create a paragraph before the list
    +            // 3) move the cursor into the paragraph
    + 
    +            // create a paragraph before the list
    +            p = this.options.ownerDocument.createElement('p');
    +            p.innerHTML = '<br>';
    +            node.parentElement.parentElement.insertBefore(p, node.parentElement);
    + 
    +            // move the cursor into the new paragraph
    +            MediumEditor.selection.moveCursor(this.options.ownerDocument, p);
    + 
    +            // remove the list element
    +            node.parentElement.removeChild(node);
    + 
    +            event.preventDefault();
    +        } else if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.BACKSPACE) &&
    +                (MediumEditor.util.getClosestTag(node, 'blockquote') !== false) &&
    +                MediumEditor.selection.getCaretOffsets(node).left === 0) {
    + 
    +            // when cursor is at the begining of the element and the element is <blockquote>
    +            // then pressing backspace key should change the <blockquote> to a <p> tag
    +            event.preventDefault();
    +            MediumEditor.util.execFormatBlock(this.options.ownerDocument, 'p');
    +        } else if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.ENTER) &&
    +                (MediumEditor.util.getClosestTag(node, 'blockquote') !== false) &&
    +                MediumEditor.selection.getCaretOffsets(node).right === 0) {
    + 
    +            // when cursor is at the end of <blockquote>,
    +            // then pressing enter key should create <p> tag, not <blockquote>
    +            p = this.options.ownerDocument.createElement('p');
    +            p.innerHTML = '<br>';
    +            node.parentElement.insertBefore(p, node.nextSibling);
    + 
    +            // move the cursor into the new paragraph
    +            MediumEditor.selection.moveCursor(this.options.ownerDocument, p);
    + 
    +            event.preventDefault();
    +        } else if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.BACKSPACE) &&
    +                MediumEditor.util.isMediumEditorElement(node.parentElement) &&
    +                !node.previousElementSibling &&
    +                node.nextElementSibling &&
    +                isEmpty.test(node.innerHTML)) {
    + 
    +            // when cursor is in the first element, it's empty and user presses backspace,
    +            // do delete action instead to get rid of the first element and move caret to 2nd
    +            event.preventDefault();
    +            MediumEditor.selection.moveCursor(this.options.ownerDocument, node.nextSibling);
    +            node.parentElement.removeChild(node);
    +        }
    +    }
    + 
    +    function handleKeyup(event) {
    +        var node = MediumEditor.selection.getSelectionStart(this.options.ownerDocument),
    +            tagName;
    + 
    +        if (!node) {
    +            return;
    +        }
    + 
    +        // https://github.com/yabwe/medium-editor/issues/994
    +        // Firefox thrown an error when calling `formatBlock` on an empty editable blockContainer that's not a <div>
    +        if (MediumEditor.util.isMediumEditorElement(node) && node.children.length === 0 && !MediumEditor.util.isBlockContainer(node)) {
    +            this.options.ownerDocument.execCommand('formatBlock', false, 'p');
    +        }
    + 
    +        // https://github.com/yabwe/medium-editor/issues/834
    +        // https://github.com/yabwe/medium-editor/pull/382
    +        // Don't call format block if this is a block element (ie h1, figCaption, etc.)
    +        if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.ENTER) &&
    +            !MediumEditor.util.isListItem(node) &&
    +            !MediumEditor.util.isBlockContainer(node)) {
    + 
    +            tagName = node.nodeName.toLowerCase();
    +            // For anchor tags, unlink
    +            if (tagName === 'a') {
    +                this.options.ownerDocument.execCommand('unlink', false, null);
    +            } else if (!event.shiftKey && !event.ctrlKey) {
    +                this.options.ownerDocument.execCommand('formatBlock', false, 'p');
    +            }
    +        }
    +    }
    + 
    +    function handleEditableInput(event, editable) {
    +        var textarea = editable.parentNode.querySelector('textarea[medium-editor-textarea-id="' + editable.getAttribute('medium-editor-textarea-id') + '"]');
    +        if (textarea) {
    +            textarea.value = editable.innerHTML.trim();
    +        }
    +    }
    + 
    +    // Internal helper methods which shouldn't be exposed externally
    + 
    +    function addToEditors(win) {
    +        if (!win._mediumEditors) {
    +            // To avoid breaking users who are assuming that the unique id on
    +            // medium-editor elements will start at 1, inserting a 'null' in the
    +            // array so the unique-id can always map to the index of the editor instance
    +            win._mediumEditors = [null];
    +        }
    + 
    +        // If this already has a unique id, re-use it
    +        if (!this.id) {
    +            this.id = win._mediumEditors.length;
    +        }
    + 
    +        win._mediumEditors[this.id] = this;
    +    }
    + 
    +    function removeFromEditors(win) {
    +        if (!win._mediumEditors || !win._mediumEditors[this.id]) {
    +            return;
    +        }
    + 
    +        /* Setting the instance to null in the array instead of deleting it allows:
    +         * 1) Each instance to preserve its own unique-id, even after being destroyed
    +         *    and initialized again
    +         * 2) The unique-id to always correspond to an index in the array of medium-editor
    +         *    instances. Thus, we will be able to look at a contenteditable, and determine
    +         *    which instance it belongs to, by indexing into the global array.
    +         */
    +        win._mediumEditors[this.id] = null;
    +    }
    + 
    +    function createElementsArray(selector, doc, filterEditorElements) {
    +        var elements = [];
    + 
    +        if (!selector) {
    +            selector = [];
    +        }
    +        // If string, use as query selector
    +        if (typeof selector === 'string') {
    +            selector = doc.querySelectorAll(selector);
    +        }
    +        // If element, put into array
    +        if (MediumEditor.util.isElement(selector)) {
    +            selector = [selector];
    +        }
    + 
    +        if (filterEditorElements) {
    +            // Remove elements that have already been initialized by the editor
    +            // selecotr might not be an array (ie NodeList) so use for loop
    +            for (var i = 0; i < selector.length; i++) {
    +                var el = selector[i];
    +                if (MediumEditor.util.isElement(el) &&
    +                    !el.getAttribute('data-medium-editor-element') &&
    +                    !el.getAttribute('medium-editor-textarea-id')) {
    +                    elements.push(el);
    +                }
    +            }
    +        } else {
    +            // Convert NodeList (or other array like object) into an array
    +            elements = Array.prototype.slice.apply(selector);
    +        }
    + 
    +        return elements;
    +    }
    + 
    +    function cleanupTextareaElement(element) {
    +        var textarea = element.parentNode.querySelector('textarea[medium-editor-textarea-id="' + element.getAttribute('medium-editor-textarea-id') + '"]');
    +        if (textarea) {
    +            // Un-hide the textarea
    +            textarea.classList.remove('medium-editor-hidden');
    +            textarea.removeAttribute('medium-editor-textarea-id');
    +        }
    +        if (element.parentNode) {
    +            element.parentNode.removeChild(element);
    +        }
    +    }
    + 
    +    function setExtensionDefaults(extension, defaults) {
    +        Object.keys(defaults).forEach(function (prop) {
    +            if (extension[prop] === undefined) {
    +                extension[prop] = defaults[prop];
    +            }
    +        });
    +        return extension;
    +    }
    + 
    +    function initExtension(extension, name, instance) {
    +        var extensionDefaults = {
    +            'window': instance.options.contentWindow,
    +            'document': instance.options.ownerDocument,
    +            'base': instance
    +        };
    + 
    +        // Add default options into the extension
    +        extension = setExtensionDefaults(extension, extensionDefaults);
    + 
    +        // Call init on the extension
    +        if (typeof extension.init === 'function') {
    +            extension.init();
    +        }
    + 
    +        // Set extension name (if not already set)
    +        if (!extension.name) {
    +            extension.name = name;
    +        }
    +        return extension;
    +    }
    + 
    +    function isToolbarEnabled() {
    +        // If any of the elements don't have the toolbar disabled
    +        // We need a toolbar
    +        if (this.elements.every(function (element) {
    +                return !!element.getAttribute('data-disable-toolbar');
    +            })) {
    +            return false;
    +        }
    + 
    +        return this.options.toolbar !== false;
    +    }
    + 
    +    function isAnchorPreviewEnabled() {
    +        // If toolbar is disabled, don't add
    +        if (!isToolbarEnabled.call(this)) {
    +            return false;
    +        }
    + 
    +        return this.options.anchorPreview !== false;
    +    }
    + 
    +    function isPlaceholderEnabled() {
    +        return this.options.placeholder !== false;
    +    }
    + 
    +    function isAutoLinkEnabled() {
    +        return this.options.autoLink !== false;
    +    }
    + 
    +    function isImageDraggingEnabled() {
    +        return this.options.imageDragging !== false;
    +    }
    + 
    +    function isKeyboardCommandsEnabled() {
    +        return this.options.keyboardCommands !== false;
    +    }
    + 
    +    function shouldUseFileDraggingExtension() {
    +        // Since the file-dragging extension replaces the image-dragging extension,
    +        // we need to check if the user passed an overrided image-dragging extension.
    +        // If they have, to avoid breaking users, we won't use file-dragging extension.
    +        return !this.options.extensions['imageDragging'];
    +    }
    + 
    +    function createContentEditable(textarea) {
    +        var div = this.options.ownerDocument.createElement('div'),
    +            now = Date.now(),
    +            uniqueId = 'medium-editor-' + now,
    +            atts = textarea.attributes;
    + 
    +        // Some browsers can move pretty fast, since we're using a timestamp
    +        // to make a unique-id, ensure that the id is actually unique on the page
    +        while (this.options.ownerDocument.getElementById(uniqueId)) {
    +            now++;
    +            uniqueId = 'medium-editor-' + now;
    +        }
    + 
    +        div.className = textarea.className;
    +        div.id = uniqueId;
    +        div.innerHTML = textarea.value;
    + 
    +        textarea.setAttribute('medium-editor-textarea-id', uniqueId);
    + 
    +        // re-create all attributes from the textearea to the new created div
    +        for (var i = 0, n = atts.length; i < n; i++) {
    +            // do not re-create existing attributes
    +            if (!div.hasAttribute(atts[i].nodeName)) {
    +                div.setAttribute(atts[i].nodeName, atts[i].value);
    +            }
    +        }
    + 
    +        // If textarea has a form, listen for reset on the form to clear
    +        // the content of the created div
    +        if (textarea.form) {
    +            this.on(textarea.form, 'reset', function (event) {
    +                if (!event.defaultPrevented) {
    +                    this.resetContent(this.options.ownerDocument.getElementById(uniqueId));
    +                }
    +            }.bind(this));
    +        }
    + 
    +        textarea.classList.add('medium-editor-hidden');
    +        textarea.parentNode.insertBefore(
    +            div,
    +            textarea
    +        );
    + 
    +        return div;
    +    }
    + 
    +    function initElement(element, editorId) {
    +        if (!element.getAttribute('data-medium-editor-element')) {
    +            if (element.nodeName.toLowerCase() === 'textarea') {
    +                element = createContentEditable.call(this, element);
    + 
    +                // Make sure we only attach to editableInput once for <textarea> elements
    +                if (!this.instanceHandleEditableInput) {
    +                    this.instanceHandleEditableInput = handleEditableInput.bind(this);
    +                    this.subscribe('editableInput', this.instanceHandleEditableInput);
    +                }
    +            }
    + 
    +            if (!this.options.disableEditing && !element.getAttribute('data-disable-editing')) {
    +                element.setAttribute('contentEditable', true);
    +                element.setAttribute('spellcheck', this.options.spellcheck);
    +            }
    + 
    +            // Make sure we only attach to editableKeydownEnter once for disable-return options
    +            if (!this.instanceHandleEditableKeydownEnter) {
    +                if (element.getAttribute('data-disable-return') || element.getAttribute('data-disable-double-return')) {
    +                    this.instanceHandleEditableKeydownEnter = handleDisabledEnterKeydown.bind(this);
    +                    this.subscribe('editableKeydownEnter', this.instanceHandleEditableKeydownEnter);
    +                }
    +            }
    + 
    +            // if we're not disabling return, add a handler to help handle cleanup
    +            // for certain cases when enter is pressed
    +            if (!this.options.disableReturn && !element.getAttribute('data-disable-return')) {
    +                this.on(element, 'keyup', handleKeyup.bind(this));
    +            }
    + 
    +            var elementId = MediumEditor.util.guid();
    + 
    +            element.setAttribute('data-medium-editor-element', true);
    +            element.classList.add('medium-editor-element');
    +            element.setAttribute('role', 'textbox');
    +            element.setAttribute('aria-multiline', true);
    +            element.setAttribute('data-medium-editor-editor-index', editorId);
    +            // TODO: Merge data-medium-editor-element and medium-editor-index attributes for 6.0.0
    +            // medium-editor-index is not named correctly anymore and can be re-purposed to signify
    +            // whether the element has been initialized or not
    +            element.setAttribute('medium-editor-index', elementId);
    +            initialContent[elementId] = element.innerHTML;
    + 
    +            this.events.attachAllEventsToElement(element);
    +        }
    + 
    +        return element;
    +    }
    + 
    +    function attachHandlers() {
    +        // attach to tabs
    +        this.subscribe('editableKeydownTab', handleTabKeydown.bind(this));
    + 
    +        // Bind keys which can create or destroy a block element: backspace, delete, return
    +        this.subscribe('editableKeydownDelete', handleBlockDeleteKeydowns.bind(this));
    +        this.subscribe('editableKeydownEnter', handleBlockDeleteKeydowns.bind(this));
    + 
    +        // Bind double space event
    +        if (this.options.disableExtraSpaces) {
    +            this.subscribe('editableKeydownSpace', handleDisableExtraSpaces.bind(this));
    +        }
    + 
    +        // Make sure we only attach to editableKeydownEnter once for disable-return options
    +        if (!this.instanceHandleEditableKeydownEnter) {
    +            // disabling return or double return
    +            if (this.options.disableReturn || this.options.disableDoubleReturn) {
    +                this.instanceHandleEditableKeydownEnter = handleDisabledEnterKeydown.bind(this);
    +                this.subscribe('editableKeydownEnter', this.instanceHandleEditableKeydownEnter);
    +            }
    +        }
    +    }
    + 
    +    function initExtensions() {
    + 
    +        this.extensions = [];
    + 
    +        // Passed in extensions
    +        Object.keys(this.options.extensions).forEach(function (name) {
    +            // Always save the toolbar extension for last
    +            if (name !== 'toolbar' && this.options.extensions[name]) {
    +                this.extensions.push(initExtension(this.options.extensions[name], name, this));
    +            }
    +        }, this);
    + 
    +        // 4 Cases for imageDragging + fileDragging extensons:
    +        //
    +        // 1. ImageDragging ON + No Custom Image Dragging Extension:
    +        //    * Use fileDragging extension (default options)
    +        // 2. ImageDragging OFF + No Custom Image Dragging Extension:
    +        //    * Use fileDragging extension w/ images turned off
    +        // 3. ImageDragging ON + Custom Image Dragging Extension:
    +        //    * Don't use fileDragging (could interfere with custom image dragging extension)
    +        // 4. ImageDragging OFF + Custom Image Dragging:
    +        //    * Don't use fileDragging (could interfere with custom image dragging extension)
    +        if (shouldUseFileDraggingExtension.call(this)) {
    +            var opts = this.options.fileDragging;
    +            if (!opts) {
    +                opts = {};
    + 
    +                // Image is in the 'allowedTypes' list by default.
    +                // If imageDragging is off override the 'allowedTypes' list with an empty one
    +                if (!isImageDraggingEnabled.call(this)) {
    +                    opts.allowedTypes = [];
    +                }
    +            }
    +            this.addBuiltInExtension('fileDragging', opts);
    +        }
    + 
    +        // Built-in extensions
    +        var builtIns = {
    +            paste: true,
    +            'anchor-preview': isAnchorPreviewEnabled.call(this),
    +            autoLink: isAutoLinkEnabled.call(this),
    +            keyboardCommands: isKeyboardCommandsEnabled.call(this),
    +            placeholder: isPlaceholderEnabled.call(this)
    +        };
    +        Object.keys(builtIns).forEach(function (name) {
    +            if (builtIns[name]) {
    +                this.addBuiltInExtension(name);
    +            }
    +        }, this);
    + 
    +        // Users can pass in a custom toolbar extension
    +        // so check for that first and if it's not present
    +        // just create the default toolbar
    +        var toolbarExtension = this.options.extensions['toolbar'];
    +        if (!toolbarExtension && isToolbarEnabled.call(this)) {
    +            // Backwards compatability
    +            var toolbarOptions = MediumEditor.util.extend({}, this.options.toolbar, {
    +                allowMultiParagraphSelection: this.options.allowMultiParagraphSelection // deprecated
    +            });
    +            toolbarExtension = new MediumEditor.extensions.toolbar(toolbarOptions);
    +        }
    + 
    +        // If the toolbar is not disabled, so we actually have an extension
    +        // initialize it and add it to the extensions array
    +        if (toolbarExtension) {
    +            this.extensions.push(initExtension(toolbarExtension, 'toolbar', this));
    +        }
    +    }
    + 
    +    function mergeOptions(defaults, options) {
    +        var deprecatedProperties = [
    +            ['allowMultiParagraphSelection', 'toolbar.allowMultiParagraphSelection']
    +        ];
    +        // warn about using deprecated properties
    +        if (options) {
    +            deprecatedProperties.forEach(function (pair) {
    +                if (options.hasOwnProperty(pair[0]) && options[pair[0]] !== undefined) {
    +                    MediumEditor.util.deprecated(pair[0], pair[1], 'v6.0.0');
    +                }
    +            });
    +        }
    + 
    +        return MediumEditor.util.defaults({}, options, defaults);
    +    }
    + 
    +    function execActionInternal(action, opts) {
    +        /*jslint regexp: true*/
    +        var appendAction = /^append-(.+)$/gi,
    +            justifyAction = /justify([A-Za-z]*)$/g, /* Detecting if is justifyCenter|Right|Left */
    +            match,
    +            cmdValueArgument;
    +        /*jslint regexp: false*/
    + 
    +        // Actions starting with 'append-' should attempt to format a block of text ('formatBlock') using a specific
    +        // type of block element (ie append-blockquote, append-h1, append-pre, etc.)
    +        match = appendAction.exec(action);
    +        if (match) {
    +            return MediumEditor.util.execFormatBlock(this.options.ownerDocument, match[1]);
    +        }
    + 
    +        if (action === 'fontSize') {
    +            // TODO: Deprecate support for opts.size in 6.0.0
    +            if (opts.size) {
    +                MediumEditor.util.deprecated('.size option for fontSize command', '.value', '6.0.0');
    +            }
    +            cmdValueArgument = opts.value || opts.size;
    +            return this.options.ownerDocument.execCommand('fontSize', false, cmdValueArgument);
    +        }
    + 
    +        if (action === 'fontName') {
    +            // TODO: Deprecate support for opts.name in 6.0.0
    +            if (opts.name) {
    +                MediumEditor.util.deprecated('.name option for fontName command', '.value', '6.0.0');
    +            }
    +            cmdValueArgument = opts.value || opts.name;
    +            return this.options.ownerDocument.execCommand('fontName', false, cmdValueArgument);
    +        }
    + 
    +        if (action === 'createLink') {
    +            return this.createLink(opts);
    +        }
    + 
    +        if (action === 'image') {
    +            var src = this.options.contentWindow.getSelection().toString().trim();
    +            return this.options.ownerDocument.execCommand('insertImage', false, src);
    +        }
    + 
    +        if (action === 'html') {
    +            var html = this.options.contentWindow.getSelection().toString().trim();
    +            return MediumEditor.util.insertHTMLCommand(this.options.ownerDocument, html);
    +        }
    + 
    +        /* Issue: https://github.com/yabwe/medium-editor/issues/595
    +         * If the action is to justify the text */
    +        if (justifyAction.exec(action)) {
    +            var result = this.options.ownerDocument.execCommand(action, false, null),
    +                parentNode = MediumEditor.selection.getSelectedParentElement(MediumEditor.selection.getSelectionRange(this.options.ownerDocument));
    +            if (parentNode) {
    +                cleanupJustifyDivFragments.call(this, MediumEditor.util.getTopBlockContainer(parentNode));
    +            }
    + 
    +            return result;
    +        }
    + 
    +        cmdValueArgument = opts && opts.value;
    +        return this.options.ownerDocument.execCommand(action, false, cmdValueArgument);
    +    }
    + 
    +    /* If we've just justified text within a container block
    +     * Chrome may have removed <br> elements and instead wrapped lines in <div> elements
    +     * with a text-align property.  If so, we want to fix this
    +     */
    +    function cleanupJustifyDivFragments(blockContainer) {
    +        if (!blockContainer) {
    +            return;
    +        }
    + 
    +        var textAlign,
    +            childDivs = Array.prototype.slice.call(blockContainer.childNodes).filter(function (element) {
    +                var isDiv = element.nodeName.toLowerCase() === 'div';
    +                if (isDiv && !textAlign) {
    +                    textAlign = element.style.textAlign;
    +                }
    +                return isDiv;
    +            });
    + 
    +        /* If we found child <div> elements with text-align style attributes
    +         * we should fix this by:
    +         *
    +         * 1) Unwrapping each <div> which has a text-align style
    +         * 2) Insert a <br> element after each set of 'unwrapped' div children
    +         * 3) Set the text-align style of the parent block element
    +         */
    +        if (childDivs.length) {
    +            // Since we're mucking with the HTML, preserve selection
    +            this.saveSelection();
    +            childDivs.forEach(function (div) {
    +                if (div.style.textAlign === textAlign) {
    +                    var lastChild = div.lastChild;
    +                    if (lastChild) {
    +                        // Instead of a div, extract the child elements and add a <br>
    +                        MediumEditor.util.unwrap(div, this.options.ownerDocument);
    +                        var br = this.options.ownerDocument.createElement('BR');
    +                        lastChild.parentNode.insertBefore(br, lastChild.nextSibling);
    +                    }
    +                }
    +            }, this);
    +            blockContainer.style.textAlign = textAlign;
    +            // We're done, so restore selection
    +            this.restoreSelection();
    +        }
    +    }
    + 
    +    var initialContent = {};
    + 
    +    MediumEditor.prototype = {
    +        // NOT DOCUMENTED - exposed for backwards compatability
    +        init: function (elements, options) {
    +            this.options = mergeOptions.call(this, this.defaults, options);
    +            this.origElements = elements;
    + 
    +            if (!this.options.elementsContainer) {
    +                this.options.elementsContainer = this.options.ownerDocument.body;
    +            }
    + 
    +            return this.setup();
    +        },
    + 
    +        setup: function () {
    +            if (this.isActive) {
    +                return;
    +            }
    + 
    +            addToEditors.call(this, this.options.contentWindow);
    +            this.events = new MediumEditor.Events(this);
    +            this.elements = [];
    + 
    +            this.addElements(this.origElements);
    + 
    +            if (this.elements.length === 0) {
    +                return;
    +            }
    + 
    +            this.isActive = true;
    + 
    +            // Call initialization helpers
    +            initExtensions.call(this);
    +            attachHandlers.call(this);
    +        },
    + 
    +        destroy: function () {
    +            if (!this.isActive) {
    +                return;
    +            }
    + 
    +            this.isActive = false;
    + 
    +            this.extensions.forEach(function (extension) {
    +                if (typeof extension.destroy === 'function') {
    +                    extension.destroy();
    +                }
    +            }, this);
    + 
    +            this.events.destroy();
    + 
    +            this.elements.forEach(function (element) {
    +                // Reset elements content, fix for issue where after editor destroyed the red underlines on spelling errors are left
    +                if (this.options.spellcheck) {
    +                    element.innerHTML = element.innerHTML;
    +                }
    + 
    +                // cleanup extra added attributes
    +                element.removeAttribute('contentEditable');
    +                element.removeAttribute('spellcheck');
    +                element.removeAttribute('data-medium-editor-element');
    +                element.classList.remove('medium-editor-element');
    +                element.removeAttribute('role');
    +                element.removeAttribute('aria-multiline');
    +                element.removeAttribute('medium-editor-index');
    +                element.removeAttribute('data-medium-editor-editor-index');
    + 
    +                // Remove any elements created for textareas
    +                if (element.getAttribute('medium-editor-textarea-id')) {
    +                    cleanupTextareaElement(element);
    +                }
    +            }, this);
    +            this.elements = [];
    +            this.instanceHandleEditableKeydownEnter = null;
    +            this.instanceHandleEditableInput = null;
    + 
    +            removeFromEditors.call(this, this.options.contentWindow);
    +        },
    + 
    +        on: function (target, event, listener, useCapture) {
    +            this.events.attachDOMEvent(target, event, listener, useCapture);
    + 
    +            return this;
    +        },
    + 
    +        off: function (target, event, listener, useCapture) {
    +            this.events.detachDOMEvent(target, event, listener, useCapture);
    + 
    +            return this;
    +        },
    + 
    +        subscribe: function (event, listener) {
    +            this.events.attachCustomEvent(event, listener);
    + 
    +            return this;
    +        },
    + 
    +        unsubscribe: function (event, listener) {
    +            this.events.detachCustomEvent(event, listener);
    + 
    +            return this;
    +        },
    + 
    +        trigger: function (name, data, editable) {
    +            this.events.triggerCustomEvent(name, data, editable);
    + 
    +            return this;
    +        },
    + 
    +        delay: function (fn) {
    +            var self = this;
    +            return setTimeout(function () {
    +                if (self.isActive) {
    +                    fn();
    +                }
    +            }, this.options.delay);
    +        },
    + 
    +        serialize: function () {
    +            var i,
    +                elementid,
    +                content = {},
    +                len = this.elements.length;
    + 
    +            for (i = 0; i < len; i += 1) {
    +                elementid = (this.elements[i].id !== '') ? this.elements[i].id : 'element-' + i;
    +                content[elementid] = {
    +                    value: this.elements[i].innerHTML.trim()
    +                };
    +            }
    +            return content;
    +        },
    + 
    +        getExtensionByName: function (name) {
    +            var extension;
    +            if (this.extensions && this.extensions.length) {
    +                this.extensions.some(function (ext) {
    +                    if (ext.name === name) {
    +                        extension = ext;
    +                        return true;
    +                    }
    +                    return false;
    +                });
    +            }
    +            return extension;
    +        },
    + 
    +        /**
    +         * NOT DOCUMENTED - exposed as a helper for other extensions to use
    +         */
    +        addBuiltInExtension: function (name, opts) {
    +            var extension = this.getExtensionByName(name),
    +                merged;
    +            if (extension) {
    +                return extension;
    +            }
    + 
    +            switch (name) {
    +                case 'anchor':
    +                    merged = MediumEditor.util.extend({}, this.options.anchor, opts);
    +                    extension = new MediumEditor.extensions.anchor(merged);
    +                    break;
    +                case 'anchor-preview':
    +                    extension = new MediumEditor.extensions.anchorPreview(this.options.anchorPreview);
    +                    break;
    +                case 'autoLink':
    +                    extension = new MediumEditor.extensions.autoLink();
    +                    break;
    +                case 'fileDragging':
    +                    extension = new MediumEditor.extensions.fileDragging(opts);
    +                    break;
    +                case 'fontname':
    +                    extension = new MediumEditor.extensions.fontName(this.options.fontName);
    +                    break;
    +                case 'fontsize':
    +                    extension = new MediumEditor.extensions.fontSize(opts);
    +                    break;
    +                case 'keyboardCommands':
    +                    extension = new MediumEditor.extensions.keyboardCommands(this.options.keyboardCommands);
    +                    break;
    +                case 'paste':
    +                    extension = new MediumEditor.extensions.paste(this.options.paste);
    +                    break;
    +                case 'placeholder':
    +                    extension = new MediumEditor.extensions.placeholder(this.options.placeholder);
    +                    break;
    +                default:
    +                    // All of the built-in buttons for MediumEditor are extensions
    +                    // so check to see if the extension we're creating is a built-in button
    +                    if (MediumEditor.extensions.button.isBuiltInButton(name)) {
    +                        if (opts) {
    +                            merged = MediumEditor.util.defaults({}, opts, MediumEditor.extensions.button.prototype.defaults[name]);
    +                            extension = new MediumEditor.extensions.button(merged);
    +                        } else {
    +                            extension = new MediumEditor.extensions.button(name);
    +                        }
    +                    }
    +            }
    + 
    +            if (extension) {
    +                this.extensions.push(initExtension(extension, name, this));
    +            }
    + 
    +            return extension;
    +        },
    + 
    +        stopSelectionUpdates: function () {
    +            this.preventSelectionUpdates = true;
    +        },
    + 
    +        startSelectionUpdates: function () {
    +            this.preventSelectionUpdates = false;
    +        },
    + 
    +        checkSelection: function () {
    +            var toolbar = this.getExtensionByName('toolbar');
    +            if (toolbar) {
    +                toolbar.checkState();
    +            }
    +            return this;
    +        },
    + 
    +        // Wrapper around document.queryCommandState for checking whether an action has already
    +        // been applied to the current selection
    +        queryCommandState: function (action) {
    +            var fullAction = /^full-(.+)$/gi,
    +                match,
    +                queryState = null;
    + 
    +            // Actions starting with 'full-' need to be modified since this is a medium-editor concept
    +            match = fullAction.exec(action);
    +            if (match) {
    +                action = match[1];
    +            }
    + 
    +            try {
    +                queryState = this.options.ownerDocument.queryCommandState(action);
    +            } catch (exc) {
    +                queryState = null;
    +            }
    + 
    +            return queryState;
    +        },
    + 
    +        execAction: function (action, opts) {
    +            /*jslint regexp: true*/
    +            var fullAction = /^full-(.+)$/gi,
    +                match,
    +                result;
    +            /*jslint regexp: false*/
    + 
    +            // Actions starting with 'full-' should be applied to to the entire contents of the editable element
    +            // (ie full-bold, full-append-pre, etc.)
    +            match = fullAction.exec(action);
    +            if (match) {
    +                // Store the current selection to be restored after applying the action
    +                this.saveSelection();
    +                // Select all of the contents before calling the action
    +                this.selectAllContents();
    +                result = execActionInternal.call(this, match[1], opts);
    +                // Restore the previous selection
    +                this.restoreSelection();
    +            } else {
    +                result = execActionInternal.call(this, action, opts);
    +            }
    + 
    +            // do some DOM clean-up for known browser issues after the action
    +            if (action === 'insertunorderedlist' || action === 'insertorderedlist') {
    +                MediumEditor.util.cleanListDOM(this.options.ownerDocument, this.getSelectedParentElement());
    +            }
    + 
    +            this.checkSelection();
    +            return result;
    +        },
    + 
    +        getSelectedParentElement: function (range) {
    +            if (range === undefined) {
    +                range = this.options.contentWindow.getSelection().getRangeAt(0);
    +            }
    +            return MediumEditor.selection.getSelectedParentElement(range);
    +        },
    + 
    +        selectAllContents: function () {
    +            var currNode = MediumEditor.selection.getSelectionElement(this.options.contentWindow);
    + 
    +            if (currNode) {
    +                // Move to the lowest descendant node that still selects all of the contents
    +                while (currNode.children.length === 1) {
    +                    currNode = currNode.children[0];
    +                }
    + 
    +                this.selectElement(currNode);
    +            }
    +        },
    + 
    +        selectElement: function (element) {
    +            MediumEditor.selection.selectNode(element, this.options.ownerDocument);
    + 
    +            var selElement = MediumEditor.selection.getSelectionElement(this.options.contentWindow);
    +            if (selElement) {
    +                this.events.focusElement(selElement);
    +            }
    +        },
    + 
    +        getFocusedElement: function () {
    +            var focused;
    +            this.elements.some(function (element) {
    +                // Find the element that has focus
    +                if (!focused && element.getAttribute('data-medium-focused')) {
    +                    focused = element;
    +                }
    + 
    +                // bail if we found the element that had focus
    +                return !!focused;
    +            }, this);
    + 
    +            return focused;
    +        },
    + 
    +        // Export the state of the selection in respect to one of this
    +        // instance of MediumEditor's elements
    +        exportSelection: function () {
    +            var selectionElement = MediumEditor.selection.getSelectionElement(this.options.contentWindow),
    +                editableElementIndex = this.elements.indexOf(selectionElement),
    +                selectionState = null;
    + 
    +            if (editableElementIndex >= 0) {
    +                selectionState = MediumEditor.selection.exportSelection(selectionElement, this.options.ownerDocument);
    +            }
    + 
    +            if (selectionState !== null && editableElementIndex !== 0) {
    +                selectionState.editableElementIndex = editableElementIndex;
    +            }
    + 
    +            return selectionState;
    +        },
    + 
    +        saveSelection: function () {
    +            this.selectionState = this.exportSelection();
    +        },
    + 
    +        // Restore a selection based on a selectionState returned by a call
    +        // to MediumEditor.exportSelection
    +        importSelection: function (selectionState, favorLaterSelectionAnchor) {
    +            if (!selectionState) {
    +                return;
    +            }
    + 
    +            var editableElement = this.elements[selectionState.editableElementIndex || 0];
    +            MediumEditor.selection.importSelection(selectionState, editableElement, this.options.ownerDocument, favorLaterSelectionAnchor);
    +        },
    + 
    +        restoreSelection: function () {
    +            this.importSelection(this.selectionState);
    +        },
    + 
    +        createLink: function (opts) {
    +            var currentEditor = MediumEditor.selection.getSelectionElement(this.options.contentWindow),
    +                customEvent = {},
    +                targetUrl;
    + 
    +            // Make sure the selection is within an element this editor is tracking
    +            if (this.elements.indexOf(currentEditor) === -1) {
    +                return;
    +            }
    + 
    +            try {
    +                this.events.disableCustomEvent('editableInput');
    +                // TODO: Deprecate support for opts.url in 6.0.0
    +                if (opts.url) {
    +                    MediumEditor.util.deprecated('.url option for createLink', '.value', '6.0.0');
    +                }
    +                targetUrl = opts.url || opts.value;
    +                if (targetUrl && targetUrl.trim().length > 0) {
    +                    var currentSelection = this.options.contentWindow.getSelection();
    +                    if (currentSelection) {
    +                        var currRange = currentSelection.getRangeAt(0),
    +                            commonAncestorContainer = currRange.commonAncestorContainer,
    +                            exportedSelection,
    +                            startContainerParentElement,
    +                            endContainerParentElement,
    +                            textNodes;
    + 
    +                        // If the selection is contained within a single text node
    +                        // and the selection starts at the beginning of the text node,
    +                        // MSIE still says the startContainer is the parent of the text node.
    +                        // If the selection is contained within a single text node, we
    +                        // want to just use the default browser 'createLink', so we need
    +                        // to account for this case and adjust the commonAncestorContainer accordingly
    +                        if (currRange.endContainer.nodeType === 3 &&
    +                            currRange.startContainer.nodeType !== 3 &&
    +                            currRange.startOffset === 0 &&
    +                            currRange.startContainer.firstChild === currRange.endContainer) {
    +                            commonAncestorContainer = currRange.endContainer;
    +                        }
    + 
    +                        startContainerParentElement = MediumEditor.util.getClosestBlockContainer(currRange.startContainer);
    +                        endContainerParentElement = MediumEditor.util.getClosestBlockContainer(currRange.endContainer);
    + 
    +                        // If the selection is not contained within a single text node
    +                        // but the selection is contained within the same block element
    +                        // we want to make sure we create a single link, and not multiple links
    +                        // which can happen with the built in browser functionality
    +                        if (commonAncestorContainer.nodeType !== 3 && commonAncestorContainer.textContent.length !== 0 && startContainerParentElement === endContainerParentElement) {
    +                            var parentElement = (startContainerParentElement || currentEditor),
    +                                fragment = this.options.ownerDocument.createDocumentFragment();
    + 
    +                            // since we are going to create a link from an extracted text,
    +                            // be sure that if we are updating a link, we won't let an empty link behind (see #754)
    +                            // (Workaroung for Chrome)
    +                            this.execAction('unlink');
    + 
    +                            exportedSelection = this.exportSelection();
    +                            fragment.appendChild(parentElement.cloneNode(true));
    + 
    +                            if (currentEditor === parentElement) {
    +                                // We have to avoid the editor itself being wiped out when it's the only block element,
    +                                // as our reference inside this.elements gets detached from the page when insertHTML runs.
    +                                // If we just use [parentElement, 0] and [parentElement, parentElement.childNodes.length]
    +                                // as the range boundaries, this happens whenever parentElement === currentEditor.
    +                                // The tradeoff to this workaround is that a orphaned tag can sometimes be left behind at
    +                                // the end of the editor's content.
    +                                // In Gecko:
    +                                // as an empty <strong></strong> if parentElement.lastChild is a <strong> tag.
    +                                // In WebKit:
    +                                // an invented <br /> tag at the end in the same situation
    +                                MediumEditor.selection.select(
    +                                    this.options.ownerDocument,
    +                                    parentElement.firstChild,
    +                                    0,
    +                                    parentElement.lastChild,
    +                                    parentElement.lastChild.nodeType === 3 ?
    +                                    parentElement.lastChild.nodeValue.length : parentElement.lastChild.childNodes.length
    +                                );
    +                            } else {
    +                                MediumEditor.selection.select(
    +                                    this.options.ownerDocument,
    +                                    parentElement,
    +                                    0,
    +                                    parentElement,
    +                                    parentElement.childNodes.length
    +                                );
    +                            }
    + 
    +                            var modifiedExportedSelection = this.exportSelection();
    + 
    +                            textNodes = MediumEditor.util.findOrCreateMatchingTextNodes(
    +                                this.options.ownerDocument,
    +                                fragment,
    +                                {
    +                                    start: exportedSelection.start - modifiedExportedSelection.start,
    +                                    end: exportedSelection.end - modifiedExportedSelection.start,
    +                                    editableElementIndex: exportedSelection.editableElementIndex
    +                                }
    +                            );
    +                            // If textNodes are not present, when changing link on images
    +                            // ex: <a><img src="http://image.test.com"></a>, change fragment to currRange.startContainer
    +                            // and set textNodes array to [imageElement, imageElement]
    +                            if (textNodes.length === 0) {
    +                                fragment = this.options.ownerDocument.createDocumentFragment();
    +                                fragment.appendChild(commonAncestorContainer.cloneNode(true));
    +                                textNodes = [fragment.firstChild.firstChild, fragment.firstChild.lastChild];
    +                            }
    + 
    +                            // Creates the link in the document fragment
    +                            MediumEditor.util.createLink(this.options.ownerDocument, textNodes, targetUrl.trim());
    + 
    +                            // Chrome trims the leading whitespaces when inserting HTML, which messes up restoring the selection.
    +                            var leadingWhitespacesCount = (fragment.firstChild.innerHTML.match(/^\s+/) || [''])[0].length;
    + 
    +                            // Now move the created link back into the original document in a way to preserve undo/redo history
    +                            MediumEditor.util.insertHTMLCommand(this.options.ownerDocument, fragment.firstChild.innerHTML.replace(/^\s+/, ''));
    +                            exportedSelection.start -= leadingWhitespacesCount;
    +                            exportedSelection.end -= leadingWhitespacesCount;
    + 
    +                            this.importSelection(exportedSelection);
    +                        } else {
    +                            this.options.ownerDocument.execCommand('createLink', false, targetUrl);
    +                        }
    + 
    +                        if (this.options.targetBlank || opts.target === '_blank') {
    +                            MediumEditor.util.setTargetBlank(MediumEditor.selection.getSelectionStart(this.options.ownerDocument), targetUrl);
    +                        } else {
    +                            MediumEditor.util.removeTargetBlank(MediumEditor.selection.getSelectionStart(this.options.ownerDocument), targetUrl);
    +                        }
    + 
    +                        if (opts.buttonClass) {
    +                            MediumEditor.util.addClassToAnchors(MediumEditor.selection.getSelectionStart(this.options.ownerDocument), opts.buttonClass);
    +                        }
    +                    }
    +                }
    +                // Fire input event for backwards compatibility if anyone was listening directly to the DOM input event
    +                if (this.options.targetBlank || opts.target === '_blank' || opts.buttonClass) {
    +                    customEvent = this.options.ownerDocument.createEvent('HTMLEvents');
    +                    customEvent.initEvent('input', true, true, this.options.contentWindow);
    +                    for (var i = 0, len = this.elements.length; i < len; i += 1) {
    +                        this.elements[i].dispatchEvent(customEvent);
    +                    }
    +                }
    +            } finally {
    +                this.events.enableCustomEvent('editableInput');
    +            }
    +            // Fire our custom editableInput event
    +            this.events.triggerCustomEvent('editableInput', customEvent, currentEditor);
    +        },
    + 
    +        cleanPaste: function (text) {
    +            this.getExtensionByName('paste').cleanPaste(text);
    +        },
    + 
    +        pasteHTML: function (html, options) {
    +            this.getExtensionByName('paste').pasteHTML(html, options);
    +        },
    + 
    +        setContent: function (html, index) {
    +            index = index || 0;
    + 
    +            if (this.elements[index]) {
    +                var target = this.elements[index];
    +                target.innerHTML = html;
    +                this.checkContentChanged(target);
    +            }
    +        },
    + 
    +        getContent: function (index) {
    +            index = index || 0;
    + 
    +            if (this.elements[index]) {
    +                return this.elements[index].innerHTML.trim();
    +            }
    +            return null;
    +        },
    + 
    +        checkContentChanged: function (editable) {
    +            editable = editable || MediumEditor.selection.getSelectionElement(this.options.contentWindow);
    +            this.events.updateInput(editable, { target: editable, currentTarget: editable });
    +        },
    + 
    +        resetContent: function (element) {
    +            // For all elements that exist in the this.elements array, we can assume:
    +            // - Its initial content has been set in the initialContent object
    +            // - It has a medium-editor-index attribute which is the key value in the initialContent object
    + 
    +            if (element) {
    +                var index = this.elements.indexOf(element);
    +                if (index !== -1) {
    +                    this.setContent(initialContent[element.getAttribute('medium-editor-index')], index);
    +                }
    +                return;
    +            }
    + 
    +            this.elements.forEach(function (el, idx) {
    +                this.setContent(initialContent[el.getAttribute('medium-editor-index')], idx);
    +            }, this);
    +        },
    + 
    +        addElements: function (selector) {
    +            // Convert elements into an array
    +            var elements = createElementsArray(selector, this.options.ownerDocument, true);
    + 
    +            // Do we have elements to add now?
    +            if (elements.length === 0) {
    +                return false;
    +            }
    + 
    +            elements.forEach(function (element) {
    +                // Initialize all new elements (we check that in those functions don't worry)
    +                element = initElement.call(this, element, this.id);
    + 
    +                // Add new elements to our internal elements array
    +                this.elements.push(element);
    + 
    +                // Trigger event so extensions can know when an element has been added
    +                this.trigger('addElement', { target: element, currentTarget: element }, element);
    +            }, this);
    +        },
    + 
    +        removeElements: function (selector) {
    +            // Convert elements into an array
    +            var elements = createElementsArray(selector, this.options.ownerDocument),
    +                toRemove = elements.map(function (el) {
    +                    // For textareas, make sure we're looking at the editor div and not the textarea itself
    +                    if (el.getAttribute('medium-editor-textarea-id') && el.parentNode) {
    +                        return el.parentNode.querySelector('div[medium-editor-textarea-id="' + el.getAttribute('medium-editor-textarea-id') + '"]');
    +                    } else {
    +                        return el;
    +                    }
    +                });
    + 
    +            this.elements = this.elements.filter(function (element) {
    +                // If this is an element we want to remove
    +                if (toRemove.indexOf(element) !== -1) {
    +                    this.events.cleanupElement(element);
    +                    if (element.getAttribute('medium-editor-textarea-id')) {
    +                        cleanupTextareaElement(element);
    +                    }
    +                    // Trigger event so extensions can clean-up elements that are being removed
    +                    this.trigger('removeElement', { target: element, currentTarget: element }, element);
    +                    return false;
    +                }
    +                return true;
    +            }, this);
    +        }
    +    };
    + 
    +    MediumEditor.getEditorFromElement = function (element) {
    +        var index = element.getAttribute('data-medium-editor-editor-index'),
    +            win = element && element.ownerDocument && (element.ownerDocument.defaultView || element.ownerDocument.parentWindow);
    +        if (win && win._mediumEditors && win._mediumEditors[index]) {
    +            return win._mediumEditors[index];
    +        }
    +        return null;
    +    };
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/defaults/buttons.js.html b/reports/jasmine/lcov/lcov-report/js/defaults/buttons.js.html new file mode 100644 index 0000000..1c050f0 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/defaults/buttons.js.html @@ -0,0 +1,839 @@ + + + + Code coverage report for js/defaults/buttons.js + + + + + + + +
    +
    +

    + all files / js/defaults/ buttons.js +

    +
    +
    + 100% + Statements + 2/2 +
    +
    + 100% + Branches + 0/0 +
    +
    + 100% + Functions + 1/1 +
    +
    + 100% + Lines + 2/2 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    /* MediumEditor.extensions.button.defaults: [Object]
    +     * Set of default config options for all of the built-in MediumEditor buttons
    +     */
    +    MediumEditor.extensions.button.prototype.defaults = {
    +        'bold': {
    +            name: 'bold',
    +            action: 'bold',
    +            aria: 'bold',
    +            tagNames: ['b', 'strong'],
    +            style: {
    +                prop: 'font-weight',
    +                value: '700|bold'
    +            },
    +            useQueryState: true,
    +            contentDefault: '<b>B</b>',
    +            contentFA: '<i class="fa fa-bold"></i>'
    +        },
    +        'italic': {
    +            name: 'italic',
    +            action: 'italic',
    +            aria: 'italic',
    +            tagNames: ['i', 'em'],
    +            style: {
    +                prop: 'font-style',
    +                value: 'italic'
    +            },
    +            useQueryState: true,
    +            contentDefault: '<b><i>I</i></b>',
    +            contentFA: '<i class="fa fa-italic"></i>'
    +        },
    +        'underline': {
    +            name: 'underline',
    +            action: 'underline',
    +            aria: 'underline',
    +            tagNames: ['u'],
    +            style: {
    +                prop: 'text-decoration',
    +                value: 'underline'
    +            },
    +            useQueryState: true,
    +            contentDefault: '<b><u>U</u></b>',
    +            contentFA: '<i class="fa fa-underline"></i>'
    +        },
    +        'strikethrough': {
    +            name: 'strikethrough',
    +            action: 'strikethrough',
    +            aria: 'strike through',
    +            tagNames: ['strike'],
    +            style: {
    +                prop: 'text-decoration',
    +                value: 'line-through'
    +            },
    +            useQueryState: true,
    +            contentDefault: '<s>A</s>',
    +            contentFA: '<i class="fa fa-strikethrough"></i>'
    +        },
    +        'superscript': {
    +            name: 'superscript',
    +            action: 'superscript',
    +            aria: 'superscript',
    +            tagNames: ['sup'],
    +            /* firefox doesn't behave the way we want it to, so we CAN'T use queryCommandState for superscript
    +               https://github.com/guardian/scribe/blob/master/BROWSERINCONSISTENCIES.md#documentquerycommandstate */
    +            // useQueryState: true
    +            contentDefault: '<b>x<sup>1</sup></b>',
    +            contentFA: '<i class="fa fa-superscript"></i>'
    +        },
    +        'subscript': {
    +            name: 'subscript',
    +            action: 'subscript',
    +            aria: 'subscript',
    +            tagNames: ['sub'],
    +            /* firefox doesn't behave the way we want it to, so we CAN'T use queryCommandState for subscript
    +               https://github.com/guardian/scribe/blob/master/BROWSERINCONSISTENCIES.md#documentquerycommandstate */
    +            // useQueryState: true
    +            contentDefault: '<b>x<sub>1</sub></b>',
    +            contentFA: '<i class="fa fa-subscript"></i>'
    +        },
    +        'image': {
    +            name: 'image',
    +            action: 'image',
    +            aria: 'image',
    +            tagNames: ['img'],
    +            contentDefault: '<b>image</b>',
    +            contentFA: '<i class="fa fa-picture-o"></i>'
    +        },
    +        'html': {
    +            name: 'html',
    +            action: 'html',
    +            aria: 'evaluate html',
    +            tagNames: ['iframe', 'object'],
    +            contentDefault: '<b>html</b>',
    +            contentFA: '<i class="fa fa-code"></i>'
    +        },
    +        'orderedlist': {
    +            name: 'orderedlist',
    +            action: 'insertorderedlist',
    +            aria: 'ordered list',
    +            tagNames: ['ol'],
    +            useQueryState: true,
    +            contentDefault: '<b>1.</b>',
    +            contentFA: '<i class="fa fa-list-ol"></i>'
    +        },
    +        'unorderedlist': {
    +            name: 'unorderedlist',
    +            action: 'insertunorderedlist',
    +            aria: 'unordered list',
    +            tagNames: ['ul'],
    +            useQueryState: true,
    +            contentDefault: '<b>&bull;</b>',
    +            contentFA: '<i class="fa fa-list-ul"></i>'
    +        },
    +        'indent': {
    +            name: 'indent',
    +            action: 'indent',
    +            aria: 'indent',
    +            tagNames: [],
    +            contentDefault: '<b>&rarr;</b>',
    +            contentFA: '<i class="fa fa-indent"></i>'
    +        },
    +        'outdent': {
    +            name: 'outdent',
    +            action: 'outdent',
    +            aria: 'outdent',
    +            tagNames: [],
    +            contentDefault: '<b>&larr;</b>',
    +            contentFA: '<i class="fa fa-outdent"></i>'
    +        },
    +        'justifyCenter': {
    +            name: 'justifyCenter',
    +            action: 'justifyCenter',
    +            aria: 'center justify',
    +            tagNames: [],
    +            style: {
    +                prop: 'text-align',
    +                value: 'center'
    +            },
    +            contentDefault: '<b>C</b>',
    +            contentFA: '<i class="fa fa-align-center"></i>'
    +        },
    +        'justifyFull': {
    +            name: 'justifyFull',
    +            action: 'justifyFull',
    +            aria: 'full justify',
    +            tagNames: [],
    +            style: {
    +                prop: 'text-align',
    +                value: 'justify'
    +            },
    +            contentDefault: '<b>J</b>',
    +            contentFA: '<i class="fa fa-align-justify"></i>'
    +        },
    +        'justifyLeft': {
    +            name: 'justifyLeft',
    +            action: 'justifyLeft',
    +            aria: 'left justify',
    +            tagNames: [],
    +            style: {
    +                prop: 'text-align',
    +                value: 'left'
    +            },
    +            contentDefault: '<b>L</b>',
    +            contentFA: '<i class="fa fa-align-left"></i>'
    +        },
    +        'justifyRight': {
    +            name: 'justifyRight',
    +            action: 'justifyRight',
    +            aria: 'right justify',
    +            tagNames: [],
    +            style: {
    +                prop: 'text-align',
    +                value: 'right'
    +            },
    +            contentDefault: '<b>R</b>',
    +            contentFA: '<i class="fa fa-align-right"></i>'
    +        },
    +        // Known inline elements that are not removed, or not removed consistantly across browsers:
    +        // <span>, <label>, <br>
    +        'removeFormat': {
    +            name: 'removeFormat',
    +            aria: 'remove formatting',
    +            action: 'removeFormat',
    +            contentDefault: '<b>X</b>',
    +            contentFA: '<i class="fa fa-eraser"></i>'
    +        },
    + 
    +        /***** Buttons for appending block elements (append-<element> action) *****/
    + 
    +        'quote': {
    +            name: 'quote',
    +            action: 'append-blockquote',
    +            aria: 'blockquote',
    +            tagNames: ['blockquote'],
    +            contentDefault: '<b>&ldquo;</b>',
    +            contentFA: '<i class="fa fa-quote-right"></i>'
    +        },
    +        'pre': {
    +            name: 'pre',
    +            action: 'append-pre',
    +            aria: 'preformatted text',
    +            tagNames: ['pre'],
    +            contentDefault: '<b>0101</b>',
    +            contentFA: '<i class="fa fa-code fa-lg"></i>'
    +        },
    +        'h1': {
    +            name: 'h1',
    +            action: 'append-h1',
    +            aria: 'header type one',
    +            tagNames: ['h1'],
    +            contentDefault: '<b>H1</b>',
    +            contentFA: '<i class="fa fa-header"><sup>1</sup>'
    +        },
    +        'h2': {
    +            name: 'h2',
    +            action: 'append-h2',
    +            aria: 'header type two',
    +            tagNames: ['h2'],
    +            contentDefault: '<b>H2</b>',
    +            contentFA: '<i class="fa fa-header"><sup>2</sup>'
    +        },
    +        'h3': {
    +            name: 'h3',
    +            action: 'append-h3',
    +            aria: 'header type three',
    +            tagNames: ['h3'],
    +            contentDefault: '<b>H3</b>',
    +            contentFA: '<i class="fa fa-header"><sup>3</sup>'
    +        },
    +        'h4': {
    +            name: 'h4',
    +            action: 'append-h4',
    +            aria: 'header type four',
    +            tagNames: ['h4'],
    +            contentDefault: '<b>H4</b>',
    +            contentFA: '<i class="fa fa-header"><sup>4</sup>'
    +        },
    +        'h5': {
    +            name: 'h5',
    +            action: 'append-h5',
    +            aria: 'header type five',
    +            tagNames: ['h5'],
    +            contentDefault: '<b>H5</b>',
    +            contentFA: '<i class="fa fa-header"><sup>5</sup>'
    +        },
    +        'h6': {
    +            name: 'h6',
    +            action: 'append-h6',
    +            aria: 'header type six',
    +            tagNames: ['h6'],
    +            contentDefault: '<b>H6</b>',
    +            contentFA: '<i class="fa fa-header"><sup>6</sup>'
    +        }
    +    };
    + 
    +})();
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/defaults/index.html b/reports/jasmine/lcov/lcov-report/js/defaults/index.html new file mode 100644 index 0000000..829b6b8 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/defaults/index.html @@ -0,0 +1,106 @@ + + + + Code coverage report for js/defaults/ + + + + + + + +
    +
    +

    + all files js/defaults/ +

    +
    +
    + 100% + Statements + 4/4 +
    +
    + 100% + Branches + 0/0 +
    +
    + 100% + Functions + 2/2 +
    +
    + 100% + Lines + 4/4 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileStatementsBranchesFunctionsLines
    buttons.js
    100%2/2100%0/0100%1/1100%2/2
    options.js
    100%2/2100%0/0100%1/1100%2/2
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/defaults/options.js.html b/reports/jasmine/lcov/lcov-report/js/defaults/options.js.html new file mode 100644 index 0000000..a8bff1f --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/defaults/options.js.html @@ -0,0 +1,125 @@ + + + + Code coverage report for js/defaults/options.js + + + + + + + +
    +
    +

    + all files / js/defaults/ options.js +

    +
    +
    + 100% + Statements + 2/2 +
    +
    + 100% + Branches + 0/0 +
    +
    + 100% + Functions + 1/1 +
    +
    + 100% + Lines + 2/2 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    // summary: The default options hash used by the Editor
    + 
    +    MediumEditor.prototype.defaults = {
    +        activeButtonClass: 'medium-editor-button-active',
    +        buttonLabels: false,
    +        delay: 0,
    +        disableReturn: false,
    +        disableDoubleReturn: false,
    +        disableExtraSpaces: false,
    +        disableEditing: false,
    +        autoLink: false,
    +        elementsContainer: false,
    +        contentWindow: window,
    +        ownerDocument: document,
    +        targetBlank: false,
    +        extensions: {},
    +        spellcheck: true
    +    };
    +})();
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/events.js.html b/reports/jasmine/lcov/lcov-report/js/events.js.html new file mode 100644 index 0000000..8752d8a --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/events.js.html @@ -0,0 +1,1859 @@ + + + + Code coverage report for js/events.js + + + + + + + +
    +
    +

    + all files / js/ events.js +

    +
    +
    + 1.73% + Statements + 4/231 +
    +
    + 0.68% + Branches + 1/148 +
    +
    + 1.69% + Functions + 1/59 +
    +
    + 1.73% + Lines + 4/231 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    function isElementDescendantOfExtension(extensions, element) {
    +        if (!extensions) {
    +            return false;
    +        }
    + 
    +        return extensions.some(function (extension) {
    +            if (typeof extension.getInteractionElements !== 'function') {
    +                return false;
    +            }
    + 
    +            var extensionElements = extension.getInteractionElements();
    +            if (!extensionElements) {
    +                return false;
    +            }
    + 
    +            if (!Array.isArray(extensionElements)) {
    +                extensionElements = [extensionElements];
    +            }
    +            return extensionElements.some(function (el) {
    +                return MediumEditor.util.isDescendant(el, element, true);
    +            });
    +        });
    +    }
    + 
    +    var Events = function (instance) {
    +        this.base = instance;
    +        this.options = this.base.options;
    +        this.events = [];
    +        this.disabledEvents = {};
    +        this.customEvents = {};
    +        this.listeners = {};
    +    };
    + 
    +    Events.prototype = {
    +        InputEventOnContenteditableSupported: !MediumEditor.util.isIE && !MediumEditor.util.isEdge,
    + 
    +        // Helpers for event handling
    + 
    +        attachDOMEvent: function (targets, event, listener, useCapture) {
    +            var win = this.base.options.contentWindow,
    +                doc = this.base.options.ownerDocument;
    + 
    +            targets = MediumEditor.util.isElement(targets) || [win, doc].indexOf(targets) > -1 ? [targets] : targets;
    + 
    +            Array.prototype.forEach.call(targets, function (target) {
    +                target.addEventListener(event, listener, useCapture);
    +                this.events.push([target, event, listener, useCapture]);
    +            }.bind(this));
    +        },
    + 
    +        detachDOMEvent: function (targets, event, listener, useCapture) {
    +            var index, e,
    +                win = this.base.options.contentWindow,
    +                doc = this.base.options.ownerDocument;
    + 
    +            if (targets) {
    +                targets = MediumEditor.util.isElement(targets) || [win, doc].indexOf(targets) > -1 ? [targets] : targets;
    + 
    +                Array.prototype.forEach.call(targets, function (target) {
    +                    index = this.indexOfListener(target, event, listener, useCapture);
    +                    if (index !== -1) {
    +                        e = this.events.splice(index, 1)[0];
    +                        e[0].removeEventListener(e[1], e[2], e[3]);
    +                    }
    +                }.bind(this));
    +            }
    +        },
    + 
    +        indexOfListener: function (target, event, listener, useCapture) {
    +            var i, n, item;
    +            for (i = 0, n = this.events.length; i < n; i = i + 1) {
    +                item = this.events[i];
    +                if (item[0] === target && item[1] === event && item[2] === listener && item[3] === useCapture) {
    +                    return i;
    +                }
    +            }
    +            return -1;
    +        },
    + 
    +        detachAllDOMEvents: function () {
    +            var e = this.events.pop();
    +            while (e) {
    +                e[0].removeEventListener(e[1], e[2], e[3]);
    +                e = this.events.pop();
    +            }
    +        },
    + 
    +        detachAllEventsFromElement: function (element) {
    +            var filtered = this.events.filter(function (e) {
    +                return e && e[0].getAttribute && e[0].getAttribute('medium-editor-index') === element.getAttribute('medium-editor-index');
    +            });
    + 
    +            for (var i = 0, len = filtered.length; i < len; i++) {
    +                var e = filtered[i];
    +                this.detachDOMEvent(e[0], e[1], e[2], e[3]);
    +            }
    +        },
    + 
    +        // Attach all existing handlers to a new element
    +        attachAllEventsToElement: function (element) {
    +            if (this.listeners['editableInput']) {
    +                this.contentCache[element.getAttribute('medium-editor-index')] = element.innerHTML;
    +            }
    + 
    +            if (this.eventsCache) {
    +                this.eventsCache.forEach(function (e) {
    +                    this.attachDOMEvent(element, e['name'], e['handler'].bind(this));
    +                }, this);
    +            }
    +        },
    + 
    +        enableCustomEvent: function (event) {
    +            if (this.disabledEvents[event] !== undefined) {
    +                delete this.disabledEvents[event];
    +            }
    +        },
    + 
    +        disableCustomEvent: function (event) {
    +            this.disabledEvents[event] = true;
    +        },
    + 
    +        // custom events
    +        attachCustomEvent: function (event, listener) {
    +            this.setupListener(event);
    +            if (!this.customEvents[event]) {
    +                this.customEvents[event] = [];
    +            }
    +            this.customEvents[event].push(listener);
    +        },
    + 
    +        detachCustomEvent: function (event, listener) {
    +            var index = this.indexOfCustomListener(event, listener);
    +            if (index !== -1) {
    +                this.customEvents[event].splice(index, 1);
    +                // TODO: If array is empty, should detach internal listeners via destroyListener()
    +            }
    +        },
    + 
    +        indexOfCustomListener: function (event, listener) {
    +            if (!this.customEvents[event] || !this.customEvents[event].length) {
    +                return -1;
    +            }
    + 
    +            return this.customEvents[event].indexOf(listener);
    +        },
    + 
    +        detachAllCustomEvents: function () {
    +            this.customEvents = {};
    +            // TODO: Should detach internal listeners here via destroyListener()
    +        },
    + 
    +        triggerCustomEvent: function (name, data, editable) {
    +               if (this.customEvents[name] && !this.disabledEvents[name]) {
    +                this.customEvents[name].forEach(function (listener) {
    +                    listener(data, editable);
    +                });
    +            }
    +        },
    + 
    +        // Cleaning up
    + 
    +        destroy: function () {
    +            this.detachAllDOMEvents();
    +            this.detachAllCustomEvents();
    +            this.detachExecCommand();
    + 
    +            if (this.base.elements) {
    +                this.base.elements.forEach(function (element) {
    +                    element.removeAttribute('data-medium-focused');
    +                });
    +            }
    +        },
    + 
    +        // Listening to calls to document.execCommand
    + 
    +        // Attach a listener to be notified when document.execCommand is called
    +        attachToExecCommand: function () {
    +            if (this.execCommandListener) {
    +                return;
    +            }
    + 
    +            // Store an instance of the listener so:
    +            // 1) We only attach to execCommand once
    +            // 2) We can remove the listener later
    +            this.execCommandListener = function (execInfo) {
    +                this.handleDocumentExecCommand(execInfo);
    +            }.bind(this);
    + 
    +            // Ensure that execCommand has been wrapped correctly
    +            this.wrapExecCommand();
    + 
    +            // Add listener to list of execCommand listeners
    +            this.options.ownerDocument.execCommand.listeners.push(this.execCommandListener);
    +        },
    + 
    +        // Remove our listener for calls to document.execCommand
    +        detachExecCommand: function () {
    +            var doc = this.options.ownerDocument;
    +            if (!this.execCommandListener || !doc.execCommand.listeners) {
    +                return;
    +            }
    + 
    +            // Find the index of this listener in the array of listeners so it can be removed
    +            var index = doc.execCommand.listeners.indexOf(this.execCommandListener);
    +            if (index !== -1) {
    +                doc.execCommand.listeners.splice(index, 1);
    +            }
    + 
    +            // If the list of listeners is now empty, put execCommand back to its original state
    +            if (!doc.execCommand.listeners.length) {
    +                this.unwrapExecCommand();
    +            }
    +        },
    + 
    +        // Wrap document.execCommand in a custom method so we can listen to calls to it
    +        wrapExecCommand: function () {
    +            var doc = this.options.ownerDocument;
    + 
    +            // Ensure all instance of MediumEditor only wrap execCommand once
    +            if (doc.execCommand.listeners) {
    +                return;
    +            }
    + 
    +            // Helper method to call all listeners to execCommand
    +            var callListeners = function (args, result) {
    +                if (doc.execCommand.listeners) {
    +                    doc.execCommand.listeners.forEach(function (listener) {
    +                        listener({
    +                            command: args[0],
    +                            value: args[2],
    +                            args: args,
    +                            result: result
    +                        });
    +                    });
    +                }
    +            },
    + 
    +                // Create a wrapper method for execCommand which will:
    +                // 1) Call document.execCommand with the correct arguments
    +                // 2) Loop through any listeners and notify them that execCommand was called
    +                //    passing extra info on the call
    +                // 3) Return the result
    +                wrapper = function () {
    +                    var result = doc.execCommand.orig.apply(this, arguments);
    + 
    +                    if (!doc.execCommand.listeners) {
    +                        return result;
    +                    }
    + 
    +                    var args = Array.prototype.slice.call(arguments);
    +                    callListeners(args, result);
    + 
    +                    return result;
    +                };
    + 
    +            // Store a reference to the original execCommand
    +            wrapper.orig = doc.execCommand;
    + 
    +            // Attach an array for storing listeners
    +            wrapper.listeners = [];
    + 
    +            // Helper for notifying listeners
    +            wrapper.callListeners = callListeners;
    + 
    +            // Overwrite execCommand
    +            doc.execCommand = wrapper;
    +        },
    + 
    +        // Revert document.execCommand back to its original self
    +        unwrapExecCommand: function () {
    +            var doc = this.options.ownerDocument;
    +            if (!doc.execCommand.orig) {
    +                return;
    +            }
    + 
    +            // Use the reference to the original execCommand to revert back
    +            doc.execCommand = doc.execCommand.orig;
    +        },
    + 
    +        // Listening to browser events to emit events medium-editor cares about
    +        setupListener: function (name) {
    +            if (this.listeners[name]) {
    +                return;
    +            }
    + 
    +            switch (name) {
    +                case 'externalInteraction':
    +                    // Detecting when user has interacted with elements outside of MediumEditor
    +                    this.attachDOMEvent(this.options.ownerDocument.body, 'mousedown', this.handleBodyMousedown.bind(this), true);
    +                    this.attachDOMEvent(this.options.ownerDocument.body, 'click', this.handleBodyClick.bind(this), true);
    +                    this.attachDOMEvent(this.options.ownerDocument.body, 'focus', this.handleBodyFocus.bind(this), true);
    +                    break;
    +                case 'blur':
    +                    // Detecting when focus is lost
    +                    this.setupListener('externalInteraction');
    +                    break;
    +                case 'focus':
    +                    // Detecting when focus moves into some part of MediumEditor
    +                    this.setupListener('externalInteraction');
    +                    break;
    +                case 'editableInput':
    +                    // setup cache for knowing when the content has changed
    +                    this.contentCache = {};
    +                    this.base.elements.forEach(function (element) {
    +                        this.contentCache[element.getAttribute('medium-editor-index')] = element.innerHTML;
    +                    }, this);
    + 
    +                    // Attach to the 'oninput' event, handled correctly by most browsers
    +                    if (this.InputEventOnContenteditableSupported) {
    +                        this.attachToEachElement('input', this.handleInput);
    +                    }
    + 
    +                    // For browsers which don't support the input event on contenteditable (IE)
    +                    // we'll attach to 'selectionchange' on the document and 'keypress' on the editables
    +                    if (!this.InputEventOnContenteditableSupported) {
    +                        this.setupListener('editableKeypress');
    +                        this.keypressUpdateInput = true;
    +                        this.attachDOMEvent(document, 'selectionchange', this.handleDocumentSelectionChange.bind(this));
    +                        // Listen to calls to execCommand
    +                        this.attachToExecCommand();
    +                    }
    +                    break;
    +                case 'editableClick':
    +                    // Detecting click in the contenteditables
    +                    this.attachToEachElement('click', this.handleClick);
    +                    break;
    +                case 'editableBlur':
    +                    // Detecting blur in the contenteditables
    +                    this.attachToEachElement('blur', this.handleBlur);
    +                    break;
    +                case 'editableKeypress':
    +                    // Detecting keypress in the contenteditables
    +                    this.attachToEachElement('keypress', this.handleKeypress);
    +                    break;
    +                case 'editableKeyup':
    +                    // Detecting keyup in the contenteditables
    +                    this.attachToEachElement('keyup', this.handleKeyup);
    +                    break;
    +                case 'editableKeydown':
    +                    // Detecting keydown on the contenteditables
    +                    this.attachToEachElement('keydown', this.handleKeydown);
    +                    break;
    +                case 'editableKeydownSpace':
    +                    // Detecting keydown for SPACE on the contenteditables
    +                    this.setupListener('editableKeydown');
    +                    break;
    +                case 'editableKeydownEnter':
    +                    // Detecting keydown for ENTER on the contenteditables
    +                    this.setupListener('editableKeydown');
    +                    break;
    +                case 'editableKeydownTab':
    +                    // Detecting keydown for TAB on the contenteditable
    +                    this.setupListener('editableKeydown');
    +                    break;
    +                case 'editableKeydownDelete':
    +                    // Detecting keydown for DELETE/BACKSPACE on the contenteditables
    +                    this.setupListener('editableKeydown');
    +                    break;
    +                case 'editableMouseover':
    +                    // Detecting mouseover on the contenteditables
    +                    this.attachToEachElement('mouseover', this.handleMouseover);
    +                    break;
    +                case 'editableDrag':
    +                    // Detecting dragover and dragleave on the contenteditables
    +                    // this.attachToEachElement('dragover', this.handleDragging);
    +                    // this.attachToEachElement('dragleave', this.handleDragging);
    +                    break;
    +                // case 'editableDrop':
    +                //     // Detecting drop on the contenteditables
    +                //     this.attachToEachElement('drop', this.handleDrop);
    +                //     break;
    +                // // TODO: We need to have a custom 'paste' event separate from 'editablePaste'
    +                // // Need to think about the way to introduce this without breaking folks
    +                // case 'editablePaste':
    +                //     // Detecting paste on the contenteditables
    +                //     this.attachToEachElement('paste', this.handlePaste);
    +                //     break;
    +            }
    +            this.listeners[name] = true;
    +        },
    + 
    +        attachToEachElement: function (name, handler) {
    +            // build our internal cache to know which element got already what handler attached
    +            if (!this.eventsCache) {
    +                this.eventsCache = [];
    +            }
    + 
    +            this.base.elements.forEach(function (element) {
    +                this.attachDOMEvent(element, name, handler.bind(this));
    +            }, this);
    + 
    +            this.eventsCache.push({ 'name': name, 'handler': handler });
    +        },
    + 
    +        cleanupElement: function (element) {
    +            var index = element.getAttribute('medium-editor-index');
    +            if (index) {
    +                this.detachAllEventsFromElement(element);
    +                if (this.contentCache) {
    +                    delete this.contentCache[index];
    +                }
    +            }
    +        },
    + 
    +        focusElement: function (element) {
    +            element.focus();
    +            this.updateFocus(element, { target: element, type: 'focus' });
    +        },
    + 
    +        updateFocus: function (target, eventObj) {
    +            var hadFocus = this.base.getFocusedElement(),
    +                toFocus;
    + 
    +            // For clicks, we need to know if the mousedown that caused the click happened inside the existing focused element
    +            // or one of the extension elements.  If so, we don't want to focus another element
    +            if (hadFocus &&
    +                eventObj.type === 'click' &&
    +                this.lastMousedownTarget &&
    +                (MediumEditor.util.isDescendant(hadFocus, this.lastMousedownTarget, true) ||
    +                    isElementDescendantOfExtension(this.base.extensions, this.lastMousedownTarget))) {
    +                toFocus = hadFocus;
    +            }
    + 
    +            if (!toFocus) {
    +                this.base.elements.some(function (element) {
    +                    // If the target is part of an editor element, this is the element getting focus
    +                    if (!toFocus && (MediumEditor.util.isDescendant(element, target, true))) {
    +                        toFocus = element;
    +                    }
    + 
    +                    // bail if we found an element that's getting focus
    +                    return !!toFocus;
    +                }, this);
    +            }
    + 
    +            // Check if the target is external (not part of the editor, toolbar, or any other extension)
    +            var externalEvent = !MediumEditor.util.isDescendant(hadFocus, target, true) &&
    +                !isElementDescendantOfExtension(this.base.extensions, target);
    + 
    +            if (toFocus !== hadFocus) {
    +                // If element has focus, and focus is going outside of editor
    +                // Don't blur focused element if clicking on editor, toolbar, or anchorpreview
    +                if (hadFocus && externalEvent) {
    +                    // Trigger blur on the editable that has lost focus
    +                    hadFocus.removeAttribute('data-medium-focused');
    +                    this.triggerCustomEvent('blur', eventObj, hadFocus);
    +                }
    + 
    +                // If focus is going into an editor element
    +                if (toFocus) {
    +                    // Trigger focus on the editable that now has focus
    +                    toFocus.setAttribute('data-medium-focused', true);
    +                    this.triggerCustomEvent('focus', eventObj, toFocus);
    +                }
    +            }
    + 
    +            if (externalEvent) {
    +                this.triggerCustomEvent('externalInteraction', eventObj);
    +            }
    +        },
    + 
    +        updateInput: function (target, eventObj) {
    +            if (!this.contentCache) {
    +                return;
    +            }
    +            // An event triggered which signifies that the user may have changed someting
    +            // Look in our cache of input for the contenteditables to see if something changed
    +            var index = target.getAttribute('medium-editor-index'),
    +                html = target.innerHTML;
    + 
    +            if (html !== this.contentCache[index]) {
    +                // The content has changed since the last time we checked, fire the event
    +                this.triggerCustomEvent('editableInput', eventObj, target);
    +            }
    +            this.contentCache[index] = html;
    +        },
    + 
    +        handleDocumentSelectionChange: function (event) {
    +            // When selectionchange fires, target and current target are set
    +            // to document, since this is where the event is handled
    +            // However, currentTarget will have an 'activeElement' property
    +            // which will point to whatever element has focus.
    +            if (event.currentTarget && event.currentTarget.activeElement) {
    +                var activeElement = event.currentTarget.activeElement,
    +                    currentTarget;
    +                // We can look at the 'activeElement' to determine if the selectionchange has
    +                // happened within a contenteditable owned by this instance of MediumEditor
    +                this.base.elements.some(function (element) {
    +                    if (MediumEditor.util.isDescendant(element, activeElement, true)) {
    +                        currentTarget = element;
    +                        return true;
    +                    }
    +                    return false;
    +                }, this);
    + 
    +                // We know selectionchange fired within one of our contenteditables
    +                if (currentTarget) {
    +                    this.updateInput(currentTarget, { target: activeElement, currentTarget: currentTarget });
    +                }
    +            }
    +        },
    + 
    +        handleDocumentExecCommand: function () {
    +            // document.execCommand has been called
    +            // If one of our contenteditables currently has focus, we should
    +            // attempt to trigger the 'editableInput' event
    +            var target = this.base.getFocusedElement();
    +            if (target) {
    +                this.updateInput(target, { target: target, currentTarget: target });
    +            }
    +        },
    + 
    +        handleBodyClick: function (event) {
    +            this.updateFocus(event.target, event);
    +        },
    + 
    +        handleBodyFocus: function (event) {
    +            this.updateFocus(event.target, event);
    +        },
    + 
    +        handleBodyMousedown: function (event) {
    +            this.lastMousedownTarget = event.target;
    +        },
    + 
    +        handleInput: function (event) {
    +            this.updateInput(event.currentTarget, event);
    +        },
    + 
    +        handleClick: function (event) {
    +            this.triggerCustomEvent('editableClick', event, event.currentTarget);
    +        },
    + 
    +        handleBlur: function (event) {
    +            this.triggerCustomEvent('editableBlur', event, event.currentTarget);
    +        },
    + 
    +        handleKeypress: function (event) {
    +            this.triggerCustomEvent('editableKeypress', event, event.currentTarget);
    + 
    +            // If we're doing manual detection of the editableInput event we need
    +            // to check for input changes during 'keypress'
    +            if (this.keypressUpdateInput) {
    +                var eventObj = { target: event.target, currentTarget: event.currentTarget };
    + 
    +                // In IE, we need to let the rest of the event stack complete before we detect
    +                // changes to input, so using setTimeout here
    +                setTimeout(function () {
    +                    this.updateInput(eventObj.currentTarget, eventObj);
    +                }.bind(this), 0);
    +            }
    +        },
    + 
    +        handleKeyup: function (event) {
    +            this.triggerCustomEvent('editableKeyup', event, event.currentTarget);
    +        },
    + 
    +        handleMouseover: function (event) {
    +            this.triggerCustomEvent('editableMouseover', event, event.currentTarget);
    +        },
    + 
    +        handleDragging: function (event) {
    +            this.triggerCustomEvent('editableDrag', event, event.currentTarget);
    +        },
    + 
    +        handleDrop: function (event) {
    +            this.triggerCustomEvent('editableDrop', event, event.currentTarget);
    +        },
    + 
    +        handlePaste: function (event) {
    +            this.triggerCustomEvent('editablePaste', event, event.currentTarget);
    +        },
    + 
    +        handleKeydown: function (event) {
    +            this.triggerCustomEvent('editableKeydown', event, event.currentTarget);
    + 
    +            if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.SPACE)) {
    +                return this.triggerCustomEvent('editableKeydownSpace', event, event.currentTarget);
    +            }
    + 
    +            if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.ENTER) || (event.ctrlKey && MediumEditor.util.isKey(event, MediumEditor.util.keyCode.M))) {
    +                return this.triggerCustomEvent('editableKeydownEnter', event, event.currentTarget);
    +            }
    + 
    +            if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.TAB)) {
    +                return this.triggerCustomEvent('editableKeydownTab', event, event.currentTarget);
    +            }
    + 
    +            if (MediumEditor.util.isKey(event, [MediumEditor.util.keyCode.DELETE, MediumEditor.util.keyCode.BACKSPACE])) {
    +                return this.triggerCustomEvent('editableKeydownDelete', event, event.currentTarget);
    +            }
    +        }
    +    };
    + 
    +    MediumEditor.Events = Events;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extension.js.html b/reports/jasmine/lcov/lcov-report/js/extension.js.html new file mode 100644 index 0000000..9062324 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extension.js.html @@ -0,0 +1,881 @@ + + + + Code coverage report for js/extension.js + + + + + + + +
    +
    +

    + all files / js/ extension.js +

    +
    +
    + 28% + Statements + 7/25 +
    +
    + 0% + Branches + 0/6 +
    +
    + 18.18% + Functions + 2/11 +
    +
    + 28% + Lines + 7/25 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +  +  + +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  + +  +  +  +  + +  + 
    (function () {
    +    'use strict';
    + 
    +    var Extension = function (options) {
    +        MediumEditor.util.extend(this, options);
    +    };
    + 
    +    Extension.extend = function (protoProps) {
    +        // magic extender thinger. mostly borrowed from backbone/goog.inherits
    +        // place this function on some thing you want extend-able.
    +        //
    +        // example:
    +        //
    +        //      function Thing(args){
    +        //          this.options = args;
    +        //      }
    +        //
    +        //      Thing.prototype = { foo: "bar" };
    +        //      Thing.extend = extenderify;
    +        //
    +        //      var ThingTwo = Thing.extend({ foo: "baz" });
    +        //
    +        //      var thingOne = new Thing(); // foo === "bar"
    +        //      var thingTwo = new ThingTwo(); // foo === "baz"
    +        //
    +        //      which seems like some simply shallow copy nonsense
    +        //      at first, but a lot more is going on there.
    +        //
    +        //      passing a `constructor` to the extend props
    +        //      will cause the instance to instantiate through that
    +        //      instead of the parent's constructor.
    + 
    +        var parent = this,
    +            child;
    + 
    +        // The constructor function for the new subclass is either defined by you
    +        // (the "constructor" property in your `extend` definition), or defaulted
    +        // by us to simply call the parent's constructor.
    + 
    +        if (protoProps && protoProps.hasOwnProperty('constructor')) {
    +            child = protoProps.constructor;
    +        } else {
    +            child = function () {
    +                return parent.apply(this, arguments);
    +            };
    +        }
    + 
    +        // das statics (.extend comes over, so your subclass can have subclasses too)
    +        MediumEditor.util.extend(child, parent);
    + 
    +        // Set the prototype chain to inherit from `parent`, without calling
    +        // `parent`'s constructor function.
    +        var Surrogate = function () {
    +            this.constructor = child;
    +        };
    +        Surrogate.prototype = parent.prototype;
    +        child.prototype = new Surrogate();
    + 
    +        if (protoProps) {
    +            MediumEditor.util.extend(child.prototype, protoProps);
    +        }
    + 
    +        // todo: $super?
    + 
    +        return child;
    +    };
    + 
    +    Extension.prototype = {
    +        /* init: [function]
    +         *
    +         * Called by MediumEditor during initialization.
    +         * The .base property will already have been set to
    +         * current instance of MediumEditor when this is called.
    +         * All helper methods will exist as well
    +         */
    +        init: function () {},
    + 
    +        /* base: [MediumEditor instance]
    +         *
    +         * If not overriden, this will be set to the current instance
    +         * of MediumEditor, before the init method is called
    +         */
    +        base: undefined,
    + 
    +        /* name: [string]
    +         *
    +         * 'name' of the extension, used for retrieving the extension.
    +         * If not set, MediumEditor will set this to be the key
    +         * used when passing the extension into MediumEditor via the
    +         * 'extensions' option
    +         */
    +        name: undefined,
    + 
    +        /* checkState: [function (node)]
    +         *
    +         * If implemented, this function will be called one or more times
    +         * the state of the editor & toolbar are updated.
    +         * When the state is updated, the editor does the following:
    +         *
    +         * 1) Find the parent node containing the current selection
    +         * 2) Call checkState on the extension, passing the node as an argument
    +         * 3) Get the parent node of the previous node
    +         * 4) Repeat steps #2 and #3 until we move outside the parent contenteditable
    +         */
    +        checkState: undefined,
    + 
    +        /* destroy: [function ()]
    +         *
    +         * This method should remove any created html, custom event handlers
    +         * or any other cleanup tasks that should be performed.
    +         * If implemented, this function will be called when MediumEditor's
    +         * destroy method has been called.
    +         */
    +        destroy: undefined,
    + 
    +        /* As alternatives to checkState, these functions provide a more structured
    +         * path to updating the state of an extension (usually a button) whenever
    +         * the state of the editor & toolbar are updated.
    +         */
    + 
    +        /* queryCommandState: [function ()]
    +         *
    +         * If implemented, this function will be called once on each extension
    +         * when the state of the editor/toolbar is being updated.
    +         *
    +         * If this function returns a non-null value, the extension will
    +         * be ignored as the code climbs the dom tree.
    +         *
    +         * If this function returns true, and the setActive() function is defined
    +         * setActive() will be called
    +         */
    +        queryCommandState: undefined,
    + 
    +        /* isActive: [function ()]
    +         *
    +         * If implemented, this function will be called when MediumEditor
    +         * has determined that this extension is 'active' for the current selection.
    +         * This may be called when the editor & toolbar are being updated,
    +         * but only if queryCommandState() or isAlreadyApplied() functions
    +         * are implemented, and when called, return true.
    +         */
    +        isActive: undefined,
    + 
    +        /* isAlreadyApplied: [function (node)]
    +         *
    +         * If implemented, this function is similar to checkState() in
    +         * that it will be called repeatedly as MediumEditor moves up
    +         * the DOM to update the editor & toolbar after a state change.
    +         *
    +         * NOTE: This function will NOT be called if checkState() has
    +         * been implemented. This function will NOT be called if
    +         * queryCommandState() is implemented and returns a non-null
    +         * value when called
    +         */
    +        isAlreadyApplied: undefined,
    + 
    +        /* setActive: [function ()]
    +         *
    +         * If implemented, this function is called when MediumEditor knows
    +         * that this extension is currently enabled.  Currently, this
    +         * function is called when updating the editor & toolbar, and
    +         * only if queryCommandState() or isAlreadyApplied(node) return
    +         * true when called
    +         */
    +        setActive: undefined,
    + 
    +        /* setInactive: [function ()]
    +         *
    +         * If implemented, this function is called when MediumEditor knows
    +         * that this extension is currently disabled.  Curently, this
    +         * is called at the beginning of each state change for
    +         * the editor & toolbar. After calling this, MediumEditor
    +         * will attempt to update the extension, either via checkState()
    +         * or the combination of queryCommandState(), isAlreadyApplied(node),
    +         * isActive(), and setActive()
    +         */
    +        setInactive: undefined,
    + 
    +        /* getInteractionElements: [function ()]
    +         *
    +         * If the extension renders any elements that the user can interact with,
    +         * this method should be implemented and return the root element or an array
    +         * containing all of the root elements. MediumEditor will call this function
    +         * during interaction to see if the user clicked on something outside of the editor.
    +         * The elements are used to check if the target element of a click or
    +         * other user event is a descendant of any extension elements.
    +         * This way, the editor can also count user interaction within editor elements as
    +         * interactions with the editor, and thus not trigger 'blur'
    +         */
    +        getInteractionElements: undefined,
    + 
    +        /************************ Helpers ************************
    +         * The following are helpers that are either set by MediumEditor
    +         * during initialization, or are helper methods which either
    +         * route calls to the MediumEditor instance or provide common
    +         * functionality for all extensions
    +         *********************************************************/
    + 
    +        /* window: [Window]
    +         *
    +         * If not overriden, this will be set to the window object
    +         * to be used by MediumEditor and its extensions.  This is
    +         * passed via the 'contentWindow' option to MediumEditor
    +         * and is the global 'window' object by default
    +         */
    +        'window': undefined,
    + 
    +        /* document: [Document]
    +         *
    +         * If not overriden, this will be set to the document object
    +         * to be used by MediumEditor and its extensions. This is
    +         * passed via the 'ownerDocument' optin to MediumEditor
    +         * and is the global 'document' object by default
    +         */
    +        'document': undefined,
    + 
    +        /* getEditorElements: [function ()]
    +         *
    +         * Helper function which returns an array containing
    +         * all the contenteditable elements for this instance
    +         * of MediumEditor
    +         */
    +        getEditorElements: function () {
    +            return this.base.elements;
    +        },
    + 
    +        /* getEditorId: [function ()]
    +         *
    +         * Helper function which returns a unique identifier
    +         * for this instance of MediumEditor
    +         */
    +        getEditorId: function () {
    +            return this.base.id;
    +        },
    + 
    +        /* getEditorOptions: [function (option)]
    +         *
    +         * Helper function which returns the value of an option
    +         * used to initialize this instance of MediumEditor
    +         */
    +        getEditorOption: function (option) {
    +            return this.base.options[option];
    +        }
    +    };
    + 
    +    /* List of method names to add to the prototype of Extension
    +     * Each of these methods will be defined as helpers that
    +     * just call directly into the MediumEditor instance.
    +     *
    +     * example for 'on' method:
    +     * Extension.prototype.on = function () {
    +     *     return this.base.on.apply(this.base, arguments);
    +     * }
    +     */
    +    [
    +        // general helpers
    +        'execAction',
    + 
    +        // event handling
    +        'on',
    +        'off',
    +        'subscribe',
    +        'trigger'
    + 
    +    ].forEach(function (helper) {
    +        Extension.prototype[helper] = function () {
    +            return this.base[helper].apply(this.base, arguments);
    +        };
    +    });
    + 
    +    MediumEditor.Extension = Extension;
    +})();
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/anchor-preview.js.html b/reports/jasmine/lcov/lcov-report/js/extensions/anchor-preview.js.html new file mode 100644 index 0000000..97d2f40 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/anchor-preview.js.html @@ -0,0 +1,983 @@ + + + + Code coverage report for js/extensions/anchor-preview.js + + + + + + + +
    +
    +

    + all files / js/extensions/ anchor-preview.js +

    +
    +
    + 1.6% + Statements + 2/125 +
    +
    + 0% + Branches + 0/63 +
    +
    + 4.35% + Functions + 1/23 +
    +
    + 1.6% + Lines + 2/125 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var AnchorPreview = MediumEditor.Extension.extend({
    +        name: 'anchor-preview',
    + 
    +        // Anchor Preview Options
    + 
    +        /* hideDelay: [number]  (previously options.anchorPreviewHideDelay)
    +         * time in milliseconds to show the anchor tag preview after the mouse has left the anchor tag.
    +         */
    +        hideDelay: 500,
    + 
    +        /* previewValueSelector: [string]
    +         * the default selector to locate where to put the activeAnchor value in the preview
    +         */
    +        previewValueSelector: 'a',
    + 
    +        /* showWhenToolbarIsVisible: [boolean]
    +         * determines whether the anchor tag preview shows up when the toolbar is visible
    +         */
    +        showWhenToolbarIsVisible: false,
    + 
    +        /* showOnEmptyLinks: [boolean]
    +        * determines whether the anchor tag preview shows up on links with href="" or href="#something"
    +        */
    +        showOnEmptyLinks: true,
    + 
    +        init: function () {
    +            this.anchorPreview = this.createPreview();
    + 
    +            this.getEditorOption('elementsContainer').appendChild(this.anchorPreview);
    + 
    +            this.attachToEditables();
    +        },
    + 
    +        getInteractionElements: function () {
    +            return this.getPreviewElement();
    +        },
    + 
    +        // TODO: Remove this function in 6.0.0
    +        getPreviewElement: function () {
    +            return this.anchorPreview;
    +        },
    + 
    +        createPreview: function () {
    +            var el = this.document.createElement('div');
    + 
    +            el.id = 'medium-editor-anchor-preview-' + this.getEditorId();
    +            el.className = 'medium-editor-anchor-preview';
    +            el.innerHTML = this.getTemplate();
    + 
    +            this.on(el, 'click', this.handleClick.bind(this));
    + 
    +            return el;
    +        },
    + 
    +        getTemplate: function () {
    +            return '<div class="medium-editor-toolbar-anchor-preview" id="medium-editor-toolbar-anchor-preview">' +
    +                '    <a class="medium-editor-toolbar-anchor-preview-inner"></a>' +
    +                '</div>';
    +        },
    + 
    +        destroy: function () {
    +            if (this.anchorPreview) {
    +                if (this.anchorPreview.parentNode) {
    +                    this.anchorPreview.parentNode.removeChild(this.anchorPreview);
    +                }
    +                delete this.anchorPreview;
    +            }
    +        },
    + 
    +        hidePreview: function () {
    +            if (this.anchorPreview) {
    +                this.anchorPreview.classList.remove('medium-editor-anchor-preview-active');
    +            }
    +            this.activeAnchor = null;
    +        },
    + 
    +        showPreview: function (anchorEl) {
    +            if (this.anchorPreview.classList.contains('medium-editor-anchor-preview-active') ||
    +                    anchorEl.getAttribute('data-disable-preview')) {
    +                return true;
    +            }
    + 
    +            if (this.previewValueSelector) {
    +                this.anchorPreview.querySelector(this.previewValueSelector).textContent = anchorEl.attributes.href.value;
    +                this.anchorPreview.querySelector(this.previewValueSelector).href = anchorEl.attributes.href.value;
    +            }
    + 
    +            this.anchorPreview.classList.add('medium-toolbar-arrow-over');
    +            this.anchorPreview.classList.remove('medium-toolbar-arrow-under');
    + 
    +            if (!this.anchorPreview.classList.contains('medium-editor-anchor-preview-active')) {
    +                this.anchorPreview.classList.add('medium-editor-anchor-preview-active');
    +            }
    + 
    +            this.activeAnchor = anchorEl;
    + 
    +            this.positionPreview();
    +            this.attachPreviewHandlers();
    + 
    +            return this;
    +        },
    + 
    +        positionPreview: function (activeAnchor) {
    +            activeAnchor = activeAnchor || this.activeAnchor;
    +            var containerWidth = this.window.innerWidth,
    +                buttonHeight = this.anchorPreview.offsetHeight,
    +                boundary = activeAnchor.getBoundingClientRect(),
    +                diffLeft = this.diffLeft,
    +                diffTop = this.diffTop,
    +                elementsContainer = this.getEditorOption('elementsContainer'),
    +                elementsContainerAbsolute = ['absolute', 'fixed'].indexOf(window.getComputedStyle(elementsContainer).getPropertyValue('position')) > -1,
    +                relativeBoundary = {},
    +                halfOffsetWidth, defaultLeft, middleBoundary, elementsContainerBoundary, top;
    + 
    +            halfOffsetWidth = this.anchorPreview.offsetWidth / 2;
    +            var toolbarExtension = this.base.getExtensionByName('toolbar');
    +            if (toolbarExtension) {
    +                diffLeft = toolbarExtension.diffLeft;
    +                diffTop = toolbarExtension.diffTop;
    +            }
    +            defaultLeft = diffLeft - halfOffsetWidth;
    + 
    +            // If container element is absolute / fixed, recalculate boundaries to be relative to the container
    +            if (elementsContainerAbsolute) {
    +                elementsContainerBoundary = elementsContainer.getBoundingClientRect();
    +                ['top', 'left'].forEach(function (key) {
    +                    relativeBoundary[key] = boundary[key] - elementsContainerBoundary[key];
    +                });
    + 
    +                relativeBoundary.width = boundary.width;
    +                relativeBoundary.height = boundary.height;
    +                boundary = relativeBoundary;
    + 
    +                containerWidth = elementsContainerBoundary.width;
    + 
    +                // Adjust top position according to container scroll position
    +                top = elementsContainer.scrollTop;
    +            } else {
    +                // Adjust top position according to window scroll position
    +                top = this.window.pageYOffset;
    +            }
    + 
    +            middleBoundary = boundary.left + boundary.width / 2;
    +            top += buttonHeight + boundary.top + boundary.height - diffTop - this.anchorPreview.offsetHeight;
    + 
    +            this.anchorPreview.style.top = Math.round(top) + 'px';
    +            this.anchorPreview.style.right = 'initial';
    +            if (middleBoundary < halfOffsetWidth) {
    +                this.anchorPreview.style.left = defaultLeft + halfOffsetWidth + 'px';
    +                this.anchorPreview.style.right = 'initial';
    +            } else if ((containerWidth - middleBoundary) < halfOffsetWidth) {
    +                this.anchorPreview.style.left = 'auto';
    +                this.anchorPreview.style.right = 0;
    +            } else {
    +                this.anchorPreview.style.left = defaultLeft + middleBoundary + 'px';
    +                this.anchorPreview.style.right = 'initial';
    +            }
    +        },
    + 
    +        attachToEditables: function () {
    +            this.subscribe('editableMouseover', this.handleEditableMouseover.bind(this));
    +            this.subscribe('positionedToolbar', this.handlePositionedToolbar.bind(this));
    +        },
    + 
    +        handlePositionedToolbar: function () {
    +            // If the toolbar is visible and positioned, we don't need to hide the preview
    +            // when showWhenToolbarIsVisible is true
    +            if (!this.showWhenToolbarIsVisible) {
    +                this.hidePreview();
    +            }
    +        },
    + 
    +        handleClick: function (event) {
    +            var anchorExtension = this.base.getExtensionByName('anchor'),
    +                activeAnchor = this.activeAnchor;
    + 
    +            if (anchorExtension && activeAnchor) {
    +                event.preventDefault();
    + 
    +                this.base.selectElement(this.activeAnchor);
    + 
    +                // Using setTimeout + delay because:
    +                // We may actually be displaying the anchor form, which should be controlled by delay
    +                this.base.delay(function () {
    +                    if (activeAnchor) {
    +                        var opts = {
    +                            value: activeAnchor.attributes.href.value,
    +                            target: activeAnchor.getAttribute('target'),
    +                            buttonClass: activeAnchor.getAttribute('class')
    +                        };
    +                        anchorExtension.showForm(opts);
    +                        activeAnchor = null;
    +                    }
    +                }.bind(this));
    +            }
    + 
    +            this.hidePreview();
    +        },
    + 
    +        handleAnchorMouseout: function () {
    +            this.anchorToPreview = null;
    +            this.off(this.activeAnchor, 'mouseout', this.instanceHandleAnchorMouseout);
    +            this.instanceHandleAnchorMouseout = null;
    +        },
    + 
    +        handleEditableMouseover: function (event) {
    +            var target = MediumEditor.util.getClosestTag(event.target, 'a');
    + 
    +            if (false === target) {
    +                return;
    +            }
    + 
    +            // Detect empty href attributes
    +            // The browser will make href="" or href="#top"
    +            // into absolute urls when accessed as event.target.href, so check the html
    +            if (!this.showOnEmptyLinks &&
    +                (!/href=["']\S+["']/.test(target.outerHTML) || /href=["']#\S+["']/.test(target.outerHTML))) {
    +                return true;
    +            }
    + 
    +            // only show when toolbar is not present
    +            var toolbar = this.base.getExtensionByName('toolbar');
    +            if (!this.showWhenToolbarIsVisible && toolbar && toolbar.isDisplayed && toolbar.isDisplayed()) {
    +                return true;
    +            }
    + 
    +            // detach handler for other anchor in case we hovered multiple anchors quickly
    +            if (this.activeAnchor && this.activeAnchor !== target) {
    +                this.detachPreviewHandlers();
    +            }
    + 
    +            this.anchorToPreview = target;
    + 
    +            this.instanceHandleAnchorMouseout = this.handleAnchorMouseout.bind(this);
    +            this.on(this.anchorToPreview, 'mouseout', this.instanceHandleAnchorMouseout);
    +            // Using setTimeout + delay because:
    +            // - We're going to show the anchor preview according to the configured delay
    +            //   if the mouse has not left the anchor tag in that time
    +            this.base.delay(function () {
    +                if (this.anchorToPreview) {
    +                    this.showPreview(this.anchorToPreview);
    +                }
    +            }.bind(this));
    +        },
    + 
    +        handlePreviewMouseover: function () {
    +            this.lastOver = (new Date()).getTime();
    +            this.hovering = true;
    +        },
    + 
    +        handlePreviewMouseout: function (event) {
    +            if (!event.relatedTarget || !/anchor-preview/.test(event.relatedTarget.className)) {
    +                this.hovering = false;
    +            }
    +        },
    + 
    +        updatePreview: function () {
    +            if (this.hovering) {
    +                return true;
    +            }
    +            var durr = (new Date()).getTime() - this.lastOver;
    +            if (durr > this.hideDelay) {
    +                // hide the preview 1/2 second after mouse leaves the link
    +                this.detachPreviewHandlers();
    +            }
    +        },
    + 
    +        detachPreviewHandlers: function () {
    +            // cleanup
    +            clearInterval(this.intervalTimer);
    +            if (this.instanceHandlePreviewMouseover) {
    +                this.off(this.anchorPreview, 'mouseover', this.instanceHandlePreviewMouseover);
    +                this.off(this.anchorPreview, 'mouseout', this.instanceHandlePreviewMouseout);
    +                if (this.activeAnchor) {
    +                    this.off(this.activeAnchor, 'mouseover', this.instanceHandlePreviewMouseover);
    +                    this.off(this.activeAnchor, 'mouseout', this.instanceHandlePreviewMouseout);
    +                }
    +            }
    + 
    +            this.hidePreview();
    + 
    +            this.hovering = this.instanceHandlePreviewMouseover = this.instanceHandlePreviewMouseout = null;
    +        },
    + 
    +        // TODO: break up method and extract out handlers
    +        attachPreviewHandlers: function () {
    +            this.lastOver = (new Date()).getTime();
    +            this.hovering = true;
    + 
    +            this.instanceHandlePreviewMouseover = this.handlePreviewMouseover.bind(this);
    +            this.instanceHandlePreviewMouseout = this.handlePreviewMouseout.bind(this);
    + 
    +            this.intervalTimer = setInterval(this.updatePreview.bind(this), 200);
    + 
    +            this.on(this.anchorPreview, 'mouseover', this.instanceHandlePreviewMouseover);
    +            this.on(this.anchorPreview, 'mouseout', this.instanceHandlePreviewMouseout);
    +            this.on(this.activeAnchor, 'mouseover', this.instanceHandlePreviewMouseover);
    +            this.on(this.activeAnchor, 'mouseout', this.instanceHandlePreviewMouseout);
    +        }
    +    });
    + 
    +    MediumEditor.extensions.anchorPreview = AnchorPreview;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/anchor.js.html b/reports/jasmine/lcov/lcov-report/js/extensions/anchor.js.html new file mode 100644 index 0000000..f353716 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/anchor.js.html @@ -0,0 +1,1190 @@ + + + + Code coverage report for js/extensions/anchor.js + + + + + + + +
    +
    +

    + all files / js/extensions/ anchor.js +

    +
    +
    + 1.92% + Statements + 2/104 +
    +
    + 0% + Branches + 0/68 +
    +
    + 3.57% + Functions + 1/28 +
    +
    + 1.92% + Lines + 2/104 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var AnchorForm = MediumEditor.extensions.form.extend({
    +        /* Anchor Form Options */
    + 
    +        /* customClassOption: [string]  (previously options.anchorButton + options.anchorButtonClass)
    +         * Custom class name the user can optionally have added to their created links (ie 'button').
    +         * If passed as a non-empty string, a checkbox will be displayed allowing the user to choose
    +         * whether to have the class added to the created link or not.
    +         */
    +        customClassOption: null,
    + 
    +        /* customClassOptionText: [string]
    +         * text to be shown in the checkbox when the __customClassOption__ is being used.
    +         */
    +        customClassOptionText: 'Button',
    + 
    +        /* linkValidation: [boolean]  (previously options.checkLinkFormat)
    +         * enables/disables check for common URL protocols on anchor links.
    +         */
    +        linkValidation: false,
    + 
    +        /* placeholderText: [string]  (previously options.anchorInputPlaceholder)
    +         * text to be shown as placeholder of the anchor input.
    +         */
    +        placeholderText: 'Paste or type a link',
    + 
    +        /* targetCheckbox: [boolean]  (previously options.anchorTarget)
    +         * enables/disables displaying a "Open in new window" checkbox, which when checked
    +         * changes the `target` attribute of the created link.
    +         */
    +        targetCheckbox: false,
    + 
    +        /* targetCheckboxText: [string]  (previously options.anchorInputCheckboxLabel)
    +         * text to be shown in the checkbox enabled via the __targetCheckbox__ option.
    +         */
    +        targetCheckboxText: 'Open in new window',
    + 
    +        // Options for the Button base class
    +        name: 'anchor',
    +        action: 'createLink',
    +        aria: 'link',
    +        tagNames: ['a'],
    +        contentDefault: '<b>#</b>',
    +        contentFA: '<i class="fa fa-link"></i>',
    + 
    +        init: function () {
    +            MediumEditor.extensions.form.prototype.init.apply(this, arguments);
    + 
    +            this.subscribe('editableKeydown', this.handleKeydown.bind(this));
    +        },
    + 
    +        // Called when the button the toolbar is clicked
    +        // Overrides ButtonExtension.handleClick
    +        handleClick: function (event) {
    +            event.preventDefault();
    +            event.stopPropagation();
    + 
    +            var range = MediumEditor.selection.getSelectionRange(this.document);
    + 
    +            if (range.startContainer.nodeName.toLowerCase() === 'a' ||
    +                range.endContainer.nodeName.toLowerCase() === 'a' ||
    +                MediumEditor.util.getClosestTag(MediumEditor.selection.getSelectedParentElement(range), 'a')) {
    +                return this.execAction('unlink');
    +            }
    + 
    +            if (!this.isDisplayed()) {
    +                this.showForm();
    +            }
    + 
    +            return false;
    +        },
    + 
    +        // Called when user hits the defined shortcut (CTRL / COMMAND + K)
    +        handleKeydown: function (event) {
    +            if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.K) && MediumEditor.util.isMetaCtrlKey(event) && !event.shiftKey) {
    +                this.handleClick(event);
    +            }
    +        },
    + 
    +        // Called by medium-editor to append form to the toolbar
    +        getForm: function () {
    +            if (!this.form) {
    +                this.form = this.createForm();
    +            }
    +            return this.form;
    +        },
    + 
    +        getTemplate: function () {
    +            var template = [
    +                '<input type="text" class="medium-editor-toolbar-input" placeholder="', this.placeholderText, '">'
    +            ];
    + 
    +            template.push(
    +                '<a href="#" class="medium-editor-toolbar-save">',
    +                this.getEditorOption('buttonLabels') === 'fontawesome' ? '<i class="fa fa-check"></i>' : this.formSaveLabel,
    +                '</a>'
    +            );
    + 
    +            template.push('<a href="#" class="medium-editor-toolbar-close">',
    +                this.getEditorOption('buttonLabels') === 'fontawesome' ? '<i class="fa fa-times"></i>' : this.formCloseLabel,
    +                '</a>');
    + 
    +            // both of these options are slightly moot with the ability to
    +            // override the various form buildup/serialize functions.
    + 
    +            if (this.targetCheckbox) {
    +                // fixme: ideally, this targetCheckboxText would be a formLabel too,
    +                // figure out how to deprecate? also consider `fa-` icon default implcations.
    +                template.push(
    +                    '<div class="medium-editor-toolbar-form-row">',
    +                    '<input type="checkbox" class="medium-editor-toolbar-anchor-target" id="medium-editor-toolbar-anchor-target-field-' + this.getEditorId() + '">',
    +                    '<label for="medium-editor-toolbar-anchor-target-field-' + this.getEditorId() + '">',
    +                    this.targetCheckboxText,
    +                    '</label>',
    +                    '</div>'
    +                );
    +            }
    + 
    +            if (this.customClassOption) {
    +                // fixme: expose this `Button` text as a formLabel property, too
    +                // and provide similar access to a `fa-` icon default.
    +                template.push(
    +                    '<div class="medium-editor-toolbar-form-row">',
    +                    '<input type="checkbox" class="medium-editor-toolbar-anchor-button">',
    +                    '<label>',
    +                    this.customClassOptionText,
    +                    '</label>',
    +                    '</div>'
    +                );
    +            }
    + 
    +            return template.join('');
    + 
    +        },
    + 
    +        // Used by medium-editor when the default toolbar is to be displayed
    +        isDisplayed: function () {
    +            return MediumEditor.extensions.form.prototype.isDisplayed.apply(this);
    +        },
    + 
    +        hideForm: function () {
    +            MediumEditor.extensions.form.prototype.hideForm.apply(this);
    +            this.getInput().value = '';
    +        },
    + 
    +        showForm: function (opts) {
    +            var input = this.getInput(),
    +                targetCheckbox = this.getAnchorTargetCheckbox(),
    +                buttonCheckbox = this.getAnchorButtonCheckbox();
    + 
    +            opts = opts || { value: '' };
    +            // TODO: This is for backwards compatability
    +            // We don't need to support the 'string' argument in 6.0.0
    +            if (typeof opts === 'string') {
    +                opts = {
    +                    value: opts
    +                };
    +            }
    + 
    +            this.base.saveSelection();
    +            this.hideToolbarDefaultActions();
    +            MediumEditor.extensions.form.prototype.showForm.apply(this);
    +            this.setToolbarPosition();
    + 
    +            input.value = opts.value;
    +            input.focus();
    + 
    +            // If we have a target checkbox, we want it to be checked/unchecked
    +            // based on whether the existing link has target=_blank
    +            if (targetCheckbox) {
    +                targetCheckbox.checked = opts.target === '_blank';
    +            }
    + 
    +            // If we have a custom class checkbox, we want it to be checked/unchecked
    +            // based on whether an existing link already has the class
    +            if (buttonCheckbox) {
    +                var classList = opts.buttonClass ? opts.buttonClass.split(' ') : [];
    +                buttonCheckbox.checked = (classList.indexOf(this.customClassOption) !== -1);
    +            }
    +        },
    + 
    +        // Called by core when tearing down medium-editor (destroy)
    +        destroy: function () {
    +            if (!this.form) {
    +                return false;
    +            }
    + 
    +            if (this.form.parentNode) {
    +                this.form.parentNode.removeChild(this.form);
    +            }
    + 
    +            delete this.form;
    +        },
    + 
    +        // core methods
    + 
    +        getFormOpts: function () {
    +            // no notion of private functions? wanted `_getFormOpts`
    +            var targetCheckbox = this.getAnchorTargetCheckbox(),
    +                buttonCheckbox = this.getAnchorButtonCheckbox(),
    +                opts = {
    +                    value: this.getInput().value.trim()
    +                };
    + 
    +            if (this.linkValidation) {
    +                opts.value = this.checkLinkFormat(opts.value);
    +            }
    + 
    +            opts.target = '_self';
    +            if (targetCheckbox && targetCheckbox.checked) {
    +                opts.target = '_blank';
    +            }
    + 
    +            if (buttonCheckbox && buttonCheckbox.checked) {
    +                opts.buttonClass = this.customClassOption;
    +            }
    + 
    +            return opts;
    +        },
    + 
    +        doFormSave: function () {
    +            var opts = this.getFormOpts();
    +            this.completeFormSave(opts);
    +        },
    + 
    +        completeFormSave: function (opts) {
    +            this.base.restoreSelection();
    +            this.execAction(this.action, opts);
    +            this.base.checkSelection();
    +        },
    + 
    +        ensureEncodedUri: function (str) {
    +            return str === decodeURI(str) ? encodeURI(str) : str;
    +        },
    + 
    +        ensureEncodedUriComponent: function (str) {
    +            return str === decodeURIComponent(str) ? encodeURIComponent(str) : str;
    +        },
    + 
    +        ensureEncodedParam: function (param) {
    +            var split = param.split('='),
    +                key = split[0],
    +                val = split[1];
    + 
    +            return key + (val === undefined ? '' : '=' + this.ensureEncodedUriComponent(val));
    +        },
    + 
    +        ensureEncodedQuery: function (queryString) {
    +            return queryString.split('&').map(this.ensureEncodedParam.bind(this)).join('&');
    +        },
    + 
    +        checkLinkFormat: function (value) {
    +            // Matches any alphabetical characters followed by ://
    +            // Matches protocol relative "//"
    +            // Matches common external protocols "mailto:" "tel:" "maps:"
    +            // Matches relative hash link, begins with "#"
    +            var urlSchemeRegex = /^([a-z]+:)?\/\/|^(mailto|tel|maps):|^\#/i,
    +                hasScheme = urlSchemeRegex.test(value),
    +                scheme = '',
    +                // telRegex is a regex for checking if the string is a telephone number
    +                telRegex = /^\+?\s?\(?(?:\d\s?\-?\)?){3,20}$/,
    +                urlParts = value.match(/^(.*?)(?:\?(.*?))?(?:#(.*))?$/),
    +                path = urlParts[1],
    +                query = urlParts[2],
    +                fragment = urlParts[3];
    + 
    +            if (telRegex.test(value)) {
    +                return 'tel:' + value;
    +            }
    + 
    +            if (!hasScheme) {
    +                var host = path.split('/')[0];
    +                // if the host part of the path looks like a hostname
    +                if (host.match(/.+(\.|:).+/) || host === 'localhost') {
    +                    scheme = 'http://';
    +                }
    +            }
    + 
    +            return scheme +
    +                // Ensure path is encoded
    +                this.ensureEncodedUri(path) +
    +                // Ensure query is encoded
    +                (query === undefined ? '' : '?' + this.ensureEncodedQuery(query)) +
    +                // Include fragment unencoded as encodeUriComponent is too
    +                // heavy handed for the many characters allowed in a fragment
    +                (fragment === undefined ? '' : '#' + fragment);
    +        },
    + 
    +        doFormCancel: function () {
    +            this.base.restoreSelection();
    +            this.base.checkSelection();
    +        },
    + 
    +        // form creation and event handling
    +        attachFormEvents: function (form) {
    +            var close = form.querySelector('.medium-editor-toolbar-close'),
    +                save = form.querySelector('.medium-editor-toolbar-save'),
    +                input = form.querySelector('.medium-editor-toolbar-input');
    + 
    +            // Handle clicks on the form itself
    +            this.on(form, 'click', this.handleFormClick.bind(this));
    + 
    +            // Handle typing in the textbox
    +            this.on(input, 'keyup', this.handleTextboxKeyup.bind(this));
    + 
    +            // Handle close button clicks
    +            this.on(close, 'click', this.handleCloseClick.bind(this));
    + 
    +            // Handle save button clicks (capture)
    +            this.on(save, 'click', this.handleSaveClick.bind(this), true);
    + 
    +        },
    + 
    +        createForm: function () {
    +            var doc = this.document,
    +                form = doc.createElement('div');
    + 
    +            // Anchor Form (div)
    +            form.className = 'medium-editor-toolbar-form';
    +            form.id = 'medium-editor-toolbar-form-anchor-' + this.getEditorId();
    +            form.innerHTML = this.getTemplate();
    +            this.attachFormEvents(form);
    + 
    +            return form;
    +        },
    + 
    +        getInput: function () {
    +            return this.getForm().querySelector('input.medium-editor-toolbar-input');
    +        },
    + 
    +        getAnchorTargetCheckbox: function () {
    +            return this.getForm().querySelector('.medium-editor-toolbar-anchor-target');
    +        },
    + 
    +        getAnchorButtonCheckbox: function () {
    +            return this.getForm().querySelector('.medium-editor-toolbar-anchor-button');
    +        },
    + 
    +        handleTextboxKeyup: function (event) {
    +            // For ENTER -> create the anchor
    +            if (event.keyCode === MediumEditor.util.keyCode.ENTER) {
    +                event.preventDefault();
    +                this.doFormSave();
    +                return;
    +            }
    + 
    +            // For ESCAPE -> close the form
    +            if (event.keyCode === MediumEditor.util.keyCode.ESCAPE) {
    +                event.preventDefault();
    +                this.doFormCancel();
    +            }
    +        },
    + 
    +        handleFormClick: function (event) {
    +            // make sure not to hide form when clicking inside the form
    +            event.stopPropagation();
    +        },
    + 
    +        handleSaveClick: function (event) {
    +            // Clicking Save -> create the anchor
    +            event.preventDefault();
    +            this.doFormSave();
    +        },
    + 
    +        handleCloseClick: function (event) {
    +            // Click Close -> close the form
    +            event.preventDefault();
    +            this.doFormCancel();
    +        }
    +    });
    + 
    +    MediumEditor.extensions.anchor = AnchorForm;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/auto-link.js.html b/reports/jasmine/lcov/lcov-report/js/extensions/auto-link.js.html new file mode 100644 index 0000000..2ea539f --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/auto-link.js.html @@ -0,0 +1,824 @@ + + + + Code coverage report for js/extensions/auto-link.js + + + + + + + +
    +
    +

    + all files / js/extensions/ auto-link.js +

    +
    +
    + 9% + Statements + 9/100 +
    +
    + 0% + Branches + 0/56 +
    +
    + 6.25% + Functions + 1/16 +
    +
    + 9% + Lines + 9/100 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +  +  + +  +  +  +  +  + +  + +  +  +  +  +  +  +  +  + +  +  +  +  +  +  + +  + +  + +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var WHITESPACE_CHARS,
    +        KNOWN_TLDS_FRAGMENT,
    +        LINK_REGEXP_TEXT,
    +        KNOWN_TLDS_REGEXP,
    +        LINK_REGEXP;
    + 
    +    WHITESPACE_CHARS = [' ', '\t', '\n', '\r', '\u00A0', '\u2000', '\u2001', '\u2002', '\u2003',
    +                                    '\u2028', '\u2029'];
    +    KNOWN_TLDS_FRAGMENT = 'com|net|org|edu|gov|mil|aero|asia|biz|cat|coop|info|int|jobs|mobi|museum|name|post|pro|tel|travel|' +
    +        'xxx|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|' +
    +        'bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|' +
    +        'fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|' +
    +        'is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|' +
    +        'mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|' +
    +        'pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|ja|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|' +
    +        'tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw';
    + 
    +    LINK_REGEXP_TEXT =
    +        '(' +
    +        // Version of Gruber URL Regexp optimized for JS: http://stackoverflow.com/a/17733640
    +        '((?:(https?://|ftps?://|nntp://)|www\\d{0,3}[.]|[a-z0-9.\\-]+[.](' + KNOWN_TLDS_FRAGMENT + ')\\\/)\\S+(?:[^\\s`!\\[\\]{};:\'\".,?\u00AB\u00BB\u201C\u201D\u2018\u2019]))' +
    +        // Addition to above Regexp to support bare domains/one level subdomains with common non-i18n TLDs and without www prefix:
    +        ')|(([a-z0-9\\-]+\\.)?[a-z0-9\\-]+\\.(' + KNOWN_TLDS_FRAGMENT + '))';
    + 
    +    KNOWN_TLDS_REGEXP = new RegExp('^(' + KNOWN_TLDS_FRAGMENT + ')$', 'i');
    + 
    +    LINK_REGEXP = new RegExp(LINK_REGEXP_TEXT, 'gi');
    + 
    +    function nodeIsNotInsideAnchorTag(node) {
    +        return !MediumEditor.util.getClosestTag(node, 'a');
    +    }
    + 
    +    var AutoLink = MediumEditor.Extension.extend({
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            this.disableEventHandling = false;
    +            this.subscribe('editableKeypress', this.onKeypress.bind(this));
    +            this.subscribe('editableBlur', this.onBlur.bind(this));
    +            // MS IE has it's own auto-URL detect feature but ours is better in some ways. Be consistent.
    +            this.document.execCommand('AutoUrlDetect', false, false);
    +        },
    + 
    +        isLastInstance: function () {
    +            var activeInstances = 0;
    +            for (var i = 0; i < this.window._mediumEditors.length; i++) {
    +                var editor = this.window._mediumEditors[i];
    +                if (editor !== null && editor.getExtensionByName('autoLink') !== undefined) {
    +                    activeInstances++;
    +                }
    +            }
    +            return activeInstances === 1;
    +        },
    + 
    +        destroy: function () {
    +            // Turn AutoUrlDetect back on
    +            if (this.document.queryCommandSupported('AutoUrlDetect') && this.isLastInstance()) {
    +                this.document.execCommand('AutoUrlDetect', false, true);
    +            }
    +        },
    + 
    +        onBlur: function (blurEvent, editable) {
    +            this.performLinking(editable);
    +        },
    + 
    +        onKeypress: function (keyPressEvent) {
    +            if (this.disableEventHandling) {
    +                return;
    +            }
    + 
    +            if (MediumEditor.util.isKey(keyPressEvent, [MediumEditor.util.keyCode.SPACE, MediumEditor.util.keyCode.ENTER])) {
    +                clearTimeout(this.performLinkingTimeout);
    +                // Saving/restoring the selection in the middle of a keypress doesn't work well...
    +                this.performLinkingTimeout = setTimeout(function () {
    +                    try {
    +                        var sel = this.base.exportSelection();
    +                        if (this.performLinking(keyPressEvent.target)) {
    +                            // pass true for favorLaterSelectionAnchor - this is needed for links at the end of a
    +                            // paragraph in MS IE, or MS IE causes the link to be deleted right after adding it.
    +                            this.base.importSelection(sel, true);
    +                        }
    +                    } catch (e) {
    +                        if (window.console) {
    +                            window.console.error('Failed to perform linking', e);
    +                        }
    +                        this.disableEventHandling = true;
    +                    }
    +                }.bind(this), 0);
    +            }
    +        },
    + 
    +        performLinking: function (contenteditable) {
    +            /*
    +            Perform linking on blockElement basis, blockElements are HTML elements with text content and without
    +            child element.
    + 
    +            Example:
    +            - HTML content
    +            <blockquote>
    +              <p>link.</p>
    +              <p>my</p>
    +            </blockquote>
    + 
    +            - blockElements
    +            [<p>link.</p>, <p>my</p>]
    + 
    +            otherwise the detection can wrongly find the end of one paragraph and the beginning of another paragraph
    +            to constitute a link, such as a paragraph ending "link." and the next paragraph beginning with "my" is
    +            interpreted into "link.my" and the code tries to create a link across blockElements - which doesn't work
    +            and is terrible.
    +            (Medium deletes the spaces/returns between P tags so the textContent ends up without paragraph spacing)
    +            */
    +            var blockElements = MediumEditor.util.splitByBlockElements(contenteditable),
    +                documentModified = false;
    +            if (blockElements.length === 0) {
    +                blockElements = [contenteditable];
    +            }
    +            for (var i = 0; i < blockElements.length; i++) {
    +                documentModified = this.removeObsoleteAutoLinkSpans(blockElements[i]) || documentModified;
    +                documentModified = this.performLinkingWithinElement(blockElements[i]) || documentModified;
    +            }
    +            this.base.events.updateInput(contenteditable, { target: contenteditable, currentTarget: contenteditable });
    +            return documentModified;
    +        },
    + 
    +        removeObsoleteAutoLinkSpans: function (element) {
    +            if (!element || element.nodeType === 3) {
    +                return false;
    +            }
    + 
    +            var spans = element.querySelectorAll('span[data-auto-link="true"]'),
    +                documentModified = false;
    + 
    +            for (var i = 0; i < spans.length; i++) {
    +                var textContent = spans[i].textContent;
    +                if (textContent.indexOf('://') === -1) {
    +                    textContent = MediumEditor.util.ensureUrlHasProtocol(textContent);
    +                }
    +                if (spans[i].getAttribute('data-href') !== textContent && nodeIsNotInsideAnchorTag(spans[i])) {
    +                    documentModified = true;
    +                    var trimmedTextContent = textContent.replace(/\s+$/, '');
    +                    if (spans[i].getAttribute('data-href') === trimmedTextContent) {
    +                        var charactersTrimmed = textContent.length - trimmedTextContent.length,
    +                            subtree = MediumEditor.util.splitOffDOMTree(spans[i], this.splitTextBeforeEnd(spans[i], charactersTrimmed));
    +                        spans[i].parentNode.insertBefore(subtree, spans[i].nextSibling);
    +                    } else {
    +                        // Some editing has happened to the span, so just remove it entirely. The user can put it back
    +                        // around just the href content if they need to prevent it from linking
    +                        MediumEditor.util.unwrap(spans[i], this.document);
    +                    }
    +                }
    +            }
    +            return documentModified;
    +        },
    + 
    +        splitTextBeforeEnd: function (element, characterCount) {
    +            var treeWalker = this.document.createTreeWalker(element, NodeFilter.SHOW_TEXT, null, false),
    +                lastChildNotExhausted = true;
    + 
    +            // Start the tree walker at the last descendant of the span
    +            while (lastChildNotExhausted) {
    +                lastChildNotExhausted = treeWalker.lastChild() !== null;
    +            }
    + 
    +            var currentNode,
    +                currentNodeValue,
    +                previousNode;
    +            while (characterCount > 0 && previousNode !== null) {
    +                currentNode = treeWalker.currentNode;
    +                currentNodeValue = currentNode.nodeValue;
    +                if (currentNodeValue.length > characterCount) {
    +                    previousNode = currentNode.splitText(currentNodeValue.length - characterCount);
    +                    characterCount = 0;
    +                } else {
    +                    previousNode = treeWalker.previousNode();
    +                    characterCount -= currentNodeValue.length;
    +                }
    +            }
    +            return previousNode;
    +        },
    + 
    +        performLinkingWithinElement: function (element) {
    +            var matches = this.findLinkableText(element),
    +                linkCreated = false;
    + 
    +            for (var matchIndex = 0; matchIndex < matches.length; matchIndex++) {
    +                var matchingTextNodes = MediumEditor.util.findOrCreateMatchingTextNodes(this.document, element,
    +                        matches[matchIndex]);
    +                if (this.shouldNotLink(matchingTextNodes)) {
    +                    continue;
    +                }
    +                this.createAutoLink(matchingTextNodes, matches[matchIndex].href);
    +            }
    +            return linkCreated;
    +        },
    + 
    +        shouldNotLink: function (textNodes) {
    +            var shouldNotLink = false;
    +            for (var i = 0; i < textNodes.length && shouldNotLink === false; i++) {
    +                // Do not link if the text node is either inside an anchor or inside span[data-auto-link]
    +                shouldNotLink = !!MediumEditor.util.traverseUp(textNodes[i], function (node) {
    +                    return node.nodeName.toLowerCase() === 'a' ||
    +                        (node.getAttribute && node.getAttribute('data-auto-link') === 'true');
    +                });
    +            }
    +            return shouldNotLink;
    +        },
    + 
    +        findLinkableText: function (contenteditable) {
    +            var textContent = contenteditable.textContent,
    +                match = null,
    +                matches = [];
    + 
    +            while ((match = LINK_REGEXP.exec(textContent)) !== null) {
    +                var matchOk = true,
    +                    matchEnd = match.index + match[0].length;
    +                // If the regexp detected something as a link that has text immediately preceding/following it, bail out.
    +                matchOk = (match.index === 0 || WHITESPACE_CHARS.indexOf(textContent[match.index - 1]) !== -1) &&
    +                    (matchEnd === textContent.length || WHITESPACE_CHARS.indexOf(textContent[matchEnd]) !== -1);
    +                // If the regexp detected a bare domain that doesn't use one of our expected TLDs, bail out.
    +                matchOk = matchOk && (match[0].indexOf('/') !== -1 ||
    +                    KNOWN_TLDS_REGEXP.test(match[0].split('.').pop().split('?').shift()));
    + 
    +                if (matchOk) {
    +                    matches.push({
    +                        href: match[0],
    +                        start: match.index,
    +                        end: matchEnd
    +                    });
    +                }
    +            }
    +            return matches;
    +        },
    + 
    +        createAutoLink: function (textNodes, href) {
    +            href = MediumEditor.util.ensureUrlHasProtocol(href);
    +            var anchor = MediumEditor.util.createLink(this.document, textNodes, href, this.getEditorOption('targetBlank') ? '_blank' : null),
    +                span = this.document.createElement('span');
    +            span.setAttribute('data-auto-link', 'true');
    +            span.setAttribute('data-href', href);
    +            anchor.insertBefore(span, anchor.firstChild);
    +            while (anchor.childNodes.length > 1) {
    +                span.appendChild(anchor.childNodes[1]);
    +            }
    +        }
    + 
    +    });
    + 
    +    MediumEditor.extensions.autoLink = AutoLink;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/button.js.html b/reports/jasmine/lcov/lcov-report/js/extensions/button.js.html new file mode 100644 index 0000000..1149a60 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/button.js.html @@ -0,0 +1,770 @@ + + + + Code coverage report for js/extensions/button.js + + + + + + + +
    +
    +

    + all files / js/extensions/ button.js +

    +
    +
    + 3.33% + Statements + 2/60 +
    +
    + 0% + Branches + 0/42 +
    +
    + 5.56% + Functions + 1/18 +
    +
    + 3.33% + Lines + 2/60 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var Button = MediumEditor.Extension.extend({
    + 
    +        /* Button Options */
    + 
    +        /* action: [string]
    +         * The action argument to pass to MediumEditor.execAction()
    +         * when the button is clicked
    +         */
    +        action: undefined,
    + 
    +        /* aria: [string]
    +         * The value to add as the aria-label attribute of the button
    +         * element displayed in the toolbar.
    +         * This is also used as the tooltip for the button
    +         */
    +        aria: undefined,
    + 
    +        /* tagNames: [Array]
    +         * NOTE: This is not used if useQueryState is set to true.
    +         *
    +         * Array of element tag names that would indicate that this
    +         * button has already been applied. If this action has already
    +         * been applied, the button will be displayed as 'active' in the toolbar
    +         *
    +         * Example:
    +         * For 'bold', if the text is ever within a <b> or <strong>
    +         * tag that indicates the text is already bold. So the array
    +         * of tagNames for bold would be: ['b', 'strong']
    +         */
    +        tagNames: undefined,
    + 
    +        /* style: [Object]
    +         * NOTE: This is not used if useQueryState is set to true.
    +         *
    +         * A pair of css property & value(s) that indicate that this
    +         * button has already been applied. If this action has already
    +         * been applied, the button will be displayed as 'active' in the toolbar
    +         * Properties of the object:
    +         *   prop [String]: name of the css property
    +         *   value [String]: value(s) of the css property
    +         *                   multiple values can be separated by a '|'
    +         *
    +         * Example:
    +         * For 'bold', if the text is ever within an element with a 'font-weight'
    +         * style property set to '700' or 'bold', that indicates the text
    +         * is already bold.  So the style object for bold would be:
    +         * { prop: 'font-weight', value: '700|bold' }
    +         */
    +        style: undefined,
    + 
    +        /* useQueryState: [boolean]
    +         * Enables/disables whether this button should use the built-in
    +         * document.queryCommandState() method to determine whether
    +         * the action has already been applied.  If the action has already
    +         * been applied, the button will be displayed as 'active' in the toolbar
    +         *
    +         * Example:
    +         * For 'bold', if this is set to true, the code will call:
    +         * document.queryCommandState('bold') which will return true if the
    +         * browser thinks the text is already bold, and false otherwise
    +         */
    +        useQueryState: undefined,
    + 
    +        /* contentDefault: [string]
    +         * Default innerHTML to put inside the button
    +         */
    +        contentDefault: undefined,
    + 
    +        /* contentFA: [string]
    +         * The innerHTML to use for the content of the button
    +         * if the `buttonLabels` option for MediumEditor is set to 'fontawesome'
    +         */
    +        contentFA: undefined,
    + 
    +        /* classList: [Array]
    +         * An array of classNames (strings) to be added to the button
    +         */
    +        classList: undefined,
    + 
    +        /* attrs: [object]
    +         * A set of key-value pairs to add to the button as custom attributes
    +         */
    +        attrs: undefined,
    + 
    +        // The button constructor can optionally accept the name of a built-in button
    +        // (ie 'bold', 'italic', etc.)
    +        // When the name of a button is passed, it will initialize itself with the
    +        // configuration for that button
    +        constructor: function (options) {
    +            if (Button.isBuiltInButton(options)) {
    +                MediumEditor.Extension.call(this, this.defaults[options]);
    +            } else {
    +                MediumEditor.Extension.call(this, options);
    +            }
    +        },
    + 
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            this.button = this.createButton();
    +            this.on(this.button, 'click', this.handleClick.bind(this));
    +        },
    + 
    +        /* getButton: [function ()]
    +         *
    +         * If implemented, this function will be called when
    +         * the toolbar is being created.  The DOM Element returned
    +         * by this function will be appended to the toolbar along
    +         * with any other buttons.
    +         */
    +        getButton: function () {
    +            return this.button;
    +        },
    + 
    +        getAction: function () {
    +            return (typeof this.action === 'function') ? this.action(this.base.options) : this.action;
    +        },
    + 
    +        getAria: function () {
    +            return (typeof this.aria === 'function') ? this.aria(this.base.options) : this.aria;
    +        },
    + 
    +        getTagNames: function () {
    +            return (typeof this.tagNames === 'function') ? this.tagNames(this.base.options) : this.tagNames;
    +        },
    + 
    +        createButton: function () {
    +            var button = this.document.createElement('button'),
    +                content = this.contentDefault,
    +                ariaLabel = this.getAria(),
    +                buttonLabels = this.getEditorOption('buttonLabels');
    +            // Add class names
    +            button.classList.add('medium-editor-action');
    +            button.classList.add('medium-editor-action-' + this.name);
    +            if (this.classList) {
    +                this.classList.forEach(function (className) {
    +                    button.classList.add(className);
    +                });
    +            }
    + 
    +            // Add attributes
    +            button.setAttribute('data-action', this.getAction());
    +            if (ariaLabel) {
    +                button.setAttribute('title', ariaLabel);
    +                button.setAttribute('aria-label', ariaLabel);
    +            }
    +            if (this.attrs) {
    +                Object.keys(this.attrs).forEach(function (attr) {
    +                    button.setAttribute(attr, this.attrs[attr]);
    +                }, this);
    +            }
    + 
    +            if (buttonLabels === 'fontawesome' && this.contentFA) {
    +                content = this.contentFA;
    +            }
    +            button.innerHTML = content;
    +            return button;
    +        },
    + 
    +        handleClick: function (event) {
    +            event.preventDefault();
    +            event.stopPropagation();
    + 
    +            var action = this.getAction();
    + 
    +            if (action) {
    +                this.execAction(action);
    +            }
    +        },
    + 
    +        isActive: function () {
    +            return this.button.classList.contains(this.getEditorOption('activeButtonClass'));
    +        },
    + 
    +        setInactive: function () {
    +            this.button.classList.remove(this.getEditorOption('activeButtonClass'));
    +            delete this.knownState;
    +        },
    + 
    +        setActive: function () {
    +            this.button.classList.add(this.getEditorOption('activeButtonClass'));
    +            delete this.knownState;
    +        },
    + 
    +        queryCommandState: function () {
    +            var queryState = null;
    +            if (this.useQueryState) {
    +                queryState = this.base.queryCommandState(this.getAction());
    +            }
    +            return queryState;
    +        },
    + 
    +        isAlreadyApplied: function (node) {
    +            var isMatch = false,
    +                tagNames = this.getTagNames(),
    +                styleVals,
    +                computedStyle;
    + 
    +            if (this.knownState === false || this.knownState === true) {
    +                return this.knownState;
    +            }
    + 
    +            if (tagNames && tagNames.length > 0) {
    +                isMatch = tagNames.indexOf(node.nodeName.toLowerCase()) !== -1;
    +            }
    + 
    +            if (!isMatch && this.style) {
    +                styleVals = this.style.value.split('|');
    +                computedStyle = this.window.getComputedStyle(node, null).getPropertyValue(this.style.prop);
    +                styleVals.forEach(function (val) {
    +                    if (!this.knownState) {
    +                        isMatch = (computedStyle.indexOf(val) !== -1);
    +                        // text-decoration is not inherited by default
    +                        // so if the computed style for text-decoration doesn't match
    +                        // don't write to knownState so we can fallback to other checks
    +                        if (isMatch || this.style.prop !== 'text-decoration') {
    +                            this.knownState = isMatch;
    +                        }
    +                    }
    +                }, this);
    +            }
    + 
    +            return isMatch;
    +        }
    +    });
    + 
    +    Button.isBuiltInButton = function (name) {
    +        return (typeof name === 'string') && MediumEditor.extensions.button.prototype.defaults.hasOwnProperty(name);
    +    };
    + 
    +    MediumEditor.extensions.button = Button;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/file-dragging.js.html b/reports/jasmine/lcov/lcov-report/js/extensions/file-dragging.js.html new file mode 100644 index 0000000..9755c73 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/file-dragging.js.html @@ -0,0 +1,332 @@ + + + + Code coverage report for js/extensions/file-dragging.js + + + + + + + +
    +
    +

    + all files / js/extensions/ file-dragging.js +

    +
    +
    + 5.13% + Statements + 2/39 +
    +
    + 0% + Branches + 0/12 +
    +
    + 0% + Functions + 0/11 +
    +
    + 5.13% + Lines + 2/39 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    ;(function ($, document, window) {
    +    'use strict';
    +    var CLASS_DRAG_OVER = 'medium-editor-dragover';
    + 
    +    function clearClassNames(element) {
    +        var editable = MediumEditor.util.getContainerEditorElement(element),
    +            existing = Array.prototype.slice.call(editable.parentElement.querySelectorAll('.' + CLASS_DRAG_OVER));
    + 
    +        existing.forEach(function (el) {
    +            el.classList.remove(CLASS_DRAG_OVER);
    +        });
    +    }
    + 
    +    var FileDragging = MediumEditor.Extension.extend({
    +        name: 'fileDragging',
    + 
    +        allowedTypes: ['image'],
    + 
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            this.subscribe('editableDrag', this.handleDrag.bind(this));
    +            this.subscribe('editableDrop', this.handleDrop.bind(this));
    +        },
    + 
    +        handleDrag: function (event) {
    +            event.preventDefault();
    +            event.dataTransfer.dropEffect = 'copy';
    + 
    +            var target = event.target.classList ? event.target : event.target.parentElement;
    + 
    +            // Ensure the class gets removed from anything that had it before
    +            clearClassNames(target);
    + 
    +            if (event.type === 'dragover') {
    +                target.classList.add(CLASS_DRAG_OVER);
    +            }
    +        },
    + 
    +        handleDrop: function (event) {
    +            // Prevent file from opening in the current window
    +            event.preventDefault();
    +            event.stopPropagation();
    +            // Select the dropping target, and set the selection to the end of the target
    +            // https://github.com/yabwe/medium-editor/issues/980
    +            this.base.selectElement(event.target);
    +            var selection = this.base.exportSelection();
    +            selection.start = selection.end;
    +            this.base.importSelection(selection);
    +            // IE9 does not support the File API, so prevent file from opening in the window
    +            // but also don't try to actually get the file
    +            if (event.dataTransfer.files) {
    +                Array.prototype.slice.call(event.dataTransfer.files).forEach(function (file) {
    +                    if (this.isAllowedFile(file)) {
    +                        if (file.type.match('image')) {
    +                            this.insertImageFile(file);
    +                        }
    +                    }
    +                }, this);
    +            }
    + 
    +            // Make sure we remove our class from everything
    +            clearClassNames(event.target);
    +        },
    + 
    +        isAllowedFile: function (file) {
    +            return this.allowedTypes.some(function (fileType) {
    +                return !!file.type.match(fileType);
    +            });
    +        },
    + 
    +        insertImageFile: function (file) {
    +            if (typeof FileReader !== 'function') {
    +                return;
    +            }
    +            var fileReader = new FileReader();
    +            fileReader.readAsDataURL(file);
    + 
    +            // attach the onload event handler, makes it easier to listen in with jasmine
    +            fileReader.addEventListener('load', function (e) {
    +                var addImageElement = this.document.createElement('img');
    +                addImageElement.src = e.target.result;
    +                MediumEditor.util.insertHTMLCommand(this.document, addImageElement.outerHTML);
    +            }.bind(this));
    +        }
    +    });
    + 
    +    MediumEditor.extensions.fileDragging = FileDragging;
    +})($, document, window);
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/fontname.js.html b/reports/jasmine/lcov/lcov-report/js/extensions/fontname.js.html new file mode 100644 index 0000000..256bb69 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/fontname.js.html @@ -0,0 +1,617 @@ + + + + Code coverage report for js/extensions/fontname.js + + + + + + + +
    +
    +

    + all files / js/extensions/ fontname.js +

    +
    +
    + 2.9% + Statements + 2/69 +
    +
    + 0% + Branches + 0/20 +
    +
    + 5.56% + Functions + 1/18 +
    +
    + 2.9% + Lines + 2/69 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var FontNameForm = MediumEditor.extensions.form.extend({
    + 
    +        name: 'fontname',
    +        action: 'fontName',
    +        aria: 'change font name',
    +        contentDefault: '&#xB1;', // ±
    +        contentFA: '<i class="fa fa-font"></i>',
    + 
    +        fonts: ['', 'Arial', 'Verdana', 'Times New Roman'],
    + 
    +        init: function () {
    +            MediumEditor.extensions.form.prototype.init.apply(this, arguments);
    +        },
    + 
    +        // Called when the button the toolbar is clicked
    +        // Overrides ButtonExtension.handleClick
    +        handleClick: function (event) {
    +            event.preventDefault();
    +            event.stopPropagation();
    + 
    +            if (!this.isDisplayed()) {
    +                // Get FontName of current selection (convert to string since IE returns this as number)
    +                var fontName = this.document.queryCommandValue('fontName') + '';
    +                this.showForm(fontName);
    +            }
    + 
    +            return false;
    +        },
    + 
    +        // Called by medium-editor to append form to the toolbar
    +        getForm: function () {
    +            if (!this.form) {
    +                this.form = this.createForm();
    +            }
    +            return this.form;
    +        },
    + 
    +        // Used by medium-editor when the default toolbar is to be displayed
    +        isDisplayed: function () {
    +            return this.getForm().style.display === 'block';
    +        },
    + 
    +        hideForm: function () {
    +            this.getForm().style.display = 'none';
    +            this.getSelect().value = '';
    +        },
    + 
    +        showForm: function (fontName) {
    +            var select = this.getSelect();
    + 
    +            this.base.saveSelection();
    +            this.hideToolbarDefaultActions();
    +            this.getForm().style.display = 'block';
    +            this.setToolbarPosition();
    + 
    +            select.value = fontName || '';
    +            select.focus();
    +        },
    + 
    +        // Called by core when tearing down medium-editor (destroy)
    +        destroy: function () {
    +            if (!this.form) {
    +                return false;
    +            }
    + 
    +            if (this.form.parentNode) {
    +                this.form.parentNode.removeChild(this.form);
    +            }
    + 
    +            delete this.form;
    +        },
    + 
    +        // core methods
    + 
    +        doFormSave: function () {
    +            this.base.restoreSelection();
    +            this.base.checkSelection();
    +        },
    + 
    +        doFormCancel: function () {
    +            this.base.restoreSelection();
    +            this.clearFontName();
    +            this.base.checkSelection();
    +        },
    + 
    +        // form creation and event handling
    +        createForm: function () {
    +            var doc = this.document,
    +                form = doc.createElement('div'),
    +                select = doc.createElement('select'),
    +                close = doc.createElement('a'),
    +                save = doc.createElement('a'),
    +                option;
    + 
    +            // Font Name Form (div)
    +            form.className = 'medium-editor-toolbar-form';
    +            form.id = 'medium-editor-toolbar-form-fontname-' + this.getEditorId();
    + 
    +            // Handle clicks on the form itself
    +            this.on(form, 'click', this.handleFormClick.bind(this));
    + 
    +            // Add font names
    +            for (var i = 0; i<this.fonts.length; i++) {
    +                option = doc.createElement('option');
    +                option.innerHTML = this.fonts[i];
    +                option.value = this.fonts[i];
    +                select.appendChild(option);
    +            }
    + 
    +            select.className = 'medium-editor-toolbar-select';
    +            form.appendChild(select);
    + 
    +            // Handle typing in the textbox
    +            this.on(select, 'change', this.handleFontChange.bind(this));
    + 
    +            // Add save buton
    +            save.setAttribute('href', '#');
    +            save.className = 'medium-editor-toobar-save';
    +            save.innerHTML = this.getEditorOption('buttonLabels') === 'fontawesome' ?
    +                             '<i class="fa fa-check"></i>' :
    +                             '&#10003;';
    +            form.appendChild(save);
    + 
    +            // Handle save button clicks (capture)
    +            this.on(save, 'click', this.handleSaveClick.bind(this), true);
    + 
    +            // Add close button
    +            close.setAttribute('href', '#');
    +            close.className = 'medium-editor-toobar-close';
    +            close.innerHTML = this.getEditorOption('buttonLabels') === 'fontawesome' ?
    +                              '<i class="fa fa-times"></i>' :
    +                              '&times;';
    +            form.appendChild(close);
    + 
    +            // Handle close button clicks
    +            this.on(close, 'click', this.handleCloseClick.bind(this));
    + 
    +            return form;
    +        },
    + 
    +        getSelect: function () {
    +            return this.getForm().querySelector('select.medium-editor-toolbar-select');
    +        },
    + 
    +        clearFontName: function () {
    +            MediumEditor.selection.getSelectedElements(this.document).forEach(function (el) {
    +                if (el.nodeName.toLowerCase() === 'font' && el.hasAttribute('face')) {
    +                    el.removeAttribute('face');
    +                }
    +            });
    +        },
    + 
    +        handleFontChange: function () {
    +            var font = this.getSelect().value;
    +            if (font === '') {
    +                this.clearFontName();
    +            } else {
    +                this.execAction('fontName', { value: font });
    +            }
    +        },
    + 
    +        handleFormClick: function (event) {
    +            // make sure not to hide form when clicking inside the form
    +            event.stopPropagation();
    +        },
    + 
    +        handleSaveClick: function (event) {
    +            // Clicking Save -> create the font size
    +            event.preventDefault();
    +            this.doFormSave();
    +        },
    + 
    +        handleCloseClick: function (event) {
    +            // Click Close -> close the form
    +            event.preventDefault();
    +            this.doFormCancel();
    +        }
    +    });
    + 
    +    MediumEditor.extensions.fontName = FontNameForm;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/fontsize.js.html b/reports/jasmine/lcov/lcov-report/js/extensions/fontsize.js.html new file mode 100644 index 0000000..e06b136 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/fontsize.js.html @@ -0,0 +1,593 @@ + + + + Code coverage report for js/extensions/fontsize.js + + + + + + + +
    +
    +

    + all files / js/extensions/ fontsize.js +

    +
    +
    + 2.99% + Statements + 2/67 +
    +
    + 0% + Branches + 0/20 +
    +
    + 5.56% + Functions + 1/18 +
    +
    + 2.99% + Lines + 2/67 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var FontSizeForm = MediumEditor.extensions.form.extend({
    + 
    +        name: 'fontsize',
    +        action: 'fontSize',
    +        aria: 'increase/decrease font size',
    +        contentDefault: '&#xB1;', // ±
    +        contentFA: '<i class="fa fa-text-height"></i>',
    + 
    +        init: function () {
    +            MediumEditor.extensions.form.prototype.init.apply(this, arguments);
    +        },
    + 
    +        // Called when the button the toolbar is clicked
    +        // Overrides ButtonExtension.handleClick
    +        handleClick: function (event) {
    +            event.preventDefault();
    +            event.stopPropagation();
    + 
    +            if (!this.isDisplayed()) {
    +                // Get fontsize of current selection (convert to string since IE returns this as number)
    +                var fontSize = this.document.queryCommandValue('fontSize') + '';
    +                this.showForm(fontSize);
    +            }
    + 
    +            return false;
    +        },
    + 
    +        // Called by medium-editor to append form to the toolbar
    +        getForm: function () {
    +            if (!this.form) {
    +                this.form = this.createForm();
    +            }
    +            return this.form;
    +        },
    + 
    +        // Used by medium-editor when the default toolbar is to be displayed
    +        isDisplayed: function () {
    +            return this.getForm().style.display === 'block';
    +        },
    + 
    +        hideForm: function () {
    +            this.getForm().style.display = 'none';
    +            this.getInput().value = '';
    +        },
    + 
    +        showForm: function (fontSize) {
    +            var input = this.getInput();
    + 
    +            this.base.saveSelection();
    +            this.hideToolbarDefaultActions();
    +            this.getForm().style.display = 'block';
    +            this.setToolbarPosition();
    + 
    +            input.value = fontSize || '';
    +            input.focus();
    +        },
    + 
    +        // Called by core when tearing down medium-editor (destroy)
    +        destroy: function () {
    +            if (!this.form) {
    +                return false;
    +            }
    + 
    +            if (this.form.parentNode) {
    +                this.form.parentNode.removeChild(this.form);
    +            }
    + 
    +            delete this.form;
    +        },
    + 
    +        // core methods
    + 
    +        doFormSave: function () {
    +            this.base.restoreSelection();
    +            this.base.checkSelection();
    +        },
    + 
    +        doFormCancel: function () {
    +            this.base.restoreSelection();
    +            this.clearFontSize();
    +            this.base.checkSelection();
    +        },
    + 
    +        // form creation and event handling
    +        createForm: function () {
    +            var doc = this.document,
    +                form = doc.createElement('div'),
    +                input = doc.createElement('input'),
    +                close = doc.createElement('a'),
    +                save = doc.createElement('a');
    + 
    +            // Font Size Form (div)
    +            form.className = 'medium-editor-toolbar-form';
    +            form.id = 'medium-editor-toolbar-form-fontsize-' + this.getEditorId();
    + 
    +            // Handle clicks on the form itself
    +            this.on(form, 'click', this.handleFormClick.bind(this));
    + 
    +            // Add font size slider
    +            input.setAttribute('type', 'range');
    +            input.setAttribute('min', '1');
    +            input.setAttribute('max', '7');
    +            input.className = 'medium-editor-toolbar-input';
    +            form.appendChild(input);
    + 
    +            // Handle typing in the textbox
    +            this.on(input, 'change', this.handleSliderChange.bind(this));
    + 
    +            // Add save buton
    +            save.setAttribute('href', '#');
    +            save.className = 'medium-editor-toobar-save';
    +            save.innerHTML = this.getEditorOption('buttonLabels') === 'fontawesome' ?
    +                             '<i class="fa fa-check"></i>' :
    +                             '&#10003;';
    +            form.appendChild(save);
    + 
    +            // Handle save button clicks (capture)
    +            this.on(save, 'click', this.handleSaveClick.bind(this), true);
    + 
    +            // Add close button
    +            close.setAttribute('href', '#');
    +            close.className = 'medium-editor-toobar-close';
    +            close.innerHTML = this.getEditorOption('buttonLabels') === 'fontawesome' ?
    +                              '<i class="fa fa-times"></i>' :
    +                              '&times;';
    +            form.appendChild(close);
    + 
    +            // Handle close button clicks
    +            this.on(close, 'click', this.handleCloseClick.bind(this));
    + 
    +            return form;
    +        },
    + 
    +        getInput: function () {
    +            return this.getForm().querySelector('input.medium-editor-toolbar-input');
    +        },
    + 
    +        clearFontSize: function () {
    +            MediumEditor.selection.getSelectedElements(this.document).forEach(function (el) {
    +                if (el.nodeName.toLowerCase() === 'font' && el.hasAttribute('size')) {
    +                    el.removeAttribute('size');
    +                }
    +            });
    +        },
    + 
    +        handleSliderChange: function () {
    +            var size = this.getInput().value;
    +            if (size === '4') {
    +                this.clearFontSize();
    +            } else {
    +                this.execAction('fontSize', { value: size });
    +            }
    +        },
    + 
    +        handleFormClick: function (event) {
    +            // make sure not to hide form when clicking inside the form
    +            event.stopPropagation();
    +        },
    + 
    +        handleSaveClick: function (event) {
    +            // Clicking Save -> create the font size
    +            event.preventDefault();
    +            this.doFormSave();
    +        },
    + 
    +        handleCloseClick: function (event) {
    +            // Click Close -> close the form
    +            event.preventDefault();
    +            this.doFormCancel();
    +        }
    +    });
    + 
    +    MediumEditor.extensions.fontSize = FontSizeForm;
    +}());
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/form.js.html b/reports/jasmine/lcov/lcov-report/js/extensions/form.js.html new file mode 100644 index 0000000..5cdd32c --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/form.js.html @@ -0,0 +1,422 @@ + + + + Code coverage report for js/extensions/form.js + + + + + + + +
    +
    +

    + all files / js/extensions/ form.js +

    +
    +
    + 10% + Statements + 2/20 +
    +
    + 0% + Branches + 0/12 +
    +
    + 11.11% + Functions + 1/9 +
    +
    + 10% + Lines + 2/20 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    /* Base functionality for an extension which will display
    +     * a 'form' inside the toolbar
    +     */
    +    var FormExtension = MediumEditor.extensions.button.extend({
    + 
    +        init: function () {
    +            MediumEditor.extensions.button.prototype.init.apply(this, arguments);
    +        },
    + 
    +        // default labels for the form buttons
    +        formSaveLabel: '&#10003;',
    +        formCloseLabel: '&times;',
    + 
    +        /* activeClass: [string]
    +         * set class which added to shown form
    +         */
    +        activeClass: 'medium-editor-toolbar-form-active',
    + 
    +        /* hasForm: [boolean]
    +         *
    +         * Setting this to true will cause getForm() to be called
    +         * when the toolbar is created, so the form can be appended
    +         * inside the toolbar container
    +         */
    +        hasForm: true,
    + 
    +        /* getForm: [function ()]
    +         *
    +         * When hasForm is true, this function must be implemented
    +         * and return a DOM Element which will be appended to
    +         * the toolbar container. The form should start hidden, and
    +         * the extension can choose when to hide/show it
    +         */
    +        getForm: function () {},
    + 
    +        /* isDisplayed: [function ()]
    +         *
    +         * This function should return true/false reflecting
    +         * whether the form is currently displayed
    +         */
    +        isDisplayed: function () {
    +            if (this.hasForm) {
    +                return this.getForm().classList.contains(this.activeClass);
    +            }
    +            return false;
    +        },
    + 
    +        /* hideForm: [function ()]
    +         *
    +         * This function should show the form element inside
    +         * the toolbar container
    +         */
    +        showForm: function () {
    +            if (this.hasForm) {
    +                this.getForm().classList.add(this.activeClass);
    +            }
    +        },
    + 
    +        /* hideForm: [function ()]
    +         *
    +         * This function should hide the form element inside
    +         * the toolbar container
    +         */
    +        hideForm: function () {
    +            if (this.hasForm) {
    +                this.getForm().classList.remove(this.activeClass);
    +            }
    +        },
    + 
    +        /************************ Helpers ************************
    +         * The following are helpers that are either set by MediumEditor
    +         * during initialization, or are helper methods which either
    +         * route calls to the MediumEditor instance or provide common
    +         * functionality for all form extensions
    +         *********************************************************/
    + 
    +        /* showToolbarDefaultActions: [function ()]
    +         *
    +         * Helper method which will turn back the toolbar after canceling
    +         * the customized form
    +         */
    +        showToolbarDefaultActions: function () {
    +            var toolbar = this.base.getExtensionByName('toolbar');
    +            if (toolbar) {
    +                toolbar.showToolbarDefaultActions();
    +            }
    +        },
    + 
    +        /* hideToolbarDefaultActions: [function ()]
    +         *
    +         * Helper function which will hide the default contents of the
    +         * toolbar, but leave the toolbar container in the same state
    +         * to allow a form to display its custom contents inside the toolbar
    +         */
    +        hideToolbarDefaultActions: function () {
    +            var toolbar = this.base.getExtensionByName('toolbar');
    +            if (toolbar) {
    +                toolbar.hideToolbarDefaultActions();
    +            }
    +        },
    + 
    +        /* setToolbarPosition: [function ()]
    +         *
    +         * Helper function which will update the size and position
    +         * of the toolbar based on the toolbar content and the current
    +         * position of the user's selection
    +         */
    +        setToolbarPosition: function () {
    +            var toolbar = this.base.getExtensionByName('toolbar');
    +            if (toolbar) {
    +                toolbar.setToolbarPosition();
    +            }
    +        }
    +    });
    + 
    +    MediumEditor.extensions.form = FormExtension;
    +})();
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/index.html b/reports/jasmine/lcov/lcov-report/js/extensions/index.html new file mode 100644 index 0000000..0d74a4b --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/index.html @@ -0,0 +1,236 @@ + + + + Code coverage report for js/extensions/ + + + + + + + +
    +
    +

    + all files js/extensions/ +

    +
    +
    + 3.22% + Statements + 34/1055 +
    +
    + 0% + Branches + 0/622 +
    +
    + 4.68% + Functions + 11/235 +
    +
    + 3.22% + Lines + 34/1055 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileStatementsBranchesFunctionsLines
    anchor-preview.js
    1.6%2/1250%0/634.35%1/231.6%2/125
    anchor.js
    1.92%2/1040%0/683.57%1/281.92%2/104
    auto-link.js
    9%9/1000%0/566.25%1/169%9/100
    button.js
    3.33%2/600%0/425.56%1/183.33%2/60
    file-dragging.js
    5.13%2/390%0/120%0/115.13%2/39
    fontname.js
    2.9%2/690%0/205.56%1/182.9%2/69
    fontsize.js
    2.99%2/670%0/205.56%1/182.99%2/67
    form.js
    10%2/200%0/1211.11%1/910%2/20
    keyboard-commands.js
    8.7%2/230%0/1420%1/58.7%2/23
    paste.js
    2.78%5/1800%0/1364%1/252.78%5/180
    placeholder.js
    5.26%2/380%0/226.67%1/155.26%2/38
    toolbar.js
    0.87%2/2300%0/1572.04%1/490.87%2/230
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/keyboard-commands.js.html b/reports/jasmine/lcov/lcov-report/js/extensions/keyboard-commands.js.html new file mode 100644 index 0000000..8817e74 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/keyboard-commands.js.html @@ -0,0 +1,329 @@ + + + + Code coverage report for js/extensions/keyboard-commands.js + + + + + + + +
    +
    +

    + all files / js/extensions/ keyboard-commands.js +

    +
    +
    + 8.7% + Statements + 2/23 +
    +
    + 0% + Branches + 0/14 +
    +
    + 20% + Functions + 1/5 +
    +
    + 8.7% + Lines + 2/23 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var KeyboardCommands = MediumEditor.Extension.extend({
    +        name: 'keyboard-commands',
    + 
    +        /* KeyboardCommands Options */
    + 
    +        /* commands: [Array]
    +         * Array of objects describing each command and the combination of keys that will trigger it
    +         * Required for each object:
    +         *   command [String] (argument passed to editor.execAction())
    +         *   key [String] (keyboard character that triggers this command)
    +         *   meta [boolean] (whether the ctrl/meta key has to be active or inactive)
    +         *   shift [boolean] (whether the shift key has to be active or inactive)
    +         *   alt [boolean] (whether the alt key has to be active or inactive)
    +         */
    +        commands: [
    +            {
    +                command: 'bold',
    +                key: 'B',
    +                meta: true,
    +                shift: false,
    +                alt: false
    +            },
    +            {
    +                command: 'italic',
    +                key: 'I',
    +                meta: true,
    +                shift: false,
    +                alt: false
    +            },
    +            {
    +                command: 'underline',
    +                key: 'U',
    +                meta: true,
    +                shift: false,
    +                alt: false
    +            }
    +        ],
    + 
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            this.subscribe('editableKeydown', this.handleKeydown.bind(this));
    +            this.keys = {};
    +            this.commands.forEach(function (command) {
    +                var keyCode = command.key.charCodeAt(0);
    +                if (!this.keys[keyCode]) {
    +                    this.keys[keyCode] = [];
    +                }
    +                this.keys[keyCode].push(command);
    +            }, this);
    +        },
    + 
    +        handleKeydown: function (event) {
    +            var keyCode = MediumEditor.util.getKeyCode(event);
    +            if (!this.keys[keyCode]) {
    +                return;
    +            }
    + 
    +            var isMeta = MediumEditor.util.isMetaCtrlKey(event),
    +                isShift = !!event.shiftKey,
    +                isAlt = !!event.altKey;
    + 
    +            this.keys[keyCode].forEach(function (data) {
    +                if (data.meta === isMeta &&
    +                    data.shift === isShift &&
    +                    (data.alt === isAlt ||
    +                     undefined === data.alt)) { // TODO deprecated: remove check for undefined === data.alt when jumping to 6.0.0
    +                    event.preventDefault();
    +                    event.stopPropagation();
    + 
    +                    // command can be a function to execute
    +                    if (typeof data.command === 'function') {
    +                        data.command.apply(this);
    +                    }
    +                    // command can be false so the shortcut is just disabled
    +                    else if (false !== data.command) {
    +                        this.execAction(data.command);
    +                    }
    +                }
    +            }, this);
    +        }
    +    });
    + 
    +    MediumEditor.extensions.keyboardCommands = KeyboardCommands;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/paste.js.html b/reports/jasmine/lcov/lcov-report/js/extensions/paste.js.html new file mode 100644 index 0000000..a606262 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/paste.js.html @@ -0,0 +1,1697 @@ + + + + Code coverage report for js/extensions/paste.js + + + + + + + +
    +
    +

    + all files / js/extensions/ paste.js +

    +
    +
    + 2.78% + Statements + 5/180 +
    +
    + 0% + Branches + 0/136 +
    +
    + 4% + Functions + 1/25 +
    +
    + 2.78% + Lines + 5/180 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    /* Helpers and internal variables that don't need to be members of actual paste handler */
    + 
    +    var pasteBinDefaultContent = '%ME_PASTEBIN%',
    +        lastRange = null,
    +        keyboardPasteEditable = null,
    +        stopProp = function (event) {
    +            event.stopPropagation();
    +        };
    + 
    +    /*jslint regexp: true*/
    +    /*
    +        jslint does not allow character negation, because the negation
    +        will not match any unicode characters. In the regexes in this
    +        block, negation is used specifically to match the end of an html
    +        tag, and in fact unicode characters *should* be allowed.
    +    */
    +    function createReplacements() {
    +        return [
    +            // Remove anything but the contents within the BODY element
    +            [new RegExp(/^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/g), ''],
    + 
    +            // cleanup comments added by Chrome when pasting html
    +            [new RegExp(/<!--StartFragment-->|<!--EndFragment-->/g), ''],
    + 
    +            // Trailing BR elements
    +            [new RegExp(/<br>$/i), ''],
    + 
    +            // replace two bogus tags that begin pastes from google docs
    +            [new RegExp(/<[^>]*docs-internal-guid[^>]*>/gi), ''],
    +            [new RegExp(/<\/b>(<br[^>]*>)?$/gi), ''],
    + 
    +             // un-html spaces and newlines inserted by OS X
    +            [new RegExp(/<span class="Apple-converted-space">\s+<\/span>/g), ' '],
    +            [new RegExp(/<br class="Apple-interchange-newline">/g), '<br>'],
    + 
    +            // replace google docs italics+bold with a span to be replaced once the html is inserted
    +            [new RegExp(/<span[^>]*(font-style:italic;font-weight:(bold|700)|font-weight:(bold|700);font-style:italic)[^>]*>/gi), '<span class="replace-with italic bold">'],
    + 
    +            // replace google docs italics with a span to be replaced once the html is inserted
    +            [new RegExp(/<span[^>]*font-style:italic[^>]*>/gi), '<span class="replace-with italic">'],
    + 
    +            //[replace google docs bolds with a span to be replaced once the html is inserted
    +            [new RegExp(/<span[^>]*font-weight:(bold|700)[^>]*>/gi), '<span class="replace-with bold">'],
    + 
    +             // replace manually entered b/i/a tags with real ones
    +            [new RegExp(/&lt;(\/?)(i|b|a)&gt;/gi), '<$1$2>'],
    + 
    +             // replace manually a tags with real ones, converting smart-quotes from google docs
    +            [new RegExp(/&lt;a(?:(?!href).)+href=(?:&quot;|&rdquo;|&ldquo;|"|“|”)(((?!&quot;|&rdquo;|&ldquo;|"|“|”).)*)(?:&quot;|&rdquo;|&ldquo;|"|“|”)(?:(?!&gt;).)*&gt;/gi), '<a href="$1">'],
    + 
    +            // Newlines between paragraphs in html have no syntactic value,
    +            // but then have a tendency to accidentally become additional paragraphs down the line
    +            [new RegExp(/<\/p>\n+/gi), '</p>'],
    +            [new RegExp(/\n+<p/gi), '<p'],
    + 
    +            // Microsoft Word makes these odd tags, like <o:p></o:p>
    +            [new RegExp(/<\/?o:[a-z]*>/gi), ''],
    + 
    +            // Microsoft Word adds some special elements around list items
    +            [new RegExp(/<!\[if !supportLists\]>(((?!<!).)*)<!\[endif]\>/gi), '$1']
    +        ];
    +    }
    +    /*jslint regexp: false*/
    + 
    +    /**
    +     * Gets various content types out of the Clipboard API. It will also get the
    +     * plain text using older IE and WebKit API.
    +     *
    +     * @param {event} event Event fired on paste.
    +     * @param {win} reference to window
    +     * @param {doc} reference to document
    +     * @return {Object} Object with mime types and data for those mime types.
    +     */
    +    function getClipboardContent(event, win, doc) {
    +        var dataTransfer = event.clipboardData || win.clipboardData || doc.dataTransfer,
    +            data = {};
    + 
    +        if (!dataTransfer) {
    +            return data;
    +        }
    + 
    +        // Use old WebKit/IE API
    +        if (dataTransfer.getData) {
    +            var legacyText = dataTransfer.getData('Text');
    +            if (legacyText && legacyText.length > 0) {
    +                data['text/plain'] = legacyText;
    +            }
    +        }
    + 
    +        if (dataTransfer.types) {
    +            for (var i = 0; i < dataTransfer.types.length; i++) {
    +                var contentType = dataTransfer.types[i];
    +                data[contentType] = dataTransfer.getData(contentType);
    +            }
    +        }
    + 
    +        return data;
    +    }
    + 
    +    var PasteHandler = MediumEditor.Extension.extend({
    +        /* Paste Options */
    + 
    +        /* forcePlainText: [boolean]
    +         * Forces pasting as plain text.
    +         */
    +        forcePlainText: true,
    + 
    +        /* cleanPastedHTML: [boolean]
    +         * cleans pasted content from different sources, like google docs etc.
    +         */
    +        cleanPastedHTML: false,
    + 
    +        /* preCleanReplacements: [Array]
    +         * custom pairs (2 element arrays) of RegExp and replacement text to use during past when
    +         * __forcePlainText__ or __cleanPastedHTML__ are `true` OR when calling `cleanPaste(text)` helper method.
    +         * These replacements are executed before any medium editor defined replacements.
    +         */
    +        preCleanReplacements: [],
    + 
    +        /* cleanReplacements: [Array]
    +         * custom pairs (2 element arrays) of RegExp and replacement text to use during paste when
    +         * __forcePlainText__ or __cleanPastedHTML__ are `true` OR when calling `cleanPaste(text)` helper method.
    +         * These replacements are executed after any medium editor defined replacements.
    +         */
    +        cleanReplacements: [],
    + 
    +        /* cleanAttrs:: [Array]
    +         * list of element attributes to remove during paste when __cleanPastedHTML__ is `true` or when
    +         * calling `cleanPaste(text)` or `pasteHTML(html, options)` helper methods.
    +         */
    +        cleanAttrs: ['class', 'style', 'dir'],
    + 
    +        /* cleanTags: [Array]
    +         * list of element tag names to remove during paste when __cleanPastedHTML__ is `true` or when
    +         * calling `cleanPaste(text)` or `pasteHTML(html, options)` helper methods.
    +         */
    +        cleanTags: ['meta'],
    + 
    +        /* unwrapTags: [Array]
    +         * list of element tag names to unwrap (remove the element tag but retain its child elements)
    +         * during paste when __cleanPastedHTML__ is `true` or when
    +         * calling `cleanPaste(text)` or `pasteHTML(html, options)` helper methods.
    +         */
    +        unwrapTags: [],
    + 
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            if (this.forcePlainText || this.cleanPastedHTML) {
    +                this.subscribe('editableKeydown', this.handleKeydown.bind(this));
    +                // We need access to the full event data in paste
    +                // so we can't use the editablePaste event here
    +                this.getEditorElements().forEach(function (element) {
    +                    this.on(element, 'paste', this.handlePaste.bind(this));
    +                }, this);
    +                this.subscribe('addElement', this.handleAddElement.bind(this));
    +            }
    +        },
    + 
    +        handleAddElement: function (event, editable) {
    +            this.on(editable, 'paste', this.handlePaste.bind(this));
    +        },
    + 
    +        destroy: function () {
    +            // Make sure pastebin is destroyed in case it's still around for some reason
    +            if (this.forcePlainText || this.cleanPastedHTML) {
    +                this.removePasteBin();
    +            }
    +        },
    + 
    +        handlePaste: function (event, editable) {
    +            if (event.defaultPrevented) {
    +                return;
    +            }
    + 
    +            var clipboardContent = getClipboardContent(event, this.window, this.document),
    +                pastedHTML = clipboardContent['text/html'],
    +                pastedPlain = clipboardContent['text/plain'];
    + 
    +            if (this.window.clipboardData && event.clipboardData === undefined && !pastedHTML) {
    +                // If window.clipboardData exists, but event.clipboardData doesn't exist,
    +                // we're probably in IE. IE only has two possibilities for clipboard
    +                // data format: 'Text' and 'URL'.
    +                //
    +                // For IE, we'll fallback to 'Text' for text/html
    +                pastedHTML = pastedPlain;
    +            }
    + 
    +            if (pastedHTML || pastedPlain) {
    +                event.preventDefault();
    + 
    +                this.doPaste(pastedHTML, pastedPlain, editable);
    +            }
    +        },
    + 
    +        doPaste: function (pastedHTML, pastedPlain, editable) {
    +            var paragraphs,
    +                html = '',
    +                p;
    + 
    +            if (this.cleanPastedHTML && pastedHTML) {
    +                return this.cleanPaste(pastedHTML);
    +            }
    + 
    +            if (!pastedPlain) {
    +                return;
    +            }
    + 
    +            if (!(this.getEditorOption('disableReturn') || (editable && editable.getAttribute('data-disable-return')))) {
    +                paragraphs = pastedPlain.split(/[\r\n]+/g);
    +                // If there are no \r\n in data, don't wrap in <p>
    +                if (paragraphs.length > 1) {
    +                    for (p = 0; p < paragraphs.length; p += 1) {
    +                        if (paragraphs[p] !== '') {
    +                            html += '<p>' + MediumEditor.util.htmlEntities(paragraphs[p]) + '</p>';
    +                        }
    +                    }
    +                } else {
    +                    html = MediumEditor.util.htmlEntities(paragraphs[0]);
    +                }
    +            } else {
    +                html = MediumEditor.util.htmlEntities(pastedPlain);
    +            }
    +            MediumEditor.util.insertHTMLCommand(this.document, html);
    +        },
    + 
    +        handlePasteBinPaste: function (event) {
    +            if (event.defaultPrevented) {
    +                this.removePasteBin();
    +                return;
    +            }
    + 
    +            var clipboardContent = getClipboardContent(event, this.window, this.document),
    +                pastedHTML = clipboardContent['text/html'],
    +                pastedPlain = clipboardContent['text/plain'],
    +                editable = keyboardPasteEditable;
    + 
    +            // If we have valid html already, or we're not in cleanPastedHTML mode
    +            // we can ignore the paste bin and just paste now
    +            if (!this.cleanPastedHTML || pastedHTML) {
    +                event.preventDefault();
    +                this.removePasteBin();
    +                this.doPaste(pastedHTML, pastedPlain, editable);
    + 
    +                // The event handling code listens for paste on the editable element
    +                // in order to trigger the editablePaste event.  Since this paste event
    +                // is happening on the pastebin, the event handling code never knows about it
    +                // So, we have to trigger editablePaste manually
    +                this.trigger('editablePaste', { currentTarget: editable, target: editable }, editable);
    +                return;
    +            }
    + 
    +            // We need to look at the paste bin, so do a setTimeout to let the paste
    +            // fall through into the paste bin
    +            setTimeout(function () {
    +                // Only look for HTML if we're in cleanPastedHTML mode
    +                if (this.cleanPastedHTML) {
    +                    // If clipboard didn't have HTML, try the paste bin
    +                    pastedHTML = this.getPasteBinHtml();
    +                }
    + 
    +                // If we needed the paste bin, we're done with it now, remove it
    +                this.removePasteBin();
    + 
    +                // Handle the paste with the html from the paste bin
    +                this.doPaste(pastedHTML, pastedPlain, editable);
    + 
    +                // The event handling code listens for paste on the editable element
    +                // in order to trigger the editablePaste event.  Since this paste event
    +                // is happening on the pastebin, the event handling code never knows about it
    +                // So, we have to trigger editablePaste manually
    +                this.trigger('editablePaste', { currentTarget: editable, target: editable }, editable);
    +            }.bind(this), 0);
    +        },
    + 
    +        handleKeydown: function (event, editable) {
    +            // if it's not Ctrl+V, do nothing
    +            if (!(MediumEditor.util.isKey(event, MediumEditor.util.keyCode.V) && MediumEditor.util.isMetaCtrlKey(event))) {
    +                return;
    +            }
    + 
    +            event.stopImmediatePropagation();
    + 
    +            this.removePasteBin();
    +            this.createPasteBin(editable);
    +        },
    + 
    +        createPasteBin: function (editable) {
    +            var rects,
    +                range = MediumEditor.selection.getSelectionRange(this.document),
    +                top = this.window.pageYOffset;
    + 
    +            keyboardPasteEditable = editable;
    + 
    +            if (range) {
    +                rects = range.getClientRects();
    + 
    +                // on empty line, rects is empty so we grab information from the first container of the range
    +                if (rects.length) {
    +                    top += rects[0].top;
    +                } else if (range.startContainer.getBoundingClientRect !== undefined) {
    +                    top += range.startContainer.getBoundingClientRect().top;
    +                } else {
    +                    top += range.getBoundingClientRect().top;
    +                }
    +            }
    + 
    +            lastRange = range;
    + 
    +            var pasteBinElm = this.document.createElement('div');
    +            pasteBinElm.id = this.pasteBinId = 'medium-editor-pastebin-' + (+Date.now());
    +            pasteBinElm.setAttribute('style', 'border: 1px red solid; position: absolute; top: ' + top + 'px; width: 10px; height: 10px; overflow: hidden; opacity: 0');
    +            pasteBinElm.setAttribute('contentEditable', true);
    +            pasteBinElm.innerHTML = pasteBinDefaultContent;
    + 
    +            this.document.body.appendChild(pasteBinElm);
    + 
    +            // avoid .focus() to stop other event (actually the paste event)
    +            this.on(pasteBinElm, 'focus', stopProp);
    +            this.on(pasteBinElm, 'focusin', stopProp);
    +            this.on(pasteBinElm, 'focusout', stopProp);
    + 
    +            pasteBinElm.focus();
    + 
    +            MediumEditor.selection.selectNode(pasteBinElm, this.document);
    + 
    +            if (!this.boundHandlePaste) {
    +                this.boundHandlePaste = this.handlePasteBinPaste.bind(this);
    +            }
    + 
    +            this.on(pasteBinElm, 'paste', this.boundHandlePaste);
    +        },
    + 
    +        removePasteBin: function () {
    +            if (null !== lastRange) {
    +                MediumEditor.selection.selectRange(this.document, lastRange);
    +                lastRange = null;
    +            }
    + 
    +            if (null !== keyboardPasteEditable) {
    +                keyboardPasteEditable = null;
    +            }
    + 
    +            var pasteBinElm = this.getPasteBin();
    +            if (!pasteBinElm) {
    +                return;
    +            }
    + 
    +            if (pasteBinElm) {
    +                this.off(pasteBinElm, 'focus', stopProp);
    +                this.off(pasteBinElm, 'focusin', stopProp);
    +                this.off(pasteBinElm, 'focusout', stopProp);
    +                this.off(pasteBinElm, 'paste', this.boundHandlePaste);
    +                pasteBinElm.parentElement.removeChild(pasteBinElm);
    +            }
    +        },
    + 
    +        getPasteBin: function () {
    +            return this.document.getElementById(this.pasteBinId);
    +        },
    + 
    +        getPasteBinHtml: function () {
    +            var pasteBinElm = this.getPasteBin();
    + 
    +            if (!pasteBinElm) {
    +                return false;
    +            }
    + 
    +            // WebKit has a nice bug where it clones the paste bin if you paste from for example notepad
    +            // so we need to force plain text mode in this case
    +            if (pasteBinElm.firstChild && pasteBinElm.firstChild.id === 'mcepastebin') {
    +                return false;
    +            }
    + 
    +            var pasteBinHtml = pasteBinElm.innerHTML;
    + 
    +            // If paste bin is empty try using plain text mode
    +            // since that is better than nothing right
    +            if (!pasteBinHtml || pasteBinHtml === pasteBinDefaultContent) {
    +                return false;
    +            }
    + 
    +            return pasteBinHtml;
    +        },
    + 
    +        cleanPaste: function (text) {
    +            var i, elList, tmp, workEl,
    +                multiline = /<p|<br|<div/.test(text),
    +                replacements = [].concat(
    +                    this.preCleanReplacements || [],
    +                    createReplacements(),
    +                    this.cleanReplacements || []);
    + 
    +            for (i = 0; i < replacements.length; i += 1) {
    +                text = text.replace(replacements[i][0], replacements[i][1]);
    +            }
    + 
    +            if (!multiline) {
    +                return this.pasteHTML(text);
    +            }
    + 
    +            // create a temporary div to cleanup block elements
    +            tmp = this.document.createElement('div');
    + 
    +            // double br's aren't converted to p tags, but we want paragraphs.
    +            tmp.innerHTML = '<p>' + text.split('<br><br>').join('</p><p>') + '</p>';
    + 
    +            // block element cleanup
    +            elList = tmp.querySelectorAll('a,p,div,br');
    +            for (i = 0; i < elList.length; i += 1) {
    +                workEl = elList[i];
    + 
    +                // Microsoft Word replaces some spaces with newlines.
    +                // While newlines between block elements are meaningless, newlines within
    +                // elements are sometimes actually spaces.
    +                workEl.innerHTML = workEl.innerHTML.replace(/\n/gi, ' ');
    + 
    +                switch (workEl.nodeName.toLowerCase()) {
    +                    case 'p':
    +                    case 'div':
    +                        this.filterCommonBlocks(workEl);
    +                        break;
    +                    case 'br':
    +                        this.filterLineBreak(workEl);
    +                        break;
    +                }
    +            }
    + 
    +            this.pasteHTML(tmp.innerHTML);
    +        },
    + 
    +        pasteHTML: function (html, options) {
    +            options = MediumEditor.util.defaults({}, options, {
    +                cleanAttrs: this.cleanAttrs,
    +                cleanTags: this.cleanTags,
    +                unwrapTags: this.unwrapTags
    +            });
    + 
    +            var elList, workEl, i, fragmentBody, pasteBlock = this.document.createDocumentFragment();
    + 
    +            pasteBlock.appendChild(this.document.createElement('body'));
    + 
    +            fragmentBody = pasteBlock.querySelector('body');
    +            fragmentBody.innerHTML = html;
    + 
    +            this.cleanupSpans(fragmentBody);
    + 
    +            elList = fragmentBody.querySelectorAll('*');
    +            for (i = 0; i < elList.length; i += 1) {
    +                workEl = elList[i];
    + 
    +                if ('a' === workEl.nodeName.toLowerCase() && this.getEditorOption('targetBlank')) {
    +                    MediumEditor.util.setTargetBlank(workEl);
    +                }
    + 
    +                MediumEditor.util.cleanupAttrs(workEl, options.cleanAttrs);
    +                MediumEditor.util.cleanupTags(workEl, options.cleanTags);
    +                MediumEditor.util.unwrapTags(workEl, options.unwrapTags);
    +            }
    + 
    +            MediumEditor.util.insertHTMLCommand(this.document, fragmentBody.innerHTML.replace(/&nbsp;/g, ' '));
    +        },
    + 
    +        // TODO (6.0): Make this an internal helper instead of member of paste handler
    +        isCommonBlock: function (el) {
    +            return (el && (el.nodeName.toLowerCase() === 'p' || el.nodeName.toLowerCase() === 'div'));
    +        },
    + 
    +        // TODO (6.0): Make this an internal helper instead of member of paste handler
    +        filterCommonBlocks: function (el) {
    +            if (/^\s*$/.test(el.textContent) && el.parentNode) {
    +                el.parentNode.removeChild(el);
    +            }
    +        },
    + 
    +        // TODO (6.0): Make this an internal helper instead of member of paste handler
    +        filterLineBreak: function (el) {
    +            if (this.isCommonBlock(el.previousElementSibling)) {
    +                // remove stray br's following common block elements
    +                this.removeWithParent(el);
    +            } else if (this.isCommonBlock(el.parentNode) && (el.parentNode.firstChild === el || el.parentNode.lastChild === el)) {
    +                // remove br's just inside open or close tags of a div/p
    +                this.removeWithParent(el);
    +            } else if (el.parentNode && el.parentNode.childElementCount === 1 && el.parentNode.textContent === '') {
    +                // and br's that are the only child of elements other than div/p
    +                this.removeWithParent(el);
    +            }
    +        },
    + 
    +        // TODO (6.0): Make this an internal helper instead of member of paste handler
    +        // remove an element, including its parent, if it is the only element within its parent
    +        removeWithParent: function (el) {
    +            if (el && el.parentNode) {
    +                if (el.parentNode.parentNode && el.parentNode.childElementCount === 1) {
    +                    el.parentNode.parentNode.removeChild(el.parentNode);
    +                } else {
    +                    el.parentNode.removeChild(el);
    +                }
    +            }
    +        },
    + 
    +        // TODO (6.0): Make this an internal helper instead of member of paste handler
    +        cleanupSpans: function (containerEl) {
    +            var i,
    +                el,
    +                newEl,
    +                spans = containerEl.querySelectorAll('.replace-with'),
    +                isCEF = function (el) {
    +                    return (el && el.nodeName !== '#text' && el.getAttribute('contenteditable') === 'false');
    +                };
    + 
    +            for (i = 0; i < spans.length; i += 1) {
    +                el = spans[i];
    +                newEl = this.document.createElement(el.classList.contains('bold') ? 'b' : 'i');
    + 
    +                if (el.classList.contains('bold') && el.classList.contains('italic')) {
    +                    // add an i tag as well if this has both italics and bold
    +                    newEl.innerHTML = '<i>' + el.innerHTML + '</i>';
    +                } else {
    +                    newEl.innerHTML = el.innerHTML;
    +                }
    +                el.parentNode.replaceChild(newEl, el);
    +            }
    + 
    +            spans = containerEl.querySelectorAll('span');
    +            for (i = 0; i < spans.length; i += 1) {
    +                el = spans[i];
    + 
    +                // bail if span is in contenteditable = false
    +                if (MediumEditor.util.traverseUp(el, isCEF)) {
    +                    return false;
    +                }
    + 
    +                // remove empty spans, replace others with their contents
    +                MediumEditor.util.unwrap(el, this.document);
    +            }
    +        }
    +    });
    + 
    +    MediumEditor.extensions.paste = PasteHandler;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/placeholder.js.html b/reports/jasmine/lcov/lcov-report/js/extensions/placeholder.js.html new file mode 100644 index 0000000..c2d312f --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/placeholder.js.html @@ -0,0 +1,449 @@ + + + + Code coverage report for js/extensions/placeholder.js + + + + + + + +
    +
    +

    + all files / js/extensions/ placeholder.js +

    +
    +
    + 5.26% + Statements + 2/38 +
    +
    + 0% + Branches + 0/22 +
    +
    + 6.67% + Functions + 1/15 +
    +
    + 5.26% + Lines + 2/38 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var Placeholder = MediumEditor.Extension.extend({
    +        name: 'placeholder',
    + 
    +        /* Placeholder Options */
    + 
    +        /* text: [string]
    +         * Text to display in the placeholder
    +         */
    +        text: 'Type your text',
    + 
    +        /* hideOnClick: [boolean]
    +         * Should we hide the placeholder on click (true) or when user starts typing (false)
    +         */
    +        hideOnClick: true,
    + 
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            this.initPlaceholders();
    +            this.attachEventHandlers();
    +        },
    + 
    +        initPlaceholders: function () {
    +            this.getEditorElements().forEach(this.initElement, this);
    +        },
    + 
    +        handleAddElement: function (event, editable) {
    +            this.initElement(editable);
    +        },
    + 
    +        initElement: function (el) {
    +            if (!el.getAttribute('data-placeholder')) {
    +                el.setAttribute('data-placeholder', this.text);
    +            }
    +            this.updatePlaceholder(el);
    +        },
    + 
    +        destroy: function () {
    +            this.getEditorElements().forEach(this.cleanupElement, this);
    +        },
    + 
    +        handleRemoveElement: function (event, editable) {
    +            this.cleanupElement(editable);
    +        },
    + 
    +        cleanupElement: function (el) {
    +            if (el.getAttribute('data-placeholder') === this.text) {
    +                el.removeAttribute('data-placeholder');
    +            }
    +        },
    + 
    +        showPlaceholder: function (el) {
    +            if (el) {
    +                // https://github.com/yabwe/medium-editor/issues/234
    +                // In firefox, styling the placeholder with an absolutely positioned
    +                // pseudo element causes the cursor to appear in a bad location
    +                // when the element is completely empty, so apply a different class to
    +                // style it with a relatively positioned pseudo element
    +                if (MediumEditor.util.isFF && el.childNodes.length === 0) {
    +                    el.classList.add('medium-editor-placeholder-relative');
    +                    el.classList.remove('medium-editor-placeholder');
    +                } else {
    +                    el.classList.add('medium-editor-placeholder');
    +                    el.classList.remove('medium-editor-placeholder-relative');
    +                }
    +            }
    +        },
    + 
    +        hidePlaceholder: function (el) {
    +            if (el) {
    +                el.classList.remove('medium-editor-placeholder');
    +                el.classList.remove('medium-editor-placeholder-relative');
    +            }
    +        },
    + 
    +        updatePlaceholder: function (el, dontShow) {
    +            // If the element has content, hide the placeholder
    +            if (el.querySelector('img, blockquote, ul, ol, table') || (el.textContent.replace(/^\s+|\s+$/g, '') !== '')) {
    +                return this.hidePlaceholder(el);
    +            }
    + 
    +            if (!dontShow) {
    +                this.showPlaceholder(el);
    +            }
    +        },
    + 
    +        attachEventHandlers: function () {
    +            if (this.hideOnClick) {
    +                // For the 'hideOnClick' option, the placeholder should always be hidden on focus
    +                this.subscribe('focus', this.handleFocus.bind(this));
    +            }
    + 
    +            // If the editor has content, it should always hide the placeholder
    +            this.subscribe('editableInput', this.handleInput.bind(this));
    + 
    +            // When the editor loses focus, check if the placeholder should be visible
    +            this.subscribe('blur', this.handleBlur.bind(this));
    + 
    +            // Need to know when elements are added/removed from the editor
    +            this.subscribe('addElement', this.handleAddElement.bind(this));
    +            this.subscribe('removeElement', this.handleRemoveElement.bind(this));
    +        },
    + 
    +        handleInput: function (event, element) {
    +            // If the placeholder should be hidden on focus and the
    +            // element has focus, don't show the placeholder
    +            var dontShow = this.hideOnClick && (element === this.base.getFocusedElement());
    + 
    +            // Editor's content has changed, check if the placeholder should be hidden
    +            this.updatePlaceholder(element, dontShow);
    +        },
    + 
    +        handleFocus: function (event, element) {
    +            // Editor has focus, hide the placeholder
    +            this.hidePlaceholder(element);
    +        },
    + 
    +        handleBlur: function (event, element) {
    +            // Editor has lost focus, check if the placeholder should be shown
    +            this.updatePlaceholder(element);
    +        }
    +    });
    + 
    +    MediumEditor.extensions.placeholder = Placeholder;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/extensions/toolbar.js.html b/reports/jasmine/lcov/lcov-report/js/extensions/toolbar.js.html new file mode 100644 index 0000000..69c38ea --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/extensions/toolbar.js.html @@ -0,0 +1,2114 @@ + + + + Code coverage report for js/extensions/toolbar.js + + + + + + + +
    +
    +

    + all files / js/extensions/ toolbar.js +

    +
    +
    + 0.87% + Statements + 2/230 +
    +
    + 0% + Branches + 0/157 +
    +
    + 2.04% + Functions + 1/49 +
    +
    + 0.87% + Lines + 2/230 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var Toolbar = MediumEditor.Extension.extend({
    +        name: 'toolbar',
    + 
    +        /* Toolbar Options */
    + 
    +        /* align: ['left'|'center'|'right']
    +         * When the __static__ option is true, this aligns the static toolbar
    +         * relative to the medium-editor element.
    +         */
    +        align: 'center',
    + 
    +        /* allowMultiParagraphSelection: [boolean]
    +         * enables/disables whether the toolbar should be displayed when
    +         * selecting multiple paragraphs/block elements
    +         */
    +        allowMultiParagraphSelection: true,
    + 
    +        /* buttons: [Array]
    +         * the names of the set of buttons to display on the toolbar.
    +         */
    +        buttons: ['bold', 'italic', 'underline', 'anchor', 'h2', 'h3', 'quote'],
    + 
    +        /* diffLeft: [Number]
    +         * value in pixels to be added to the X axis positioning of the toolbar.
    +         */
    +        diffLeft: 0,
    + 
    +        /* diffTop: [Number]
    +         * value in pixels to be added to the Y axis positioning of the toolbar.
    +         */
    +        diffTop: -10,
    + 
    +        /* firstButtonClass: [string]
    +         * CSS class added to the first button in the toolbar.
    +         */
    +        firstButtonClass: 'medium-editor-button-first',
    + 
    +        /* lastButtonClass: [string]
    +         * CSS class added to the last button in the toolbar.
    +         */
    +        lastButtonClass: 'medium-editor-button-last',
    + 
    +        /* standardizeSelectionStart: [boolean]
    +         * enables/disables standardizing how the beginning of a range is decided
    +         * between browsers whenever the selected text is analyzed for updating toolbar buttons status.
    +         */
    +        standardizeSelectionStart: false,
    + 
    +        /* static: [boolean]
    +         * enable/disable the toolbar always displaying in the same location
    +         * relative to the medium-editor element.
    +         */
    +        static: false,
    + 
    +        /* sticky: [boolean]
    +         * When the __static__ option is true, this enables/disables the toolbar
    +         * "sticking" to the viewport and staying visible on the screen while
    +         * the page scrolls.
    +         */
    +        sticky: false,
    + 
    +        /* stickyTopOffset: [Number]
    +         * Value in pixel of the top offset above the toolbar
    +         */
    +        stickyTopOffset: 0,
    + 
    +        /* updateOnEmptySelection: [boolean]
    +         * When the __static__ option is true, this enables/disables updating
    +         * the state of the toolbar buttons even when the selection is collapsed
    +         * (there is no selection, just a cursor).
    +         */
    +        updateOnEmptySelection: false,
    + 
    +        /* relativeContainer: [node]
    +         * appending the toolbar to a given node instead of body
    +         */
    +        relativeContainer: null,
    + 
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            this.initThrottledMethods();
    + 
    +            if (!this.relativeContainer) {
    +                this.getEditorOption('elementsContainer').appendChild(this.getToolbarElement());
    +            } else {
    +                this.relativeContainer.appendChild(this.getToolbarElement());
    +            }
    +        },
    + 
    +        // Helper method to execute method for every extension, but ignoring the toolbar extension
    +        forEachExtension: function (iterator, context) {
    +            return this.base.extensions.forEach(function (command) {
    +                if (command === this) {
    +                    return;
    +                }
    +                return iterator.apply(context || this, arguments);
    +            }, this);
    +        },
    + 
    +        // Toolbar creation/deletion
    + 
    +        createToolbar: function () {
    +            var toolbar = this.document.createElement('div');
    + 
    +            toolbar.id = 'medium-editor-toolbar-' + this.getEditorId();
    +            toolbar.className = 'medium-editor-toolbar';
    + 
    +            if (this.static) {
    +                toolbar.className += ' static-toolbar';
    +            } else if (this.relativeContainer) {
    +                toolbar.className += ' medium-editor-relative-toolbar';
    +            } else {
    +                toolbar.className += ' medium-editor-stalker-toolbar';
    +            }
    + 
    +            toolbar.appendChild(this.createToolbarButtons());
    + 
    +            // Add any forms that extensions may have
    +            this.forEachExtension(function (extension) {
    +                if (extension.hasForm) {
    +                    toolbar.appendChild(extension.getForm());
    +                }
    +            });
    + 
    +            this.attachEventHandlers();
    + 
    +            return toolbar;
    +        },
    + 
    +        createToolbarButtons: function () {
    +            var ul = this.document.createElement('ul'),
    +                li,
    +                btn,
    +                buttons,
    +                extension,
    +                buttonName,
    +                buttonOpts;
    + 
    +            ul.id = 'medium-editor-toolbar-actions' + this.getEditorId();
    +            ul.className = 'medium-editor-toolbar-actions';
    +            ul.style.display = 'block';
    + 
    +            this.buttons.forEach(function (button) {
    +                if (typeof button === 'string') {
    +                    buttonName = button;
    +                    buttonOpts = null;
    +                } else {
    +                    buttonName = button.name;
    +                    buttonOpts = button;
    +                }
    + 
    +                // If the button already exists as an extension, it'll be returned
    +                // othwerise it'll create the default built-in button
    +                extension = this.base.addBuiltInExtension(buttonName, buttonOpts);
    + 
    +                if (extension && typeof extension.getButton === 'function') {
    +                    btn = extension.getButton(this.base);
    +                    li = this.document.createElement('li');
    +                    if (MediumEditor.util.isElement(btn)) {
    +                        li.appendChild(btn);
    +                    } else {
    +                        li.innerHTML = btn;
    +                    }
    +                    ul.appendChild(li);
    +                }
    +            }, this);
    + 
    +            buttons = ul.querySelectorAll('button');
    +            if (buttons.length > 0) {
    +                buttons[0].classList.add(this.firstButtonClass);
    +                buttons[buttons.length - 1].classList.add(this.lastButtonClass);
    +            }
    + 
    +            return ul;
    +        },
    + 
    +        destroy: function () {
    +            if (this.toolbar) {
    +                if (this.toolbar.parentNode) {
    +                    this.toolbar.parentNode.removeChild(this.toolbar);
    +                }
    +                delete this.toolbar;
    +            }
    +        },
    + 
    +        // Toolbar accessors
    + 
    +        getInteractionElements: function () {
    +            return this.getToolbarElement();
    +        },
    + 
    +        getToolbarElement: function () {
    +            if (!this.toolbar) {
    +                this.toolbar = this.createToolbar();
    +            }
    + 
    +            return this.toolbar;
    +        },
    + 
    +        getToolbarActionsElement: function () {
    +            return this.getToolbarElement().querySelector('.medium-editor-toolbar-actions');
    +        },
    + 
    +        // Toolbar event handlers
    + 
    +        initThrottledMethods: function () {
    +            // throttledPositionToolbar is throttled because:
    +            // - It will be called when the browser is resizing, which can fire many times very quickly
    +            // - For some event (like resize) a slight lag in UI responsiveness is OK and provides performance benefits
    +            this.throttledPositionToolbar = MediumEditor.util.throttle(function () {
    +                if (this.base.isActive) {
    +                    this.positionToolbarIfShown();
    +                }
    +            }.bind(this));
    +        },
    + 
    +        attachEventHandlers: function () {
    +            // MediumEditor custom events for when user beings and ends interaction with a contenteditable and its elements
    +            this.subscribe('blur', this.handleBlur.bind(this));
    +            this.subscribe('focus', this.handleFocus.bind(this));
    + 
    +            // Updating the state of the toolbar as things change
    +            this.subscribe('editableClick', this.handleEditableClick.bind(this));
    +            this.subscribe('editableKeyup', this.handleEditableKeyup.bind(this));
    + 
    +            // Handle mouseup on document for updating the selection in the toolbar
    +            this.on(this.document.documentElement, 'mouseup', this.handleDocumentMouseup.bind(this));
    + 
    +            // Add a scroll event for sticky toolbar
    +            if (this.static && this.sticky) {
    +                // On scroll (capture), re-position the toolbar
    +                this.on(this.window, 'scroll', this.handleWindowScroll.bind(this), true);
    +            }
    + 
    +            // On resize, re-position the toolbar
    +            this.on(this.window, 'resize', this.handleWindowResize.bind(this));
    +        },
    + 
    +        handleWindowScroll: function () {
    +            this.positionToolbarIfShown();
    +        },
    + 
    +        handleWindowResize: function () {
    +            this.throttledPositionToolbar();
    +        },
    + 
    +        handleDocumentMouseup: function (event) {
    +            // Do not trigger checkState when mouseup fires over the toolbar
    +            if (event &&
    +                    event.target &&
    +                    MediumEditor.util.isDescendant(this.getToolbarElement(), event.target)) {
    +                return false;
    +            }
    +            this.checkState();
    +        },
    + 
    +        handleEditableClick: function () {
    +            // Delay the call to checkState to handle bug where selection is empty
    +            // immediately after clicking inside a pre-existing selection
    +            setTimeout(function () {
    +                this.checkState();
    +            }.bind(this), 0);
    +        },
    + 
    +        handleEditableKeyup: function () {
    +            this.checkState();
    +        },
    + 
    +        handleBlur: function () {
    +            // Kill any previously delayed calls to hide the toolbar
    +            clearTimeout(this.hideTimeout);
    + 
    +            // Blur may fire even if we have a selection, so we want to prevent any delayed showToolbar
    +            // calls from happening in this specific case
    +            clearTimeout(this.delayShowTimeout);
    + 
    +            // Delay the call to hideToolbar to handle bug with multiple editors on the page at once
    +            this.hideTimeout = setTimeout(function () {
    +                this.hideToolbar();
    +            }.bind(this), 1);
    +        },
    + 
    +        handleFocus: function () {
    +            this.checkState();
    +        },
    + 
    +        // Hiding/showing toolbar
    + 
    +        isDisplayed: function () {
    +            return this.getToolbarElement().classList.contains('medium-editor-toolbar-active');
    +        },
    + 
    +        showToolbar: function () {
    +            clearTimeout(this.hideTimeout);
    +            if (!this.isDisplayed()) {
    +                this.getToolbarElement().classList.add('medium-editor-toolbar-active');
    +                this.trigger('showToolbar', {}, this.base.getFocusedElement());
    +            }
    +        },
    + 
    +        hideToolbar: function () {
    +            if (this.isDisplayed()) {
    +                this.getToolbarElement().classList.remove('medium-editor-toolbar-active');
    +                this.trigger('hideToolbar', {}, this.base.getFocusedElement());
    +            }
    +        },
    + 
    +        isToolbarDefaultActionsDisplayed: function () {
    +            return this.getToolbarActionsElement().style.display === 'block';
    +        },
    + 
    +        hideToolbarDefaultActions: function () {
    +            if (this.isToolbarDefaultActionsDisplayed()) {
    +                this.getToolbarActionsElement().style.display = 'none';
    +            }
    +        },
    + 
    +        showToolbarDefaultActions: function () {
    +            this.hideExtensionForms();
    + 
    +            if (!this.isToolbarDefaultActionsDisplayed()) {
    +                this.getToolbarActionsElement().style.display = 'block';
    +            }
    + 
    +            // Using setTimeout + options.delay because:
    +            // We will actually be displaying the toolbar, which should be controlled by options.delay
    +            this.delayShowTimeout = this.base.delay(function () {
    +                this.showToolbar();
    +            }.bind(this));
    +        },
    + 
    +        hideExtensionForms: function () {
    +            // Hide all extension forms
    +            this.forEachExtension(function (extension) {
    +                if (extension.hasForm && extension.isDisplayed()) {
    +                    extension.hideForm();
    +                }
    +            });
    +        },
    + 
    +        // Responding to changes in user selection
    + 
    +        // Checks for existance of multiple block elements in the current selection
    +        multipleBlockElementsSelected: function () {
    +            var regexEmptyHTMLTags = /<[^\/>][^>]*><\/[^>]+>/gim, // http://stackoverflow.com/questions/3129738/remove-empty-tags-using-regex
    +                regexBlockElements = new RegExp('<(' + MediumEditor.util.blockContainerElementNames.join('|') + ')[^>]*>', 'g'),
    +                selectionHTML = MediumEditor.selection.getSelectionHtml(this.document).replace(regexEmptyHTMLTags, ''), // Filter out empty blocks from selection
    +                hasMultiParagraphs = selectionHTML.match(regexBlockElements); // Find how many block elements are within the html
    + 
    +            return !!hasMultiParagraphs && hasMultiParagraphs.length > 1;
    +        },
    + 
    +        modifySelection: function () {
    +            var selection = this.window.getSelection(),
    +                selectionRange = selection.getRangeAt(0);
    + 
    +            /*
    +            * In firefox, there are cases (ie doubleclick of a word) where the selectionRange start
    +            * will be at the very end of an element.  In other browsers, the selectionRange start
    +            * would instead be at the very beginning of an element that actually has content.
    +            * example:
    +            *   <span>foo</span><span>bar</span>
    +            *
    +            * If the text 'bar' is selected, most browsers will have the selectionRange start at the beginning
    +            * of the 'bar' span.  However, there are cases where firefox will have the selectionRange start
    +            * at the end of the 'foo' span.  The contenteditable behavior will be ok, but if there are any
    +            * properties on the 'bar' span, they won't be reflected accurately in the toolbar
    +            * (ie 'Bold' button wouldn't be active)
    +            *
    +            * So, for cases where the selectionRange start is at the end of an element/node, find the next
    +            * adjacent text node that actually has content in it, and move the selectionRange start there.
    +            */
    +            if (this.standardizeSelectionStart &&
    +                    selectionRange.startContainer.nodeValue &&
    +                    (selectionRange.startOffset === selectionRange.startContainer.nodeValue.length)) {
    +                var adjacentNode = MediumEditor.util.findAdjacentTextNodeWithContent(MediumEditor.selection.getSelectionElement(this.window), selectionRange.startContainer, this.document);
    +                if (adjacentNode) {
    +                    var offset = 0;
    +                    while (adjacentNode.nodeValue.substr(offset, 1).trim().length === 0) {
    +                        offset = offset + 1;
    +                    }
    +                    selectionRange = MediumEditor.selection.select(this.document, adjacentNode, offset,
    +                        selectionRange.endContainer, selectionRange.endOffset);
    +                }
    +            }
    +        },
    + 
    +        checkState: function () {
    +            if (this.base.preventSelectionUpdates) {
    +                return;
    +            }
    + 
    +            // If no editable has focus OR selection is inside contenteditable = false
    +            // hide toolbar
    +            if (!this.base.getFocusedElement() ||
    +                    MediumEditor.selection.selectionInContentEditableFalse(this.window)) {
    +                return this.hideToolbar();
    +            }
    + 
    +            // If there's no selection element, selection element doesn't belong to this editor
    +            // or toolbar is disabled for this selection element
    +            // hide toolbar
    +            var selectionElement = MediumEditor.selection.getSelectionElement(this.window);
    +            if (!selectionElement ||
    +                    this.getEditorElements().indexOf(selectionElement) === -1 ||
    +                    selectionElement.getAttribute('data-disable-toolbar')) {
    +                return this.hideToolbar();
    +            }
    + 
    +            // Now we know there's a focused editable with a selection
    + 
    +            // If the updateOnEmptySelection option is true, show the toolbar
    +            if (this.updateOnEmptySelection && this.static) {
    +                return this.showAndUpdateToolbar();
    +            }
    + 
    +            // If we don't have a 'valid' selection -> hide toolbar
    +            if (!MediumEditor.selection.selectionContainsContent(this.document) ||
    +                (this.allowMultiParagraphSelection === false && this.multipleBlockElementsSelected())) {
    +                return this.hideToolbar();
    +            }
    + 
    +            this.showAndUpdateToolbar();
    +        },
    + 
    +        // Updating the toolbar
    + 
    +        showAndUpdateToolbar: function () {
    +            this.modifySelection();
    +            this.setToolbarButtonStates();
    +            this.trigger('positionToolbar', {}, this.base.getFocusedElement());
    +            this.showToolbarDefaultActions();
    +            this.setToolbarPosition();
    +        },
    + 
    +        setToolbarButtonStates: function () {
    +            this.forEachExtension(function (extension) {
    +                if (typeof extension.isActive === 'function' &&
    +                    typeof extension.setInactive === 'function') {
    +                    extension.setInactive();
    +                }
    +            });
    + 
    +            this.checkActiveButtons();
    +        },
    + 
    +        checkActiveButtons: function () {
    +            var manualStateChecks = [],
    +                queryState = null,
    +                selectionRange = MediumEditor.selection.getSelectionRange(this.document),
    +                parentNode,
    +                updateExtensionState = function (extension) {
    +                    if (typeof extension.checkState === 'function') {
    +                        extension.checkState(parentNode);
    +                    } else if (typeof extension.isActive === 'function' &&
    +                               typeof extension.isAlreadyApplied === 'function' &&
    +                               typeof extension.setActive === 'function') {
    +                        if (!extension.isActive() && extension.isAlreadyApplied(parentNode)) {
    +                            extension.setActive();
    +                        }
    +                    }
    +                };
    + 
    +            if (!selectionRange) {
    +                return;
    +            }
    + 
    +            // Loop through all extensions
    +            this.forEachExtension(function (extension) {
    +                // For those extensions where we can use document.queryCommandState(), do so
    +                if (typeof extension.queryCommandState === 'function') {
    +                    queryState = extension.queryCommandState();
    +                    // If queryCommandState returns a valid value, we can trust the browser
    +                    // and don't need to do our manual checks
    +                    if (queryState !== null) {
    +                        if (queryState && typeof extension.setActive === 'function') {
    +                            extension.setActive();
    +                        }
    +                        return;
    +                    }
    +                }
    +                // We can't use queryCommandState for this extension, so add to manualStateChecks
    +                manualStateChecks.push(extension);
    +            });
    + 
    +            parentNode = MediumEditor.selection.getSelectedParentElement(selectionRange);
    + 
    +            // Make sure the selection parent isn't outside of the contenteditable
    +            if (!this.getEditorElements().some(function (element) {
    +                    return MediumEditor.util.isDescendant(element, parentNode, true);
    +                })) {
    +                return;
    +            }
    + 
    +            // Climb up the DOM and do manual checks for whether a certain extension is currently enabled for this node
    +            while (parentNode) {
    +                manualStateChecks.forEach(updateExtensionState);
    + 
    +                // we can abort the search upwards if we leave the contentEditable element
    +                if (MediumEditor.util.isMediumEditorElement(parentNode)) {
    +                    break;
    +                }
    +                parentNode = parentNode.parentNode;
    +            }
    +        },
    + 
    +        // Positioning toolbar
    + 
    +        positionToolbarIfShown: function () {
    +            if (this.isDisplayed()) {
    +                this.setToolbarPosition();
    +            }
    +        },
    + 
    +        setToolbarPosition: function () {
    +            var container = this.base.getFocusedElement(),
    +                selection = this.window.getSelection();
    + 
    +            // If there isn't a valid selection, bail
    +            if (!container) {
    +                return this;
    +            }
    + 
    +            if (this.static || !selection.isCollapsed) {
    +                this.showToolbar();
    + 
    +                // we don't need any absolute positioning if relativeContainer is set
    +                if (!this.relativeContainer) {
    +                    if (this.static) {
    +                        this.positionStaticToolbar(container);
    +                    } else {
    +                        this.positionToolbar(selection);
    +                    }
    +                }
    + 
    +                this.trigger('positionedToolbar', {}, this.base.getFocusedElement());
    +            }
    +        },
    + 
    +        positionStaticToolbar: function (container) {
    +            // position the toolbar at left 0, so we can get the real width of the toolbar
    +            this.getToolbarElement().style.left = '0';
    + 
    +            // document.documentElement for IE 9
    +            var scrollTop = (this.document.documentElement && this.document.documentElement.scrollTop) || this.document.body.scrollTop,
    +                windowWidth = this.window.innerWidth,
    +                toolbarElement = this.getToolbarElement(),
    +                containerRect = container.getBoundingClientRect(),
    +                containerTop = containerRect.top + scrollTop,
    +                containerCenter = (containerRect.left + (containerRect.width / 2)),
    +                toolbarHeight = toolbarElement.offsetHeight,
    +                toolbarWidth = toolbarElement.offsetWidth,
    +                halfOffsetWidth = toolbarWidth / 2,
    +                targetLeft;
    + 
    +            if (this.sticky) {
    +                // If it's beyond the height of the editor, position it at the bottom of the editor
    +                if (scrollTop > (containerTop + container.offsetHeight - toolbarHeight - this.stickyTopOffset)) {
    +                    toolbarElement.style.top = (containerTop + container.offsetHeight - toolbarHeight) + 'px';
    +                    toolbarElement.classList.remove('medium-editor-sticky-toolbar');
    +                // Stick the toolbar to the top of the window
    +                } else if (scrollTop > (containerTop - toolbarHeight - this.stickyTopOffset)) {
    +                    toolbarElement.classList.add('medium-editor-sticky-toolbar');
    +                    toolbarElement.style.top = this.stickyTopOffset + 'px';
    +                // Normal static toolbar position
    +                } else {
    +                    toolbarElement.classList.remove('medium-editor-sticky-toolbar');
    +                    toolbarElement.style.top = containerTop - toolbarHeight + 'px';
    +                }
    +            } else {
    +                toolbarElement.style.top = containerTop - toolbarHeight + 'px';
    +            }
    + 
    +            switch (this.align) {
    +                case 'left':
    +                    targetLeft = containerRect.left;
    +                    break;
    + 
    +                case 'right':
    +                    targetLeft = containerRect.right - toolbarWidth;
    +                    break;
    + 
    +                case 'center':
    +                    targetLeft = containerCenter - halfOffsetWidth;
    +                    break;
    +            }
    + 
    +            if (targetLeft < 0) {
    +                targetLeft = 0;
    +            } else if ((targetLeft + toolbarWidth) > windowWidth) {
    +                targetLeft = (windowWidth - Math.ceil(toolbarWidth) - 1);
    +            }
    + 
    +            toolbarElement.style.left = targetLeft + 'px';
    +        },
    + 
    +        positionToolbar: function (selection) {
    +            // position the toolbar at left 0, so we can get the real width of the toolbar
    +            this.getToolbarElement().style.left = '0';
    +            this.getToolbarElement().style.right = 'initial';
    + 
    +            var range = selection.getRangeAt(0),
    +                boundary = range.getBoundingClientRect();
    + 
    +            // Handle selections with just images
    +            if (!boundary || ((boundary.height === 0 && boundary.width === 0) && range.startContainer === range.endContainer)) {
    +                // If there's a nested image, use that for the bounding rectangle
    +                if (range.startContainer.nodeType === 1 && range.startContainer.querySelector('img')) {
    +                    boundary = range.startContainer.querySelector('img').getBoundingClientRect();
    +                } else {
    +                    boundary = range.startContainer.getBoundingClientRect();
    +                }
    +            }
    + 
    +            var containerWidth = this.window.innerWidth,
    +                toolbarElement = this.getToolbarElement(),
    +                toolbarHeight = toolbarElement.offsetHeight,
    +                toolbarWidth = toolbarElement.offsetWidth,
    +                halfOffsetWidth = toolbarWidth / 2,
    +                buttonHeight = 50,
    +                defaultLeft = this.diffLeft - halfOffsetWidth,
    +                elementsContainer = this.getEditorOption('elementsContainer'),
    +                elementsContainerAbsolute = ['absolute', 'fixed'].indexOf(window.getComputedStyle(elementsContainer).getPropertyValue('position')) > -1,
    +                positions = {},
    +                relativeBoundary = {},
    +                middleBoundary, elementsContainerBoundary;
    + 
    +            // If container element is absolute / fixed, recalculate boundaries to be relative to the container
    +            if (elementsContainerAbsolute) {
    +                elementsContainerBoundary = elementsContainer.getBoundingClientRect();
    +                ['top', 'left'].forEach(function (key) {
    +                    relativeBoundary[key] = boundary[key] - elementsContainerBoundary[key];
    +                });
    + 
    +                relativeBoundary.width = boundary.width;
    +                relativeBoundary.height = boundary.height;
    +                boundary = relativeBoundary;
    + 
    +                containerWidth = elementsContainerBoundary.width;
    + 
    +                // Adjust top position according to container scroll position
    +                positions.top = elementsContainer.scrollTop;
    +            } else {
    +                // Adjust top position according to window scroll position
    +                positions.top = this.window.pageYOffset;
    +            }
    + 
    +            middleBoundary = boundary.left + boundary.width / 2;
    +            positions.top += boundary.top - toolbarHeight;
    + 
    +            if (boundary.top < buttonHeight) {
    +                toolbarElement.classList.add('medium-toolbar-arrow-over');
    +                toolbarElement.classList.remove('medium-toolbar-arrow-under');
    +                positions.top += buttonHeight + boundary.height - this.diffTop;
    +            } else {
    +                toolbarElement.classList.add('medium-toolbar-arrow-under');
    +                toolbarElement.classList.remove('medium-toolbar-arrow-over');
    +                positions.top += this.diffTop;
    +            }
    + 
    +            if (middleBoundary < halfOffsetWidth) {
    +                positions.left = defaultLeft + halfOffsetWidth;
    +                positions.right = 'initial';
    +            } else if ((containerWidth - middleBoundary) < halfOffsetWidth) {
    +                positions.left = 'auto';
    +                positions.right = 0;
    +            } else {
    +                positions.left = defaultLeft + middleBoundary;
    +                positions.right = 'initial';
    +            }
    + 
    +            ['top', 'left', 'right'].forEach(function (key) {
    +                toolbarElement.style[key] = positions[key] + (isNaN(positions[key]) ? '' : 'px');
    +            });
    +        }
    +    });
    + 
    +    MediumEditor.extensions.toolbar = Toolbar;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/globals.js.html b/reports/jasmine/lcov/lcov-report/js/globals.js.html new file mode 100644 index 0000000..4514b0f --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/globals.js.html @@ -0,0 +1,86 @@ + + + + Code coverage report for js/globals.js + + + + + + + +
    +
    +

    + all files / js/ globals.js +

    +
    +
    + 66.67% + Statements + 2/3 +
    +
    + 100% + Branches + 0/0 +
    +
    + 0% + Functions + 0/1 +
    +
    + 66.67% + Lines + 2/3 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8  + +  +  +  +  + + 
    /*jshint unused: false */
    +function MediumEditor(elements, options) {
    +    'use strict';
    +    return this.init(elements, options);
    +}
    + 
    +MediumEditor.extensions = {};
    +/*jshint unused: true */
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/index.html b/reports/jasmine/lcov/lcov-report/js/index.html new file mode 100644 index 0000000..a775dc8 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/index.html @@ -0,0 +1,158 @@ + + + + Code coverage report for js/ + + + + + + + +
    +
    +

    + all files js/ +

    +
    +
    + 4.76% + Statements + 50/1050 +
    +
    + 0.26% + Branches + 2/767 +
    +
    + 3.31% + Functions + 6/181 +
    +
    + 4.76% + Lines + 50/1050 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileStatementsBranchesFunctionsLines
    core.js
    5.59%29/5190%0/3781.27%1/795.59%29/519
    events.js
    1.73%4/2310.68%1/1481.69%1/591.73%4/231
    extension.js
    28%7/250%0/618.18%2/1128%7/25
    globals.js
    66.67%2/3100%0/00%0/166.67%2/3
    selection.js
    1.5%4/2670%0/2313.45%1/291.5%4/267
    version.js
    80%4/525%1/450%1/280%4/5
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/selection.js.html b/reports/jasmine/lcov/lcov-report/js/selection.js.html new file mode 100644 index 0000000..6a5634c --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/selection.js.html @@ -0,0 +1,2096 @@ + + + + Code coverage report for js/selection.js + + + + + + + +
    +
    +

    + all files / js/ selection.js +

    +
    +
    + 1.5% + Statements + 4/267 +
    +
    + 0% + Branches + 0/231 +
    +
    + 3.45% + Functions + 1/29 +
    +
    + 1.5% + Lines + 4/267 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +  +  + +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  + 
    (function () {
    +    'use strict';
    + 
    +    function filterOnlyParentElements(node) {
    +        if (MediumEditor.util.isBlockContainer(node)) {
    +            return NodeFilter.FILTER_ACCEPT;
    +        } else {
    +            return NodeFilter.FILTER_SKIP;
    +        }
    +    }
    + 
    +    var Selection = {
    +        findMatchingSelectionParent: function (testElementFunction, contentWindow) {
    +            var selection = contentWindow.getSelection(),
    +                range,
    +                current;
    + 
    +            if (selection.rangeCount === 0) {
    +                return false;
    +            }
    + 
    +            range = selection.getRangeAt(0);
    +            current = range.commonAncestorContainer;
    + 
    +            return MediumEditor.util.traverseUp(current, testElementFunction);
    +        },
    + 
    +        getSelectionElement: function (contentWindow) {
    +            return this.findMatchingSelectionParent(function (el) {
    +                return MediumEditor.util.isMediumEditorElement(el);
    +            }, contentWindow);
    +        },
    + 
    +        // http://stackoverflow.com/questions/17678843/cant-restore-selection-after-html-modify-even-if-its-the-same-html
    +        // Tim Down
    +        exportSelection: function (root, doc) {
    +            if (!root) {
    +                return null;
    +            }
    + 
    +            var selectionState = null,
    +                selection = doc.getSelection();
    + 
    +            if (selection.rangeCount > 0) {
    +                var range = selection.getRangeAt(0),
    +                    preSelectionRange = range.cloneRange(),
    +                    start;
    + 
    +                preSelectionRange.selectNodeContents(root);
    +                preSelectionRange.setEnd(range.startContainer, range.startOffset);
    +                start = preSelectionRange.toString().length;
    + 
    +                selectionState = {
    +                    start: start,
    +                    end: start + range.toString().length
    +                };
    + 
    +                // Check to see if the selection starts with any images
    +                // if so we need to make sure the the beginning of the selection is
    +                // set correctly when importing selection
    +                if (this.doesRangeStartWithImages(range, doc)) {
    +                    selectionState.startsWithImage = true;
    +                }
    + 
    +                // Check to see if the selection has any trailing images
    +                // if so, this this means we need to look for them when we import selection
    +                var trailingImageCount = this.getTrailingImageCount(root, selectionState, range.endContainer, range.endOffset);
    +                if (trailingImageCount) {
    +                    selectionState.trailingImageCount = trailingImageCount;
    +                }
    + 
    +                // If start = 0 there may still be an empty paragraph before it, but we don't care.
    +                if (start !== 0) {
    +                    var emptyBlocksIndex = this.getIndexRelativeToAdjacentEmptyBlocks(doc, root, range.startContainer, range.startOffset);
    +                    if (emptyBlocksIndex !== -1) {
    +                        selectionState.emptyBlocksIndex = emptyBlocksIndex;
    +                    }
    +                }
    +            }
    + 
    +            return selectionState;
    +        },
    + 
    +        // http://stackoverflow.com/questions/17678843/cant-restore-selection-after-html-modify-even-if-its-the-same-html
    +        // Tim Down
    +        //
    +        // {object} selectionState - the selection to import
    +        // {DOMElement} root - the root element the selection is being restored inside of
    +        // {Document} doc - the document to use for managing selection
    +        // {boolean} [favorLaterSelectionAnchor] - defaults to false. If true, import the cursor immediately
    +        //      subsequent to an anchor tag if it would otherwise be placed right at the trailing edge inside the
    +        //      anchor. This cursor positioning, even though visually equivalent to the user, can affect behavior
    +        //      in MS IE.
    +        importSelection: function (selectionState, root, doc, favorLaterSelectionAnchor) {
    +            if (!selectionState || !root) {
    +                return;
    +            }
    + 
    +            var range = doc.createRange();
    +            range.setStart(root, 0);
    +            range.collapse(true);
    + 
    +            var node = root,
    +                nodeStack = [],
    +                charIndex = 0,
    +                foundStart = false,
    +                foundEnd = false,
    +                trailingImageCount = 0,
    +                stop = false,
    +                nextCharIndex,
    +                allowRangeToStartAtEndOfNode = false,
    +                lastTextNode = null;
    + 
    +            // When importing selection, the start of the selection may lie at the end of an element
    +            // or at the beginning of an element.  Since visually there is no difference between these 2
    +            // we will try to move the selection to the beginning of an element since this is generally
    +            // what users will expect and it's a more predictable behavior.
    +            //
    +            // However, there are some specific cases when we don't want to do this:
    +            //  1) We're attempting to move the cursor outside of the end of an anchor [favorLaterSelectionAnchor = true]
    +            //  2) The selection starts with an image, which is special since an image doesn't have any 'content'
    +            //     as far as selection and ranges are concerned
    +            //  3) The selection starts after a specified number of empty block elements (selectionState.emptyBlocksIndex)
    +            //
    +            // For these cases, we want the selection to start at a very specific location, so we should NOT
    +            // automatically move the cursor to the beginning of the first actual chunk of text
    +            if (favorLaterSelectionAnchor || selectionState.startsWithImage || typeof selectionState.emptyBlocksIndex !== 'undefined') {
    +                allowRangeToStartAtEndOfNode = true;
    +            }
    + 
    +            while (!stop && node) {
    +                // Only iterate over elements and text nodes
    +                if (node.nodeType > 3) {
    +                    node = nodeStack.pop();
    +                    continue;
    +                }
    + 
    +                // If we hit a text node, we need to add the amount of characters to the overall count
    +                if (node.nodeType === 3 && !foundEnd) {
    +                    nextCharIndex = charIndex + node.length;
    +                    // Check if we're at or beyond the start of the selection we're importing
    +                    if (!foundStart && selectionState.start >= charIndex && selectionState.start <= nextCharIndex) {
    +                        // NOTE: We only want to allow a selection to start at the END of an element if
    +                        //  allowRangeToStartAtEndOfNode is true
    +                        if (allowRangeToStartAtEndOfNode || selectionState.start < nextCharIndex) {
    +                            range.setStart(node, selectionState.start - charIndex);
    +                            foundStart = true;
    +                        }
    +                        // We're at the end of a text node where the selection could start but we shouldn't
    +                        // make the selection start here because allowRangeToStartAtEndOfNode is false.
    +                        // However, we should keep a reference to this node in case there aren't any more
    +                        // text nodes after this, so that we have somewhere to import the selection to
    +                        else {
    +                            lastTextNode = node;
    +                        }
    +                    }
    +                    // We've found the start of the selection, check if we're at or beyond the end of the selection we're importing
    +                    if (foundStart && selectionState.end >= charIndex && selectionState.end <= nextCharIndex) {
    +                        if (!selectionState.trailingImageCount) {
    +                            range.setEnd(node, selectionState.end - charIndex);
    +                            stop = true;
    +                        } else {
    +                            foundEnd = true;
    +                        }
    +                    }
    +                    charIndex = nextCharIndex;
    +                } else {
    +                    if (selectionState.trailingImageCount && foundEnd) {
    +                        if (node.nodeName.toLowerCase() === 'img') {
    +                            trailingImageCount++;
    +                        }
    +                        if (trailingImageCount === selectionState.trailingImageCount) {
    +                            // Find which index the image is in its parent's children
    +                            var endIndex = 0;
    +                            while (node.parentNode.childNodes[endIndex] !== node) {
    +                                endIndex++;
    +                            }
    +                            range.setEnd(node.parentNode, endIndex + 1);
    +                            stop = true;
    +                        }
    +                    }
    + 
    +                    if (!stop && node.nodeType === 1) {
    +                        // this is an element
    +                        // add all its children to the stack
    +                        var i = node.childNodes.length - 1;
    +                        while (i >= 0) {
    +                            nodeStack.push(node.childNodes[i]);
    +                            i -= 1;
    +                        }
    +                    }
    +                }
    + 
    +                if (!stop) {
    +                    node = nodeStack.pop();
    +                }
    +            }
    + 
    +            // If we've gone through the entire text but didn't find the beginning of a text node
    +            // to make the selection start at, we should fall back to starting the selection
    +            // at the END of the last text node we found
    +            if (!foundStart && lastTextNode) {
    +                range.setStart(lastTextNode, lastTextNode.length);
    +                range.setEnd(lastTextNode, lastTextNode.length);
    +            }
    + 
    +            if (typeof selectionState.emptyBlocksIndex !== 'undefined') {
    +                range = this.importSelectionMoveCursorPastBlocks(doc, root, selectionState.emptyBlocksIndex, range);
    +            }
    + 
    +            // If the selection is right at the ending edge of a link, put it outside the anchor tag instead of inside.
    +            if (favorLaterSelectionAnchor) {
    +                range = this.importSelectionMoveCursorPastAnchor(selectionState, range);
    +            }
    + 
    +            this.selectRange(doc, range);
    +        },
    + 
    +        // Utility method called from importSelection only
    +        importSelectionMoveCursorPastAnchor: function (selectionState, range) {
    +            var nodeInsideAnchorTagFunction = function (node) {
    +                return node.nodeName.toLowerCase() === 'a';
    +            };
    +            if (selectionState.start === selectionState.end &&
    +                    range.startContainer.nodeType === 3 &&
    +                    range.startOffset === range.startContainer.nodeValue.length &&
    +                    MediumEditor.util.traverseUp(range.startContainer, nodeInsideAnchorTagFunction)) {
    +                var prevNode = range.startContainer,
    +                    currentNode = range.startContainer.parentNode;
    +                while (currentNode !== null && currentNode.nodeName.toLowerCase() !== 'a') {
    +                    if (currentNode.childNodes[currentNode.childNodes.length - 1] !== prevNode) {
    +                        currentNode = null;
    +                    } else {
    +                        prevNode = currentNode;
    +                        currentNode = currentNode.parentNode;
    +                    }
    +                }
    +                if (currentNode !== null && currentNode.nodeName.toLowerCase() === 'a') {
    +                    var currentNodeIndex = null;
    +                    for (var i = 0; currentNodeIndex === null && i < currentNode.parentNode.childNodes.length; i++) {
    +                        if (currentNode.parentNode.childNodes[i] === currentNode) {
    +                            currentNodeIndex = i;
    +                        }
    +                    }
    +                    range.setStart(currentNode.parentNode, currentNodeIndex + 1);
    +                    range.collapse(true);
    +                }
    +            }
    +            return range;
    +        },
    + 
    +        // Uses the emptyBlocksIndex calculated by getIndexRelativeToAdjacentEmptyBlocks
    +        // to move the cursor back to the start of the correct paragraph
    +        importSelectionMoveCursorPastBlocks: function (doc, root, index, range) {
    +            var treeWalker = doc.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, filterOnlyParentElements, false),
    +                startContainer = range.startContainer,
    +                startBlock,
    +                targetNode,
    +                currIndex = 0;
    +            index = index || 1; // If index is 0, we still want to move to the next block
    + 
    +            // Chrome counts newlines and spaces that separate block elements as actual elements.
    +            // If the selection is inside one of these text nodes, and it has a previous sibling
    +            // which is a block element, we want the treewalker to start at the previous sibling
    +            // and NOT at the parent of the textnode
    +            if (startContainer.nodeType === 3 && MediumEditor.util.isBlockContainer(startContainer.previousSibling)) {
    +                startBlock = startContainer.previousSibling;
    +            } else {
    +                startBlock = MediumEditor.util.getClosestBlockContainer(startContainer);
    +            }
    + 
    +            // Skip over empty blocks until we hit the block we want the selection to be in
    +            while (treeWalker.nextNode()) {
    +                if (!targetNode) {
    +                    // Loop through all blocks until we hit the starting block element
    +                    if (startBlock === treeWalker.currentNode) {
    +                        targetNode = treeWalker.currentNode;
    +                    }
    +                } else {
    +                    targetNode = treeWalker.currentNode;
    +                    currIndex++;
    +                    // We hit the target index, bail
    +                    if (currIndex === index) {
    +                        break;
    +                    }
    +                    // If we find a non-empty block, ignore the emptyBlocksIndex and just put selection here
    +                    if (targetNode.textContent.length > 0) {
    +                        break;
    +                    }
    +                }
    +            }
    + 
    +            if (!targetNode) {
    +                targetNode = startBlock;
    +            }
    + 
    +            // We're selecting a high-level block node, so make sure the cursor gets moved into the deepest
    +            // element at the beginning of the block
    +            range.setStart(MediumEditor.util.getFirstSelectableLeafNode(targetNode), 0);
    + 
    +            return range;
    +        },
    + 
    +        // Returns -1 unless the cursor is at the beginning of a paragraph/block
    +        // If the paragraph/block is preceeded by empty paragraphs/block (with no text)
    +        // it will return the number of empty paragraphs before the cursor.
    +        // Otherwise, it will return 0, which indicates the cursor is at the beginning
    +        // of a paragraph/block, and not at the end of the paragraph/block before it
    +        getIndexRelativeToAdjacentEmptyBlocks: function (doc, root, cursorContainer, cursorOffset) {
    +            // If there is text in front of the cursor, that means there isn't only empty blocks before it
    +            if (cursorContainer.textContent.length > 0 && cursorOffset > 0) {
    +                return -1;
    +            }
    + 
    +            // Check if the block that contains the cursor has any other text in front of the cursor
    +            var node = cursorContainer;
    +            if (node.nodeType !== 3) {
    +                node = cursorContainer.childNodes[cursorOffset];
    +            }
    +            if (node) {
    +                // The element isn't at the beginning of a block, so it has content before it
    +                if (!MediumEditor.util.isElementAtBeginningOfBlock(node)) {
    +                    return -1;
    +                }
    + 
    +                var previousSibling = MediumEditor.util.findPreviousSibling(node);
    +                // If there is no previous sibling, this is the first text element in the editor
    +                if (!previousSibling) {
    +                    return -1;
    +                }
    +                // If the previous sibling has text, then there are no empty blocks before this
    +                else if (previousSibling.nodeValue) {
    +                    return -1;
    +                }
    +            }
    + 
    +            // Walk over block elements, counting number of empty blocks between last piece of text
    +            // and the block the cursor is in
    +            var closestBlock = MediumEditor.util.getClosestBlockContainer(cursorContainer),
    +                treeWalker = doc.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, filterOnlyParentElements, false),
    +                emptyBlocksCount = 0;
    +            while (treeWalker.nextNode()) {
    +                var blockIsEmpty = treeWalker.currentNode.textContent === '';
    +                if (blockIsEmpty || emptyBlocksCount > 0) {
    +                    emptyBlocksCount += 1;
    +                }
    +                if (treeWalker.currentNode === closestBlock) {
    +                    return emptyBlocksCount;
    +                }
    +                if (!blockIsEmpty) {
    +                    emptyBlocksCount = 0;
    +                }
    +            }
    + 
    +            return emptyBlocksCount;
    +        },
    + 
    +        // Returns true if the selection range begins with an image tag
    +        // Returns false if the range starts with any non empty text nodes
    +        doesRangeStartWithImages: function (range, doc) {
    +            if (range.startOffset !== 0 || range.startContainer.nodeType !== 1) {
    +                return false;
    +            }
    + 
    +            if (range.startContainer.nodeName.toLowerCase() === 'img') {
    +                return true;
    +            }
    + 
    +            var img = range.startContainer.querySelector('img');
    +            if (!img) {
    +                return false;
    +            }
    + 
    +            var treeWalker = doc.createTreeWalker(range.startContainer, NodeFilter.SHOW_ALL, null, false);
    +            while (treeWalker.nextNode()) {
    +                var next = treeWalker.currentNode;
    +                // If we hit the image, then there isn't any text before the image so
    +                // the image is at the beginning of the range
    +                if (next === img) {
    +                    break;
    +                }
    +                // If we haven't hit the iamge, but found text that contains content
    +                // then the range doesn't start with an image
    +                if (next.nodeValue) {
    +                    return false;
    +                }
    +            }
    + 
    +            return true;
    +        },
    + 
    +        getTrailingImageCount: function (root, selectionState, endContainer, endOffset) {
    +            // If the endOffset of a range is 0, the endContainer doesn't contain images
    +            // If the endContainer is a text node, there are no trailing images
    +            if (endOffset === 0 || endContainer.nodeType !== 1) {
    +                return 0;
    +            }
    + 
    +            // If the endContainer isn't an image, and doesn't have an image descendants
    +            // there are no trailing images
    +            if (endContainer.nodeName.toLowerCase() !== 'img' && !endContainer.querySelector('img')) {
    +                return 0;
    +            }
    + 
    +            var lastNode = endContainer.childNodes[endOffset - 1];
    +            while (lastNode.hasChildNodes()) {
    +                lastNode = lastNode.lastChild;
    +            }
    + 
    +            var node = root,
    +                nodeStack = [],
    +                charIndex = 0,
    +                foundStart = false,
    +                foundEnd = false,
    +                stop = false,
    +                nextCharIndex,
    +                trailingImages = 0;
    + 
    +            while (!stop && node) {
    +                // Only iterate over elements and text nodes
    +                if (node.nodeType > 3) {
    +                    node = nodeStack.pop();
    +                    continue;
    +                }
    + 
    +                if (node.nodeType === 3 && !foundEnd) {
    +                    trailingImages = 0;
    +                    nextCharIndex = charIndex + node.length;
    +                    if (!foundStart && selectionState.start >= charIndex && selectionState.start <= nextCharIndex) {
    +                        foundStart = true;
    +                    }
    +                    if (foundStart && selectionState.end >= charIndex && selectionState.end <= nextCharIndex) {
    +                        foundEnd = true;
    +                    }
    +                    charIndex = nextCharIndex;
    +                } else {
    +                    if (node.nodeName.toLowerCase() === 'img') {
    +                        trailingImages++;
    +                    }
    + 
    +                    if (node === lastNode) {
    +                        stop = true;
    +                    } else if (node.nodeType === 1) {
    +                        // this is an element
    +                        // add all its children to the stack
    +                        var i = node.childNodes.length - 1;
    +                        while (i >= 0) {
    +                            nodeStack.push(node.childNodes[i]);
    +                            i -= 1;
    +                        }
    +                    }
    +                }
    + 
    +                if (!stop) {
    +                    node = nodeStack.pop();
    +                }
    +            }
    + 
    +            return trailingImages;
    +        },
    + 
    +        // determine if the current selection contains any 'content'
    +        // content being any non-white space text or an image
    +        selectionContainsContent: function (doc) {
    +            var sel = doc.getSelection();
    + 
    +            // collapsed selection or selection withour range doesn't contain content
    +            if (!sel || sel.isCollapsed || !sel.rangeCount) {
    +                return false;
    +            }
    + 
    +            // if toString() contains any text, the selection contains some content
    +            if (sel.toString().trim() !== '') {
    +                return true;
    +            }
    + 
    +            // if selection contains only image(s), it will return empty for toString()
    +            // so check for an image manually
    +            var selectionNode = this.getSelectedParentElement(sel.getRangeAt(0));
    +            if (selectionNode) {
    +                if (selectionNode.nodeName.toLowerCase() === 'img' ||
    +                    (selectionNode.nodeType === 1 && selectionNode.querySelector('img'))) {
    +                    return true;
    +                }
    +            }
    + 
    +            return false;
    +        },
    + 
    +        selectionInContentEditableFalse: function (contentWindow) {
    +            // determine if the current selection is exclusively inside
    +            // a contenteditable="false", though treat the case of an
    +            // explicit contenteditable="true" inside a "false" as false.
    +            var sawtrue,
    +                sawfalse = this.findMatchingSelectionParent(function (el) {
    +                    var ce = el && el.getAttribute('contenteditable');
    +                    if (ce === 'true') {
    +                        sawtrue = true;
    +                    }
    +                    return el.nodeName !== '#text' && ce === 'false';
    +                }, contentWindow);
    + 
    +            return !sawtrue && sawfalse;
    +        },
    + 
    +        // http://stackoverflow.com/questions/4176923/html-of-selected-text
    +        // by Tim Down
    +        getSelectionHtml: function getSelectionHtml(doc) {
    +            var i,
    +                html = '',
    +                sel = doc.getSelection(),
    +                len,
    +                container;
    +            if (sel.rangeCount) {
    +                container = doc.createElement('div');
    +                for (i = 0, len = sel.rangeCount; i < len; i += 1) {
    +                    container.appendChild(sel.getRangeAt(i).cloneContents());
    +                }
    +                html = container.innerHTML;
    +            }
    +            return html;
    +        },
    + 
    +        /**
    +         *  Find the caret position within an element irrespective of any inline tags it may contain.
    +         *
    +         *  @param {DOMElement} An element containing the cursor to find offsets relative to.
    +         *  @param {Range} A Range representing cursor position. Will window.getSelection if none is passed.
    +         *  @return {Object} 'left' and 'right' attributes contain offsets from begining and end of Element
    +         */
    +        getCaretOffsets: function getCaretOffsets(element, range) {
    +            var preCaretRange, postCaretRange;
    + 
    +            if (!range) {
    +                range = window.getSelection().getRangeAt(0);
    +            }
    + 
    +            preCaretRange = range.cloneRange();
    +            postCaretRange = range.cloneRange();
    + 
    +            preCaretRange.selectNodeContents(element);
    +            preCaretRange.setEnd(range.endContainer, range.endOffset);
    + 
    +            postCaretRange.selectNodeContents(element);
    +            postCaretRange.setStart(range.endContainer, range.endOffset);
    + 
    +            return {
    +                left: preCaretRange.toString().length,
    +                right: postCaretRange.toString().length
    +            };
    +        },
    + 
    +        // http://stackoverflow.com/questions/15867542/range-object-get-selection-parent-node-chrome-vs-firefox
    +        rangeSelectsSingleNode: function (range) {
    +            var startNode = range.startContainer;
    +            return startNode === range.endContainer &&
    +                startNode.hasChildNodes() &&
    +                range.endOffset === range.startOffset + 1;
    +        },
    + 
    +        getSelectedParentElement: function (range) {
    +            if (!range) {
    +                return null;
    +            }
    + 
    +            // Selection encompasses a single element
    +            if (this.rangeSelectsSingleNode(range) && range.startContainer.childNodes[range.startOffset].nodeType !== 3) {
    +                return range.startContainer.childNodes[range.startOffset];
    +            }
    + 
    +            // Selection range starts inside a text node, so get its parent
    +            if (range.startContainer.nodeType === 3) {
    +                return range.startContainer.parentNode;
    +            }
    + 
    +            // Selection starts inside an element
    +            return range.startContainer;
    +        },
    + 
    +        getSelectedElements: function (doc) {
    +            var selection = doc.getSelection(),
    +                range,
    +                toRet,
    +                currNode;
    + 
    +            if (!selection.rangeCount || selection.isCollapsed || !selection.getRangeAt(0).commonAncestorContainer) {
    +                return [];
    +            }
    + 
    +            range = selection.getRangeAt(0);
    + 
    +            if (range.commonAncestorContainer.nodeType === 3) {
    +                toRet = [];
    +                currNode = range.commonAncestorContainer;
    +                while (currNode.parentNode && currNode.parentNode.childNodes.length === 1) {
    +                    toRet.push(currNode.parentNode);
    +                    currNode = currNode.parentNode;
    +                }
    + 
    +                return toRet;
    +            }
    + 
    +            return [].filter.call(range.commonAncestorContainer.getElementsByTagName('*'), function (el) {
    +                return (typeof selection.containsNode === 'function') ? selection.containsNode(el, true) : true;
    +            });
    +        },
    + 
    +        selectNode: function (node, doc) {
    +            var range = doc.createRange();
    +            range.selectNodeContents(node);
    +            this.selectRange(doc, range);
    +        },
    + 
    +        select: function (doc, startNode, startOffset, endNode, endOffset) {
    +            var range = doc.createRange();
    +            range.setStart(startNode, startOffset);
    +            if (endNode) {
    +                range.setEnd(endNode, endOffset);
    +            } else {
    +                range.collapse(true);
    +            }
    +            this.selectRange(doc, range);
    +            return range;
    +        },
    + 
    +        /**
    +         *  Clear the current highlighted selection and set the caret to the start or the end of that prior selection, defaults to end.
    +         *
    +         *  @param {DomDocument} doc            Current document
    +         *  @param {boolean} moveCursorToStart  A boolean representing whether or not to set the caret to the beginning of the prior selection.
    +         */
    +        clearSelection: function (doc, moveCursorToStart) {
    +            if (moveCursorToStart) {
    +                doc.getSelection().collapseToStart();
    +            } else {
    +                doc.getSelection().collapseToEnd();
    +            }
    +        },
    + 
    +        /**
    +         * Move cursor to the given node with the given offset.
    +         *
    +         * @param  {DomDocument} doc     Current document
    +         * @param  {DomElement}  node    Element where to jump
    +         * @param  {integer}     offset  Where in the element should we jump, 0 by default
    +         */
    +        moveCursor: function (doc, node, offset) {
    +            this.select(doc, node, offset);
    +        },
    + 
    +        getSelectionRange: function (ownerDocument) {
    +            var selection = ownerDocument.getSelection();
    +            if (selection.rangeCount === 0) {
    +                return null;
    +            }
    +            return selection.getRangeAt(0);
    +        },
    + 
    +        selectRange: function (ownerDocument, range) {
    +            var selection = ownerDocument.getSelection();
    + 
    +            selection.removeAllRanges();
    +            selection.addRange(range);
    +        },
    + 
    +        // http://stackoverflow.com/questions/1197401/how-can-i-get-the-element-the-caret-is-in-with-javascript-when-using-contentedi
    +        // by You
    +        getSelectionStart: function (ownerDocument) {
    +            var node = ownerDocument.getSelection().anchorNode,
    +                startNode = (node && node.nodeType === 3 ? node.parentNode : node);
    + 
    +            return startNode;
    +        }
    +    };
    + 
    +    MediumEditor.selection = Selection;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/js/version.js.html b/reports/jasmine/lcov/lcov-report/js/version.js.html new file mode 100644 index 0000000..d41c910 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/js/version.js.html @@ -0,0 +1,122 @@ + + + + Code coverage report for js/version.js + + + + + + + +
    +
    +

    + all files / js/ version.js +

    +
    +
    + 80% + Statements + 4/5 +
    +
    + 25% + Branches + 1/4 +
    +
    + 50% + Functions + 1/2 +
    +
    + 80% + Lines + 4/5 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 + +  +  + +  +  +  +  +  +  +  +  +  +  + +  +  +  + 
    MediumEditor.parseVersionString = function (release) {
    +    var split = release.split('-'),
    +        version = split[0].split('.'),
    +        preRelease = (split.length > 1) ? split[1] : '';
    +    return {
    +        major: parseInt(version[0], 10),
    +        minor: parseInt(version[1], 10),
    +        revision: parseInt(version[2], 10),
    +        preRelease: preRelease,
    +        toString: function () {
    +            return [version[0], version[1], version[2]].join('.') + (preRelease ? '-' + preRelease : '');
    +        }
    +    };
    +};
    + 
    +MediumEditor.version = MediumEditor.parseVersionString.call(this, ({
    +    // grunt-bump looks for this:
    +    'version': '6.0.0'
    +}).version);
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/prettify.css b/reports/jasmine/lcov/lcov-report/prettify.css new file mode 100644 index 0000000..b317a7c --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/reports/jasmine/lcov/lcov-report/prettify.js b/reports/jasmine/lcov/lcov-report/prettify.js new file mode 100644 index 0000000..ef51e03 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/prettify.js @@ -0,0 +1 @@ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/reports/jasmine/lcov/lcov-report/sort-arrow-sprite.png b/reports/jasmine/lcov/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000..03f704a Binary files /dev/null and b/reports/jasmine/lcov/lcov-report/sort-arrow-sprite.png differ diff --git a/reports/jasmine/lcov/lcov-report/sorter.js b/reports/jasmine/lcov/lcov-report/sorter.js new file mode 100644 index 0000000..6c5034e --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/sorter.js @@ -0,0 +1,158 @@ +var addSorting = (function () { + "use strict"; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { return document.querySelector('.coverage-summary'); } + // returns the thead element of the summary table + function getTableHeader() { return getTable().querySelector('thead tr'); } + // returns the tbody element of the summary table + function getTableBody() { return getTable().querySelector('tbody'); } + // returns the th element for nth column + function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = colNode.innerHTML + ''; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function (a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function (a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function () { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i =0 ; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function () { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(cols); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/reports/jasmine/lcov/lcov-report/src/js/core.js.html b/reports/jasmine/lcov/lcov-report/src/js/core.js.html new file mode 100644 index 0000000..1a466db --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/core.js.html @@ -0,0 +1,3926 @@ + + + + Code coverage report for src/js/core.js + + + + + + + +
    +
    +

    + all files / src/js/ core.js +

    +
    +
    + 5.78% + Statements + 30/519 +
    +
    + 0% + Branches + 0/378 +
    +
    + 1.27% + Functions + 1/79 +
    +
    + 5.78% + Lines + 30/519 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +  +  +  +  + +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  + +  +  +  + +  +  +  + +  +  +  + +  +  +  + +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    // Event handlers that shouldn't be exposed externally
    + 
    +    function handleDisableExtraSpaces(event) {
    +        var node = MediumEditor.selection.getSelectionStart(this.options.ownerDocument),
    +            textContent = node.textContent,
    +            caretPositions = MediumEditor.selection.getCaretOffsets(node);
    + 
    +        if ((textContent[caretPositions.left - 1] === undefined) || (textContent[caretPositions.left - 1].trim() === '') || (textContent[caretPositions.left] !== undefined && textContent[caretPositions.left].trim() === '')) {
    +            event.preventDefault();
    +        }
    +    }
    + 
    +    function handleDisabledEnterKeydown(event, element) {
    +        if (this.options.disableReturn || element.getAttribute('data-disable-return')) {
    +            event.preventDefault();
    +        } else if (this.options.disableDoubleReturn || element.getAttribute('data-disable-double-return')) {
    +            var node = MediumEditor.selection.getSelectionStart(this.options.ownerDocument);
    + 
    +            // if current text selection is empty OR previous sibling text is empty OR it is not a list
    +            if ((node && node.textContent.trim() === '' && node.nodeName.toLowerCase() !== 'li') ||
    +                (node.previousElementSibling && node.previousElementSibling.nodeName.toLowerCase() !== 'br' &&
    +                 node.previousElementSibling.textContent.trim() === '')) {
    +                event.preventDefault();
    +            }
    +        }
    +    }
    + 
    +    function handleTabKeydown(event) {
    +        // Override tab only for pre nodes
    +        var node = MediumEditor.selection.getSelectionStart(this.options.ownerDocument),
    +            tag = node && node.nodeName.toLowerCase();
    + 
    +        if (tag === 'pre') {
    +            event.preventDefault();
    +            MediumEditor.util.insertHTMLCommand(this.options.ownerDocument, '    ');
    +        }
    + 
    +        // Tab to indent list structures!
    +        if (MediumEditor.util.isListItem(node)) {
    +            event.preventDefault();
    + 
    +            // If Shift is down, outdent, otherwise indent
    +            if (event.shiftKey) {
    +                this.options.ownerDocument.execCommand('outdent', false, null);
    +            } else {
    +                this.options.ownerDocument.execCommand('indent', false, null);
    +            }
    +        }
    +    }
    + 
    +    function handleBlockDeleteKeydowns(event) {
    +        var p, node = MediumEditor.selection.getSelectionStart(this.options.ownerDocument),
    +            tagName = node.nodeName.toLowerCase(),
    +            isEmpty = /^(\s+|<br\/?>)?$/i,
    +            isHeader = /h\d/i;
    + 
    +        if (MediumEditor.util.isKey(event, [MediumEditor.util.keyCode.BACKSPACE, MediumEditor.util.keyCode.ENTER]) &&
    +                // has a preceeding sibling
    +                node.previousElementSibling &&
    +                // in a header
    +                isHeader.test(tagName) &&
    +                // at the very end of the block
    +                MediumEditor.selection.getCaretOffsets(node).left === 0) {
    +            if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.BACKSPACE) && isEmpty.test(node.previousElementSibling.innerHTML)) {
    +                // backspacing the begining of a header into an empty previous element will
    +                // change the tagName of the current node to prevent one
    +                // instead delete previous node and cancel the event.
    +                node.previousElementSibling.parentNode.removeChild(node.previousElementSibling);
    +                event.preventDefault();
    +            } else if (!this.options.disableDoubleReturn && MediumEditor.util.isKey(event, MediumEditor.util.keyCode.ENTER)) {
    +                // hitting return in the begining of a header will create empty header elements before the current one
    +                // instead, make "<p><br></p>" element, which are what happens if you hit return in an empty paragraph
    +                p = this.options.ownerDocument.createElement('p');
    +                p.innerHTML = '<br>';
    +                node.previousElementSibling.parentNode.insertBefore(p, node);
    +                event.preventDefault();
    +            }
    +        } else if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.DELETE) &&
    +                    // between two sibling elements
    +                    node.nextElementSibling &&
    +                    node.previousElementSibling &&
    +                    // not in a header
    +                    !isHeader.test(tagName) &&
    +                    // in an empty tag
    +                    isEmpty.test(node.innerHTML) &&
    +                    // when the next tag *is* a header
    +                    isHeader.test(node.nextElementSibling.nodeName.toLowerCase())) {
    +            // hitting delete in an empty element preceding a header, ex:
    +            //  <p>[CURSOR]</p><h1>Header</h1>
    +            // Will cause the h1 to become a paragraph.
    +            // Instead, delete the paragraph node and move the cursor to the begining of the h1
    + 
    +            // remove node and move cursor to start of header
    +            MediumEditor.selection.moveCursor(this.options.ownerDocument, node.nextElementSibling);
    + 
    +            node.previousElementSibling.parentNode.removeChild(node);
    + 
    +            event.preventDefault();
    +        } else if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.BACKSPACE) &&
    +                tagName === 'li' &&
    +                // hitting backspace inside an empty li
    +                isEmpty.test(node.innerHTML) &&
    +                // is first element (no preceeding siblings)
    +                !node.previousElementSibling &&
    +                // parent also does not have a sibling
    +                !node.parentElement.previousElementSibling &&
    +                // is not the only li in a list
    +                node.nextElementSibling &&
    +                node.nextElementSibling.nodeName.toLowerCase() === 'li') {
    +            // backspacing in an empty first list element in the first list (with more elements) ex:
    +            //  <ul><li>[CURSOR]</li><li>List Item 2</li></ul>
    +            // will remove the first <li> but add some extra element before (varies based on browser)
    +            // Instead, this will:
    +            // 1) remove the list element
    +            // 2) create a paragraph before the list
    +            // 3) move the cursor into the paragraph
    + 
    +            // create a paragraph before the list
    +            p = this.options.ownerDocument.createElement('p');
    +            p.innerHTML = '<br>';
    +            node.parentElement.parentElement.insertBefore(p, node.parentElement);
    + 
    +            // move the cursor into the new paragraph
    +            MediumEditor.selection.moveCursor(this.options.ownerDocument, p);
    + 
    +            // remove the list element
    +            node.parentElement.removeChild(node);
    + 
    +            event.preventDefault();
    +        } else if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.BACKSPACE) &&
    +                (MediumEditor.util.getClosestTag(node, 'blockquote') !== false) &&
    +                MediumEditor.selection.getCaretOffsets(node).left === 0) {
    + 
    +            // when cursor is at the begining of the element and the element is <blockquote>
    +            // then pressing backspace key should change the <blockquote> to a <p> tag
    +            event.preventDefault();
    +            MediumEditor.util.execFormatBlock(this.options.ownerDocument, 'p');
    +        } else if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.ENTER) &&
    +                (MediumEditor.util.getClosestTag(node, 'blockquote') !== false) &&
    +                MediumEditor.selection.getCaretOffsets(node).right === 0) {
    + 
    +            // when cursor is at the end of <blockquote>,
    +            // then pressing enter key should create <p> tag, not <blockquote>
    +            p = this.options.ownerDocument.createElement('p');
    +            p.innerHTML = '<br>';
    +            node.parentElement.insertBefore(p, node.nextSibling);
    + 
    +            // move the cursor into the new paragraph
    +            MediumEditor.selection.moveCursor(this.options.ownerDocument, p);
    + 
    +            event.preventDefault();
    +        } else if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.BACKSPACE) &&
    +                MediumEditor.util.isMediumEditorElement(node.parentElement) &&
    +                !node.previousElementSibling &&
    +                node.nextElementSibling &&
    +                isEmpty.test(node.innerHTML)) {
    + 
    +            // when cursor is in the first element, it's empty and user presses backspace,
    +            // do delete action instead to get rid of the first element and move caret to 2nd
    +            event.preventDefault();
    +            MediumEditor.selection.moveCursor(this.options.ownerDocument, node.nextSibling);
    +            node.parentElement.removeChild(node);
    +        }
    +    }
    + 
    +    function handleKeyup(event) {
    +        var node = MediumEditor.selection.getSelectionStart(this.options.ownerDocument),
    +            tagName;
    + 
    +        if (!node) {
    +            return;
    +        }
    + 
    +        // https://github.com/yabwe/medium-editor/issues/994
    +        // Firefox thrown an error when calling `formatBlock` on an empty editable blockContainer that's not a <div>
    +        if (MediumEditor.util.isMediumEditorElement(node) && node.children.length === 0 && !MediumEditor.util.isBlockContainer(node)) {
    +            this.options.ownerDocument.execCommand('formatBlock', false, 'p');
    +        }
    + 
    +        // https://github.com/yabwe/medium-editor/issues/834
    +        // https://github.com/yabwe/medium-editor/pull/382
    +        // Don't call format block if this is a block element (ie h1, figCaption, etc.)
    +        if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.ENTER) &&
    +            !MediumEditor.util.isListItem(node) &&
    +            !MediumEditor.util.isBlockContainer(node)) {
    + 
    +            tagName = node.nodeName.toLowerCase();
    +            // For anchor tags, unlink
    +            if (tagName === 'a') {
    +                this.options.ownerDocument.execCommand('unlink', false, null);
    +            } else if (!event.shiftKey && !event.ctrlKey) {
    +                this.options.ownerDocument.execCommand('formatBlock', false, 'p');
    +            }
    +        }
    +    }
    + 
    +    function handleEditableInput(event, editable) {
    +        var textarea = editable.parentNode.querySelector('textarea[medium-editor-textarea-id="' + editable.getAttribute('medium-editor-textarea-id') + '"]');
    +        if (textarea) {
    +            textarea.value = editable.innerHTML.trim();
    +        }
    +    }
    + 
    +    // Internal helper methods which shouldn't be exposed externally
    + 
    +    function addToEditors(win) {
    +        if (!win._mediumEditors) {
    +            // To avoid breaking users who are assuming that the unique id on
    +            // medium-editor elements will start at 1, inserting a 'null' in the
    +            // array so the unique-id can always map to the index of the editor instance
    +            win._mediumEditors = [null];
    +        }
    + 
    +        // If this already has a unique id, re-use it
    +        if (!this.id) {
    +            this.id = win._mediumEditors.length;
    +        }
    + 
    +        win._mediumEditors[this.id] = this;
    +    }
    + 
    +    function removeFromEditors(win) {
    +        if (!win._mediumEditors || !win._mediumEditors[this.id]) {
    +            return;
    +        }
    + 
    +        /* Setting the instance to null in the array instead of deleting it allows:
    +         * 1) Each instance to preserve its own unique-id, even after being destroyed
    +         *    and initialized again
    +         * 2) The unique-id to always correspond to an index in the array of medium-editor
    +         *    instances. Thus, we will be able to look at a contenteditable, and determine
    +         *    which instance it belongs to, by indexing into the global array.
    +         */
    +        win._mediumEditors[this.id] = null;
    +    }
    + 
    +    function createElementsArray(selector, doc, filterEditorElements) {
    +        var elements = [];
    + 
    +        if (!selector) {
    +            selector = [];
    +        }
    +        // If string, use as query selector
    +        if (typeof selector === 'string') {
    +            selector = doc.querySelectorAll(selector);
    +        }
    +        // If element, put into array
    +        if (MediumEditor.util.isElement(selector)) {
    +            selector = [selector];
    +        }
    + 
    +        if (filterEditorElements) {
    +            // Remove elements that have already been initialized by the editor
    +            // selecotr might not be an array (ie NodeList) so use for loop
    +            for (var i = 0; i < selector.length; i++) {
    +                var el = selector[i];
    +                if (MediumEditor.util.isElement(el) &&
    +                    !el.getAttribute('data-medium-editor-element') &&
    +                    !el.getAttribute('medium-editor-textarea-id')) {
    +                    elements.push(el);
    +                }
    +            }
    +        } else {
    +            // Convert NodeList (or other array like object) into an array
    +            elements = Array.prototype.slice.apply(selector);
    +        }
    + 
    +        return elements;
    +    }
    + 
    +    function cleanupTextareaElement(element) {
    +        var textarea = element.parentNode.querySelector('textarea[medium-editor-textarea-id="' + element.getAttribute('medium-editor-textarea-id') + '"]');
    +        if (textarea) {
    +            // Un-hide the textarea
    +            textarea.classList.remove('medium-editor-hidden');
    +            textarea.removeAttribute('medium-editor-textarea-id');
    +        }
    +        if (element.parentNode) {
    +            element.parentNode.removeChild(element);
    +        }
    +    }
    + 
    +    function setExtensionDefaults(extension, defaults) {
    +        Object.keys(defaults).forEach(function (prop) {
    +            if (extension[prop] === undefined) {
    +                extension[prop] = defaults[prop];
    +            }
    +        });
    +        return extension;
    +    }
    + 
    +    function initExtension(extension, name, instance) {
    +        var extensionDefaults = {
    +            'window': instance.options.contentWindow,
    +            'document': instance.options.ownerDocument,
    +            'base': instance
    +        };
    + 
    +        // Add default options into the extension
    +        extension = setExtensionDefaults(extension, extensionDefaults);
    + 
    +        // Call init on the extension
    +        if (typeof extension.init === 'function') {
    +            extension.init();
    +        }
    + 
    +        // Set extension name (if not already set)
    +        if (!extension.name) {
    +            extension.name = name;
    +        }
    +        return extension;
    +    }
    + 
    +    function isToolbarEnabled() {
    +        // If any of the elements don't have the toolbar disabled
    +        // We need a toolbar
    +        if (this.elements.every(function (element) {
    +                return !!element.getAttribute('data-disable-toolbar');
    +            })) {
    +            return false;
    +        }
    + 
    +        return this.options.toolbar !== false;
    +    }
    + 
    +    function isAnchorPreviewEnabled() {
    +        // If toolbar is disabled, don't add
    +        if (!isToolbarEnabled.call(this)) {
    +            return false;
    +        }
    + 
    +        return this.options.anchorPreview !== false;
    +    }
    + 
    +    function isPlaceholderEnabled() {
    +        return this.options.placeholder !== false;
    +    }
    + 
    +    function isAutoLinkEnabled() {
    +        return this.options.autoLink !== false;
    +    }
    + 
    +    function isImageDraggingEnabled() {
    +        return this.options.imageDragging !== false;
    +    }
    + 
    +    function isKeyboardCommandsEnabled() {
    +        return this.options.keyboardCommands !== false;
    +    }
    + 
    +    function shouldUseFileDraggingExtension() {
    +        // Since the file-dragging extension replaces the image-dragging extension,
    +        // we need to check if the user passed an overrided image-dragging extension.
    +        // If they have, to avoid breaking users, we won't use file-dragging extension.
    +        return !this.options.extensions['imageDragging'];
    +    }
    + 
    +    function createContentEditable(textarea) {
    +        var div = this.options.ownerDocument.createElement('div'),
    +            now = Date.now(),
    +            uniqueId = 'medium-editor-' + now,
    +            atts = textarea.attributes;
    + 
    +        // Some browsers can move pretty fast, since we're using a timestamp
    +        // to make a unique-id, ensure that the id is actually unique on the page
    +        while (this.options.ownerDocument.getElementById(uniqueId)) {
    +            now++;
    +            uniqueId = 'medium-editor-' + now;
    +        }
    + 
    +        div.className = textarea.className;
    +        div.id = uniqueId;
    +        div.innerHTML = textarea.value;
    + 
    +        textarea.setAttribute('medium-editor-textarea-id', uniqueId);
    + 
    +        // re-create all attributes from the textearea to the new created div
    +        for (var i = 0, n = atts.length; i < n; i++) {
    +            // do not re-create existing attributes
    +            if (!div.hasAttribute(atts[i].nodeName)) {
    +                div.setAttribute(atts[i].nodeName, atts[i].value);
    +            }
    +        }
    + 
    +        // If textarea has a form, listen for reset on the form to clear
    +        // the content of the created div
    +        if (textarea.form) {
    +            this.on(textarea.form, 'reset', function (event) {
    +                if (!event.defaultPrevented) {
    +                    this.resetContent(this.options.ownerDocument.getElementById(uniqueId));
    +                }
    +            }.bind(this));
    +        }
    + 
    +        textarea.classList.add('medium-editor-hidden');
    +        textarea.parentNode.insertBefore(
    +            div,
    +            textarea
    +        );
    + 
    +        return div;
    +    }
    + 
    +    function initElement(element, editorId) {
    +        if (!element.getAttribute('data-medium-editor-element')) {
    +            if (element.nodeName.toLowerCase() === 'textarea') {
    +                element = createContentEditable.call(this, element);
    + 
    +                // Make sure we only attach to editableInput once for <textarea> elements
    +                if (!this.instanceHandleEditableInput) {
    +                    this.instanceHandleEditableInput = handleEditableInput.bind(this);
    +                    this.subscribe('editableInput', this.instanceHandleEditableInput);
    +                }
    +            }
    + 
    +            if (!this.options.disableEditing && !element.getAttribute('data-disable-editing')) {
    +                element.setAttribute('contentEditable', true);
    +                element.setAttribute('spellcheck', this.options.spellcheck);
    +            }
    + 
    +            // Make sure we only attach to editableKeydownEnter once for disable-return options
    +            if (!this.instanceHandleEditableKeydownEnter) {
    +                if (element.getAttribute('data-disable-return') || element.getAttribute('data-disable-double-return')) {
    +                    this.instanceHandleEditableKeydownEnter = handleDisabledEnterKeydown.bind(this);
    +                    this.subscribe('editableKeydownEnter', this.instanceHandleEditableKeydownEnter);
    +                }
    +            }
    + 
    +            // if we're not disabling return, add a handler to help handle cleanup
    +            // for certain cases when enter is pressed
    +            if (!this.options.disableReturn && !element.getAttribute('data-disable-return')) {
    +                this.on(element, 'keyup', handleKeyup.bind(this));
    +            }
    + 
    +            var elementId = MediumEditor.util.guid();
    + 
    +            element.setAttribute('data-medium-editor-element', true);
    +            element.classList.add('medium-editor-element');
    +            element.setAttribute('role', 'textbox');
    +            element.setAttribute('aria-multiline', true);
    +            element.setAttribute('data-medium-editor-editor-index', editorId);
    +            // TODO: Merge data-medium-editor-element and medium-editor-index attributes for 6.0.0
    +            // medium-editor-index is not named correctly anymore and can be re-purposed to signify
    +            // whether the element has been initialized or not
    +            element.setAttribute('medium-editor-index', elementId);
    +            initialContent[elementId] = element.innerHTML;
    + 
    +            this.events.attachAllEventsToElement(element);
    +        }
    + 
    +        return element;
    +    }
    + 
    +    function attachHandlers() {
    +        // attach to tabs
    +        this.subscribe('editableKeydownTab', handleTabKeydown.bind(this));
    + 
    +        // Bind keys which can create or destroy a block element: backspace, delete, return
    +        this.subscribe('editableKeydownDelete', handleBlockDeleteKeydowns.bind(this));
    +        this.subscribe('editableKeydownEnter', handleBlockDeleteKeydowns.bind(this));
    + 
    +        // Bind double space event
    +        if (this.options.disableExtraSpaces) {
    +            this.subscribe('editableKeydownSpace', handleDisableExtraSpaces.bind(this));
    +        }
    + 
    +        // Make sure we only attach to editableKeydownEnter once for disable-return options
    +        if (!this.instanceHandleEditableKeydownEnter) {
    +            // disabling return or double return
    +            if (this.options.disableReturn || this.options.disableDoubleReturn) {
    +                this.instanceHandleEditableKeydownEnter = handleDisabledEnterKeydown.bind(this);
    +                this.subscribe('editableKeydownEnter', this.instanceHandleEditableKeydownEnter);
    +            }
    +        }
    +    }
    + 
    +    function initExtensions() {
    + 
    +        this.extensions = [];
    + 
    +        // Passed in extensions
    +        Object.keys(this.options.extensions).forEach(function (name) {
    +            // Always save the toolbar extension for last
    +            if (name !== 'toolbar' && this.options.extensions[name]) {
    +                this.extensions.push(initExtension(this.options.extensions[name], name, this));
    +            }
    +        }, this);
    + 
    +        // 4 Cases for imageDragging + fileDragging extensons:
    +        //
    +        // 1. ImageDragging ON + No Custom Image Dragging Extension:
    +        //    * Use fileDragging extension (default options)
    +        // 2. ImageDragging OFF + No Custom Image Dragging Extension:
    +        //    * Use fileDragging extension w/ images turned off
    +        // 3. ImageDragging ON + Custom Image Dragging Extension:
    +        //    * Don't use fileDragging (could interfere with custom image dragging extension)
    +        // 4. ImageDragging OFF + Custom Image Dragging:
    +        //    * Don't use fileDragging (could interfere with custom image dragging extension)
    +        if (shouldUseFileDraggingExtension.call(this)) {
    +            var opts = this.options.fileDragging;
    +            if (!opts) {
    +                opts = {};
    + 
    +                // Image is in the 'allowedTypes' list by default.
    +                // If imageDragging is off override the 'allowedTypes' list with an empty one
    +                if (!isImageDraggingEnabled.call(this)) {
    +                    opts.allowedTypes = [];
    +                }
    +            }
    +            this.addBuiltInExtension('fileDragging', opts);
    +        }
    + 
    +        // Built-in extensions
    +        var builtIns = {
    +            paste: true,
    +            'anchor-preview': isAnchorPreviewEnabled.call(this),
    +            autoLink: isAutoLinkEnabled.call(this),
    +            keyboardCommands: isKeyboardCommandsEnabled.call(this),
    +            placeholder: isPlaceholderEnabled.call(this)
    +        };
    +        Object.keys(builtIns).forEach(function (name) {
    +            if (builtIns[name]) {
    +                this.addBuiltInExtension(name);
    +            }
    +        }, this);
    + 
    +        // Users can pass in a custom toolbar extension
    +        // so check for that first and if it's not present
    +        // just create the default toolbar
    +        var toolbarExtension = this.options.extensions['toolbar'];
    +        if (!toolbarExtension && isToolbarEnabled.call(this)) {
    +            // Backwards compatability
    +            var toolbarOptions = MediumEditor.util.extend({}, this.options.toolbar, {
    +                allowMultiParagraphSelection: this.options.allowMultiParagraphSelection // deprecated
    +            });
    +            toolbarExtension = new MediumEditor.extensions.toolbar(toolbarOptions);
    +        }
    + 
    +        // If the toolbar is not disabled, so we actually have an extension
    +        // initialize it and add it to the extensions array
    +        if (toolbarExtension) {
    +            this.extensions.push(initExtension(toolbarExtension, 'toolbar', this));
    +        }
    +    }
    + 
    +    function mergeOptions(defaults, options) {
    +        var deprecatedProperties = [
    +            ['allowMultiParagraphSelection', 'toolbar.allowMultiParagraphSelection']
    +        ];
    +        // warn about using deprecated properties
    +        if (options) {
    +            deprecatedProperties.forEach(function (pair) {
    +                if (options.hasOwnProperty(pair[0]) && options[pair[0]] !== undefined) {
    +                    MediumEditor.util.deprecated(pair[0], pair[1], 'v6.0.0');
    +                }
    +            });
    +        }
    + 
    +        return MediumEditor.util.defaults({}, options, defaults);
    +    }
    + 
    +    function execActionInternal(action, opts) {
    +        /*jslint regexp: true*/
    +        var appendAction = /^append-(.+)$/gi,
    +            justifyAction = /justify([A-Za-z]*)$/g, /* Detecting if is justifyCenter|Right|Left */
    +            match,
    +            cmdValueArgument;
    +        /*jslint regexp: false*/
    + 
    +        // Actions starting with 'append-' should attempt to format a block of text ('formatBlock') using a specific
    +        // type of block element (ie append-blockquote, append-h1, append-pre, etc.)
    +        match = appendAction.exec(action);
    +        if (match) {
    +            return MediumEditor.util.execFormatBlock(this.options.ownerDocument, match[1]);
    +        }
    + 
    +        if (action === 'fontSize') {
    +            // TODO: Deprecate support for opts.size in 6.0.0
    +            if (opts.size) {
    +                MediumEditor.util.deprecated('.size option for fontSize command', '.value', '6.0.0');
    +            }
    +            cmdValueArgument = opts.value || opts.size;
    +            return this.options.ownerDocument.execCommand('fontSize', false, cmdValueArgument);
    +        }
    + 
    +        if (action === 'fontName') {
    +            // TODO: Deprecate support for opts.name in 6.0.0
    +            if (opts.name) {
    +                MediumEditor.util.deprecated('.name option for fontName command', '.value', '6.0.0');
    +            }
    +            cmdValueArgument = opts.value || opts.name;
    +            return this.options.ownerDocument.execCommand('fontName', false, cmdValueArgument);
    +        }
    + 
    +        if (action === 'createLink') {
    +            return this.createLink(opts);
    +        }
    + 
    +        if (action === 'image') {
    +            var src = this.options.contentWindow.getSelection().toString().trim();
    +            return this.options.ownerDocument.execCommand('insertImage', false, src);
    +        }
    + 
    +        if (action === 'html') {
    +            var html = this.options.contentWindow.getSelection().toString().trim();
    +            return MediumEditor.util.insertHTMLCommand(this.options.ownerDocument, html);
    +        }
    + 
    +        /* Issue: https://github.com/yabwe/medium-editor/issues/595
    +         * If the action is to justify the text */
    +        if (justifyAction.exec(action)) {
    +            var result = this.options.ownerDocument.execCommand(action, false, null),
    +                parentNode = MediumEditor.selection.getSelectedParentElement(MediumEditor.selection.getSelectionRange(this.options.ownerDocument));
    +            if (parentNode) {
    +                cleanupJustifyDivFragments.call(this, MediumEditor.util.getTopBlockContainer(parentNode));
    +            }
    + 
    +            return result;
    +        }
    + 
    +        cmdValueArgument = opts && opts.value;
    +        return this.options.ownerDocument.execCommand(action, false, cmdValueArgument);
    +    }
    + 
    +    /* If we've just justified text within a container block
    +     * Chrome may have removed <br> elements and instead wrapped lines in <div> elements
    +     * with a text-align property.  If so, we want to fix this
    +     */
    +    function cleanupJustifyDivFragments(blockContainer) {
    +        if (!blockContainer) {
    +            return;
    +        }
    + 
    +        var textAlign,
    +            childDivs = Array.prototype.slice.call(blockContainer.childNodes).filter(function (element) {
    +                var isDiv = element.nodeName.toLowerCase() === 'div';
    +                if (isDiv && !textAlign) {
    +                    textAlign = element.style.textAlign;
    +                }
    +                return isDiv;
    +            });
    + 
    +        /* If we found child <div> elements with text-align style attributes
    +         * we should fix this by:
    +         *
    +         * 1) Unwrapping each <div> which has a text-align style
    +         * 2) Insert a <br> element after each set of 'unwrapped' div children
    +         * 3) Set the text-align style of the parent block element
    +         */
    +        if (childDivs.length) {
    +            // Since we're mucking with the HTML, preserve selection
    +            this.saveSelection();
    +            childDivs.forEach(function (div) {
    +                if (div.style.textAlign === textAlign) {
    +                    var lastChild = div.lastChild;
    +                    if (lastChild) {
    +                        // Instead of a div, extract the child elements and add a <br>
    +                        MediumEditor.util.unwrap(div, this.options.ownerDocument);
    +                        var br = this.options.ownerDocument.createElement('BR');
    +                        lastChild.parentNode.insertBefore(br, lastChild.nextSibling);
    +                    }
    +                }
    +            }, this);
    +            blockContainer.style.textAlign = textAlign;
    +            // We're done, so restore selection
    +            this.restoreSelection();
    +        }
    +    }
    + 
    +    var initialContent = {};
    + 
    +    MediumEditor.prototype = {
    +        // NOT DOCUMENTED - exposed for backwards compatability
    +        init: function (elements, options) {
    +            this.options = mergeOptions.call(this, this.defaults, options);
    +            this.origElements = elements;
    + 
    +            if (!this.options.elementsContainer) {
    +                this.options.elementsContainer = this.options.ownerDocument.body;
    +            }
    + 
    +            return this.setup();
    +        },
    + 
    +        setup: function () {
    +            if (this.isActive) {
    +                return;
    +            }
    + 
    +            addToEditors.call(this, this.options.contentWindow);
    +            this.events = new MediumEditor.Events(this);
    +            this.elements = [];
    + 
    +            this.addElements(this.origElements);
    + 
    +            if (this.elements.length === 0) {
    +                return;
    +            }
    + 
    +            this.isActive = true;
    + 
    +            // Call initialization helpers
    +            initExtensions.call(this);
    +            attachHandlers.call(this);
    +        },
    + 
    +        destroy: function () {
    +            if (!this.isActive) {
    +                return;
    +            }
    + 
    +            this.isActive = false;
    + 
    +            this.extensions.forEach(function (extension) {
    +                if (typeof extension.destroy === 'function') {
    +                    extension.destroy();
    +                }
    +            }, this);
    + 
    +            this.events.destroy();
    + 
    +            this.elements.forEach(function (element) {
    +                // Reset elements content, fix for issue where after editor destroyed the red underlines on spelling errors are left
    +                if (this.options.spellcheck) {
    +                    element.innerHTML = element.innerHTML;
    +                }
    + 
    +                // cleanup extra added attributes
    +                element.removeAttribute('contentEditable');
    +                element.removeAttribute('spellcheck');
    +                element.removeAttribute('data-medium-editor-element');
    +                element.classList.remove('medium-editor-element');
    +                element.removeAttribute('role');
    +                element.removeAttribute('aria-multiline');
    +                element.removeAttribute('medium-editor-index');
    +                element.removeAttribute('data-medium-editor-editor-index');
    + 
    +                // Remove any elements created for textareas
    +                if (element.getAttribute('medium-editor-textarea-id')) {
    +                    cleanupTextareaElement(element);
    +                }
    +            }, this);
    +            this.elements = [];
    +            this.instanceHandleEditableKeydownEnter = null;
    +            this.instanceHandleEditableInput = null;
    + 
    +            removeFromEditors.call(this, this.options.contentWindow);
    +        },
    + 
    +        on: function (target, event, listener, useCapture) {
    +            this.events.attachDOMEvent(target, event, listener, useCapture);
    + 
    +            return this;
    +        },
    + 
    +        off: function (target, event, listener, useCapture) {
    +            this.events.detachDOMEvent(target, event, listener, useCapture);
    + 
    +            return this;
    +        },
    + 
    +        subscribe: function (event, listener) {
    +            this.events.attachCustomEvent(event, listener);
    + 
    +            return this;
    +        },
    + 
    +        unsubscribe: function (event, listener) {
    +            this.events.detachCustomEvent(event, listener);
    + 
    +            return this;
    +        },
    + 
    +        trigger: function (name, data, editable) {
    +            this.events.triggerCustomEvent(name, data, editable);
    + 
    +            return this;
    +        },
    + 
    +        delay: function (fn) {
    +            var self = this;
    +            return setTimeout(function () {
    +                if (self.isActive) {
    +                    fn();
    +                }
    +            }, this.options.delay);
    +        },
    + 
    +        serialize: function () {
    +            var i,
    +                elementid,
    +                content = {},
    +                len = this.elements.length;
    + 
    +            for (i = 0; i < len; i += 1) {
    +                elementid = (this.elements[i].id !== '') ? this.elements[i].id : 'element-' + i;
    +                content[elementid] = {
    +                    value: this.elements[i].innerHTML.trim()
    +                };
    +            }
    +            return content;
    +        },
    + 
    +        getExtensionByName: function (name) {
    +            var extension;
    +            if (this.extensions && this.extensions.length) {
    +                this.extensions.some(function (ext) {
    +                    if (ext.name === name) {
    +                        extension = ext;
    +                        return true;
    +                    }
    +                    return false;
    +                });
    +            }
    +            return extension;
    +        },
    + 
    +        /**
    +         * NOT DOCUMENTED - exposed as a helper for other extensions to use
    +         */
    +        addBuiltInExtension: function (name, opts) {
    +            var extension = this.getExtensionByName(name),
    +                merged;
    +            if (extension) {
    +                return extension;
    +            }
    + 
    +            switch (name) {
    +                case 'anchor':
    +                    merged = MediumEditor.util.extend({}, this.options.anchor, opts);
    +                    extension = new MediumEditor.extensions.anchor(merged);
    +                    break;
    +                case 'anchor-preview':
    +                    extension = new MediumEditor.extensions.anchorPreview(this.options.anchorPreview);
    +                    break;
    +                case 'autoLink':
    +                    extension = new MediumEditor.extensions.autoLink();
    +                    break;
    +                case 'fileDragging':
    +                    extension = new MediumEditor.extensions.fileDragging(opts);
    +                    break;
    +                case 'fontname':
    +                    extension = new MediumEditor.extensions.fontName(this.options.fontName);
    +                    break;
    +                case 'fontsize':
    +                    extension = new MediumEditor.extensions.fontSize(opts);
    +                    break;
    +                case 'keyboardCommands':
    +                    extension = new MediumEditor.extensions.keyboardCommands(this.options.keyboardCommands);
    +                    break;
    +                case 'paste':
    +                    extension = new MediumEditor.extensions.paste(this.options.paste);
    +                    break;
    +                case 'placeholder':
    +                    extension = new MediumEditor.extensions.placeholder(this.options.placeholder);
    +                    break;
    +                default:
    +                    // All of the built-in buttons for MediumEditor are extensions
    +                    // so check to see if the extension we're creating is a built-in button
    +                    if (MediumEditor.extensions.button.isBuiltInButton(name)) {
    +                        if (opts) {
    +                            merged = MediumEditor.util.defaults({}, opts, MediumEditor.extensions.button.prototype.defaults[name]);
    +                            extension = new MediumEditor.extensions.button(merged);
    +                        } else {
    +                            extension = new MediumEditor.extensions.button(name);
    +                        }
    +                    }
    +            }
    + 
    +            if (extension) {
    +                this.extensions.push(initExtension(extension, name, this));
    +            }
    + 
    +            return extension;
    +        },
    + 
    +        stopSelectionUpdates: function () {
    +            this.preventSelectionUpdates = true;
    +        },
    + 
    +        startSelectionUpdates: function () {
    +            this.preventSelectionUpdates = false;
    +        },
    + 
    +        checkSelection: function () {
    +            var toolbar = this.getExtensionByName('toolbar');
    +            if (toolbar) {
    +                toolbar.checkState();
    +            }
    +            return this;
    +        },
    + 
    +        // Wrapper around document.queryCommandState for checking whether an action has already
    +        // been applied to the current selection
    +        queryCommandState: function (action) {
    +            var fullAction = /^full-(.+)$/gi,
    +                match,
    +                queryState = null;
    + 
    +            // Actions starting with 'full-' need to be modified since this is a medium-editor concept
    +            match = fullAction.exec(action);
    +            if (match) {
    +                action = match[1];
    +            }
    + 
    +            try {
    +                queryState = this.options.ownerDocument.queryCommandState(action);
    +            } catch (exc) {
    +                queryState = null;
    +            }
    + 
    +            return queryState;
    +        },
    + 
    +        execAction: function (action, opts) {
    +            /*jslint regexp: true*/
    +            var fullAction = /^full-(.+)$/gi,
    +                match,
    +                result;
    +            /*jslint regexp: false*/
    + 
    +            // Actions starting with 'full-' should be applied to to the entire contents of the editable element
    +            // (ie full-bold, full-append-pre, etc.)
    +            match = fullAction.exec(action);
    +            if (match) {
    +                // Store the current selection to be restored after applying the action
    +                this.saveSelection();
    +                // Select all of the contents before calling the action
    +                this.selectAllContents();
    +                result = execActionInternal.call(this, match[1], opts);
    +                // Restore the previous selection
    +                this.restoreSelection();
    +            } else {
    +                result = execActionInternal.call(this, action, opts);
    +            }
    + 
    +            // do some DOM clean-up for known browser issues after the action
    +            if (action === 'insertunorderedlist' || action === 'insertorderedlist') {
    +                MediumEditor.util.cleanListDOM(this.options.ownerDocument, this.getSelectedParentElement());
    +            }
    + 
    +            this.checkSelection();
    +            return result;
    +        },
    + 
    +        getSelectedParentElement: function (range) {
    +            if (range === undefined) {
    +                range = this.options.contentWindow.getSelection().getRangeAt(0);
    +            }
    +            return MediumEditor.selection.getSelectedParentElement(range);
    +        },
    + 
    +        selectAllContents: function () {
    +            var currNode = MediumEditor.selection.getSelectionElement(this.options.contentWindow);
    + 
    +            if (currNode) {
    +                // Move to the lowest descendant node that still selects all of the contents
    +                while (currNode.children.length === 1) {
    +                    currNode = currNode.children[0];
    +                }
    + 
    +                this.selectElement(currNode);
    +            }
    +        },
    + 
    +        selectElement: function (element) {
    +            MediumEditor.selection.selectNode(element, this.options.ownerDocument);
    + 
    +            var selElement = MediumEditor.selection.getSelectionElement(this.options.contentWindow);
    +            if (selElement) {
    +                this.events.focusElement(selElement);
    +            }
    +        },
    + 
    +        getFocusedElement: function () {
    +            var focused;
    +            this.elements.some(function (element) {
    +                // Find the element that has focus
    +                if (!focused && element.getAttribute('data-medium-focused')) {
    +                    focused = element;
    +                }
    + 
    +                // bail if we found the element that had focus
    +                return !!focused;
    +            }, this);
    + 
    +            return focused;
    +        },
    + 
    +        // Export the state of the selection in respect to one of this
    +        // instance of MediumEditor's elements
    +        exportSelection: function () {
    +            var selectionElement = MediumEditor.selection.getSelectionElement(this.options.contentWindow),
    +                editableElementIndex = this.elements.indexOf(selectionElement),
    +                selectionState = null;
    + 
    +            if (editableElementIndex >= 0) {
    +                selectionState = MediumEditor.selection.exportSelection(selectionElement, this.options.ownerDocument);
    +            }
    + 
    +            if (selectionState !== null && editableElementIndex !== 0) {
    +                selectionState.editableElementIndex = editableElementIndex;
    +            }
    + 
    +            return selectionState;
    +        },
    + 
    +        saveSelection: function () {
    +            this.selectionState = this.exportSelection();
    +        },
    + 
    +        // Restore a selection based on a selectionState returned by a call
    +        // to MediumEditor.exportSelection
    +        importSelection: function (selectionState, favorLaterSelectionAnchor) {
    +            if (!selectionState) {
    +                return;
    +            }
    + 
    +            var editableElement = this.elements[selectionState.editableElementIndex || 0];
    +            MediumEditor.selection.importSelection(selectionState, editableElement, this.options.ownerDocument, favorLaterSelectionAnchor);
    +        },
    + 
    +        restoreSelection: function () {
    +            this.importSelection(this.selectionState);
    +        },
    + 
    +        createLink: function (opts) {
    +            var currentEditor = MediumEditor.selection.getSelectionElement(this.options.contentWindow),
    +                customEvent = {},
    +                targetUrl;
    + 
    +            // Make sure the selection is within an element this editor is tracking
    +            if (this.elements.indexOf(currentEditor) === -1) {
    +                return;
    +            }
    + 
    +            try {
    +                this.events.disableCustomEvent('editableInput');
    +                // TODO: Deprecate support for opts.url in 6.0.0
    +                if (opts.url) {
    +                    MediumEditor.util.deprecated('.url option for createLink', '.value', '6.0.0');
    +                }
    +                targetUrl = opts.url || opts.value;
    +                if (targetUrl && targetUrl.trim().length > 0) {
    +                    var currentSelection = this.options.contentWindow.getSelection();
    +                    if (currentSelection) {
    +                        var currRange = currentSelection.getRangeAt(0),
    +                            commonAncestorContainer = currRange.commonAncestorContainer,
    +                            exportedSelection,
    +                            startContainerParentElement,
    +                            endContainerParentElement,
    +                            textNodes;
    + 
    +                        // If the selection is contained within a single text node
    +                        // and the selection starts at the beginning of the text node,
    +                        // MSIE still says the startContainer is the parent of the text node.
    +                        // If the selection is contained within a single text node, we
    +                        // want to just use the default browser 'createLink', so we need
    +                        // to account for this case and adjust the commonAncestorContainer accordingly
    +                        if (currRange.endContainer.nodeType === 3 &&
    +                            currRange.startContainer.nodeType !== 3 &&
    +                            currRange.startOffset === 0 &&
    +                            currRange.startContainer.firstChild === currRange.endContainer) {
    +                            commonAncestorContainer = currRange.endContainer;
    +                        }
    + 
    +                        startContainerParentElement = MediumEditor.util.getClosestBlockContainer(currRange.startContainer);
    +                        endContainerParentElement = MediumEditor.util.getClosestBlockContainer(currRange.endContainer);
    + 
    +                        // If the selection is not contained within a single text node
    +                        // but the selection is contained within the same block element
    +                        // we want to make sure we create a single link, and not multiple links
    +                        // which can happen with the built in browser functionality
    +                        if (commonAncestorContainer.nodeType !== 3 && commonAncestorContainer.textContent.length !== 0 && startContainerParentElement === endContainerParentElement) {
    +                            var parentElement = (startContainerParentElement || currentEditor),
    +                                fragment = this.options.ownerDocument.createDocumentFragment();
    + 
    +                            // since we are going to create a link from an extracted text,
    +                            // be sure that if we are updating a link, we won't let an empty link behind (see #754)
    +                            // (Workaroung for Chrome)
    +                            this.execAction('unlink');
    + 
    +                            exportedSelection = this.exportSelection();
    +                            fragment.appendChild(parentElement.cloneNode(true));
    + 
    +                            if (currentEditor === parentElement) {
    +                                // We have to avoid the editor itself being wiped out when it's the only block element,
    +                                // as our reference inside this.elements gets detached from the page when insertHTML runs.
    +                                // If we just use [parentElement, 0] and [parentElement, parentElement.childNodes.length]
    +                                // as the range boundaries, this happens whenever parentElement === currentEditor.
    +                                // The tradeoff to this workaround is that a orphaned tag can sometimes be left behind at
    +                                // the end of the editor's content.
    +                                // In Gecko:
    +                                // as an empty <strong></strong> if parentElement.lastChild is a <strong> tag.
    +                                // In WebKit:
    +                                // an invented <br /> tag at the end in the same situation
    +                                MediumEditor.selection.select(
    +                                    this.options.ownerDocument,
    +                                    parentElement.firstChild,
    +                                    0,
    +                                    parentElement.lastChild,
    +                                    parentElement.lastChild.nodeType === 3 ?
    +                                    parentElement.lastChild.nodeValue.length : parentElement.lastChild.childNodes.length
    +                                );
    +                            } else {
    +                                MediumEditor.selection.select(
    +                                    this.options.ownerDocument,
    +                                    parentElement,
    +                                    0,
    +                                    parentElement,
    +                                    parentElement.childNodes.length
    +                                );
    +                            }
    + 
    +                            var modifiedExportedSelection = this.exportSelection();
    + 
    +                            textNodes = MediumEditor.util.findOrCreateMatchingTextNodes(
    +                                this.options.ownerDocument,
    +                                fragment,
    +                                {
    +                                    start: exportedSelection.start - modifiedExportedSelection.start,
    +                                    end: exportedSelection.end - modifiedExportedSelection.start,
    +                                    editableElementIndex: exportedSelection.editableElementIndex
    +                                }
    +                            );
    +                            // If textNodes are not present, when changing link on images
    +                            // ex: <a><img src="http://image.test.com"></a>, change fragment to currRange.startContainer
    +                            // and set textNodes array to [imageElement, imageElement]
    +                            if (textNodes.length === 0) {
    +                                fragment = this.options.ownerDocument.createDocumentFragment();
    +                                fragment.appendChild(commonAncestorContainer.cloneNode(true));
    +                                textNodes = [fragment.firstChild.firstChild, fragment.firstChild.lastChild];
    +                            }
    + 
    +                            // Creates the link in the document fragment
    +                            MediumEditor.util.createLink(this.options.ownerDocument, textNodes, targetUrl.trim());
    + 
    +                            // Chrome trims the leading whitespaces when inserting HTML, which messes up restoring the selection.
    +                            var leadingWhitespacesCount = (fragment.firstChild.innerHTML.match(/^\s+/) || [''])[0].length;
    + 
    +                            // Now move the created link back into the original document in a way to preserve undo/redo history
    +                            MediumEditor.util.insertHTMLCommand(this.options.ownerDocument, fragment.firstChild.innerHTML.replace(/^\s+/, ''));
    +                            exportedSelection.start -= leadingWhitespacesCount;
    +                            exportedSelection.end -= leadingWhitespacesCount;
    + 
    +                            this.importSelection(exportedSelection);
    +                        } else {
    +                            this.options.ownerDocument.execCommand('createLink', false, targetUrl);
    +                        }
    + 
    +                        if (this.options.targetBlank || opts.target === '_blank') {
    +                            MediumEditor.util.setTargetBlank(MediumEditor.selection.getSelectionStart(this.options.ownerDocument), targetUrl);
    +                        } else {
    +                            MediumEditor.util.removeTargetBlank(MediumEditor.selection.getSelectionStart(this.options.ownerDocument), targetUrl);
    +                        }
    + 
    +                        if (opts.buttonClass) {
    +                            MediumEditor.util.addClassToAnchors(MediumEditor.selection.getSelectionStart(this.options.ownerDocument), opts.buttonClass);
    +                        }
    +                    }
    +                }
    +                // Fire input event for backwards compatibility if anyone was listening directly to the DOM input event
    +                if (this.options.targetBlank || opts.target === '_blank' || opts.buttonClass) {
    +                    customEvent = this.options.ownerDocument.createEvent('HTMLEvents');
    +                    customEvent.initEvent('input', true, true, this.options.contentWindow);
    +                    for (var i = 0, len = this.elements.length; i < len; i += 1) {
    +                        this.elements[i].dispatchEvent(customEvent);
    +                    }
    +                }
    +            } finally {
    +                this.events.enableCustomEvent('editableInput');
    +            }
    +            // Fire our custom editableInput event
    +            this.events.triggerCustomEvent('editableInput', customEvent, currentEditor);
    +        },
    + 
    +        cleanPaste: function (text) {
    +            this.getExtensionByName('paste').cleanPaste(text);
    +        },
    + 
    +        pasteHTML: function (html, options) {
    +            this.getExtensionByName('paste').pasteHTML(html, options);
    +        },
    + 
    +        setContent: function (html, index) {
    +            index = index || 0;
    + 
    +            if (this.elements[index]) {
    +                var target = this.elements[index];
    +                target.innerHTML = html;
    +                this.checkContentChanged(target);
    +            }
    +        },
    + 
    +        getContent: function (index) {
    +            index = index || 0;
    + 
    +            if (this.elements[index]) {
    +                return this.elements[index].innerHTML.trim();
    +            }
    +            return null;
    +        },
    + 
    +        checkContentChanged: function (editable) {
    +            editable = editable || MediumEditor.selection.getSelectionElement(this.options.contentWindow);
    +            this.events.updateInput(editable, { target: editable, currentTarget: editable });
    +        },
    + 
    +        resetContent: function (element) {
    +            // For all elements that exist in the this.elements array, we can assume:
    +            // - Its initial content has been set in the initialContent object
    +            // - It has a medium-editor-index attribute which is the key value in the initialContent object
    + 
    +            if (element) {
    +                var index = this.elements.indexOf(element);
    +                if (index !== -1) {
    +                    this.setContent(initialContent[element.getAttribute('medium-editor-index')], index);
    +                }
    +                return;
    +            }
    + 
    +            this.elements.forEach(function (el, idx) {
    +                this.setContent(initialContent[el.getAttribute('medium-editor-index')], idx);
    +            }, this);
    +        },
    + 
    +        addElements: function (selector) {
    +            // Convert elements into an array
    +            var elements = createElementsArray(selector, this.options.ownerDocument, true);
    + 
    +            // Do we have elements to add now?
    +            if (elements.length === 0) {
    +                return false;
    +            }
    + 
    +            elements.forEach(function (element) {
    +                // Initialize all new elements (we check that in those functions don't worry)
    +                element = initElement.call(this, element, this.id);
    + 
    +                // Add new elements to our internal elements array
    +                this.elements.push(element);
    + 
    +                // Trigger event so extensions can know when an element has been added
    +                this.trigger('addElement', { target: element, currentTarget: element }, element);
    +            }, this);
    +        },
    + 
    +        removeElements: function (selector) {
    +            // Convert elements into an array
    +            var elements = createElementsArray(selector, this.options.ownerDocument),
    +                toRemove = elements.map(function (el) {
    +                    // For textareas, make sure we're looking at the editor div and not the textarea itself
    +                    if (el.getAttribute('medium-editor-textarea-id') && el.parentNode) {
    +                        return el.parentNode.querySelector('div[medium-editor-textarea-id="' + el.getAttribute('medium-editor-textarea-id') + '"]');
    +                    } else {
    +                        return el;
    +                    }
    +                });
    + 
    +            this.elements = this.elements.filter(function (element) {
    +                // If this is an element we want to remove
    +                if (toRemove.indexOf(element) !== -1) {
    +                    this.events.cleanupElement(element);
    +                    if (element.getAttribute('medium-editor-textarea-id')) {
    +                        cleanupTextareaElement(element);
    +                    }
    +                    // Trigger event so extensions can clean-up elements that are being removed
    +                    this.trigger('removeElement', { target: element, currentTarget: element }, element);
    +                    return false;
    +                }
    +                return true;
    +            }, this);
    +        }
    +    };
    + 
    +    MediumEditor.getEditorFromElement = function (element) {
    +        var index = element.getAttribute('data-medium-editor-editor-index'),
    +            win = element && element.ownerDocument && (element.ownerDocument.defaultView || element.ownerDocument.parentWindow);
    +        if (win && win._mediumEditors && win._mediumEditors[index]) {
    +            return win._mediumEditors[index];
    +        }
    +        return null;
    +    };
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/defaults/buttons.js.html b/reports/jasmine/lcov/lcov-report/src/js/defaults/buttons.js.html new file mode 100644 index 0000000..907d1cc --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/defaults/buttons.js.html @@ -0,0 +1,839 @@ + + + + Code coverage report for src/js/defaults/buttons.js + + + + + + + +
    +
    +

    + all files / src/js/defaults/ buttons.js +

    +
    +
    + 100% + Statements + 2/2 +
    +
    + 100% + Branches + 0/0 +
    +
    + 100% + Functions + 1/1 +
    +
    + 100% + Lines + 2/2 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    /* MediumEditor.extensions.button.defaults: [Object]
    +     * Set of default config options for all of the built-in MediumEditor buttons
    +     */
    +    MediumEditor.extensions.button.prototype.defaults = {
    +        'bold': {
    +            name: 'bold',
    +            action: 'bold',
    +            aria: 'bold',
    +            tagNames: ['b', 'strong'],
    +            style: {
    +                prop: 'font-weight',
    +                value: '700|bold'
    +            },
    +            useQueryState: true,
    +            contentDefault: '<b>B</b>',
    +            contentFA: '<i class="fa fa-bold"></i>'
    +        },
    +        'italic': {
    +            name: 'italic',
    +            action: 'italic',
    +            aria: 'italic',
    +            tagNames: ['i', 'em'],
    +            style: {
    +                prop: 'font-style',
    +                value: 'italic'
    +            },
    +            useQueryState: true,
    +            contentDefault: '<b><i>I</i></b>',
    +            contentFA: '<i class="fa fa-italic"></i>'
    +        },
    +        'underline': {
    +            name: 'underline',
    +            action: 'underline',
    +            aria: 'underline',
    +            tagNames: ['u'],
    +            style: {
    +                prop: 'text-decoration',
    +                value: 'underline'
    +            },
    +            useQueryState: true,
    +            contentDefault: '<b><u>U</u></b>',
    +            contentFA: '<i class="fa fa-underline"></i>'
    +        },
    +        'strikethrough': {
    +            name: 'strikethrough',
    +            action: 'strikethrough',
    +            aria: 'strike through',
    +            tagNames: ['strike'],
    +            style: {
    +                prop: 'text-decoration',
    +                value: 'line-through'
    +            },
    +            useQueryState: true,
    +            contentDefault: '<s>A</s>',
    +            contentFA: '<i class="fa fa-strikethrough"></i>'
    +        },
    +        'superscript': {
    +            name: 'superscript',
    +            action: 'superscript',
    +            aria: 'superscript',
    +            tagNames: ['sup'],
    +            /* firefox doesn't behave the way we want it to, so we CAN'T use queryCommandState for superscript
    +               https://github.com/guardian/scribe/blob/master/BROWSERINCONSISTENCIES.md#documentquerycommandstate */
    +            // useQueryState: true
    +            contentDefault: '<b>x<sup>1</sup></b>',
    +            contentFA: '<i class="fa fa-superscript"></i>'
    +        },
    +        'subscript': {
    +            name: 'subscript',
    +            action: 'subscript',
    +            aria: 'subscript',
    +            tagNames: ['sub'],
    +            /* firefox doesn't behave the way we want it to, so we CAN'T use queryCommandState for subscript
    +               https://github.com/guardian/scribe/blob/master/BROWSERINCONSISTENCIES.md#documentquerycommandstate */
    +            // useQueryState: true
    +            contentDefault: '<b>x<sub>1</sub></b>',
    +            contentFA: '<i class="fa fa-subscript"></i>'
    +        },
    +        'image': {
    +            name: 'image',
    +            action: 'image',
    +            aria: 'image',
    +            tagNames: ['img'],
    +            contentDefault: '<b>image</b>',
    +            contentFA: '<i class="fa fa-picture-o"></i>'
    +        },
    +        'html': {
    +            name: 'html',
    +            action: 'html',
    +            aria: 'evaluate html',
    +            tagNames: ['iframe', 'object'],
    +            contentDefault: '<b>html</b>',
    +            contentFA: '<i class="fa fa-code"></i>'
    +        },
    +        'orderedlist': {
    +            name: 'orderedlist',
    +            action: 'insertorderedlist',
    +            aria: 'ordered list',
    +            tagNames: ['ol'],
    +            useQueryState: true,
    +            contentDefault: '<b>1.</b>',
    +            contentFA: '<i class="fa fa-list-ol"></i>'
    +        },
    +        'unorderedlist': {
    +            name: 'unorderedlist',
    +            action: 'insertunorderedlist',
    +            aria: 'unordered list',
    +            tagNames: ['ul'],
    +            useQueryState: true,
    +            contentDefault: '<b>&bull;</b>',
    +            contentFA: '<i class="fa fa-list-ul"></i>'
    +        },
    +        'indent': {
    +            name: 'indent',
    +            action: 'indent',
    +            aria: 'indent',
    +            tagNames: [],
    +            contentDefault: '<b>&rarr;</b>',
    +            contentFA: '<i class="fa fa-indent"></i>'
    +        },
    +        'outdent': {
    +            name: 'outdent',
    +            action: 'outdent',
    +            aria: 'outdent',
    +            tagNames: [],
    +            contentDefault: '<b>&larr;</b>',
    +            contentFA: '<i class="fa fa-outdent"></i>'
    +        },
    +        'justifyCenter': {
    +            name: 'justifyCenter',
    +            action: 'justifyCenter',
    +            aria: 'center justify',
    +            tagNames: [],
    +            style: {
    +                prop: 'text-align',
    +                value: 'center'
    +            },
    +            contentDefault: '<b>C</b>',
    +            contentFA: '<i class="fa fa-align-center"></i>'
    +        },
    +        'justifyFull': {
    +            name: 'justifyFull',
    +            action: 'justifyFull',
    +            aria: 'full justify',
    +            tagNames: [],
    +            style: {
    +                prop: 'text-align',
    +                value: 'justify'
    +            },
    +            contentDefault: '<b>J</b>',
    +            contentFA: '<i class="fa fa-align-justify"></i>'
    +        },
    +        'justifyLeft': {
    +            name: 'justifyLeft',
    +            action: 'justifyLeft',
    +            aria: 'left justify',
    +            tagNames: [],
    +            style: {
    +                prop: 'text-align',
    +                value: 'left'
    +            },
    +            contentDefault: '<b>L</b>',
    +            contentFA: '<i class="fa fa-align-left"></i>'
    +        },
    +        'justifyRight': {
    +            name: 'justifyRight',
    +            action: 'justifyRight',
    +            aria: 'right justify',
    +            tagNames: [],
    +            style: {
    +                prop: 'text-align',
    +                value: 'right'
    +            },
    +            contentDefault: '<b>R</b>',
    +            contentFA: '<i class="fa fa-align-right"></i>'
    +        },
    +        // Known inline elements that are not removed, or not removed consistantly across browsers:
    +        // <span>, <label>, <br>
    +        'removeFormat': {
    +            name: 'removeFormat',
    +            aria: 'remove formatting',
    +            action: 'removeFormat',
    +            contentDefault: '<b>X</b>',
    +            contentFA: '<i class="fa fa-eraser"></i>'
    +        },
    + 
    +        /***** Buttons for appending block elements (append-<element> action) *****/
    + 
    +        'quote': {
    +            name: 'quote',
    +            action: 'append-blockquote',
    +            aria: 'blockquote',
    +            tagNames: ['blockquote'],
    +            contentDefault: '<b>&ldquo;</b>',
    +            contentFA: '<i class="fa fa-quote-right"></i>'
    +        },
    +        'pre': {
    +            name: 'pre',
    +            action: 'append-pre',
    +            aria: 'preformatted text',
    +            tagNames: ['pre'],
    +            contentDefault: '<b>0101</b>',
    +            contentFA: '<i class="fa fa-code fa-lg"></i>'
    +        },
    +        'h1': {
    +            name: 'h1',
    +            action: 'append-h1',
    +            aria: 'header type one',
    +            tagNames: ['h1'],
    +            contentDefault: '<b>H1</b>',
    +            contentFA: '<i class="fa fa-header"><sup>1</sup>'
    +        },
    +        'h2': {
    +            name: 'h2',
    +            action: 'append-h2',
    +            aria: 'header type two',
    +            tagNames: ['h2'],
    +            contentDefault: '<b>H2</b>',
    +            contentFA: '<i class="fa fa-header"><sup>2</sup>'
    +        },
    +        'h3': {
    +            name: 'h3',
    +            action: 'append-h3',
    +            aria: 'header type three',
    +            tagNames: ['h3'],
    +            contentDefault: '<b>H3</b>',
    +            contentFA: '<i class="fa fa-header"><sup>3</sup>'
    +        },
    +        'h4': {
    +            name: 'h4',
    +            action: 'append-h4',
    +            aria: 'header type four',
    +            tagNames: ['h4'],
    +            contentDefault: '<b>H4</b>',
    +            contentFA: '<i class="fa fa-header"><sup>4</sup>'
    +        },
    +        'h5': {
    +            name: 'h5',
    +            action: 'append-h5',
    +            aria: 'header type five',
    +            tagNames: ['h5'],
    +            contentDefault: '<b>H5</b>',
    +            contentFA: '<i class="fa fa-header"><sup>5</sup>'
    +        },
    +        'h6': {
    +            name: 'h6',
    +            action: 'append-h6',
    +            aria: 'header type six',
    +            tagNames: ['h6'],
    +            contentDefault: '<b>H6</b>',
    +            contentFA: '<i class="fa fa-header"><sup>6</sup>'
    +        }
    +    };
    + 
    +})();
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/defaults/index.html b/reports/jasmine/lcov/lcov-report/src/js/defaults/index.html new file mode 100644 index 0000000..44f86f1 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/defaults/index.html @@ -0,0 +1,106 @@ + + + + Code coverage report for src/js/defaults/ + + + + + + + +
    +
    +

    + all files src/js/defaults/ +

    +
    +
    + 100% + Statements + 4/4 +
    +
    + 100% + Branches + 0/0 +
    +
    + 100% + Functions + 2/2 +
    +
    + 100% + Lines + 4/4 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileStatementsBranchesFunctionsLines
    buttons.js
    100%2/2100%0/0100%1/1100%2/2
    options.js
    100%2/2100%0/0100%1/1100%2/2
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/defaults/options.js.html b/reports/jasmine/lcov/lcov-report/src/js/defaults/options.js.html new file mode 100644 index 0000000..83d87af --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/defaults/options.js.html @@ -0,0 +1,125 @@ + + + + Code coverage report for src/js/defaults/options.js + + + + + + + +
    +
    +

    + all files / src/js/defaults/ options.js +

    +
    +
    + 100% + Statements + 2/2 +
    +
    + 100% + Branches + 0/0 +
    +
    + 100% + Functions + 1/1 +
    +
    + 100% + Lines + 2/2 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    // summary: The default options hash used by the Editor
    + 
    +    MediumEditor.prototype.defaults = {
    +        activeButtonClass: 'medium-editor-button-active',
    +        buttonLabels: false,
    +        delay: 0,
    +        disableReturn: false,
    +        disableDoubleReturn: false,
    +        disableExtraSpaces: false,
    +        disableEditing: false,
    +        autoLink: false,
    +        elementsContainer: false,
    +        contentWindow: window,
    +        ownerDocument: document,
    +        targetBlank: false,
    +        extensions: {},
    +        spellcheck: true
    +    };
    +})();
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/events.js.html b/reports/jasmine/lcov/lcov-report/src/js/events.js.html new file mode 100644 index 0000000..30c3f22 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/events.js.html @@ -0,0 +1,1859 @@ + + + + Code coverage report for src/js/events.js + + + + + + + +
    +
    +

    + all files / src/js/ events.js +

    +
    +
    + 1.73% + Statements + 4/231 +
    +
    + 0.68% + Branches + 1/148 +
    +
    + 1.69% + Functions + 1/59 +
    +
    + 1.73% + Lines + 4/231 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    function isElementDescendantOfExtension(extensions, element) {
    +        if (!extensions) {
    +            return false;
    +        }
    + 
    +        return extensions.some(function (extension) {
    +            if (typeof extension.getInteractionElements !== 'function') {
    +                return false;
    +            }
    + 
    +            var extensionElements = extension.getInteractionElements();
    +            if (!extensionElements) {
    +                return false;
    +            }
    + 
    +            if (!Array.isArray(extensionElements)) {
    +                extensionElements = [extensionElements];
    +            }
    +            return extensionElements.some(function (el) {
    +                return MediumEditor.util.isDescendant(el, element, true);
    +            });
    +        });
    +    }
    + 
    +    var Events = function (instance) {
    +        this.base = instance;
    +        this.options = this.base.options;
    +        this.events = [];
    +        this.disabledEvents = {};
    +        this.customEvents = {};
    +        this.listeners = {};
    +    };
    + 
    +    Events.prototype = {
    +        InputEventOnContenteditableSupported: !MediumEditor.util.isIE && !MediumEditor.util.isEdge,
    + 
    +        // Helpers for event handling
    + 
    +        attachDOMEvent: function (targets, event, listener, useCapture) {
    +            var win = this.base.options.contentWindow,
    +                doc = this.base.options.ownerDocument;
    + 
    +            targets = MediumEditor.util.isElement(targets) || [win, doc].indexOf(targets) > -1 ? [targets] : targets;
    + 
    +            Array.prototype.forEach.call(targets, function (target) {
    +                target.addEventListener(event, listener, useCapture);
    +                this.events.push([target, event, listener, useCapture]);
    +            }.bind(this));
    +        },
    + 
    +        detachDOMEvent: function (targets, event, listener, useCapture) {
    +            var index, e,
    +                win = this.base.options.contentWindow,
    +                doc = this.base.options.ownerDocument;
    + 
    +            if (targets) {
    +                targets = MediumEditor.util.isElement(targets) || [win, doc].indexOf(targets) > -1 ? [targets] : targets;
    + 
    +                Array.prototype.forEach.call(targets, function (target) {
    +                    index = this.indexOfListener(target, event, listener, useCapture);
    +                    if (index !== -1) {
    +                        e = this.events.splice(index, 1)[0];
    +                        e[0].removeEventListener(e[1], e[2], e[3]);
    +                    }
    +                }.bind(this));
    +            }
    +        },
    + 
    +        indexOfListener: function (target, event, listener, useCapture) {
    +            var i, n, item;
    +            for (i = 0, n = this.events.length; i < n; i = i + 1) {
    +                item = this.events[i];
    +                if (item[0] === target && item[1] === event && item[2] === listener && item[3] === useCapture) {
    +                    return i;
    +                }
    +            }
    +            return -1;
    +        },
    + 
    +        detachAllDOMEvents: function () {
    +            var e = this.events.pop();
    +            while (e) {
    +                e[0].removeEventListener(e[1], e[2], e[3]);
    +                e = this.events.pop();
    +            }
    +        },
    + 
    +        detachAllEventsFromElement: function (element) {
    +            var filtered = this.events.filter(function (e) {
    +                return e && e[0].getAttribute && e[0].getAttribute('medium-editor-index') === element.getAttribute('medium-editor-index');
    +            });
    + 
    +            for (var i = 0, len = filtered.length; i < len; i++) {
    +                var e = filtered[i];
    +                this.detachDOMEvent(e[0], e[1], e[2], e[3]);
    +            }
    +        },
    + 
    +        // Attach all existing handlers to a new element
    +        attachAllEventsToElement: function (element) {
    +            if (this.listeners['editableInput']) {
    +                this.contentCache[element.getAttribute('medium-editor-index')] = element.innerHTML;
    +            }
    + 
    +            if (this.eventsCache) {
    +                this.eventsCache.forEach(function (e) {
    +                    this.attachDOMEvent(element, e['name'], e['handler'].bind(this));
    +                }, this);
    +            }
    +        },
    + 
    +        enableCustomEvent: function (event) {
    +            if (this.disabledEvents[event] !== undefined) {
    +                delete this.disabledEvents[event];
    +            }
    +        },
    + 
    +        disableCustomEvent: function (event) {
    +            this.disabledEvents[event] = true;
    +        },
    + 
    +        // custom events
    +        attachCustomEvent: function (event, listener) {
    +            this.setupListener(event);
    +            if (!this.customEvents[event]) {
    +                this.customEvents[event] = [];
    +            }
    +            this.customEvents[event].push(listener);
    +        },
    + 
    +        detachCustomEvent: function (event, listener) {
    +            var index = this.indexOfCustomListener(event, listener);
    +            if (index !== -1) {
    +                this.customEvents[event].splice(index, 1);
    +                // TODO: If array is empty, should detach internal listeners via destroyListener()
    +            }
    +        },
    + 
    +        indexOfCustomListener: function (event, listener) {
    +            if (!this.customEvents[event] || !this.customEvents[event].length) {
    +                return -1;
    +            }
    + 
    +            return this.customEvents[event].indexOf(listener);
    +        },
    + 
    +        detachAllCustomEvents: function () {
    +            this.customEvents = {};
    +            // TODO: Should detach internal listeners here via destroyListener()
    +        },
    + 
    +        triggerCustomEvent: function (name, data, editable) {
    +               if (this.customEvents[name] && !this.disabledEvents[name]) {
    +                this.customEvents[name].forEach(function (listener) {
    +                    listener(data, editable);
    +                });
    +            }
    +        },
    + 
    +        // Cleaning up
    + 
    +        destroy: function () {
    +            this.detachAllDOMEvents();
    +            this.detachAllCustomEvents();
    +            this.detachExecCommand();
    + 
    +            if (this.base.elements) {
    +                this.base.elements.forEach(function (element) {
    +                    element.removeAttribute('data-medium-focused');
    +                });
    +            }
    +        },
    + 
    +        // Listening to calls to document.execCommand
    + 
    +        // Attach a listener to be notified when document.execCommand is called
    +        attachToExecCommand: function () {
    +            if (this.execCommandListener) {
    +                return;
    +            }
    + 
    +            // Store an instance of the listener so:
    +            // 1) We only attach to execCommand once
    +            // 2) We can remove the listener later
    +            this.execCommandListener = function (execInfo) {
    +                this.handleDocumentExecCommand(execInfo);
    +            }.bind(this);
    + 
    +            // Ensure that execCommand has been wrapped correctly
    +            this.wrapExecCommand();
    + 
    +            // Add listener to list of execCommand listeners
    +            this.options.ownerDocument.execCommand.listeners.push(this.execCommandListener);
    +        },
    + 
    +        // Remove our listener for calls to document.execCommand
    +        detachExecCommand: function () {
    +            var doc = this.options.ownerDocument;
    +            if (!this.execCommandListener || !doc.execCommand.listeners) {
    +                return;
    +            }
    + 
    +            // Find the index of this listener in the array of listeners so it can be removed
    +            var index = doc.execCommand.listeners.indexOf(this.execCommandListener);
    +            if (index !== -1) {
    +                doc.execCommand.listeners.splice(index, 1);
    +            }
    + 
    +            // If the list of listeners is now empty, put execCommand back to its original state
    +            if (!doc.execCommand.listeners.length) {
    +                this.unwrapExecCommand();
    +            }
    +        },
    + 
    +        // Wrap document.execCommand in a custom method so we can listen to calls to it
    +        wrapExecCommand: function () {
    +            var doc = this.options.ownerDocument;
    + 
    +            // Ensure all instance of MediumEditor only wrap execCommand once
    +            if (doc.execCommand.listeners) {
    +                return;
    +            }
    + 
    +            // Helper method to call all listeners to execCommand
    +            var callListeners = function (args, result) {
    +                if (doc.execCommand.listeners) {
    +                    doc.execCommand.listeners.forEach(function (listener) {
    +                        listener({
    +                            command: args[0],
    +                            value: args[2],
    +                            args: args,
    +                            result: result
    +                        });
    +                    });
    +                }
    +            },
    + 
    +                // Create a wrapper method for execCommand which will:
    +                // 1) Call document.execCommand with the correct arguments
    +                // 2) Loop through any listeners and notify them that execCommand was called
    +                //    passing extra info on the call
    +                // 3) Return the result
    +                wrapper = function () {
    +                    var result = doc.execCommand.orig.apply(this, arguments);
    + 
    +                    if (!doc.execCommand.listeners) {
    +                        return result;
    +                    }
    + 
    +                    var args = Array.prototype.slice.call(arguments);
    +                    callListeners(args, result);
    + 
    +                    return result;
    +                };
    + 
    +            // Store a reference to the original execCommand
    +            wrapper.orig = doc.execCommand;
    + 
    +            // Attach an array for storing listeners
    +            wrapper.listeners = [];
    + 
    +            // Helper for notifying listeners
    +            wrapper.callListeners = callListeners;
    + 
    +            // Overwrite execCommand
    +            doc.execCommand = wrapper;
    +        },
    + 
    +        // Revert document.execCommand back to its original self
    +        unwrapExecCommand: function () {
    +            var doc = this.options.ownerDocument;
    +            if (!doc.execCommand.orig) {
    +                return;
    +            }
    + 
    +            // Use the reference to the original execCommand to revert back
    +            doc.execCommand = doc.execCommand.orig;
    +        },
    + 
    +        // Listening to browser events to emit events medium-editor cares about
    +        setupListener: function (name) {
    +            if (this.listeners[name]) {
    +                return;
    +            }
    + 
    +            switch (name) {
    +                case 'externalInteraction':
    +                    // Detecting when user has interacted with elements outside of MediumEditor
    +                    this.attachDOMEvent(this.options.ownerDocument.body, 'mousedown', this.handleBodyMousedown.bind(this), true);
    +                    this.attachDOMEvent(this.options.ownerDocument.body, 'click', this.handleBodyClick.bind(this), true);
    +                    this.attachDOMEvent(this.options.ownerDocument.body, 'focus', this.handleBodyFocus.bind(this), true);
    +                    break;
    +                case 'blur':
    +                    // Detecting when focus is lost
    +                    this.setupListener('externalInteraction');
    +                    break;
    +                case 'focus':
    +                    // Detecting when focus moves into some part of MediumEditor
    +                    this.setupListener('externalInteraction');
    +                    break;
    +                case 'editableInput':
    +                    // setup cache for knowing when the content has changed
    +                    this.contentCache = {};
    +                    this.base.elements.forEach(function (element) {
    +                        this.contentCache[element.getAttribute('medium-editor-index')] = element.innerHTML;
    +                    }, this);
    + 
    +                    // Attach to the 'oninput' event, handled correctly by most browsers
    +                    if (this.InputEventOnContenteditableSupported) {
    +                        this.attachToEachElement('input', this.handleInput);
    +                    }
    + 
    +                    // For browsers which don't support the input event on contenteditable (IE)
    +                    // we'll attach to 'selectionchange' on the document and 'keypress' on the editables
    +                    if (!this.InputEventOnContenteditableSupported) {
    +                        this.setupListener('editableKeypress');
    +                        this.keypressUpdateInput = true;
    +                        this.attachDOMEvent(document, 'selectionchange', this.handleDocumentSelectionChange.bind(this));
    +                        // Listen to calls to execCommand
    +                        this.attachToExecCommand();
    +                    }
    +                    break;
    +                case 'editableClick':
    +                    // Detecting click in the contenteditables
    +                    this.attachToEachElement('click', this.handleClick);
    +                    break;
    +                case 'editableBlur':
    +                    // Detecting blur in the contenteditables
    +                    this.attachToEachElement('blur', this.handleBlur);
    +                    break;
    +                case 'editableKeypress':
    +                    // Detecting keypress in the contenteditables
    +                    this.attachToEachElement('keypress', this.handleKeypress);
    +                    break;
    +                case 'editableKeyup':
    +                    // Detecting keyup in the contenteditables
    +                    this.attachToEachElement('keyup', this.handleKeyup);
    +                    break;
    +                case 'editableKeydown':
    +                    // Detecting keydown on the contenteditables
    +                    this.attachToEachElement('keydown', this.handleKeydown);
    +                    break;
    +                case 'editableKeydownSpace':
    +                    // Detecting keydown for SPACE on the contenteditables
    +                    this.setupListener('editableKeydown');
    +                    break;
    +                case 'editableKeydownEnter':
    +                    // Detecting keydown for ENTER on the contenteditables
    +                    this.setupListener('editableKeydown');
    +                    break;
    +                case 'editableKeydownTab':
    +                    // Detecting keydown for TAB on the contenteditable
    +                    this.setupListener('editableKeydown');
    +                    break;
    +                case 'editableKeydownDelete':
    +                    // Detecting keydown for DELETE/BACKSPACE on the contenteditables
    +                    this.setupListener('editableKeydown');
    +                    break;
    +                case 'editableMouseover':
    +                    // Detecting mouseover on the contenteditables
    +                    this.attachToEachElement('mouseover', this.handleMouseover);
    +                    break;
    +                case 'editableDrag':
    +                    // Detecting dragover and dragleave on the contenteditables
    +                    // this.attachToEachElement('dragover', this.handleDragging);
    +                    // this.attachToEachElement('dragleave', this.handleDragging);
    +                    break;
    +                // case 'editableDrop':
    +                //     // Detecting drop on the contenteditables
    +                //     this.attachToEachElement('drop', this.handleDrop);
    +                //     break;
    +                // // TODO: We need to have a custom 'paste' event separate from 'editablePaste'
    +                // // Need to think about the way to introduce this without breaking folks
    +                // case 'editablePaste':
    +                //     // Detecting paste on the contenteditables
    +                //     this.attachToEachElement('paste', this.handlePaste);
    +                //     break;
    +            }
    +            this.listeners[name] = true;
    +        },
    + 
    +        attachToEachElement: function (name, handler) {
    +            // build our internal cache to know which element got already what handler attached
    +            if (!this.eventsCache) {
    +                this.eventsCache = [];
    +            }
    + 
    +            this.base.elements.forEach(function (element) {
    +                this.attachDOMEvent(element, name, handler.bind(this));
    +            }, this);
    + 
    +            this.eventsCache.push({ 'name': name, 'handler': handler });
    +        },
    + 
    +        cleanupElement: function (element) {
    +            var index = element.getAttribute('medium-editor-index');
    +            if (index) {
    +                this.detachAllEventsFromElement(element);
    +                if (this.contentCache) {
    +                    delete this.contentCache[index];
    +                }
    +            }
    +        },
    + 
    +        focusElement: function (element) {
    +            element.focus();
    +            this.updateFocus(element, { target: element, type: 'focus' });
    +        },
    + 
    +        updateFocus: function (target, eventObj) {
    +            var hadFocus = this.base.getFocusedElement(),
    +                toFocus;
    + 
    +            // For clicks, we need to know if the mousedown that caused the click happened inside the existing focused element
    +            // or one of the extension elements.  If so, we don't want to focus another element
    +            if (hadFocus &&
    +                eventObj.type === 'click' &&
    +                this.lastMousedownTarget &&
    +                (MediumEditor.util.isDescendant(hadFocus, this.lastMousedownTarget, true) ||
    +                    isElementDescendantOfExtension(this.base.extensions, this.lastMousedownTarget))) {
    +                toFocus = hadFocus;
    +            }
    + 
    +            if (!toFocus) {
    +                this.base.elements.some(function (element) {
    +                    // If the target is part of an editor element, this is the element getting focus
    +                    if (!toFocus && (MediumEditor.util.isDescendant(element, target, true))) {
    +                        toFocus = element;
    +                    }
    + 
    +                    // bail if we found an element that's getting focus
    +                    return !!toFocus;
    +                }, this);
    +            }
    + 
    +            // Check if the target is external (not part of the editor, toolbar, or any other extension)
    +            var externalEvent = !MediumEditor.util.isDescendant(hadFocus, target, true) &&
    +                !isElementDescendantOfExtension(this.base.extensions, target);
    + 
    +            if (toFocus !== hadFocus) {
    +                // If element has focus, and focus is going outside of editor
    +                // Don't blur focused element if clicking on editor, toolbar, or anchorpreview
    +                if (hadFocus && externalEvent) {
    +                    // Trigger blur on the editable that has lost focus
    +                    hadFocus.removeAttribute('data-medium-focused');
    +                    this.triggerCustomEvent('blur', eventObj, hadFocus);
    +                }
    + 
    +                // If focus is going into an editor element
    +                if (toFocus) {
    +                    // Trigger focus on the editable that now has focus
    +                    toFocus.setAttribute('data-medium-focused', true);
    +                    this.triggerCustomEvent('focus', eventObj, toFocus);
    +                }
    +            }
    + 
    +            if (externalEvent) {
    +                this.triggerCustomEvent('externalInteraction', eventObj);
    +            }
    +        },
    + 
    +        updateInput: function (target, eventObj) {
    +            if (!this.contentCache) {
    +                return;
    +            }
    +            // An event triggered which signifies that the user may have changed someting
    +            // Look in our cache of input for the contenteditables to see if something changed
    +            var index = target.getAttribute('medium-editor-index'),
    +                html = target.innerHTML;
    + 
    +            if (html !== this.contentCache[index]) {
    +                // The content has changed since the last time we checked, fire the event
    +                this.triggerCustomEvent('editableInput', eventObj, target);
    +            }
    +            this.contentCache[index] = html;
    +        },
    + 
    +        handleDocumentSelectionChange: function (event) {
    +            // When selectionchange fires, target and current target are set
    +            // to document, since this is where the event is handled
    +            // However, currentTarget will have an 'activeElement' property
    +            // which will point to whatever element has focus.
    +            if (event.currentTarget && event.currentTarget.activeElement) {
    +                var activeElement = event.currentTarget.activeElement,
    +                    currentTarget;
    +                // We can look at the 'activeElement' to determine if the selectionchange has
    +                // happened within a contenteditable owned by this instance of MediumEditor
    +                this.base.elements.some(function (element) {
    +                    if (MediumEditor.util.isDescendant(element, activeElement, true)) {
    +                        currentTarget = element;
    +                        return true;
    +                    }
    +                    return false;
    +                }, this);
    + 
    +                // We know selectionchange fired within one of our contenteditables
    +                if (currentTarget) {
    +                    this.updateInput(currentTarget, { target: activeElement, currentTarget: currentTarget });
    +                }
    +            }
    +        },
    + 
    +        handleDocumentExecCommand: function () {
    +            // document.execCommand has been called
    +            // If one of our contenteditables currently has focus, we should
    +            // attempt to trigger the 'editableInput' event
    +            var target = this.base.getFocusedElement();
    +            if (target) {
    +                this.updateInput(target, { target: target, currentTarget: target });
    +            }
    +        },
    + 
    +        handleBodyClick: function (event) {
    +            this.updateFocus(event.target, event);
    +        },
    + 
    +        handleBodyFocus: function (event) {
    +            this.updateFocus(event.target, event);
    +        },
    + 
    +        handleBodyMousedown: function (event) {
    +            this.lastMousedownTarget = event.target;
    +        },
    + 
    +        handleInput: function (event) {
    +            this.updateInput(event.currentTarget, event);
    +        },
    + 
    +        handleClick: function (event) {
    +            this.triggerCustomEvent('editableClick', event, event.currentTarget);
    +        },
    + 
    +        handleBlur: function (event) {
    +            this.triggerCustomEvent('editableBlur', event, event.currentTarget);
    +        },
    + 
    +        handleKeypress: function (event) {
    +            this.triggerCustomEvent('editableKeypress', event, event.currentTarget);
    + 
    +            // If we're doing manual detection of the editableInput event we need
    +            // to check for input changes during 'keypress'
    +            if (this.keypressUpdateInput) {
    +                var eventObj = { target: event.target, currentTarget: event.currentTarget };
    + 
    +                // In IE, we need to let the rest of the event stack complete before we detect
    +                // changes to input, so using setTimeout here
    +                setTimeout(function () {
    +                    this.updateInput(eventObj.currentTarget, eventObj);
    +                }.bind(this), 0);
    +            }
    +        },
    + 
    +        handleKeyup: function (event) {
    +            this.triggerCustomEvent('editableKeyup', event, event.currentTarget);
    +        },
    + 
    +        handleMouseover: function (event) {
    +            this.triggerCustomEvent('editableMouseover', event, event.currentTarget);
    +        },
    + 
    +        handleDragging: function (event) {
    +            this.triggerCustomEvent('editableDrag', event, event.currentTarget);
    +        },
    + 
    +        handleDrop: function (event) {
    +            this.triggerCustomEvent('editableDrop', event, event.currentTarget);
    +        },
    + 
    +        handlePaste: function (event) {
    +            this.triggerCustomEvent('editablePaste', event, event.currentTarget);
    +        },
    + 
    +        handleKeydown: function (event) {
    +            this.triggerCustomEvent('editableKeydown', event, event.currentTarget);
    + 
    +            if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.SPACE)) {
    +                return this.triggerCustomEvent('editableKeydownSpace', event, event.currentTarget);
    +            }
    + 
    +            if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.ENTER) || (event.ctrlKey && MediumEditor.util.isKey(event, MediumEditor.util.keyCode.M))) {
    +                return this.triggerCustomEvent('editableKeydownEnter', event, event.currentTarget);
    +            }
    + 
    +            if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.TAB)) {
    +                return this.triggerCustomEvent('editableKeydownTab', event, event.currentTarget);
    +            }
    + 
    +            if (MediumEditor.util.isKey(event, [MediumEditor.util.keyCode.DELETE, MediumEditor.util.keyCode.BACKSPACE])) {
    +                return this.triggerCustomEvent('editableKeydownDelete', event, event.currentTarget);
    +            }
    +        }
    +    };
    + 
    +    MediumEditor.Events = Events;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extension.js.html b/reports/jasmine/lcov/lcov-report/src/js/extension.js.html new file mode 100644 index 0000000..a5bf76e --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extension.js.html @@ -0,0 +1,881 @@ + + + + Code coverage report for src/js/extension.js + + + + + + + +
    +
    +

    + all files / src/js/ extension.js +

    +
    +
    + 48% + Statements + 12/25 +
    +
    + 66.67% + Branches + 4/6 +
    +
    + 27.27% + Functions + 3/11 +
    +
    + 48% + Lines + 12/25 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +  +  + +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  + + +  + +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  + +  +  +  +  + +  + 
    (function () {
    +    'use strict';
    + 
    +    var Extension = function (options) {
    +        MediumEditor.util.extend(this, options);
    +    };
    + 
    +    Extension.extend = function (protoProps) {
    +        // magic extender thinger. mostly borrowed from backbone/goog.inherits
    +        // place this function on some thing you want extend-able.
    +        //
    +        // example:
    +        //
    +        //      function Thing(args){
    +        //          this.options = args;
    +        //      }
    +        //
    +        //      Thing.prototype = { foo: "bar" };
    +        //      Thing.extend = extenderify;
    +        //
    +        //      var ThingTwo = Thing.extend({ foo: "baz" });
    +        //
    +        //      var thingOne = new Thing(); // foo === "bar"
    +        //      var thingTwo = new ThingTwo(); // foo === "baz"
    +        //
    +        //      which seems like some simply shallow copy nonsense
    +        //      at first, but a lot more is going on there.
    +        //
    +        //      passing a `constructor` to the extend props
    +        //      will cause the instance to instantiate through that
    +        //      instead of the parent's constructor.
    + 
    +        var parent = this,
    +            child;
    + 
    +        // The constructor function for the new subclass is either defined by you
    +        // (the "constructor" property in your `extend` definition), or defaulted
    +        // by us to simply call the parent's constructor.
    + 
    +        if (protoProps && protoProps.hasOwnProperty('constructor')) {
    +            child = protoProps.constructor;
    +        } else {
    +            child = function () {
    +                return parent.apply(this, arguments);
    +            };
    +        }
    + 
    +        // das statics (.extend comes over, so your subclass can have subclasses too)
    +        MediumEditor.util.extend(child, parent);
    + 
    +        // Set the prototype chain to inherit from `parent`, without calling
    +        // `parent`'s constructor function.
    +        var Surrogate = function () {
    +            this.constructor = child;
    +        };
    +        Surrogate.prototype = parent.prototype;
    +        child.prototype = new Surrogate();
    + 
    +        if (protoProps) {
    +            MediumEditor.util.extend(child.prototype, protoProps);
    +        }
    + 
    +        // todo: $super?
    + 
    +        return child;
    +    };
    + 
    +    Extension.prototype = {
    +        /* init: [function]
    +         *
    +         * Called by MediumEditor during initialization.
    +         * The .base property will already have been set to
    +         * current instance of MediumEditor when this is called.
    +         * All helper methods will exist as well
    +         */
    +        init: function () {},
    + 
    +        /* base: [MediumEditor instance]
    +         *
    +         * If not overriden, this will be set to the current instance
    +         * of MediumEditor, before the init method is called
    +         */
    +        base: undefined,
    + 
    +        /* name: [string]
    +         *
    +         * 'name' of the extension, used for retrieving the extension.
    +         * If not set, MediumEditor will set this to be the key
    +         * used when passing the extension into MediumEditor via the
    +         * 'extensions' option
    +         */
    +        name: undefined,
    + 
    +        /* checkState: [function (node)]
    +         *
    +         * If implemented, this function will be called one or more times
    +         * the state of the editor & toolbar are updated.
    +         * When the state is updated, the editor does the following:
    +         *
    +         * 1) Find the parent node containing the current selection
    +         * 2) Call checkState on the extension, passing the node as an argument
    +         * 3) Get the parent node of the previous node
    +         * 4) Repeat steps #2 and #3 until we move outside the parent contenteditable
    +         */
    +        checkState: undefined,
    + 
    +        /* destroy: [function ()]
    +         *
    +         * This method should remove any created html, custom event handlers
    +         * or any other cleanup tasks that should be performed.
    +         * If implemented, this function will be called when MediumEditor's
    +         * destroy method has been called.
    +         */
    +        destroy: undefined,
    + 
    +        /* As alternatives to checkState, these functions provide a more structured
    +         * path to updating the state of an extension (usually a button) whenever
    +         * the state of the editor & toolbar are updated.
    +         */
    + 
    +        /* queryCommandState: [function ()]
    +         *
    +         * If implemented, this function will be called once on each extension
    +         * when the state of the editor/toolbar is being updated.
    +         *
    +         * If this function returns a non-null value, the extension will
    +         * be ignored as the code climbs the dom tree.
    +         *
    +         * If this function returns true, and the setActive() function is defined
    +         * setActive() will be called
    +         */
    +        queryCommandState: undefined,
    + 
    +        /* isActive: [function ()]
    +         *
    +         * If implemented, this function will be called when MediumEditor
    +         * has determined that this extension is 'active' for the current selection.
    +         * This may be called when the editor & toolbar are being updated,
    +         * but only if queryCommandState() or isAlreadyApplied() functions
    +         * are implemented, and when called, return true.
    +         */
    +        isActive: undefined,
    + 
    +        /* isAlreadyApplied: [function (node)]
    +         *
    +         * If implemented, this function is similar to checkState() in
    +         * that it will be called repeatedly as MediumEditor moves up
    +         * the DOM to update the editor & toolbar after a state change.
    +         *
    +         * NOTE: This function will NOT be called if checkState() has
    +         * been implemented. This function will NOT be called if
    +         * queryCommandState() is implemented and returns a non-null
    +         * value when called
    +         */
    +        isAlreadyApplied: undefined,
    + 
    +        /* setActive: [function ()]
    +         *
    +         * If implemented, this function is called when MediumEditor knows
    +         * that this extension is currently enabled.  Currently, this
    +         * function is called when updating the editor & toolbar, and
    +         * only if queryCommandState() or isAlreadyApplied(node) return
    +         * true when called
    +         */
    +        setActive: undefined,
    + 
    +        /* setInactive: [function ()]
    +         *
    +         * If implemented, this function is called when MediumEditor knows
    +         * that this extension is currently disabled.  Curently, this
    +         * is called at the beginning of each state change for
    +         * the editor & toolbar. After calling this, MediumEditor
    +         * will attempt to update the extension, either via checkState()
    +         * or the combination of queryCommandState(), isAlreadyApplied(node),
    +         * isActive(), and setActive()
    +         */
    +        setInactive: undefined,
    + 
    +        /* getInteractionElements: [function ()]
    +         *
    +         * If the extension renders any elements that the user can interact with,
    +         * this method should be implemented and return the root element or an array
    +         * containing all of the root elements. MediumEditor will call this function
    +         * during interaction to see if the user clicked on something outside of the editor.
    +         * The elements are used to check if the target element of a click or
    +         * other user event is a descendant of any extension elements.
    +         * This way, the editor can also count user interaction within editor elements as
    +         * interactions with the editor, and thus not trigger 'blur'
    +         */
    +        getInteractionElements: undefined,
    + 
    +        /************************ Helpers ************************
    +         * The following are helpers that are either set by MediumEditor
    +         * during initialization, or are helper methods which either
    +         * route calls to the MediumEditor instance or provide common
    +         * functionality for all extensions
    +         *********************************************************/
    + 
    +        /* window: [Window]
    +         *
    +         * If not overriden, this will be set to the window object
    +         * to be used by MediumEditor and its extensions.  This is
    +         * passed via the 'contentWindow' option to MediumEditor
    +         * and is the global 'window' object by default
    +         */
    +        'window': undefined,
    + 
    +        /* document: [Document]
    +         *
    +         * If not overriden, this will be set to the document object
    +         * to be used by MediumEditor and its extensions. This is
    +         * passed via the 'ownerDocument' optin to MediumEditor
    +         * and is the global 'document' object by default
    +         */
    +        'document': undefined,
    + 
    +        /* getEditorElements: [function ()]
    +         *
    +         * Helper function which returns an array containing
    +         * all the contenteditable elements for this instance
    +         * of MediumEditor
    +         */
    +        getEditorElements: function () {
    +            return this.base.elements;
    +        },
    + 
    +        /* getEditorId: [function ()]
    +         *
    +         * Helper function which returns a unique identifier
    +         * for this instance of MediumEditor
    +         */
    +        getEditorId: function () {
    +            return this.base.id;
    +        },
    + 
    +        /* getEditorOptions: [function (option)]
    +         *
    +         * Helper function which returns the value of an option
    +         * used to initialize this instance of MediumEditor
    +         */
    +        getEditorOption: function (option) {
    +            return this.base.options[option];
    +        }
    +    };
    + 
    +    /* List of method names to add to the prototype of Extension
    +     * Each of these methods will be defined as helpers that
    +     * just call directly into the MediumEditor instance.
    +     *
    +     * example for 'on' method:
    +     * Extension.prototype.on = function () {
    +     *     return this.base.on.apply(this.base, arguments);
    +     * }
    +     */
    +    [
    +        // general helpers
    +        'execAction',
    + 
    +        // event handling
    +        'on',
    +        'off',
    +        'subscribe',
    +        'trigger'
    + 
    +    ].forEach(function (helper) {
    +        Extension.prototype[helper] = function () {
    +            return this.base[helper].apply(this.base, arguments);
    +        };
    +    });
    + 
    +    MediumEditor.Extension = Extension;
    +})();
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/anchor-preview.js.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/anchor-preview.js.html new file mode 100644 index 0000000..6cf295a --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/anchor-preview.js.html @@ -0,0 +1,983 @@ + + + + Code coverage report for src/js/extensions/anchor-preview.js + + + + + + + +
    +
    +

    + all files / src/js/extensions/ anchor-preview.js +

    +
    +
    + 1.6% + Statements + 2/125 +
    +
    + 0% + Branches + 0/63 +
    +
    + 4.35% + Functions + 1/23 +
    +
    + 1.6% + Lines + 2/125 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var AnchorPreview = MediumEditor.Extension.extend({
    +        name: 'anchor-preview',
    + 
    +        // Anchor Preview Options
    + 
    +        /* hideDelay: [number]  (previously options.anchorPreviewHideDelay)
    +         * time in milliseconds to show the anchor tag preview after the mouse has left the anchor tag.
    +         */
    +        hideDelay: 500,
    + 
    +        /* previewValueSelector: [string]
    +         * the default selector to locate where to put the activeAnchor value in the preview
    +         */
    +        previewValueSelector: 'a',
    + 
    +        /* showWhenToolbarIsVisible: [boolean]
    +         * determines whether the anchor tag preview shows up when the toolbar is visible
    +         */
    +        showWhenToolbarIsVisible: false,
    + 
    +        /* showOnEmptyLinks: [boolean]
    +        * determines whether the anchor tag preview shows up on links with href="" or href="#something"
    +        */
    +        showOnEmptyLinks: true,
    + 
    +        init: function () {
    +            this.anchorPreview = this.createPreview();
    + 
    +            this.getEditorOption('elementsContainer').appendChild(this.anchorPreview);
    + 
    +            this.attachToEditables();
    +        },
    + 
    +        getInteractionElements: function () {
    +            return this.getPreviewElement();
    +        },
    + 
    +        // TODO: Remove this function in 6.0.0
    +        getPreviewElement: function () {
    +            return this.anchorPreview;
    +        },
    + 
    +        createPreview: function () {
    +            var el = this.document.createElement('div');
    + 
    +            el.id = 'medium-editor-anchor-preview-' + this.getEditorId();
    +            el.className = 'medium-editor-anchor-preview';
    +            el.innerHTML = this.getTemplate();
    + 
    +            this.on(el, 'click', this.handleClick.bind(this));
    + 
    +            return el;
    +        },
    + 
    +        getTemplate: function () {
    +            return '<div class="medium-editor-toolbar-anchor-preview" id="medium-editor-toolbar-anchor-preview">' +
    +                '    <a class="medium-editor-toolbar-anchor-preview-inner"></a>' +
    +                '</div>';
    +        },
    + 
    +        destroy: function () {
    +            if (this.anchorPreview) {
    +                if (this.anchorPreview.parentNode) {
    +                    this.anchorPreview.parentNode.removeChild(this.anchorPreview);
    +                }
    +                delete this.anchorPreview;
    +            }
    +        },
    + 
    +        hidePreview: function () {
    +            if (this.anchorPreview) {
    +                this.anchorPreview.classList.remove('medium-editor-anchor-preview-active');
    +            }
    +            this.activeAnchor = null;
    +        },
    + 
    +        showPreview: function (anchorEl) {
    +            if (this.anchorPreview.classList.contains('medium-editor-anchor-preview-active') ||
    +                    anchorEl.getAttribute('data-disable-preview')) {
    +                return true;
    +            }
    + 
    +            if (this.previewValueSelector) {
    +                this.anchorPreview.querySelector(this.previewValueSelector).textContent = anchorEl.attributes.href.value;
    +                this.anchorPreview.querySelector(this.previewValueSelector).href = anchorEl.attributes.href.value;
    +            }
    + 
    +            this.anchorPreview.classList.add('medium-toolbar-arrow-over');
    +            this.anchorPreview.classList.remove('medium-toolbar-arrow-under');
    + 
    +            if (!this.anchorPreview.classList.contains('medium-editor-anchor-preview-active')) {
    +                this.anchorPreview.classList.add('medium-editor-anchor-preview-active');
    +            }
    + 
    +            this.activeAnchor = anchorEl;
    + 
    +            this.positionPreview();
    +            this.attachPreviewHandlers();
    + 
    +            return this;
    +        },
    + 
    +        positionPreview: function (activeAnchor) {
    +            activeAnchor = activeAnchor || this.activeAnchor;
    +            var containerWidth = this.window.innerWidth,
    +                buttonHeight = this.anchorPreview.offsetHeight,
    +                boundary = activeAnchor.getBoundingClientRect(),
    +                diffLeft = this.diffLeft,
    +                diffTop = this.diffTop,
    +                elementsContainer = this.getEditorOption('elementsContainer'),
    +                elementsContainerAbsolute = ['absolute', 'fixed'].indexOf(window.getComputedStyle(elementsContainer).getPropertyValue('position')) > -1,
    +                relativeBoundary = {},
    +                halfOffsetWidth, defaultLeft, middleBoundary, elementsContainerBoundary, top;
    + 
    +            halfOffsetWidth = this.anchorPreview.offsetWidth / 2;
    +            var toolbarExtension = this.base.getExtensionByName('toolbar');
    +            if (toolbarExtension) {
    +                diffLeft = toolbarExtension.diffLeft;
    +                diffTop = toolbarExtension.diffTop;
    +            }
    +            defaultLeft = diffLeft - halfOffsetWidth;
    + 
    +            // If container element is absolute / fixed, recalculate boundaries to be relative to the container
    +            if (elementsContainerAbsolute) {
    +                elementsContainerBoundary = elementsContainer.getBoundingClientRect();
    +                ['top', 'left'].forEach(function (key) {
    +                    relativeBoundary[key] = boundary[key] - elementsContainerBoundary[key];
    +                });
    + 
    +                relativeBoundary.width = boundary.width;
    +                relativeBoundary.height = boundary.height;
    +                boundary = relativeBoundary;
    + 
    +                containerWidth = elementsContainerBoundary.width;
    + 
    +                // Adjust top position according to container scroll position
    +                top = elementsContainer.scrollTop;
    +            } else {
    +                // Adjust top position according to window scroll position
    +                top = this.window.pageYOffset;
    +            }
    + 
    +            middleBoundary = boundary.left + boundary.width / 2;
    +            top += buttonHeight + boundary.top + boundary.height - diffTop - this.anchorPreview.offsetHeight;
    + 
    +            this.anchorPreview.style.top = Math.round(top) + 'px';
    +            this.anchorPreview.style.right = 'initial';
    +            if (middleBoundary < halfOffsetWidth) {
    +                this.anchorPreview.style.left = defaultLeft + halfOffsetWidth + 'px';
    +                this.anchorPreview.style.right = 'initial';
    +            } else if ((containerWidth - middleBoundary) < halfOffsetWidth) {
    +                this.anchorPreview.style.left = 'auto';
    +                this.anchorPreview.style.right = 0;
    +            } else {
    +                this.anchorPreview.style.left = defaultLeft + middleBoundary + 'px';
    +                this.anchorPreview.style.right = 'initial';
    +            }
    +        },
    + 
    +        attachToEditables: function () {
    +            this.subscribe('editableMouseover', this.handleEditableMouseover.bind(this));
    +            this.subscribe('positionedToolbar', this.handlePositionedToolbar.bind(this));
    +        },
    + 
    +        handlePositionedToolbar: function () {
    +            // If the toolbar is visible and positioned, we don't need to hide the preview
    +            // when showWhenToolbarIsVisible is true
    +            if (!this.showWhenToolbarIsVisible) {
    +                this.hidePreview();
    +            }
    +        },
    + 
    +        handleClick: function (event) {
    +            var anchorExtension = this.base.getExtensionByName('anchor'),
    +                activeAnchor = this.activeAnchor;
    + 
    +            if (anchorExtension && activeAnchor) {
    +                event.preventDefault();
    + 
    +                this.base.selectElement(this.activeAnchor);
    + 
    +                // Using setTimeout + delay because:
    +                // We may actually be displaying the anchor form, which should be controlled by delay
    +                this.base.delay(function () {
    +                    if (activeAnchor) {
    +                        var opts = {
    +                            value: activeAnchor.attributes.href.value,
    +                            target: activeAnchor.getAttribute('target'),
    +                            buttonClass: activeAnchor.getAttribute('class')
    +                        };
    +                        anchorExtension.showForm(opts);
    +                        activeAnchor = null;
    +                    }
    +                }.bind(this));
    +            }
    + 
    +            this.hidePreview();
    +        },
    + 
    +        handleAnchorMouseout: function () {
    +            this.anchorToPreview = null;
    +            this.off(this.activeAnchor, 'mouseout', this.instanceHandleAnchorMouseout);
    +            this.instanceHandleAnchorMouseout = null;
    +        },
    + 
    +        handleEditableMouseover: function (event) {
    +            var target = MediumEditor.util.getClosestTag(event.target, 'a');
    + 
    +            if (false === target) {
    +                return;
    +            }
    + 
    +            // Detect empty href attributes
    +            // The browser will make href="" or href="#top"
    +            // into absolute urls when accessed as event.target.href, so check the html
    +            if (!this.showOnEmptyLinks &&
    +                (!/href=["']\S+["']/.test(target.outerHTML) || /href=["']#\S+["']/.test(target.outerHTML))) {
    +                return true;
    +            }
    + 
    +            // only show when toolbar is not present
    +            var toolbar = this.base.getExtensionByName('toolbar');
    +            if (!this.showWhenToolbarIsVisible && toolbar && toolbar.isDisplayed && toolbar.isDisplayed()) {
    +                return true;
    +            }
    + 
    +            // detach handler for other anchor in case we hovered multiple anchors quickly
    +            if (this.activeAnchor && this.activeAnchor !== target) {
    +                this.detachPreviewHandlers();
    +            }
    + 
    +            this.anchorToPreview = target;
    + 
    +            this.instanceHandleAnchorMouseout = this.handleAnchorMouseout.bind(this);
    +            this.on(this.anchorToPreview, 'mouseout', this.instanceHandleAnchorMouseout);
    +            // Using setTimeout + delay because:
    +            // - We're going to show the anchor preview according to the configured delay
    +            //   if the mouse has not left the anchor tag in that time
    +            this.base.delay(function () {
    +                if (this.anchorToPreview) {
    +                    this.showPreview(this.anchorToPreview);
    +                }
    +            }.bind(this));
    +        },
    + 
    +        handlePreviewMouseover: function () {
    +            this.lastOver = (new Date()).getTime();
    +            this.hovering = true;
    +        },
    + 
    +        handlePreviewMouseout: function (event) {
    +            if (!event.relatedTarget || !/anchor-preview/.test(event.relatedTarget.className)) {
    +                this.hovering = false;
    +            }
    +        },
    + 
    +        updatePreview: function () {
    +            if (this.hovering) {
    +                return true;
    +            }
    +            var durr = (new Date()).getTime() - this.lastOver;
    +            if (durr > this.hideDelay) {
    +                // hide the preview 1/2 second after mouse leaves the link
    +                this.detachPreviewHandlers();
    +            }
    +        },
    + 
    +        detachPreviewHandlers: function () {
    +            // cleanup
    +            clearInterval(this.intervalTimer);
    +            if (this.instanceHandlePreviewMouseover) {
    +                this.off(this.anchorPreview, 'mouseover', this.instanceHandlePreviewMouseover);
    +                this.off(this.anchorPreview, 'mouseout', this.instanceHandlePreviewMouseout);
    +                if (this.activeAnchor) {
    +                    this.off(this.activeAnchor, 'mouseover', this.instanceHandlePreviewMouseover);
    +                    this.off(this.activeAnchor, 'mouseout', this.instanceHandlePreviewMouseout);
    +                }
    +            }
    + 
    +            this.hidePreview();
    + 
    +            this.hovering = this.instanceHandlePreviewMouseover = this.instanceHandlePreviewMouseout = null;
    +        },
    + 
    +        // TODO: break up method and extract out handlers
    +        attachPreviewHandlers: function () {
    +            this.lastOver = (new Date()).getTime();
    +            this.hovering = true;
    + 
    +            this.instanceHandlePreviewMouseover = this.handlePreviewMouseover.bind(this);
    +            this.instanceHandlePreviewMouseout = this.handlePreviewMouseout.bind(this);
    + 
    +            this.intervalTimer = setInterval(this.updatePreview.bind(this), 200);
    + 
    +            this.on(this.anchorPreview, 'mouseover', this.instanceHandlePreviewMouseover);
    +            this.on(this.anchorPreview, 'mouseout', this.instanceHandlePreviewMouseout);
    +            this.on(this.activeAnchor, 'mouseover', this.instanceHandlePreviewMouseover);
    +            this.on(this.activeAnchor, 'mouseout', this.instanceHandlePreviewMouseout);
    +        }
    +    });
    + 
    +    MediumEditor.extensions.anchorPreview = AnchorPreview;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/anchor.js.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/anchor.js.html new file mode 100644 index 0000000..61e5a67 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/anchor.js.html @@ -0,0 +1,1190 @@ + + + + Code coverage report for src/js/extensions/anchor.js + + + + + + + +
    +
    +

    + all files / src/js/extensions/ anchor.js +

    +
    +
    + 1.92% + Statements + 2/104 +
    +
    + 0% + Branches + 0/68 +
    +
    + 3.57% + Functions + 1/28 +
    +
    + 1.92% + Lines + 2/104 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var AnchorForm = MediumEditor.extensions.form.extend({
    +        /* Anchor Form Options */
    + 
    +        /* customClassOption: [string]  (previously options.anchorButton + options.anchorButtonClass)
    +         * Custom class name the user can optionally have added to their created links (ie 'button').
    +         * If passed as a non-empty string, a checkbox will be displayed allowing the user to choose
    +         * whether to have the class added to the created link or not.
    +         */
    +        customClassOption: null,
    + 
    +        /* customClassOptionText: [string]
    +         * text to be shown in the checkbox when the __customClassOption__ is being used.
    +         */
    +        customClassOptionText: 'Button',
    + 
    +        /* linkValidation: [boolean]  (previously options.checkLinkFormat)
    +         * enables/disables check for common URL protocols on anchor links.
    +         */
    +        linkValidation: false,
    + 
    +        /* placeholderText: [string]  (previously options.anchorInputPlaceholder)
    +         * text to be shown as placeholder of the anchor input.
    +         */
    +        placeholderText: 'Paste or type a link',
    + 
    +        /* targetCheckbox: [boolean]  (previously options.anchorTarget)
    +         * enables/disables displaying a "Open in new window" checkbox, which when checked
    +         * changes the `target` attribute of the created link.
    +         */
    +        targetCheckbox: false,
    + 
    +        /* targetCheckboxText: [string]  (previously options.anchorInputCheckboxLabel)
    +         * text to be shown in the checkbox enabled via the __targetCheckbox__ option.
    +         */
    +        targetCheckboxText: 'Open in new window',
    + 
    +        // Options for the Button base class
    +        name: 'anchor',
    +        action: 'createLink',
    +        aria: 'link',
    +        tagNames: ['a'],
    +        contentDefault: '<b>#</b>',
    +        contentFA: '<i class="fa fa-link"></i>',
    + 
    +        init: function () {
    +            MediumEditor.extensions.form.prototype.init.apply(this, arguments);
    + 
    +            this.subscribe('editableKeydown', this.handleKeydown.bind(this));
    +        },
    + 
    +        // Called when the button the toolbar is clicked
    +        // Overrides ButtonExtension.handleClick
    +        handleClick: function (event) {
    +            event.preventDefault();
    +            event.stopPropagation();
    + 
    +            var range = MediumEditor.selection.getSelectionRange(this.document);
    + 
    +            if (range.startContainer.nodeName.toLowerCase() === 'a' ||
    +                range.endContainer.nodeName.toLowerCase() === 'a' ||
    +                MediumEditor.util.getClosestTag(MediumEditor.selection.getSelectedParentElement(range), 'a')) {
    +                return this.execAction('unlink');
    +            }
    + 
    +            if (!this.isDisplayed()) {
    +                this.showForm();
    +            }
    + 
    +            return false;
    +        },
    + 
    +        // Called when user hits the defined shortcut (CTRL / COMMAND + K)
    +        handleKeydown: function (event) {
    +            if (MediumEditor.util.isKey(event, MediumEditor.util.keyCode.K) && MediumEditor.util.isMetaCtrlKey(event) && !event.shiftKey) {
    +                this.handleClick(event);
    +            }
    +        },
    + 
    +        // Called by medium-editor to append form to the toolbar
    +        getForm: function () {
    +            if (!this.form) {
    +                this.form = this.createForm();
    +            }
    +            return this.form;
    +        },
    + 
    +        getTemplate: function () {
    +            var template = [
    +                '<input type="text" class="medium-editor-toolbar-input" placeholder="', this.placeholderText, '">'
    +            ];
    + 
    +            template.push(
    +                '<a href="#" class="medium-editor-toolbar-save">',
    +                this.getEditorOption('buttonLabels') === 'fontawesome' ? '<i class="fa fa-check"></i>' : this.formSaveLabel,
    +                '</a>'
    +            );
    + 
    +            template.push('<a href="#" class="medium-editor-toolbar-close">',
    +                this.getEditorOption('buttonLabels') === 'fontawesome' ? '<i class="fa fa-times"></i>' : this.formCloseLabel,
    +                '</a>');
    + 
    +            // both of these options are slightly moot with the ability to
    +            // override the various form buildup/serialize functions.
    + 
    +            if (this.targetCheckbox) {
    +                // fixme: ideally, this targetCheckboxText would be a formLabel too,
    +                // figure out how to deprecate? also consider `fa-` icon default implcations.
    +                template.push(
    +                    '<div class="medium-editor-toolbar-form-row">',
    +                    '<input type="checkbox" class="medium-editor-toolbar-anchor-target" id="medium-editor-toolbar-anchor-target-field-' + this.getEditorId() + '">',
    +                    '<label for="medium-editor-toolbar-anchor-target-field-' + this.getEditorId() + '">',
    +                    this.targetCheckboxText,
    +                    '</label>',
    +                    '</div>'
    +                );
    +            }
    + 
    +            if (this.customClassOption) {
    +                // fixme: expose this `Button` text as a formLabel property, too
    +                // and provide similar access to a `fa-` icon default.
    +                template.push(
    +                    '<div class="medium-editor-toolbar-form-row">',
    +                    '<input type="checkbox" class="medium-editor-toolbar-anchor-button">',
    +                    '<label>',
    +                    this.customClassOptionText,
    +                    '</label>',
    +                    '</div>'
    +                );
    +            }
    + 
    +            return template.join('');
    + 
    +        },
    + 
    +        // Used by medium-editor when the default toolbar is to be displayed
    +        isDisplayed: function () {
    +            return MediumEditor.extensions.form.prototype.isDisplayed.apply(this);
    +        },
    + 
    +        hideForm: function () {
    +            MediumEditor.extensions.form.prototype.hideForm.apply(this);
    +            this.getInput().value = '';
    +        },
    + 
    +        showForm: function (opts) {
    +            var input = this.getInput(),
    +                targetCheckbox = this.getAnchorTargetCheckbox(),
    +                buttonCheckbox = this.getAnchorButtonCheckbox();
    + 
    +            opts = opts || { value: '' };
    +            // TODO: This is for backwards compatability
    +            // We don't need to support the 'string' argument in 6.0.0
    +            if (typeof opts === 'string') {
    +                opts = {
    +                    value: opts
    +                };
    +            }
    + 
    +            this.base.saveSelection();
    +            this.hideToolbarDefaultActions();
    +            MediumEditor.extensions.form.prototype.showForm.apply(this);
    +            this.setToolbarPosition();
    + 
    +            input.value = opts.value;
    +            input.focus();
    + 
    +            // If we have a target checkbox, we want it to be checked/unchecked
    +            // based on whether the existing link has target=_blank
    +            if (targetCheckbox) {
    +                targetCheckbox.checked = opts.target === '_blank';
    +            }
    + 
    +            // If we have a custom class checkbox, we want it to be checked/unchecked
    +            // based on whether an existing link already has the class
    +            if (buttonCheckbox) {
    +                var classList = opts.buttonClass ? opts.buttonClass.split(' ') : [];
    +                buttonCheckbox.checked = (classList.indexOf(this.customClassOption) !== -1);
    +            }
    +        },
    + 
    +        // Called by core when tearing down medium-editor (destroy)
    +        destroy: function () {
    +            if (!this.form) {
    +                return false;
    +            }
    + 
    +            if (this.form.parentNode) {
    +                this.form.parentNode.removeChild(this.form);
    +            }
    + 
    +            delete this.form;
    +        },
    + 
    +        // core methods
    + 
    +        getFormOpts: function () {
    +            // no notion of private functions? wanted `_getFormOpts`
    +            var targetCheckbox = this.getAnchorTargetCheckbox(),
    +                buttonCheckbox = this.getAnchorButtonCheckbox(),
    +                opts = {
    +                    value: this.getInput().value.trim()
    +                };
    + 
    +            if (this.linkValidation) {
    +                opts.value = this.checkLinkFormat(opts.value);
    +            }
    + 
    +            opts.target = '_self';
    +            if (targetCheckbox && targetCheckbox.checked) {
    +                opts.target = '_blank';
    +            }
    + 
    +            if (buttonCheckbox && buttonCheckbox.checked) {
    +                opts.buttonClass = this.customClassOption;
    +            }
    + 
    +            return opts;
    +        },
    + 
    +        doFormSave: function () {
    +            var opts = this.getFormOpts();
    +            this.completeFormSave(opts);
    +        },
    + 
    +        completeFormSave: function (opts) {
    +            this.base.restoreSelection();
    +            this.execAction(this.action, opts);
    +            this.base.checkSelection();
    +        },
    + 
    +        ensureEncodedUri: function (str) {
    +            return str === decodeURI(str) ? encodeURI(str) : str;
    +        },
    + 
    +        ensureEncodedUriComponent: function (str) {
    +            return str === decodeURIComponent(str) ? encodeURIComponent(str) : str;
    +        },
    + 
    +        ensureEncodedParam: function (param) {
    +            var split = param.split('='),
    +                key = split[0],
    +                val = split[1];
    + 
    +            return key + (val === undefined ? '' : '=' + this.ensureEncodedUriComponent(val));
    +        },
    + 
    +        ensureEncodedQuery: function (queryString) {
    +            return queryString.split('&').map(this.ensureEncodedParam.bind(this)).join('&');
    +        },
    + 
    +        checkLinkFormat: function (value) {
    +            // Matches any alphabetical characters followed by ://
    +            // Matches protocol relative "//"
    +            // Matches common external protocols "mailto:" "tel:" "maps:"
    +            // Matches relative hash link, begins with "#"
    +            var urlSchemeRegex = /^([a-z]+:)?\/\/|^(mailto|tel|maps):|^\#/i,
    +                hasScheme = urlSchemeRegex.test(value),
    +                scheme = '',
    +                // telRegex is a regex for checking if the string is a telephone number
    +                telRegex = /^\+?\s?\(?(?:\d\s?\-?\)?){3,20}$/,
    +                urlParts = value.match(/^(.*?)(?:\?(.*?))?(?:#(.*))?$/),
    +                path = urlParts[1],
    +                query = urlParts[2],
    +                fragment = urlParts[3];
    + 
    +            if (telRegex.test(value)) {
    +                return 'tel:' + value;
    +            }
    + 
    +            if (!hasScheme) {
    +                var host = path.split('/')[0];
    +                // if the host part of the path looks like a hostname
    +                if (host.match(/.+(\.|:).+/) || host === 'localhost') {
    +                    scheme = 'http://';
    +                }
    +            }
    + 
    +            return scheme +
    +                // Ensure path is encoded
    +                this.ensureEncodedUri(path) +
    +                // Ensure query is encoded
    +                (query === undefined ? '' : '?' + this.ensureEncodedQuery(query)) +
    +                // Include fragment unencoded as encodeUriComponent is too
    +                // heavy handed for the many characters allowed in a fragment
    +                (fragment === undefined ? '' : '#' + fragment);
    +        },
    + 
    +        doFormCancel: function () {
    +            this.base.restoreSelection();
    +            this.base.checkSelection();
    +        },
    + 
    +        // form creation and event handling
    +        attachFormEvents: function (form) {
    +            var close = form.querySelector('.medium-editor-toolbar-close'),
    +                save = form.querySelector('.medium-editor-toolbar-save'),
    +                input = form.querySelector('.medium-editor-toolbar-input');
    + 
    +            // Handle clicks on the form itself
    +            this.on(form, 'click', this.handleFormClick.bind(this));
    + 
    +            // Handle typing in the textbox
    +            this.on(input, 'keyup', this.handleTextboxKeyup.bind(this));
    + 
    +            // Handle close button clicks
    +            this.on(close, 'click', this.handleCloseClick.bind(this));
    + 
    +            // Handle save button clicks (capture)
    +            this.on(save, 'click', this.handleSaveClick.bind(this), true);
    + 
    +        },
    + 
    +        createForm: function () {
    +            var doc = this.document,
    +                form = doc.createElement('div');
    + 
    +            // Anchor Form (div)
    +            form.className = 'medium-editor-toolbar-form';
    +            form.id = 'medium-editor-toolbar-form-anchor-' + this.getEditorId();
    +            form.innerHTML = this.getTemplate();
    +            this.attachFormEvents(form);
    + 
    +            return form;
    +        },
    + 
    +        getInput: function () {
    +            return this.getForm().querySelector('input.medium-editor-toolbar-input');
    +        },
    + 
    +        getAnchorTargetCheckbox: function () {
    +            return this.getForm().querySelector('.medium-editor-toolbar-anchor-target');
    +        },
    + 
    +        getAnchorButtonCheckbox: function () {
    +            return this.getForm().querySelector('.medium-editor-toolbar-anchor-button');
    +        },
    + 
    +        handleTextboxKeyup: function (event) {
    +            // For ENTER -> create the anchor
    +            if (event.keyCode === MediumEditor.util.keyCode.ENTER) {
    +                event.preventDefault();
    +                this.doFormSave();
    +                return;
    +            }
    + 
    +            // For ESCAPE -> close the form
    +            if (event.keyCode === MediumEditor.util.keyCode.ESCAPE) {
    +                event.preventDefault();
    +                this.doFormCancel();
    +            }
    +        },
    + 
    +        handleFormClick: function (event) {
    +            // make sure not to hide form when clicking inside the form
    +            event.stopPropagation();
    +        },
    + 
    +        handleSaveClick: function (event) {
    +            // Clicking Save -> create the anchor
    +            event.preventDefault();
    +            this.doFormSave();
    +        },
    + 
    +        handleCloseClick: function (event) {
    +            // Click Close -> close the form
    +            event.preventDefault();
    +            this.doFormCancel();
    +        }
    +    });
    + 
    +    MediumEditor.extensions.anchor = AnchorForm;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/auto-link.js.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/auto-link.js.html new file mode 100644 index 0000000..8214c73 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/auto-link.js.html @@ -0,0 +1,824 @@ + + + + Code coverage report for src/js/extensions/auto-link.js + + + + + + + +
    +
    +

    + all files / src/js/extensions/ auto-link.js +

    +
    +
    + 9% + Statements + 9/100 +
    +
    + 0% + Branches + 0/56 +
    +
    + 6.25% + Functions + 1/16 +
    +
    + 9% + Lines + 9/100 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +  +  + +  +  +  +  +  + +  + +  +  +  +  +  +  +  +  + +  +  +  +  +  +  + +  + +  + +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var WHITESPACE_CHARS,
    +        KNOWN_TLDS_FRAGMENT,
    +        LINK_REGEXP_TEXT,
    +        KNOWN_TLDS_REGEXP,
    +        LINK_REGEXP;
    + 
    +    WHITESPACE_CHARS = [' ', '\t', '\n', '\r', '\u00A0', '\u2000', '\u2001', '\u2002', '\u2003',
    +                                    '\u2028', '\u2029'];
    +    KNOWN_TLDS_FRAGMENT = 'com|net|org|edu|gov|mil|aero|asia|biz|cat|coop|info|int|jobs|mobi|museum|name|post|pro|tel|travel|' +
    +        'xxx|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|' +
    +        'bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|' +
    +        'fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|' +
    +        'is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|' +
    +        'mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|' +
    +        'pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|ja|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|' +
    +        'tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw';
    + 
    +    LINK_REGEXP_TEXT =
    +        '(' +
    +        // Version of Gruber URL Regexp optimized for JS: http://stackoverflow.com/a/17733640
    +        '((?:(https?://|ftps?://|nntp://)|www\\d{0,3}[.]|[a-z0-9.\\-]+[.](' + KNOWN_TLDS_FRAGMENT + ')\\\/)\\S+(?:[^\\s`!\\[\\]{};:\'\".,?\u00AB\u00BB\u201C\u201D\u2018\u2019]))' +
    +        // Addition to above Regexp to support bare domains/one level subdomains with common non-i18n TLDs and without www prefix:
    +        ')|(([a-z0-9\\-]+\\.)?[a-z0-9\\-]+\\.(' + KNOWN_TLDS_FRAGMENT + '))';
    + 
    +    KNOWN_TLDS_REGEXP = new RegExp('^(' + KNOWN_TLDS_FRAGMENT + ')$', 'i');
    + 
    +    LINK_REGEXP = new RegExp(LINK_REGEXP_TEXT, 'gi');
    + 
    +    function nodeIsNotInsideAnchorTag(node) {
    +        return !MediumEditor.util.getClosestTag(node, 'a');
    +    }
    + 
    +    var AutoLink = MediumEditor.Extension.extend({
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            this.disableEventHandling = false;
    +            this.subscribe('editableKeypress', this.onKeypress.bind(this));
    +            this.subscribe('editableBlur', this.onBlur.bind(this));
    +            // MS IE has it's own auto-URL detect feature but ours is better in some ways. Be consistent.
    +            this.document.execCommand('AutoUrlDetect', false, false);
    +        },
    + 
    +        isLastInstance: function () {
    +            var activeInstances = 0;
    +            for (var i = 0; i < this.window._mediumEditors.length; i++) {
    +                var editor = this.window._mediumEditors[i];
    +                if (editor !== null && editor.getExtensionByName('autoLink') !== undefined) {
    +                    activeInstances++;
    +                }
    +            }
    +            return activeInstances === 1;
    +        },
    + 
    +        destroy: function () {
    +            // Turn AutoUrlDetect back on
    +            if (this.document.queryCommandSupported('AutoUrlDetect') && this.isLastInstance()) {
    +                this.document.execCommand('AutoUrlDetect', false, true);
    +            }
    +        },
    + 
    +        onBlur: function (blurEvent, editable) {
    +            this.performLinking(editable);
    +        },
    + 
    +        onKeypress: function (keyPressEvent) {
    +            if (this.disableEventHandling) {
    +                return;
    +            }
    + 
    +            if (MediumEditor.util.isKey(keyPressEvent, [MediumEditor.util.keyCode.SPACE, MediumEditor.util.keyCode.ENTER])) {
    +                clearTimeout(this.performLinkingTimeout);
    +                // Saving/restoring the selection in the middle of a keypress doesn't work well...
    +                this.performLinkingTimeout = setTimeout(function () {
    +                    try {
    +                        var sel = this.base.exportSelection();
    +                        if (this.performLinking(keyPressEvent.target)) {
    +                            // pass true for favorLaterSelectionAnchor - this is needed for links at the end of a
    +                            // paragraph in MS IE, or MS IE causes the link to be deleted right after adding it.
    +                            this.base.importSelection(sel, true);
    +                        }
    +                    } catch (e) {
    +                        if (window.console) {
    +                            window.console.error('Failed to perform linking', e);
    +                        }
    +                        this.disableEventHandling = true;
    +                    }
    +                }.bind(this), 0);
    +            }
    +        },
    + 
    +        performLinking: function (contenteditable) {
    +            /*
    +            Perform linking on blockElement basis, blockElements are HTML elements with text content and without
    +            child element.
    + 
    +            Example:
    +            - HTML content
    +            <blockquote>
    +              <p>link.</p>
    +              <p>my</p>
    +            </blockquote>
    + 
    +            - blockElements
    +            [<p>link.</p>, <p>my</p>]
    + 
    +            otherwise the detection can wrongly find the end of one paragraph and the beginning of another paragraph
    +            to constitute a link, such as a paragraph ending "link." and the next paragraph beginning with "my" is
    +            interpreted into "link.my" and the code tries to create a link across blockElements - which doesn't work
    +            and is terrible.
    +            (Medium deletes the spaces/returns between P tags so the textContent ends up without paragraph spacing)
    +            */
    +            var blockElements = MediumEditor.util.splitByBlockElements(contenteditable),
    +                documentModified = false;
    +            if (blockElements.length === 0) {
    +                blockElements = [contenteditable];
    +            }
    +            for (var i = 0; i < blockElements.length; i++) {
    +                documentModified = this.removeObsoleteAutoLinkSpans(blockElements[i]) || documentModified;
    +                documentModified = this.performLinkingWithinElement(blockElements[i]) || documentModified;
    +            }
    +            this.base.events.updateInput(contenteditable, { target: contenteditable, currentTarget: contenteditable });
    +            return documentModified;
    +        },
    + 
    +        removeObsoleteAutoLinkSpans: function (element) {
    +            if (!element || element.nodeType === 3) {
    +                return false;
    +            }
    + 
    +            var spans = element.querySelectorAll('span[data-auto-link="true"]'),
    +                documentModified = false;
    + 
    +            for (var i = 0; i < spans.length; i++) {
    +                var textContent = spans[i].textContent;
    +                if (textContent.indexOf('://') === -1) {
    +                    textContent = MediumEditor.util.ensureUrlHasProtocol(textContent);
    +                }
    +                if (spans[i].getAttribute('data-href') !== textContent && nodeIsNotInsideAnchorTag(spans[i])) {
    +                    documentModified = true;
    +                    var trimmedTextContent = textContent.replace(/\s+$/, '');
    +                    if (spans[i].getAttribute('data-href') === trimmedTextContent) {
    +                        var charactersTrimmed = textContent.length - trimmedTextContent.length,
    +                            subtree = MediumEditor.util.splitOffDOMTree(spans[i], this.splitTextBeforeEnd(spans[i], charactersTrimmed));
    +                        spans[i].parentNode.insertBefore(subtree, spans[i].nextSibling);
    +                    } else {
    +                        // Some editing has happened to the span, so just remove it entirely. The user can put it back
    +                        // around just the href content if they need to prevent it from linking
    +                        MediumEditor.util.unwrap(spans[i], this.document);
    +                    }
    +                }
    +            }
    +            return documentModified;
    +        },
    + 
    +        splitTextBeforeEnd: function (element, characterCount) {
    +            var treeWalker = this.document.createTreeWalker(element, NodeFilter.SHOW_TEXT, null, false),
    +                lastChildNotExhausted = true;
    + 
    +            // Start the tree walker at the last descendant of the span
    +            while (lastChildNotExhausted) {
    +                lastChildNotExhausted = treeWalker.lastChild() !== null;
    +            }
    + 
    +            var currentNode,
    +                currentNodeValue,
    +                previousNode;
    +            while (characterCount > 0 && previousNode !== null) {
    +                currentNode = treeWalker.currentNode;
    +                currentNodeValue = currentNode.nodeValue;
    +                if (currentNodeValue.length > characterCount) {
    +                    previousNode = currentNode.splitText(currentNodeValue.length - characterCount);
    +                    characterCount = 0;
    +                } else {
    +                    previousNode = treeWalker.previousNode();
    +                    characterCount -= currentNodeValue.length;
    +                }
    +            }
    +            return previousNode;
    +        },
    + 
    +        performLinkingWithinElement: function (element) {
    +            var matches = this.findLinkableText(element),
    +                linkCreated = false;
    + 
    +            for (var matchIndex = 0; matchIndex < matches.length; matchIndex++) {
    +                var matchingTextNodes = MediumEditor.util.findOrCreateMatchingTextNodes(this.document, element,
    +                        matches[matchIndex]);
    +                if (this.shouldNotLink(matchingTextNodes)) {
    +                    continue;
    +                }
    +                this.createAutoLink(matchingTextNodes, matches[matchIndex].href);
    +            }
    +            return linkCreated;
    +        },
    + 
    +        shouldNotLink: function (textNodes) {
    +            var shouldNotLink = false;
    +            for (var i = 0; i < textNodes.length && shouldNotLink === false; i++) {
    +                // Do not link if the text node is either inside an anchor or inside span[data-auto-link]
    +                shouldNotLink = !!MediumEditor.util.traverseUp(textNodes[i], function (node) {
    +                    return node.nodeName.toLowerCase() === 'a' ||
    +                        (node.getAttribute && node.getAttribute('data-auto-link') === 'true');
    +                });
    +            }
    +            return shouldNotLink;
    +        },
    + 
    +        findLinkableText: function (contenteditable) {
    +            var textContent = contenteditable.textContent,
    +                match = null,
    +                matches = [];
    + 
    +            while ((match = LINK_REGEXP.exec(textContent)) !== null) {
    +                var matchOk = true,
    +                    matchEnd = match.index + match[0].length;
    +                // If the regexp detected something as a link that has text immediately preceding/following it, bail out.
    +                matchOk = (match.index === 0 || WHITESPACE_CHARS.indexOf(textContent[match.index - 1]) !== -1) &&
    +                    (matchEnd === textContent.length || WHITESPACE_CHARS.indexOf(textContent[matchEnd]) !== -1);
    +                // If the regexp detected a bare domain that doesn't use one of our expected TLDs, bail out.
    +                matchOk = matchOk && (match[0].indexOf('/') !== -1 ||
    +                    KNOWN_TLDS_REGEXP.test(match[0].split('.').pop().split('?').shift()));
    + 
    +                if (matchOk) {
    +                    matches.push({
    +                        href: match[0],
    +                        start: match.index,
    +                        end: matchEnd
    +                    });
    +                }
    +            }
    +            return matches;
    +        },
    + 
    +        createAutoLink: function (textNodes, href) {
    +            href = MediumEditor.util.ensureUrlHasProtocol(href);
    +            var anchor = MediumEditor.util.createLink(this.document, textNodes, href, this.getEditorOption('targetBlank') ? '_blank' : null),
    +                span = this.document.createElement('span');
    +            span.setAttribute('data-auto-link', 'true');
    +            span.setAttribute('data-href', href);
    +            anchor.insertBefore(span, anchor.firstChild);
    +            while (anchor.childNodes.length > 1) {
    +                span.appendChild(anchor.childNodes[1]);
    +            }
    +        }
    + 
    +    });
    + 
    +    MediumEditor.extensions.autoLink = AutoLink;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/button.js.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/button.js.html new file mode 100644 index 0000000..7cad494 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/button.js.html @@ -0,0 +1,770 @@ + + + + Code coverage report for src/js/extensions/button.js + + + + + + + +
    +
    +

    + all files / src/js/extensions/ button.js +

    +
    +
    + 3.33% + Statements + 2/60 +
    +
    + 0% + Branches + 0/42 +
    +
    + 5.56% + Functions + 1/18 +
    +
    + 3.33% + Lines + 2/60 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var Button = MediumEditor.Extension.extend({
    + 
    +        /* Button Options */
    + 
    +        /* action: [string]
    +         * The action argument to pass to MediumEditor.execAction()
    +         * when the button is clicked
    +         */
    +        action: undefined,
    + 
    +        /* aria: [string]
    +         * The value to add as the aria-label attribute of the button
    +         * element displayed in the toolbar.
    +         * This is also used as the tooltip for the button
    +         */
    +        aria: undefined,
    + 
    +        /* tagNames: [Array]
    +         * NOTE: This is not used if useQueryState is set to true.
    +         *
    +         * Array of element tag names that would indicate that this
    +         * button has already been applied. If this action has already
    +         * been applied, the button will be displayed as 'active' in the toolbar
    +         *
    +         * Example:
    +         * For 'bold', if the text is ever within a <b> or <strong>
    +         * tag that indicates the text is already bold. So the array
    +         * of tagNames for bold would be: ['b', 'strong']
    +         */
    +        tagNames: undefined,
    + 
    +        /* style: [Object]
    +         * NOTE: This is not used if useQueryState is set to true.
    +         *
    +         * A pair of css property & value(s) that indicate that this
    +         * button has already been applied. If this action has already
    +         * been applied, the button will be displayed as 'active' in the toolbar
    +         * Properties of the object:
    +         *   prop [String]: name of the css property
    +         *   value [String]: value(s) of the css property
    +         *                   multiple values can be separated by a '|'
    +         *
    +         * Example:
    +         * For 'bold', if the text is ever within an element with a 'font-weight'
    +         * style property set to '700' or 'bold', that indicates the text
    +         * is already bold.  So the style object for bold would be:
    +         * { prop: 'font-weight', value: '700|bold' }
    +         */
    +        style: undefined,
    + 
    +        /* useQueryState: [boolean]
    +         * Enables/disables whether this button should use the built-in
    +         * document.queryCommandState() method to determine whether
    +         * the action has already been applied.  If the action has already
    +         * been applied, the button will be displayed as 'active' in the toolbar
    +         *
    +         * Example:
    +         * For 'bold', if this is set to true, the code will call:
    +         * document.queryCommandState('bold') which will return true if the
    +         * browser thinks the text is already bold, and false otherwise
    +         */
    +        useQueryState: undefined,
    + 
    +        /* contentDefault: [string]
    +         * Default innerHTML to put inside the button
    +         */
    +        contentDefault: undefined,
    + 
    +        /* contentFA: [string]
    +         * The innerHTML to use for the content of the button
    +         * if the `buttonLabels` option for MediumEditor is set to 'fontawesome'
    +         */
    +        contentFA: undefined,
    + 
    +        /* classList: [Array]
    +         * An array of classNames (strings) to be added to the button
    +         */
    +        classList: undefined,
    + 
    +        /* attrs: [object]
    +         * A set of key-value pairs to add to the button as custom attributes
    +         */
    +        attrs: undefined,
    + 
    +        // The button constructor can optionally accept the name of a built-in button
    +        // (ie 'bold', 'italic', etc.)
    +        // When the name of a button is passed, it will initialize itself with the
    +        // configuration for that button
    +        constructor: function (options) {
    +            if (Button.isBuiltInButton(options)) {
    +                MediumEditor.Extension.call(this, this.defaults[options]);
    +            } else {
    +                MediumEditor.Extension.call(this, options);
    +            }
    +        },
    + 
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            this.button = this.createButton();
    +            this.on(this.button, 'click', this.handleClick.bind(this));
    +        },
    + 
    +        /* getButton: [function ()]
    +         *
    +         * If implemented, this function will be called when
    +         * the toolbar is being created.  The DOM Element returned
    +         * by this function will be appended to the toolbar along
    +         * with any other buttons.
    +         */
    +        getButton: function () {
    +            return this.button;
    +        },
    + 
    +        getAction: function () {
    +            return (typeof this.action === 'function') ? this.action(this.base.options) : this.action;
    +        },
    + 
    +        getAria: function () {
    +            return (typeof this.aria === 'function') ? this.aria(this.base.options) : this.aria;
    +        },
    + 
    +        getTagNames: function () {
    +            return (typeof this.tagNames === 'function') ? this.tagNames(this.base.options) : this.tagNames;
    +        },
    + 
    +        createButton: function () {
    +            var button = this.document.createElement('button'),
    +                content = this.contentDefault,
    +                ariaLabel = this.getAria(),
    +                buttonLabels = this.getEditorOption('buttonLabels');
    +            // Add class names
    +            button.classList.add('medium-editor-action');
    +            button.classList.add('medium-editor-action-' + this.name);
    +            if (this.classList) {
    +                this.classList.forEach(function (className) {
    +                    button.classList.add(className);
    +                });
    +            }
    + 
    +            // Add attributes
    +            button.setAttribute('data-action', this.getAction());
    +            if (ariaLabel) {
    +                button.setAttribute('title', ariaLabel);
    +                button.setAttribute('aria-label', ariaLabel);
    +            }
    +            if (this.attrs) {
    +                Object.keys(this.attrs).forEach(function (attr) {
    +                    button.setAttribute(attr, this.attrs[attr]);
    +                }, this);
    +            }
    + 
    +            if (buttonLabels === 'fontawesome' && this.contentFA) {
    +                content = this.contentFA;
    +            }
    +            button.innerHTML = content;
    +            return button;
    +        },
    + 
    +        handleClick: function (event) {
    +            event.preventDefault();
    +            event.stopPropagation();
    + 
    +            var action = this.getAction();
    + 
    +            if (action) {
    +                this.execAction(action);
    +            }
    +        },
    + 
    +        isActive: function () {
    +            return this.button.classList.contains(this.getEditorOption('activeButtonClass'));
    +        },
    + 
    +        setInactive: function () {
    +            this.button.classList.remove(this.getEditorOption('activeButtonClass'));
    +            delete this.knownState;
    +        },
    + 
    +        setActive: function () {
    +            this.button.classList.add(this.getEditorOption('activeButtonClass'));
    +            delete this.knownState;
    +        },
    + 
    +        queryCommandState: function () {
    +            var queryState = null;
    +            if (this.useQueryState) {
    +                queryState = this.base.queryCommandState(this.getAction());
    +            }
    +            return queryState;
    +        },
    + 
    +        isAlreadyApplied: function (node) {
    +            var isMatch = false,
    +                tagNames = this.getTagNames(),
    +                styleVals,
    +                computedStyle;
    + 
    +            if (this.knownState === false || this.knownState === true) {
    +                return this.knownState;
    +            }
    + 
    +            if (tagNames && tagNames.length > 0) {
    +                isMatch = tagNames.indexOf(node.nodeName.toLowerCase()) !== -1;
    +            }
    + 
    +            if (!isMatch && this.style) {
    +                styleVals = this.style.value.split('|');
    +                computedStyle = this.window.getComputedStyle(node, null).getPropertyValue(this.style.prop);
    +                styleVals.forEach(function (val) {
    +                    if (!this.knownState) {
    +                        isMatch = (computedStyle.indexOf(val) !== -1);
    +                        // text-decoration is not inherited by default
    +                        // so if the computed style for text-decoration doesn't match
    +                        // don't write to knownState so we can fallback to other checks
    +                        if (isMatch || this.style.prop !== 'text-decoration') {
    +                            this.knownState = isMatch;
    +                        }
    +                    }
    +                }, this);
    +            }
    + 
    +            return isMatch;
    +        }
    +    });
    + 
    +    Button.isBuiltInButton = function (name) {
    +        return (typeof name === 'string') && MediumEditor.extensions.button.prototype.defaults.hasOwnProperty(name);
    +    };
    + 
    +    MediumEditor.extensions.button = Button;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/file-dragging.js.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/file-dragging.js.html new file mode 100644 index 0000000..16e7afa --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/file-dragging.js.html @@ -0,0 +1,332 @@ + + + + Code coverage report for src/js/extensions/file-dragging.js + + + + + + + +
    +
    +

    + all files / src/js/extensions/ file-dragging.js +

    +
    +
    + 5.13% + Statements + 2/39 +
    +
    + 0% + Branches + 0/12 +
    +
    + 0% + Functions + 0/11 +
    +
    + 5.13% + Lines + 2/39 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    ;(function ($, document, window) {
    +    'use strict';
    +    var CLASS_DRAG_OVER = 'medium-editor-dragover';
    + 
    +    function clearClassNames(element) {
    +        var editable = MediumEditor.util.getContainerEditorElement(element),
    +            existing = Array.prototype.slice.call(editable.parentElement.querySelectorAll('.' + CLASS_DRAG_OVER));
    + 
    +        existing.forEach(function (el) {
    +            el.classList.remove(CLASS_DRAG_OVER);
    +        });
    +    }
    + 
    +    var FileDragging = MediumEditor.Extension.extend({
    +        name: 'fileDragging',
    + 
    +        allowedTypes: ['image'],
    + 
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            this.subscribe('editableDrag', this.handleDrag.bind(this));
    +            this.subscribe('editableDrop', this.handleDrop.bind(this));
    +        },
    + 
    +        handleDrag: function (event) {
    +            event.preventDefault();
    +            event.dataTransfer.dropEffect = 'copy';
    + 
    +            var target = event.target.classList ? event.target : event.target.parentElement;
    + 
    +            // Ensure the class gets removed from anything that had it before
    +            clearClassNames(target);
    + 
    +            if (event.type === 'dragover') {
    +                target.classList.add(CLASS_DRAG_OVER);
    +            }
    +        },
    + 
    +        handleDrop: function (event) {
    +            // Prevent file from opening in the current window
    +            event.preventDefault();
    +            event.stopPropagation();
    +            // Select the dropping target, and set the selection to the end of the target
    +            // https://github.com/yabwe/medium-editor/issues/980
    +            this.base.selectElement(event.target);
    +            var selection = this.base.exportSelection();
    +            selection.start = selection.end;
    +            this.base.importSelection(selection);
    +            // IE9 does not support the File API, so prevent file from opening in the window
    +            // but also don't try to actually get the file
    +            if (event.dataTransfer.files) {
    +                Array.prototype.slice.call(event.dataTransfer.files).forEach(function (file) {
    +                    if (this.isAllowedFile(file)) {
    +                        if (file.type.match('image')) {
    +                            this.insertImageFile(file);
    +                        }
    +                    }
    +                }, this);
    +            }
    + 
    +            // Make sure we remove our class from everything
    +            clearClassNames(event.target);
    +        },
    + 
    +        isAllowedFile: function (file) {
    +            return this.allowedTypes.some(function (fileType) {
    +                return !!file.type.match(fileType);
    +            });
    +        },
    + 
    +        insertImageFile: function (file) {
    +            if (typeof FileReader !== 'function') {
    +                return;
    +            }
    +            var fileReader = new FileReader();
    +            fileReader.readAsDataURL(file);
    + 
    +            // attach the onload event handler, makes it easier to listen in with jasmine
    +            fileReader.addEventListener('load', function (e) {
    +                var addImageElement = this.document.createElement('img');
    +                addImageElement.src = e.target.result;
    +                MediumEditor.util.insertHTMLCommand(this.document, addImageElement.outerHTML);
    +            }.bind(this));
    +        }
    +    });
    + 
    +    MediumEditor.extensions.fileDragging = FileDragging;
    +})($, document, window);
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/fontname.js.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/fontname.js.html new file mode 100644 index 0000000..d63c8a0 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/fontname.js.html @@ -0,0 +1,617 @@ + + + + Code coverage report for src/js/extensions/fontname.js + + + + + + + +
    +
    +

    + all files / src/js/extensions/ fontname.js +

    +
    +
    + 2.9% + Statements + 2/69 +
    +
    + 0% + Branches + 0/20 +
    +
    + 5.56% + Functions + 1/18 +
    +
    + 2.9% + Lines + 2/69 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var FontNameForm = MediumEditor.extensions.form.extend({
    + 
    +        name: 'fontname',
    +        action: 'fontName',
    +        aria: 'change font name',
    +        contentDefault: '&#xB1;', // ±
    +        contentFA: '<i class="fa fa-font"></i>',
    + 
    +        fonts: ['', 'Arial', 'Verdana', 'Times New Roman'],
    + 
    +        init: function () {
    +            MediumEditor.extensions.form.prototype.init.apply(this, arguments);
    +        },
    + 
    +        // Called when the button the toolbar is clicked
    +        // Overrides ButtonExtension.handleClick
    +        handleClick: function (event) {
    +            event.preventDefault();
    +            event.stopPropagation();
    + 
    +            if (!this.isDisplayed()) {
    +                // Get FontName of current selection (convert to string since IE returns this as number)
    +                var fontName = this.document.queryCommandValue('fontName') + '';
    +                this.showForm(fontName);
    +            }
    + 
    +            return false;
    +        },
    + 
    +        // Called by medium-editor to append form to the toolbar
    +        getForm: function () {
    +            if (!this.form) {
    +                this.form = this.createForm();
    +            }
    +            return this.form;
    +        },
    + 
    +        // Used by medium-editor when the default toolbar is to be displayed
    +        isDisplayed: function () {
    +            return this.getForm().style.display === 'block';
    +        },
    + 
    +        hideForm: function () {
    +            this.getForm().style.display = 'none';
    +            this.getSelect().value = '';
    +        },
    + 
    +        showForm: function (fontName) {
    +            var select = this.getSelect();
    + 
    +            this.base.saveSelection();
    +            this.hideToolbarDefaultActions();
    +            this.getForm().style.display = 'block';
    +            this.setToolbarPosition();
    + 
    +            select.value = fontName || '';
    +            select.focus();
    +        },
    + 
    +        // Called by core when tearing down medium-editor (destroy)
    +        destroy: function () {
    +            if (!this.form) {
    +                return false;
    +            }
    + 
    +            if (this.form.parentNode) {
    +                this.form.parentNode.removeChild(this.form);
    +            }
    + 
    +            delete this.form;
    +        },
    + 
    +        // core methods
    + 
    +        doFormSave: function () {
    +            this.base.restoreSelection();
    +            this.base.checkSelection();
    +        },
    + 
    +        doFormCancel: function () {
    +            this.base.restoreSelection();
    +            this.clearFontName();
    +            this.base.checkSelection();
    +        },
    + 
    +        // form creation and event handling
    +        createForm: function () {
    +            var doc = this.document,
    +                form = doc.createElement('div'),
    +                select = doc.createElement('select'),
    +                close = doc.createElement('a'),
    +                save = doc.createElement('a'),
    +                option;
    + 
    +            // Font Name Form (div)
    +            form.className = 'medium-editor-toolbar-form';
    +            form.id = 'medium-editor-toolbar-form-fontname-' + this.getEditorId();
    + 
    +            // Handle clicks on the form itself
    +            this.on(form, 'click', this.handleFormClick.bind(this));
    + 
    +            // Add font names
    +            for (var i = 0; i<this.fonts.length; i++) {
    +                option = doc.createElement('option');
    +                option.innerHTML = this.fonts[i];
    +                option.value = this.fonts[i];
    +                select.appendChild(option);
    +            }
    + 
    +            select.className = 'medium-editor-toolbar-select';
    +            form.appendChild(select);
    + 
    +            // Handle typing in the textbox
    +            this.on(select, 'change', this.handleFontChange.bind(this));
    + 
    +            // Add save buton
    +            save.setAttribute('href', '#');
    +            save.className = 'medium-editor-toobar-save';
    +            save.innerHTML = this.getEditorOption('buttonLabels') === 'fontawesome' ?
    +                             '<i class="fa fa-check"></i>' :
    +                             '&#10003;';
    +            form.appendChild(save);
    + 
    +            // Handle save button clicks (capture)
    +            this.on(save, 'click', this.handleSaveClick.bind(this), true);
    + 
    +            // Add close button
    +            close.setAttribute('href', '#');
    +            close.className = 'medium-editor-toobar-close';
    +            close.innerHTML = this.getEditorOption('buttonLabels') === 'fontawesome' ?
    +                              '<i class="fa fa-times"></i>' :
    +                              '&times;';
    +            form.appendChild(close);
    + 
    +            // Handle close button clicks
    +            this.on(close, 'click', this.handleCloseClick.bind(this));
    + 
    +            return form;
    +        },
    + 
    +        getSelect: function () {
    +            return this.getForm().querySelector('select.medium-editor-toolbar-select');
    +        },
    + 
    +        clearFontName: function () {
    +            MediumEditor.selection.getSelectedElements(this.document).forEach(function (el) {
    +                if (el.nodeName.toLowerCase() === 'font' && el.hasAttribute('face')) {
    +                    el.removeAttribute('face');
    +                }
    +            });
    +        },
    + 
    +        handleFontChange: function () {
    +            var font = this.getSelect().value;
    +            if (font === '') {
    +                this.clearFontName();
    +            } else {
    +                this.execAction('fontName', { value: font });
    +            }
    +        },
    + 
    +        handleFormClick: function (event) {
    +            // make sure not to hide form when clicking inside the form
    +            event.stopPropagation();
    +        },
    + 
    +        handleSaveClick: function (event) {
    +            // Clicking Save -> create the font size
    +            event.preventDefault();
    +            this.doFormSave();
    +        },
    + 
    +        handleCloseClick: function (event) {
    +            // Click Close -> close the form
    +            event.preventDefault();
    +            this.doFormCancel();
    +        }
    +    });
    + 
    +    MediumEditor.extensions.fontName = FontNameForm;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/fontsize.js.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/fontsize.js.html new file mode 100644 index 0000000..1260127 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/fontsize.js.html @@ -0,0 +1,593 @@ + + + + Code coverage report for src/js/extensions/fontsize.js + + + + + + + +
    +
    +

    + all files / src/js/extensions/ fontsize.js +

    +
    +
    + 2.99% + Statements + 2/67 +
    +
    + 0% + Branches + 0/20 +
    +
    + 5.56% + Functions + 1/18 +
    +
    + 2.99% + Lines + 2/67 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var FontSizeForm = MediumEditor.extensions.form.extend({
    + 
    +        name: 'fontsize',
    +        action: 'fontSize',
    +        aria: 'increase/decrease font size',
    +        contentDefault: '&#xB1;', // ±
    +        contentFA: '<i class="fa fa-text-height"></i>',
    + 
    +        init: function () {
    +            MediumEditor.extensions.form.prototype.init.apply(this, arguments);
    +        },
    + 
    +        // Called when the button the toolbar is clicked
    +        // Overrides ButtonExtension.handleClick
    +        handleClick: function (event) {
    +            event.preventDefault();
    +            event.stopPropagation();
    + 
    +            if (!this.isDisplayed()) {
    +                // Get fontsize of current selection (convert to string since IE returns this as number)
    +                var fontSize = this.document.queryCommandValue('fontSize') + '';
    +                this.showForm(fontSize);
    +            }
    + 
    +            return false;
    +        },
    + 
    +        // Called by medium-editor to append form to the toolbar
    +        getForm: function () {
    +            if (!this.form) {
    +                this.form = this.createForm();
    +            }
    +            return this.form;
    +        },
    + 
    +        // Used by medium-editor when the default toolbar is to be displayed
    +        isDisplayed: function () {
    +            return this.getForm().style.display === 'block';
    +        },
    + 
    +        hideForm: function () {
    +            this.getForm().style.display = 'none';
    +            this.getInput().value = '';
    +        },
    + 
    +        showForm: function (fontSize) {
    +            var input = this.getInput();
    + 
    +            this.base.saveSelection();
    +            this.hideToolbarDefaultActions();
    +            this.getForm().style.display = 'block';
    +            this.setToolbarPosition();
    + 
    +            input.value = fontSize || '';
    +            input.focus();
    +        },
    + 
    +        // Called by core when tearing down medium-editor (destroy)
    +        destroy: function () {
    +            if (!this.form) {
    +                return false;
    +            }
    + 
    +            if (this.form.parentNode) {
    +                this.form.parentNode.removeChild(this.form);
    +            }
    + 
    +            delete this.form;
    +        },
    + 
    +        // core methods
    + 
    +        doFormSave: function () {
    +            this.base.restoreSelection();
    +            this.base.checkSelection();
    +        },
    + 
    +        doFormCancel: function () {
    +            this.base.restoreSelection();
    +            this.clearFontSize();
    +            this.base.checkSelection();
    +        },
    + 
    +        // form creation and event handling
    +        createForm: function () {
    +            var doc = this.document,
    +                form = doc.createElement('div'),
    +                input = doc.createElement('input'),
    +                close = doc.createElement('a'),
    +                save = doc.createElement('a');
    + 
    +            // Font Size Form (div)
    +            form.className = 'medium-editor-toolbar-form';
    +            form.id = 'medium-editor-toolbar-form-fontsize-' + this.getEditorId();
    + 
    +            // Handle clicks on the form itself
    +            this.on(form, 'click', this.handleFormClick.bind(this));
    + 
    +            // Add font size slider
    +            input.setAttribute('type', 'range');
    +            input.setAttribute('min', '1');
    +            input.setAttribute('max', '7');
    +            input.className = 'medium-editor-toolbar-input';
    +            form.appendChild(input);
    + 
    +            // Handle typing in the textbox
    +            this.on(input, 'change', this.handleSliderChange.bind(this));
    + 
    +            // Add save buton
    +            save.setAttribute('href', '#');
    +            save.className = 'medium-editor-toobar-save';
    +            save.innerHTML = this.getEditorOption('buttonLabels') === 'fontawesome' ?
    +                             '<i class="fa fa-check"></i>' :
    +                             '&#10003;';
    +            form.appendChild(save);
    + 
    +            // Handle save button clicks (capture)
    +            this.on(save, 'click', this.handleSaveClick.bind(this), true);
    + 
    +            // Add close button
    +            close.setAttribute('href', '#');
    +            close.className = 'medium-editor-toobar-close';
    +            close.innerHTML = this.getEditorOption('buttonLabels') === 'fontawesome' ?
    +                              '<i class="fa fa-times"></i>' :
    +                              '&times;';
    +            form.appendChild(close);
    + 
    +            // Handle close button clicks
    +            this.on(close, 'click', this.handleCloseClick.bind(this));
    + 
    +            return form;
    +        },
    + 
    +        getInput: function () {
    +            return this.getForm().querySelector('input.medium-editor-toolbar-input');
    +        },
    + 
    +        clearFontSize: function () {
    +            MediumEditor.selection.getSelectedElements(this.document).forEach(function (el) {
    +                if (el.nodeName.toLowerCase() === 'font' && el.hasAttribute('size')) {
    +                    el.removeAttribute('size');
    +                }
    +            });
    +        },
    + 
    +        handleSliderChange: function () {
    +            var size = this.getInput().value;
    +            if (size === '4') {
    +                this.clearFontSize();
    +            } else {
    +                this.execAction('fontSize', { value: size });
    +            }
    +        },
    + 
    +        handleFormClick: function (event) {
    +            // make sure not to hide form when clicking inside the form
    +            event.stopPropagation();
    +        },
    + 
    +        handleSaveClick: function (event) {
    +            // Clicking Save -> create the font size
    +            event.preventDefault();
    +            this.doFormSave();
    +        },
    + 
    +        handleCloseClick: function (event) {
    +            // Click Close -> close the form
    +            event.preventDefault();
    +            this.doFormCancel();
    +        }
    +    });
    + 
    +    MediumEditor.extensions.fontSize = FontSizeForm;
    +}());
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/form.js.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/form.js.html new file mode 100644 index 0000000..69378f9 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/form.js.html @@ -0,0 +1,422 @@ + + + + Code coverage report for src/js/extensions/form.js + + + + + + + +
    +
    +

    + all files / src/js/extensions/ form.js +

    +
    +
    + 10% + Statements + 2/20 +
    +
    + 0% + Branches + 0/12 +
    +
    + 11.11% + Functions + 1/9 +
    +
    + 10% + Lines + 2/20 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    /* Base functionality for an extension which will display
    +     * a 'form' inside the toolbar
    +     */
    +    var FormExtension = MediumEditor.extensions.button.extend({
    + 
    +        init: function () {
    +            MediumEditor.extensions.button.prototype.init.apply(this, arguments);
    +        },
    + 
    +        // default labels for the form buttons
    +        formSaveLabel: '&#10003;',
    +        formCloseLabel: '&times;',
    + 
    +        /* activeClass: [string]
    +         * set class which added to shown form
    +         */
    +        activeClass: 'medium-editor-toolbar-form-active',
    + 
    +        /* hasForm: [boolean]
    +         *
    +         * Setting this to true will cause getForm() to be called
    +         * when the toolbar is created, so the form can be appended
    +         * inside the toolbar container
    +         */
    +        hasForm: true,
    + 
    +        /* getForm: [function ()]
    +         *
    +         * When hasForm is true, this function must be implemented
    +         * and return a DOM Element which will be appended to
    +         * the toolbar container. The form should start hidden, and
    +         * the extension can choose when to hide/show it
    +         */
    +        getForm: function () {},
    + 
    +        /* isDisplayed: [function ()]
    +         *
    +         * This function should return true/false reflecting
    +         * whether the form is currently displayed
    +         */
    +        isDisplayed: function () {
    +            if (this.hasForm) {
    +                return this.getForm().classList.contains(this.activeClass);
    +            }
    +            return false;
    +        },
    + 
    +        /* hideForm: [function ()]
    +         *
    +         * This function should show the form element inside
    +         * the toolbar container
    +         */
    +        showForm: function () {
    +            if (this.hasForm) {
    +                this.getForm().classList.add(this.activeClass);
    +            }
    +        },
    + 
    +        /* hideForm: [function ()]
    +         *
    +         * This function should hide the form element inside
    +         * the toolbar container
    +         */
    +        hideForm: function () {
    +            if (this.hasForm) {
    +                this.getForm().classList.remove(this.activeClass);
    +            }
    +        },
    + 
    +        /************************ Helpers ************************
    +         * The following are helpers that are either set by MediumEditor
    +         * during initialization, or are helper methods which either
    +         * route calls to the MediumEditor instance or provide common
    +         * functionality for all form extensions
    +         *********************************************************/
    + 
    +        /* showToolbarDefaultActions: [function ()]
    +         *
    +         * Helper method which will turn back the toolbar after canceling
    +         * the customized form
    +         */
    +        showToolbarDefaultActions: function () {
    +            var toolbar = this.base.getExtensionByName('toolbar');
    +            if (toolbar) {
    +                toolbar.showToolbarDefaultActions();
    +            }
    +        },
    + 
    +        /* hideToolbarDefaultActions: [function ()]
    +         *
    +         * Helper function which will hide the default contents of the
    +         * toolbar, but leave the toolbar container in the same state
    +         * to allow a form to display its custom contents inside the toolbar
    +         */
    +        hideToolbarDefaultActions: function () {
    +            var toolbar = this.base.getExtensionByName('toolbar');
    +            if (toolbar) {
    +                toolbar.hideToolbarDefaultActions();
    +            }
    +        },
    + 
    +        /* setToolbarPosition: [function ()]
    +         *
    +         * Helper function which will update the size and position
    +         * of the toolbar based on the toolbar content and the current
    +         * position of the user's selection
    +         */
    +        setToolbarPosition: function () {
    +            var toolbar = this.base.getExtensionByName('toolbar');
    +            if (toolbar) {
    +                toolbar.setToolbarPosition();
    +            }
    +        }
    +    });
    + 
    +    MediumEditor.extensions.form = FormExtension;
    +})();
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/index.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/index.html new file mode 100644 index 0000000..11dedc8 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/index.html @@ -0,0 +1,236 @@ + + + + Code coverage report for src/js/extensions/ + + + + + + + +
    +
    +

    + all files src/js/extensions/ +

    +
    +
    + 3.22% + Statements + 34/1055 +
    +
    + 0% + Branches + 0/622 +
    +
    + 4.68% + Functions + 11/235 +
    +
    + 3.22% + Lines + 34/1055 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileStatementsBranchesFunctionsLines
    anchor-preview.js
    1.6%2/1250%0/634.35%1/231.6%2/125
    anchor.js
    1.92%2/1040%0/683.57%1/281.92%2/104
    auto-link.js
    9%9/1000%0/566.25%1/169%9/100
    button.js
    3.33%2/600%0/425.56%1/183.33%2/60
    file-dragging.js
    5.13%2/390%0/120%0/115.13%2/39
    fontname.js
    2.9%2/690%0/205.56%1/182.9%2/69
    fontsize.js
    2.99%2/670%0/205.56%1/182.99%2/67
    form.js
    10%2/200%0/1211.11%1/910%2/20
    keyboard-commands.js
    8.7%2/230%0/1420%1/58.7%2/23
    paste.js
    2.78%5/1800%0/1364%1/252.78%5/180
    placeholder.js
    5.26%2/380%0/226.67%1/155.26%2/38
    toolbar.js
    0.87%2/2300%0/1572.04%1/490.87%2/230
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/keyboard-commands.js.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/keyboard-commands.js.html new file mode 100644 index 0000000..eacb545 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/keyboard-commands.js.html @@ -0,0 +1,329 @@ + + + + Code coverage report for src/js/extensions/keyboard-commands.js + + + + + + + +
    +
    +

    + all files / src/js/extensions/ keyboard-commands.js +

    +
    +
    + 8.7% + Statements + 2/23 +
    +
    + 0% + Branches + 0/14 +
    +
    + 20% + Functions + 1/5 +
    +
    + 8.7% + Lines + 2/23 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var KeyboardCommands = MediumEditor.Extension.extend({
    +        name: 'keyboard-commands',
    + 
    +        /* KeyboardCommands Options */
    + 
    +        /* commands: [Array]
    +         * Array of objects describing each command and the combination of keys that will trigger it
    +         * Required for each object:
    +         *   command [String] (argument passed to editor.execAction())
    +         *   key [String] (keyboard character that triggers this command)
    +         *   meta [boolean] (whether the ctrl/meta key has to be active or inactive)
    +         *   shift [boolean] (whether the shift key has to be active or inactive)
    +         *   alt [boolean] (whether the alt key has to be active or inactive)
    +         */
    +        commands: [
    +            {
    +                command: 'bold',
    +                key: 'B',
    +                meta: true,
    +                shift: false,
    +                alt: false
    +            },
    +            {
    +                command: 'italic',
    +                key: 'I',
    +                meta: true,
    +                shift: false,
    +                alt: false
    +            },
    +            {
    +                command: 'underline',
    +                key: 'U',
    +                meta: true,
    +                shift: false,
    +                alt: false
    +            }
    +        ],
    + 
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            this.subscribe('editableKeydown', this.handleKeydown.bind(this));
    +            this.keys = {};
    +            this.commands.forEach(function (command) {
    +                var keyCode = command.key.charCodeAt(0);
    +                if (!this.keys[keyCode]) {
    +                    this.keys[keyCode] = [];
    +                }
    +                this.keys[keyCode].push(command);
    +            }, this);
    +        },
    + 
    +        handleKeydown: function (event) {
    +            var keyCode = MediumEditor.util.getKeyCode(event);
    +            if (!this.keys[keyCode]) {
    +                return;
    +            }
    + 
    +            var isMeta = MediumEditor.util.isMetaCtrlKey(event),
    +                isShift = !!event.shiftKey,
    +                isAlt = !!event.altKey;
    + 
    +            this.keys[keyCode].forEach(function (data) {
    +                if (data.meta === isMeta &&
    +                    data.shift === isShift &&
    +                    (data.alt === isAlt ||
    +                     undefined === data.alt)) { // TODO deprecated: remove check for undefined === data.alt when jumping to 6.0.0
    +                    event.preventDefault();
    +                    event.stopPropagation();
    + 
    +                    // command can be a function to execute
    +                    if (typeof data.command === 'function') {
    +                        data.command.apply(this);
    +                    }
    +                    // command can be false so the shortcut is just disabled
    +                    else if (false !== data.command) {
    +                        this.execAction(data.command);
    +                    }
    +                }
    +            }, this);
    +        }
    +    });
    + 
    +    MediumEditor.extensions.keyboardCommands = KeyboardCommands;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/paste.js.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/paste.js.html new file mode 100644 index 0000000..b2ccf22 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/paste.js.html @@ -0,0 +1,1697 @@ + + + + Code coverage report for src/js/extensions/paste.js + + + + + + + +
    +
    +

    + all files / src/js/extensions/ paste.js +

    +
    +
    + 2.78% + Statements + 5/180 +
    +
    + 0% + Branches + 0/136 +
    +
    + 4% + Functions + 1/25 +
    +
    + 2.78% + Lines + 5/180 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    /* Helpers and internal variables that don't need to be members of actual paste handler */
    + 
    +    var pasteBinDefaultContent = '%ME_PASTEBIN%',
    +        lastRange = null,
    +        keyboardPasteEditable = null,
    +        stopProp = function (event) {
    +            event.stopPropagation();
    +        };
    + 
    +    /*jslint regexp: true*/
    +    /*
    +        jslint does not allow character negation, because the negation
    +        will not match any unicode characters. In the regexes in this
    +        block, negation is used specifically to match the end of an html
    +        tag, and in fact unicode characters *should* be allowed.
    +    */
    +    function createReplacements() {
    +        return [
    +            // Remove anything but the contents within the BODY element
    +            [new RegExp(/^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/g), ''],
    + 
    +            // cleanup comments added by Chrome when pasting html
    +            [new RegExp(/<!--StartFragment-->|<!--EndFragment-->/g), ''],
    + 
    +            // Trailing BR elements
    +            [new RegExp(/<br>$/i), ''],
    + 
    +            // replace two bogus tags that begin pastes from google docs
    +            [new RegExp(/<[^>]*docs-internal-guid[^>]*>/gi), ''],
    +            [new RegExp(/<\/b>(<br[^>]*>)?$/gi), ''],
    + 
    +             // un-html spaces and newlines inserted by OS X
    +            [new RegExp(/<span class="Apple-converted-space">\s+<\/span>/g), ' '],
    +            [new RegExp(/<br class="Apple-interchange-newline">/g), '<br>'],
    + 
    +            // replace google docs italics+bold with a span to be replaced once the html is inserted
    +            [new RegExp(/<span[^>]*(font-style:italic;font-weight:(bold|700)|font-weight:(bold|700);font-style:italic)[^>]*>/gi), '<span class="replace-with italic bold">'],
    + 
    +            // replace google docs italics with a span to be replaced once the html is inserted
    +            [new RegExp(/<span[^>]*font-style:italic[^>]*>/gi), '<span class="replace-with italic">'],
    + 
    +            //[replace google docs bolds with a span to be replaced once the html is inserted
    +            [new RegExp(/<span[^>]*font-weight:(bold|700)[^>]*>/gi), '<span class="replace-with bold">'],
    + 
    +             // replace manually entered b/i/a tags with real ones
    +            [new RegExp(/&lt;(\/?)(i|b|a)&gt;/gi), '<$1$2>'],
    + 
    +             // replace manually a tags with real ones, converting smart-quotes from google docs
    +            [new RegExp(/&lt;a(?:(?!href).)+href=(?:&quot;|&rdquo;|&ldquo;|"|“|”)(((?!&quot;|&rdquo;|&ldquo;|"|“|”).)*)(?:&quot;|&rdquo;|&ldquo;|"|“|”)(?:(?!&gt;).)*&gt;/gi), '<a href="$1">'],
    + 
    +            // Newlines between paragraphs in html have no syntactic value,
    +            // but then have a tendency to accidentally become additional paragraphs down the line
    +            [new RegExp(/<\/p>\n+/gi), '</p>'],
    +            [new RegExp(/\n+<p/gi), '<p'],
    + 
    +            // Microsoft Word makes these odd tags, like <o:p></o:p>
    +            [new RegExp(/<\/?o:[a-z]*>/gi), ''],
    + 
    +            // Microsoft Word adds some special elements around list items
    +            [new RegExp(/<!\[if !supportLists\]>(((?!<!).)*)<!\[endif]\>/gi), '$1']
    +        ];
    +    }
    +    /*jslint regexp: false*/
    + 
    +    /**
    +     * Gets various content types out of the Clipboard API. It will also get the
    +     * plain text using older IE and WebKit API.
    +     *
    +     * @param {event} event Event fired on paste.
    +     * @param {win} reference to window
    +     * @param {doc} reference to document
    +     * @return {Object} Object with mime types and data for those mime types.
    +     */
    +    function getClipboardContent(event, win, doc) {
    +        var dataTransfer = event.clipboardData || win.clipboardData || doc.dataTransfer,
    +            data = {};
    + 
    +        if (!dataTransfer) {
    +            return data;
    +        }
    + 
    +        // Use old WebKit/IE API
    +        if (dataTransfer.getData) {
    +            var legacyText = dataTransfer.getData('Text');
    +            if (legacyText && legacyText.length > 0) {
    +                data['text/plain'] = legacyText;
    +            }
    +        }
    + 
    +        if (dataTransfer.types) {
    +            for (var i = 0; i < dataTransfer.types.length; i++) {
    +                var contentType = dataTransfer.types[i];
    +                data[contentType] = dataTransfer.getData(contentType);
    +            }
    +        }
    + 
    +        return data;
    +    }
    + 
    +    var PasteHandler = MediumEditor.Extension.extend({
    +        /* Paste Options */
    + 
    +        /* forcePlainText: [boolean]
    +         * Forces pasting as plain text.
    +         */
    +        forcePlainText: true,
    + 
    +        /* cleanPastedHTML: [boolean]
    +         * cleans pasted content from different sources, like google docs etc.
    +         */
    +        cleanPastedHTML: false,
    + 
    +        /* preCleanReplacements: [Array]
    +         * custom pairs (2 element arrays) of RegExp and replacement text to use during past when
    +         * __forcePlainText__ or __cleanPastedHTML__ are `true` OR when calling `cleanPaste(text)` helper method.
    +         * These replacements are executed before any medium editor defined replacements.
    +         */
    +        preCleanReplacements: [],
    + 
    +        /* cleanReplacements: [Array]
    +         * custom pairs (2 element arrays) of RegExp and replacement text to use during paste when
    +         * __forcePlainText__ or __cleanPastedHTML__ are `true` OR when calling `cleanPaste(text)` helper method.
    +         * These replacements are executed after any medium editor defined replacements.
    +         */
    +        cleanReplacements: [],
    + 
    +        /* cleanAttrs:: [Array]
    +         * list of element attributes to remove during paste when __cleanPastedHTML__ is `true` or when
    +         * calling `cleanPaste(text)` or `pasteHTML(html, options)` helper methods.
    +         */
    +        cleanAttrs: ['class', 'style', 'dir'],
    + 
    +        /* cleanTags: [Array]
    +         * list of element tag names to remove during paste when __cleanPastedHTML__ is `true` or when
    +         * calling `cleanPaste(text)` or `pasteHTML(html, options)` helper methods.
    +         */
    +        cleanTags: ['meta'],
    + 
    +        /* unwrapTags: [Array]
    +         * list of element tag names to unwrap (remove the element tag but retain its child elements)
    +         * during paste when __cleanPastedHTML__ is `true` or when
    +         * calling `cleanPaste(text)` or `pasteHTML(html, options)` helper methods.
    +         */
    +        unwrapTags: [],
    + 
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            if (this.forcePlainText || this.cleanPastedHTML) {
    +                this.subscribe('editableKeydown', this.handleKeydown.bind(this));
    +                // We need access to the full event data in paste
    +                // so we can't use the editablePaste event here
    +                this.getEditorElements().forEach(function (element) {
    +                    this.on(element, 'paste', this.handlePaste.bind(this));
    +                }, this);
    +                this.subscribe('addElement', this.handleAddElement.bind(this));
    +            }
    +        },
    + 
    +        handleAddElement: function (event, editable) {
    +            this.on(editable, 'paste', this.handlePaste.bind(this));
    +        },
    + 
    +        destroy: function () {
    +            // Make sure pastebin is destroyed in case it's still around for some reason
    +            if (this.forcePlainText || this.cleanPastedHTML) {
    +                this.removePasteBin();
    +            }
    +        },
    + 
    +        handlePaste: function (event, editable) {
    +            if (event.defaultPrevented) {
    +                return;
    +            }
    + 
    +            var clipboardContent = getClipboardContent(event, this.window, this.document),
    +                pastedHTML = clipboardContent['text/html'],
    +                pastedPlain = clipboardContent['text/plain'];
    + 
    +            if (this.window.clipboardData && event.clipboardData === undefined && !pastedHTML) {
    +                // If window.clipboardData exists, but event.clipboardData doesn't exist,
    +                // we're probably in IE. IE only has two possibilities for clipboard
    +                // data format: 'Text' and 'URL'.
    +                //
    +                // For IE, we'll fallback to 'Text' for text/html
    +                pastedHTML = pastedPlain;
    +            }
    + 
    +            if (pastedHTML || pastedPlain) {
    +                event.preventDefault();
    + 
    +                this.doPaste(pastedHTML, pastedPlain, editable);
    +            }
    +        },
    + 
    +        doPaste: function (pastedHTML, pastedPlain, editable) {
    +            var paragraphs,
    +                html = '',
    +                p;
    + 
    +            if (this.cleanPastedHTML && pastedHTML) {
    +                return this.cleanPaste(pastedHTML);
    +            }
    + 
    +            if (!pastedPlain) {
    +                return;
    +            }
    + 
    +            if (!(this.getEditorOption('disableReturn') || (editable && editable.getAttribute('data-disable-return')))) {
    +                paragraphs = pastedPlain.split(/[\r\n]+/g);
    +                // If there are no \r\n in data, don't wrap in <p>
    +                if (paragraphs.length > 1) {
    +                    for (p = 0; p < paragraphs.length; p += 1) {
    +                        if (paragraphs[p] !== '') {
    +                            html += '<p>' + MediumEditor.util.htmlEntities(paragraphs[p]) + '</p>';
    +                        }
    +                    }
    +                } else {
    +                    html = MediumEditor.util.htmlEntities(paragraphs[0]);
    +                }
    +            } else {
    +                html = MediumEditor.util.htmlEntities(pastedPlain);
    +            }
    +            MediumEditor.util.insertHTMLCommand(this.document, html);
    +        },
    + 
    +        handlePasteBinPaste: function (event) {
    +            if (event.defaultPrevented) {
    +                this.removePasteBin();
    +                return;
    +            }
    + 
    +            var clipboardContent = getClipboardContent(event, this.window, this.document),
    +                pastedHTML = clipboardContent['text/html'],
    +                pastedPlain = clipboardContent['text/plain'],
    +                editable = keyboardPasteEditable;
    + 
    +            // If we have valid html already, or we're not in cleanPastedHTML mode
    +            // we can ignore the paste bin and just paste now
    +            if (!this.cleanPastedHTML || pastedHTML) {
    +                event.preventDefault();
    +                this.removePasteBin();
    +                this.doPaste(pastedHTML, pastedPlain, editable);
    + 
    +                // The event handling code listens for paste on the editable element
    +                // in order to trigger the editablePaste event.  Since this paste event
    +                // is happening on the pastebin, the event handling code never knows about it
    +                // So, we have to trigger editablePaste manually
    +                this.trigger('editablePaste', { currentTarget: editable, target: editable }, editable);
    +                return;
    +            }
    + 
    +            // We need to look at the paste bin, so do a setTimeout to let the paste
    +            // fall through into the paste bin
    +            setTimeout(function () {
    +                // Only look for HTML if we're in cleanPastedHTML mode
    +                if (this.cleanPastedHTML) {
    +                    // If clipboard didn't have HTML, try the paste bin
    +                    pastedHTML = this.getPasteBinHtml();
    +                }
    + 
    +                // If we needed the paste bin, we're done with it now, remove it
    +                this.removePasteBin();
    + 
    +                // Handle the paste with the html from the paste bin
    +                this.doPaste(pastedHTML, pastedPlain, editable);
    + 
    +                // The event handling code listens for paste on the editable element
    +                // in order to trigger the editablePaste event.  Since this paste event
    +                // is happening on the pastebin, the event handling code never knows about it
    +                // So, we have to trigger editablePaste manually
    +                this.trigger('editablePaste', { currentTarget: editable, target: editable }, editable);
    +            }.bind(this), 0);
    +        },
    + 
    +        handleKeydown: function (event, editable) {
    +            // if it's not Ctrl+V, do nothing
    +            if (!(MediumEditor.util.isKey(event, MediumEditor.util.keyCode.V) && MediumEditor.util.isMetaCtrlKey(event))) {
    +                return;
    +            }
    + 
    +            event.stopImmediatePropagation();
    + 
    +            this.removePasteBin();
    +            this.createPasteBin(editable);
    +        },
    + 
    +        createPasteBin: function (editable) {
    +            var rects,
    +                range = MediumEditor.selection.getSelectionRange(this.document),
    +                top = this.window.pageYOffset;
    + 
    +            keyboardPasteEditable = editable;
    + 
    +            if (range) {
    +                rects = range.getClientRects();
    + 
    +                // on empty line, rects is empty so we grab information from the first container of the range
    +                if (rects.length) {
    +                    top += rects[0].top;
    +                } else if (range.startContainer.getBoundingClientRect !== undefined) {
    +                    top += range.startContainer.getBoundingClientRect().top;
    +                } else {
    +                    top += range.getBoundingClientRect().top;
    +                }
    +            }
    + 
    +            lastRange = range;
    + 
    +            var pasteBinElm = this.document.createElement('div');
    +            pasteBinElm.id = this.pasteBinId = 'medium-editor-pastebin-' + (+Date.now());
    +            pasteBinElm.setAttribute('style', 'border: 1px red solid; position: absolute; top: ' + top + 'px; width: 10px; height: 10px; overflow: hidden; opacity: 0');
    +            pasteBinElm.setAttribute('contentEditable', true);
    +            pasteBinElm.innerHTML = pasteBinDefaultContent;
    + 
    +            this.document.body.appendChild(pasteBinElm);
    + 
    +            // avoid .focus() to stop other event (actually the paste event)
    +            this.on(pasteBinElm, 'focus', stopProp);
    +            this.on(pasteBinElm, 'focusin', stopProp);
    +            this.on(pasteBinElm, 'focusout', stopProp);
    + 
    +            pasteBinElm.focus();
    + 
    +            MediumEditor.selection.selectNode(pasteBinElm, this.document);
    + 
    +            if (!this.boundHandlePaste) {
    +                this.boundHandlePaste = this.handlePasteBinPaste.bind(this);
    +            }
    + 
    +            this.on(pasteBinElm, 'paste', this.boundHandlePaste);
    +        },
    + 
    +        removePasteBin: function () {
    +            if (null !== lastRange) {
    +                MediumEditor.selection.selectRange(this.document, lastRange);
    +                lastRange = null;
    +            }
    + 
    +            if (null !== keyboardPasteEditable) {
    +                keyboardPasteEditable = null;
    +            }
    + 
    +            var pasteBinElm = this.getPasteBin();
    +            if (!pasteBinElm) {
    +                return;
    +            }
    + 
    +            if (pasteBinElm) {
    +                this.off(pasteBinElm, 'focus', stopProp);
    +                this.off(pasteBinElm, 'focusin', stopProp);
    +                this.off(pasteBinElm, 'focusout', stopProp);
    +                this.off(pasteBinElm, 'paste', this.boundHandlePaste);
    +                pasteBinElm.parentElement.removeChild(pasteBinElm);
    +            }
    +        },
    + 
    +        getPasteBin: function () {
    +            return this.document.getElementById(this.pasteBinId);
    +        },
    + 
    +        getPasteBinHtml: function () {
    +            var pasteBinElm = this.getPasteBin();
    + 
    +            if (!pasteBinElm) {
    +                return false;
    +            }
    + 
    +            // WebKit has a nice bug where it clones the paste bin if you paste from for example notepad
    +            // so we need to force plain text mode in this case
    +            if (pasteBinElm.firstChild && pasteBinElm.firstChild.id === 'mcepastebin') {
    +                return false;
    +            }
    + 
    +            var pasteBinHtml = pasteBinElm.innerHTML;
    + 
    +            // If paste bin is empty try using plain text mode
    +            // since that is better than nothing right
    +            if (!pasteBinHtml || pasteBinHtml === pasteBinDefaultContent) {
    +                return false;
    +            }
    + 
    +            return pasteBinHtml;
    +        },
    + 
    +        cleanPaste: function (text) {
    +            var i, elList, tmp, workEl,
    +                multiline = /<p|<br|<div/.test(text),
    +                replacements = [].concat(
    +                    this.preCleanReplacements || [],
    +                    createReplacements(),
    +                    this.cleanReplacements || []);
    + 
    +            for (i = 0; i < replacements.length; i += 1) {
    +                text = text.replace(replacements[i][0], replacements[i][1]);
    +            }
    + 
    +            if (!multiline) {
    +                return this.pasteHTML(text);
    +            }
    + 
    +            // create a temporary div to cleanup block elements
    +            tmp = this.document.createElement('div');
    + 
    +            // double br's aren't converted to p tags, but we want paragraphs.
    +            tmp.innerHTML = '<p>' + text.split('<br><br>').join('</p><p>') + '</p>';
    + 
    +            // block element cleanup
    +            elList = tmp.querySelectorAll('a,p,div,br');
    +            for (i = 0; i < elList.length; i += 1) {
    +                workEl = elList[i];
    + 
    +                // Microsoft Word replaces some spaces with newlines.
    +                // While newlines between block elements are meaningless, newlines within
    +                // elements are sometimes actually spaces.
    +                workEl.innerHTML = workEl.innerHTML.replace(/\n/gi, ' ');
    + 
    +                switch (workEl.nodeName.toLowerCase()) {
    +                    case 'p':
    +                    case 'div':
    +                        this.filterCommonBlocks(workEl);
    +                        break;
    +                    case 'br':
    +                        this.filterLineBreak(workEl);
    +                        break;
    +                }
    +            }
    + 
    +            this.pasteHTML(tmp.innerHTML);
    +        },
    + 
    +        pasteHTML: function (html, options) {
    +            options = MediumEditor.util.defaults({}, options, {
    +                cleanAttrs: this.cleanAttrs,
    +                cleanTags: this.cleanTags,
    +                unwrapTags: this.unwrapTags
    +            });
    + 
    +            var elList, workEl, i, fragmentBody, pasteBlock = this.document.createDocumentFragment();
    + 
    +            pasteBlock.appendChild(this.document.createElement('body'));
    + 
    +            fragmentBody = pasteBlock.querySelector('body');
    +            fragmentBody.innerHTML = html;
    + 
    +            this.cleanupSpans(fragmentBody);
    + 
    +            elList = fragmentBody.querySelectorAll('*');
    +            for (i = 0; i < elList.length; i += 1) {
    +                workEl = elList[i];
    + 
    +                if ('a' === workEl.nodeName.toLowerCase() && this.getEditorOption('targetBlank')) {
    +                    MediumEditor.util.setTargetBlank(workEl);
    +                }
    + 
    +                MediumEditor.util.cleanupAttrs(workEl, options.cleanAttrs);
    +                MediumEditor.util.cleanupTags(workEl, options.cleanTags);
    +                MediumEditor.util.unwrapTags(workEl, options.unwrapTags);
    +            }
    + 
    +            MediumEditor.util.insertHTMLCommand(this.document, fragmentBody.innerHTML.replace(/&nbsp;/g, ' '));
    +        },
    + 
    +        // TODO (6.0): Make this an internal helper instead of member of paste handler
    +        isCommonBlock: function (el) {
    +            return (el && (el.nodeName.toLowerCase() === 'p' || el.nodeName.toLowerCase() === 'div'));
    +        },
    + 
    +        // TODO (6.0): Make this an internal helper instead of member of paste handler
    +        filterCommonBlocks: function (el) {
    +            if (/^\s*$/.test(el.textContent) && el.parentNode) {
    +                el.parentNode.removeChild(el);
    +            }
    +        },
    + 
    +        // TODO (6.0): Make this an internal helper instead of member of paste handler
    +        filterLineBreak: function (el) {
    +            if (this.isCommonBlock(el.previousElementSibling)) {
    +                // remove stray br's following common block elements
    +                this.removeWithParent(el);
    +            } else if (this.isCommonBlock(el.parentNode) && (el.parentNode.firstChild === el || el.parentNode.lastChild === el)) {
    +                // remove br's just inside open or close tags of a div/p
    +                this.removeWithParent(el);
    +            } else if (el.parentNode && el.parentNode.childElementCount === 1 && el.parentNode.textContent === '') {
    +                // and br's that are the only child of elements other than div/p
    +                this.removeWithParent(el);
    +            }
    +        },
    + 
    +        // TODO (6.0): Make this an internal helper instead of member of paste handler
    +        // remove an element, including its parent, if it is the only element within its parent
    +        removeWithParent: function (el) {
    +            if (el && el.parentNode) {
    +                if (el.parentNode.parentNode && el.parentNode.childElementCount === 1) {
    +                    el.parentNode.parentNode.removeChild(el.parentNode);
    +                } else {
    +                    el.parentNode.removeChild(el);
    +                }
    +            }
    +        },
    + 
    +        // TODO (6.0): Make this an internal helper instead of member of paste handler
    +        cleanupSpans: function (containerEl) {
    +            var i,
    +                el,
    +                newEl,
    +                spans = containerEl.querySelectorAll('.replace-with'),
    +                isCEF = function (el) {
    +                    return (el && el.nodeName !== '#text' && el.getAttribute('contenteditable') === 'false');
    +                };
    + 
    +            for (i = 0; i < spans.length; i += 1) {
    +                el = spans[i];
    +                newEl = this.document.createElement(el.classList.contains('bold') ? 'b' : 'i');
    + 
    +                if (el.classList.contains('bold') && el.classList.contains('italic')) {
    +                    // add an i tag as well if this has both italics and bold
    +                    newEl.innerHTML = '<i>' + el.innerHTML + '</i>';
    +                } else {
    +                    newEl.innerHTML = el.innerHTML;
    +                }
    +                el.parentNode.replaceChild(newEl, el);
    +            }
    + 
    +            spans = containerEl.querySelectorAll('span');
    +            for (i = 0; i < spans.length; i += 1) {
    +                el = spans[i];
    + 
    +                // bail if span is in contenteditable = false
    +                if (MediumEditor.util.traverseUp(el, isCEF)) {
    +                    return false;
    +                }
    + 
    +                // remove empty spans, replace others with their contents
    +                MediumEditor.util.unwrap(el, this.document);
    +            }
    +        }
    +    });
    + 
    +    MediumEditor.extensions.paste = PasteHandler;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/placeholder.js.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/placeholder.js.html new file mode 100644 index 0000000..2f78ca7 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/placeholder.js.html @@ -0,0 +1,449 @@ + + + + Code coverage report for src/js/extensions/placeholder.js + + + + + + + +
    +
    +

    + all files / src/js/extensions/ placeholder.js +

    +
    +
    + 5.26% + Statements + 2/38 +
    +
    + 0% + Branches + 0/22 +
    +
    + 6.67% + Functions + 1/15 +
    +
    + 5.26% + Lines + 2/38 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var Placeholder = MediumEditor.Extension.extend({
    +        name: 'placeholder',
    + 
    +        /* Placeholder Options */
    + 
    +        /* text: [string]
    +         * Text to display in the placeholder
    +         */
    +        text: 'Type your text',
    + 
    +        /* hideOnClick: [boolean]
    +         * Should we hide the placeholder on click (true) or when user starts typing (false)
    +         */
    +        hideOnClick: true,
    + 
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            this.initPlaceholders();
    +            this.attachEventHandlers();
    +        },
    + 
    +        initPlaceholders: function () {
    +            this.getEditorElements().forEach(this.initElement, this);
    +        },
    + 
    +        handleAddElement: function (event, editable) {
    +            this.initElement(editable);
    +        },
    + 
    +        initElement: function (el) {
    +            if (!el.getAttribute('data-placeholder')) {
    +                el.setAttribute('data-placeholder', this.text);
    +            }
    +            this.updatePlaceholder(el);
    +        },
    + 
    +        destroy: function () {
    +            this.getEditorElements().forEach(this.cleanupElement, this);
    +        },
    + 
    +        handleRemoveElement: function (event, editable) {
    +            this.cleanupElement(editable);
    +        },
    + 
    +        cleanupElement: function (el) {
    +            if (el.getAttribute('data-placeholder') === this.text) {
    +                el.removeAttribute('data-placeholder');
    +            }
    +        },
    + 
    +        showPlaceholder: function (el) {
    +            if (el) {
    +                // https://github.com/yabwe/medium-editor/issues/234
    +                // In firefox, styling the placeholder with an absolutely positioned
    +                // pseudo element causes the cursor to appear in a bad location
    +                // when the element is completely empty, so apply a different class to
    +                // style it with a relatively positioned pseudo element
    +                if (MediumEditor.util.isFF && el.childNodes.length === 0) {
    +                    el.classList.add('medium-editor-placeholder-relative');
    +                    el.classList.remove('medium-editor-placeholder');
    +                } else {
    +                    el.classList.add('medium-editor-placeholder');
    +                    el.classList.remove('medium-editor-placeholder-relative');
    +                }
    +            }
    +        },
    + 
    +        hidePlaceholder: function (el) {
    +            if (el) {
    +                el.classList.remove('medium-editor-placeholder');
    +                el.classList.remove('medium-editor-placeholder-relative');
    +            }
    +        },
    + 
    +        updatePlaceholder: function (el, dontShow) {
    +            // If the element has content, hide the placeholder
    +            if (el.querySelector('img, blockquote, ul, ol, table') || (el.textContent.replace(/^\s+|\s+$/g, '') !== '')) {
    +                return this.hidePlaceholder(el);
    +            }
    + 
    +            if (!dontShow) {
    +                this.showPlaceholder(el);
    +            }
    +        },
    + 
    +        attachEventHandlers: function () {
    +            if (this.hideOnClick) {
    +                // For the 'hideOnClick' option, the placeholder should always be hidden on focus
    +                this.subscribe('focus', this.handleFocus.bind(this));
    +            }
    + 
    +            // If the editor has content, it should always hide the placeholder
    +            this.subscribe('editableInput', this.handleInput.bind(this));
    + 
    +            // When the editor loses focus, check if the placeholder should be visible
    +            this.subscribe('blur', this.handleBlur.bind(this));
    + 
    +            // Need to know when elements are added/removed from the editor
    +            this.subscribe('addElement', this.handleAddElement.bind(this));
    +            this.subscribe('removeElement', this.handleRemoveElement.bind(this));
    +        },
    + 
    +        handleInput: function (event, element) {
    +            // If the placeholder should be hidden on focus and the
    +            // element has focus, don't show the placeholder
    +            var dontShow = this.hideOnClick && (element === this.base.getFocusedElement());
    + 
    +            // Editor's content has changed, check if the placeholder should be hidden
    +            this.updatePlaceholder(element, dontShow);
    +        },
    + 
    +        handleFocus: function (event, element) {
    +            // Editor has focus, hide the placeholder
    +            this.hidePlaceholder(element);
    +        },
    + 
    +        handleBlur: function (event, element) {
    +            // Editor has lost focus, check if the placeholder should be shown
    +            this.updatePlaceholder(element);
    +        }
    +    });
    + 
    +    MediumEditor.extensions.placeholder = Placeholder;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/extensions/toolbar.js.html b/reports/jasmine/lcov/lcov-report/src/js/extensions/toolbar.js.html new file mode 100644 index 0000000..bbe3dae --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/extensions/toolbar.js.html @@ -0,0 +1,2114 @@ + + + + Code coverage report for src/js/extensions/toolbar.js + + + + + + + +
    +
    +

    + all files / src/js/extensions/ toolbar.js +

    +
    +
    + 0.87% + Statements + 2/230 +
    +
    + 0% + Branches + 0/157 +
    +
    + 2.04% + Functions + 1/49 +
    +
    + 0.87% + Lines + 2/230 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
    (function () {
    +    'use strict';
    + 
    +    var Toolbar = MediumEditor.Extension.extend({
    +        name: 'toolbar',
    + 
    +        /* Toolbar Options */
    + 
    +        /* align: ['left'|'center'|'right']
    +         * When the __static__ option is true, this aligns the static toolbar
    +         * relative to the medium-editor element.
    +         */
    +        align: 'center',
    + 
    +        /* allowMultiParagraphSelection: [boolean]
    +         * enables/disables whether the toolbar should be displayed when
    +         * selecting multiple paragraphs/block elements
    +         */
    +        allowMultiParagraphSelection: true,
    + 
    +        /* buttons: [Array]
    +         * the names of the set of buttons to display on the toolbar.
    +         */
    +        buttons: ['bold', 'italic', 'underline', 'anchor', 'h2', 'h3', 'quote'],
    + 
    +        /* diffLeft: [Number]
    +         * value in pixels to be added to the X axis positioning of the toolbar.
    +         */
    +        diffLeft: 0,
    + 
    +        /* diffTop: [Number]
    +         * value in pixels to be added to the Y axis positioning of the toolbar.
    +         */
    +        diffTop: -10,
    + 
    +        /* firstButtonClass: [string]
    +         * CSS class added to the first button in the toolbar.
    +         */
    +        firstButtonClass: 'medium-editor-button-first',
    + 
    +        /* lastButtonClass: [string]
    +         * CSS class added to the last button in the toolbar.
    +         */
    +        lastButtonClass: 'medium-editor-button-last',
    + 
    +        /* standardizeSelectionStart: [boolean]
    +         * enables/disables standardizing how the beginning of a range is decided
    +         * between browsers whenever the selected text is analyzed for updating toolbar buttons status.
    +         */
    +        standardizeSelectionStart: false,
    + 
    +        /* static: [boolean]
    +         * enable/disable the toolbar always displaying in the same location
    +         * relative to the medium-editor element.
    +         */
    +        static: false,
    + 
    +        /* sticky: [boolean]
    +         * When the __static__ option is true, this enables/disables the toolbar
    +         * "sticking" to the viewport and staying visible on the screen while
    +         * the page scrolls.
    +         */
    +        sticky: false,
    + 
    +        /* stickyTopOffset: [Number]
    +         * Value in pixel of the top offset above the toolbar
    +         */
    +        stickyTopOffset: 0,
    + 
    +        /* updateOnEmptySelection: [boolean]
    +         * When the __static__ option is true, this enables/disables updating
    +         * the state of the toolbar buttons even when the selection is collapsed
    +         * (there is no selection, just a cursor).
    +         */
    +        updateOnEmptySelection: false,
    + 
    +        /* relativeContainer: [node]
    +         * appending the toolbar to a given node instead of body
    +         */
    +        relativeContainer: null,
    + 
    +        init: function () {
    +            MediumEditor.Extension.prototype.init.apply(this, arguments);
    + 
    +            this.initThrottledMethods();
    + 
    +            if (!this.relativeContainer) {
    +                this.getEditorOption('elementsContainer').appendChild(this.getToolbarElement());
    +            } else {
    +                this.relativeContainer.appendChild(this.getToolbarElement());
    +            }
    +        },
    + 
    +        // Helper method to execute method for every extension, but ignoring the toolbar extension
    +        forEachExtension: function (iterator, context) {
    +            return this.base.extensions.forEach(function (command) {
    +                if (command === this) {
    +                    return;
    +                }
    +                return iterator.apply(context || this, arguments);
    +            }, this);
    +        },
    + 
    +        // Toolbar creation/deletion
    + 
    +        createToolbar: function () {
    +            var toolbar = this.document.createElement('div');
    + 
    +            toolbar.id = 'medium-editor-toolbar-' + this.getEditorId();
    +            toolbar.className = 'medium-editor-toolbar';
    + 
    +            if (this.static) {
    +                toolbar.className += ' static-toolbar';
    +            } else if (this.relativeContainer) {
    +                toolbar.className += ' medium-editor-relative-toolbar';
    +            } else {
    +                toolbar.className += ' medium-editor-stalker-toolbar';
    +            }
    + 
    +            toolbar.appendChild(this.createToolbarButtons());
    + 
    +            // Add any forms that extensions may have
    +            this.forEachExtension(function (extension) {
    +                if (extension.hasForm) {
    +                    toolbar.appendChild(extension.getForm());
    +                }
    +            });
    + 
    +            this.attachEventHandlers();
    + 
    +            return toolbar;
    +        },
    + 
    +        createToolbarButtons: function () {
    +            var ul = this.document.createElement('ul'),
    +                li,
    +                btn,
    +                buttons,
    +                extension,
    +                buttonName,
    +                buttonOpts;
    + 
    +            ul.id = 'medium-editor-toolbar-actions' + this.getEditorId();
    +            ul.className = 'medium-editor-toolbar-actions';
    +            ul.style.display = 'block';
    + 
    +            this.buttons.forEach(function (button) {
    +                if (typeof button === 'string') {
    +                    buttonName = button;
    +                    buttonOpts = null;
    +                } else {
    +                    buttonName = button.name;
    +                    buttonOpts = button;
    +                }
    + 
    +                // If the button already exists as an extension, it'll be returned
    +                // othwerise it'll create the default built-in button
    +                extension = this.base.addBuiltInExtension(buttonName, buttonOpts);
    + 
    +                if (extension && typeof extension.getButton === 'function') {
    +                    btn = extension.getButton(this.base);
    +                    li = this.document.createElement('li');
    +                    if (MediumEditor.util.isElement(btn)) {
    +                        li.appendChild(btn);
    +                    } else {
    +                        li.innerHTML = btn;
    +                    }
    +                    ul.appendChild(li);
    +                }
    +            }, this);
    + 
    +            buttons = ul.querySelectorAll('button');
    +            if (buttons.length > 0) {
    +                buttons[0].classList.add(this.firstButtonClass);
    +                buttons[buttons.length - 1].classList.add(this.lastButtonClass);
    +            }
    + 
    +            return ul;
    +        },
    + 
    +        destroy: function () {
    +            if (this.toolbar) {
    +                if (this.toolbar.parentNode) {
    +                    this.toolbar.parentNode.removeChild(this.toolbar);
    +                }
    +                delete this.toolbar;
    +            }
    +        },
    + 
    +        // Toolbar accessors
    + 
    +        getInteractionElements: function () {
    +            return this.getToolbarElement();
    +        },
    + 
    +        getToolbarElement: function () {
    +            if (!this.toolbar) {
    +                this.toolbar = this.createToolbar();
    +            }
    + 
    +            return this.toolbar;
    +        },
    + 
    +        getToolbarActionsElement: function () {
    +            return this.getToolbarElement().querySelector('.medium-editor-toolbar-actions');
    +        },
    + 
    +        // Toolbar event handlers
    + 
    +        initThrottledMethods: function () {
    +            // throttledPositionToolbar is throttled because:
    +            // - It will be called when the browser is resizing, which can fire many times very quickly
    +            // - For some event (like resize) a slight lag in UI responsiveness is OK and provides performance benefits
    +            this.throttledPositionToolbar = MediumEditor.util.throttle(function () {
    +                if (this.base.isActive) {
    +                    this.positionToolbarIfShown();
    +                }
    +            }.bind(this));
    +        },
    + 
    +        attachEventHandlers: function () {
    +            // MediumEditor custom events for when user beings and ends interaction with a contenteditable and its elements
    +            this.subscribe('blur', this.handleBlur.bind(this));
    +            this.subscribe('focus', this.handleFocus.bind(this));
    + 
    +            // Updating the state of the toolbar as things change
    +            this.subscribe('editableClick', this.handleEditableClick.bind(this));
    +            this.subscribe('editableKeyup', this.handleEditableKeyup.bind(this));
    + 
    +            // Handle mouseup on document for updating the selection in the toolbar
    +            this.on(this.document.documentElement, 'mouseup', this.handleDocumentMouseup.bind(this));
    + 
    +            // Add a scroll event for sticky toolbar
    +            if (this.static && this.sticky) {
    +                // On scroll (capture), re-position the toolbar
    +                this.on(this.window, 'scroll', this.handleWindowScroll.bind(this), true);
    +            }
    + 
    +            // On resize, re-position the toolbar
    +            this.on(this.window, 'resize', this.handleWindowResize.bind(this));
    +        },
    + 
    +        handleWindowScroll: function () {
    +            this.positionToolbarIfShown();
    +        },
    + 
    +        handleWindowResize: function () {
    +            this.throttledPositionToolbar();
    +        },
    + 
    +        handleDocumentMouseup: function (event) {
    +            // Do not trigger checkState when mouseup fires over the toolbar
    +            if (event &&
    +                    event.target &&
    +                    MediumEditor.util.isDescendant(this.getToolbarElement(), event.target)) {
    +                return false;
    +            }
    +            this.checkState();
    +        },
    + 
    +        handleEditableClick: function () {
    +            // Delay the call to checkState to handle bug where selection is empty
    +            // immediately after clicking inside a pre-existing selection
    +            setTimeout(function () {
    +                this.checkState();
    +            }.bind(this), 0);
    +        },
    + 
    +        handleEditableKeyup: function () {
    +            this.checkState();
    +        },
    + 
    +        handleBlur: function () {
    +            // Kill any previously delayed calls to hide the toolbar
    +            clearTimeout(this.hideTimeout);
    + 
    +            // Blur may fire even if we have a selection, so we want to prevent any delayed showToolbar
    +            // calls from happening in this specific case
    +            clearTimeout(this.delayShowTimeout);
    + 
    +            // Delay the call to hideToolbar to handle bug with multiple editors on the page at once
    +            this.hideTimeout = setTimeout(function () {
    +                this.hideToolbar();
    +            }.bind(this), 1);
    +        },
    + 
    +        handleFocus: function () {
    +            this.checkState();
    +        },
    + 
    +        // Hiding/showing toolbar
    + 
    +        isDisplayed: function () {
    +            return this.getToolbarElement().classList.contains('medium-editor-toolbar-active');
    +        },
    + 
    +        showToolbar: function () {
    +            clearTimeout(this.hideTimeout);
    +            if (!this.isDisplayed()) {
    +                this.getToolbarElement().classList.add('medium-editor-toolbar-active');
    +                this.trigger('showToolbar', {}, this.base.getFocusedElement());
    +            }
    +        },
    + 
    +        hideToolbar: function () {
    +            if (this.isDisplayed()) {
    +                this.getToolbarElement().classList.remove('medium-editor-toolbar-active');
    +                this.trigger('hideToolbar', {}, this.base.getFocusedElement());
    +            }
    +        },
    + 
    +        isToolbarDefaultActionsDisplayed: function () {
    +            return this.getToolbarActionsElement().style.display === 'block';
    +        },
    + 
    +        hideToolbarDefaultActions: function () {
    +            if (this.isToolbarDefaultActionsDisplayed()) {
    +                this.getToolbarActionsElement().style.display = 'none';
    +            }
    +        },
    + 
    +        showToolbarDefaultActions: function () {
    +            this.hideExtensionForms();
    + 
    +            if (!this.isToolbarDefaultActionsDisplayed()) {
    +                this.getToolbarActionsElement().style.display = 'block';
    +            }
    + 
    +            // Using setTimeout + options.delay because:
    +            // We will actually be displaying the toolbar, which should be controlled by options.delay
    +            this.delayShowTimeout = this.base.delay(function () {
    +                this.showToolbar();
    +            }.bind(this));
    +        },
    + 
    +        hideExtensionForms: function () {
    +            // Hide all extension forms
    +            this.forEachExtension(function (extension) {
    +                if (extension.hasForm && extension.isDisplayed()) {
    +                    extension.hideForm();
    +                }
    +            });
    +        },
    + 
    +        // Responding to changes in user selection
    + 
    +        // Checks for existance of multiple block elements in the current selection
    +        multipleBlockElementsSelected: function () {
    +            var regexEmptyHTMLTags = /<[^\/>][^>]*><\/[^>]+>/gim, // http://stackoverflow.com/questions/3129738/remove-empty-tags-using-regex
    +                regexBlockElements = new RegExp('<(' + MediumEditor.util.blockContainerElementNames.join('|') + ')[^>]*>', 'g'),
    +                selectionHTML = MediumEditor.selection.getSelectionHtml(this.document).replace(regexEmptyHTMLTags, ''), // Filter out empty blocks from selection
    +                hasMultiParagraphs = selectionHTML.match(regexBlockElements); // Find how many block elements are within the html
    + 
    +            return !!hasMultiParagraphs && hasMultiParagraphs.length > 1;
    +        },
    + 
    +        modifySelection: function () {
    +            var selection = this.window.getSelection(),
    +                selectionRange = selection.getRangeAt(0);
    + 
    +            /*
    +            * In firefox, there are cases (ie doubleclick of a word) where the selectionRange start
    +            * will be at the very end of an element.  In other browsers, the selectionRange start
    +            * would instead be at the very beginning of an element that actually has content.
    +            * example:
    +            *   <span>foo</span><span>bar</span>
    +            *
    +            * If the text 'bar' is selected, most browsers will have the selectionRange start at the beginning
    +            * of the 'bar' span.  However, there are cases where firefox will have the selectionRange start
    +            * at the end of the 'foo' span.  The contenteditable behavior will be ok, but if there are any
    +            * properties on the 'bar' span, they won't be reflected accurately in the toolbar
    +            * (ie 'Bold' button wouldn't be active)
    +            *
    +            * So, for cases where the selectionRange start is at the end of an element/node, find the next
    +            * adjacent text node that actually has content in it, and move the selectionRange start there.
    +            */
    +            if (this.standardizeSelectionStart &&
    +                    selectionRange.startContainer.nodeValue &&
    +                    (selectionRange.startOffset === selectionRange.startContainer.nodeValue.length)) {
    +                var adjacentNode = MediumEditor.util.findAdjacentTextNodeWithContent(MediumEditor.selection.getSelectionElement(this.window), selectionRange.startContainer, this.document);
    +                if (adjacentNode) {
    +                    var offset = 0;
    +                    while (adjacentNode.nodeValue.substr(offset, 1).trim().length === 0) {
    +                        offset = offset + 1;
    +                    }
    +                    selectionRange = MediumEditor.selection.select(this.document, adjacentNode, offset,
    +                        selectionRange.endContainer, selectionRange.endOffset);
    +                }
    +            }
    +        },
    + 
    +        checkState: function () {
    +            if (this.base.preventSelectionUpdates) {
    +                return;
    +            }
    + 
    +            // If no editable has focus OR selection is inside contenteditable = false
    +            // hide toolbar
    +            if (!this.base.getFocusedElement() ||
    +                    MediumEditor.selection.selectionInContentEditableFalse(this.window)) {
    +                return this.hideToolbar();
    +            }
    + 
    +            // If there's no selection element, selection element doesn't belong to this editor
    +            // or toolbar is disabled for this selection element
    +            // hide toolbar
    +            var selectionElement = MediumEditor.selection.getSelectionElement(this.window);
    +            if (!selectionElement ||
    +                    this.getEditorElements().indexOf(selectionElement) === -1 ||
    +                    selectionElement.getAttribute('data-disable-toolbar')) {
    +                return this.hideToolbar();
    +            }
    + 
    +            // Now we know there's a focused editable with a selection
    + 
    +            // If the updateOnEmptySelection option is true, show the toolbar
    +            if (this.updateOnEmptySelection && this.static) {
    +                return this.showAndUpdateToolbar();
    +            }
    + 
    +            // If we don't have a 'valid' selection -> hide toolbar
    +            if (!MediumEditor.selection.selectionContainsContent(this.document) ||
    +                (this.allowMultiParagraphSelection === false && this.multipleBlockElementsSelected())) {
    +                return this.hideToolbar();
    +            }
    + 
    +            this.showAndUpdateToolbar();
    +        },
    + 
    +        // Updating the toolbar
    + 
    +        showAndUpdateToolbar: function () {
    +            this.modifySelection();
    +            this.setToolbarButtonStates();
    +            this.trigger('positionToolbar', {}, this.base.getFocusedElement());
    +            this.showToolbarDefaultActions();
    +            this.setToolbarPosition();
    +        },
    + 
    +        setToolbarButtonStates: function () {
    +            this.forEachExtension(function (extension) {
    +                if (typeof extension.isActive === 'function' &&
    +                    typeof extension.setInactive === 'function') {
    +                    extension.setInactive();
    +                }
    +            });
    + 
    +            this.checkActiveButtons();
    +        },
    + 
    +        checkActiveButtons: function () {
    +            var manualStateChecks = [],
    +                queryState = null,
    +                selectionRange = MediumEditor.selection.getSelectionRange(this.document),
    +                parentNode,
    +                updateExtensionState = function (extension) {
    +                    if (typeof extension.checkState === 'function') {
    +                        extension.checkState(parentNode);
    +                    } else if (typeof extension.isActive === 'function' &&
    +                               typeof extension.isAlreadyApplied === 'function' &&
    +                               typeof extension.setActive === 'function') {
    +                        if (!extension.isActive() && extension.isAlreadyApplied(parentNode)) {
    +                            extension.setActive();
    +                        }
    +                    }
    +                };
    + 
    +            if (!selectionRange) {
    +                return;
    +            }
    + 
    +            // Loop through all extensions
    +            this.forEachExtension(function (extension) {
    +                // For those extensions where we can use document.queryCommandState(), do so
    +                if (typeof extension.queryCommandState === 'function') {
    +                    queryState = extension.queryCommandState();
    +                    // If queryCommandState returns a valid value, we can trust the browser
    +                    // and don't need to do our manual checks
    +                    if (queryState !== null) {
    +                        if (queryState && typeof extension.setActive === 'function') {
    +                            extension.setActive();
    +                        }
    +                        return;
    +                    }
    +                }
    +                // We can't use queryCommandState for this extension, so add to manualStateChecks
    +                manualStateChecks.push(extension);
    +            });
    + 
    +            parentNode = MediumEditor.selection.getSelectedParentElement(selectionRange);
    + 
    +            // Make sure the selection parent isn't outside of the contenteditable
    +            if (!this.getEditorElements().some(function (element) {
    +                    return MediumEditor.util.isDescendant(element, parentNode, true);
    +                })) {
    +                return;
    +            }
    + 
    +            // Climb up the DOM and do manual checks for whether a certain extension is currently enabled for this node
    +            while (parentNode) {
    +                manualStateChecks.forEach(updateExtensionState);
    + 
    +                // we can abort the search upwards if we leave the contentEditable element
    +                if (MediumEditor.util.isMediumEditorElement(parentNode)) {
    +                    break;
    +                }
    +                parentNode = parentNode.parentNode;
    +            }
    +        },
    + 
    +        // Positioning toolbar
    + 
    +        positionToolbarIfShown: function () {
    +            if (this.isDisplayed()) {
    +                this.setToolbarPosition();
    +            }
    +        },
    + 
    +        setToolbarPosition: function () {
    +            var container = this.base.getFocusedElement(),
    +                selection = this.window.getSelection();
    + 
    +            // If there isn't a valid selection, bail
    +            if (!container) {
    +                return this;
    +            }
    + 
    +            if (this.static || !selection.isCollapsed) {
    +                this.showToolbar();
    + 
    +                // we don't need any absolute positioning if relativeContainer is set
    +                if (!this.relativeContainer) {
    +                    if (this.static) {
    +                        this.positionStaticToolbar(container);
    +                    } else {
    +                        this.positionToolbar(selection);
    +                    }
    +                }
    + 
    +                this.trigger('positionedToolbar', {}, this.base.getFocusedElement());
    +            }
    +        },
    + 
    +        positionStaticToolbar: function (container) {
    +            // position the toolbar at left 0, so we can get the real width of the toolbar
    +            this.getToolbarElement().style.left = '0';
    + 
    +            // document.documentElement for IE 9
    +            var scrollTop = (this.document.documentElement && this.document.documentElement.scrollTop) || this.document.body.scrollTop,
    +                windowWidth = this.window.innerWidth,
    +                toolbarElement = this.getToolbarElement(),
    +                containerRect = container.getBoundingClientRect(),
    +                containerTop = containerRect.top + scrollTop,
    +                containerCenter = (containerRect.left + (containerRect.width / 2)),
    +                toolbarHeight = toolbarElement.offsetHeight,
    +                toolbarWidth = toolbarElement.offsetWidth,
    +                halfOffsetWidth = toolbarWidth / 2,
    +                targetLeft;
    + 
    +            if (this.sticky) {
    +                // If it's beyond the height of the editor, position it at the bottom of the editor
    +                if (scrollTop > (containerTop + container.offsetHeight - toolbarHeight - this.stickyTopOffset)) {
    +                    toolbarElement.style.top = (containerTop + container.offsetHeight - toolbarHeight) + 'px';
    +                    toolbarElement.classList.remove('medium-editor-sticky-toolbar');
    +                // Stick the toolbar to the top of the window
    +                } else if (scrollTop > (containerTop - toolbarHeight - this.stickyTopOffset)) {
    +                    toolbarElement.classList.add('medium-editor-sticky-toolbar');
    +                    toolbarElement.style.top = this.stickyTopOffset + 'px';
    +                // Normal static toolbar position
    +                } else {
    +                    toolbarElement.classList.remove('medium-editor-sticky-toolbar');
    +                    toolbarElement.style.top = containerTop - toolbarHeight + 'px';
    +                }
    +            } else {
    +                toolbarElement.style.top = containerTop - toolbarHeight + 'px';
    +            }
    + 
    +            switch (this.align) {
    +                case 'left':
    +                    targetLeft = containerRect.left;
    +                    break;
    + 
    +                case 'right':
    +                    targetLeft = containerRect.right - toolbarWidth;
    +                    break;
    + 
    +                case 'center':
    +                    targetLeft = containerCenter - halfOffsetWidth;
    +                    break;
    +            }
    + 
    +            if (targetLeft < 0) {
    +                targetLeft = 0;
    +            } else if ((targetLeft + toolbarWidth) > windowWidth) {
    +                targetLeft = (windowWidth - Math.ceil(toolbarWidth) - 1);
    +            }
    + 
    +            toolbarElement.style.left = targetLeft + 'px';
    +        },
    + 
    +        positionToolbar: function (selection) {
    +            // position the toolbar at left 0, so we can get the real width of the toolbar
    +            this.getToolbarElement().style.left = '0';
    +            this.getToolbarElement().style.right = 'initial';
    + 
    +            var range = selection.getRangeAt(0),
    +                boundary = range.getBoundingClientRect();
    + 
    +            // Handle selections with just images
    +            if (!boundary || ((boundary.height === 0 && boundary.width === 0) && range.startContainer === range.endContainer)) {
    +                // If there's a nested image, use that for the bounding rectangle
    +                if (range.startContainer.nodeType === 1 && range.startContainer.querySelector('img')) {
    +                    boundary = range.startContainer.querySelector('img').getBoundingClientRect();
    +                } else {
    +                    boundary = range.startContainer.getBoundingClientRect();
    +                }
    +            }
    + 
    +            var containerWidth = this.window.innerWidth,
    +                toolbarElement = this.getToolbarElement(),
    +                toolbarHeight = toolbarElement.offsetHeight,
    +                toolbarWidth = toolbarElement.offsetWidth,
    +                halfOffsetWidth = toolbarWidth / 2,
    +                buttonHeight = 50,
    +                defaultLeft = this.diffLeft - halfOffsetWidth,
    +                elementsContainer = this.getEditorOption('elementsContainer'),
    +                elementsContainerAbsolute = ['absolute', 'fixed'].indexOf(window.getComputedStyle(elementsContainer).getPropertyValue('position')) > -1,
    +                positions = {},
    +                relativeBoundary = {},
    +                middleBoundary, elementsContainerBoundary;
    + 
    +            // If container element is absolute / fixed, recalculate boundaries to be relative to the container
    +            if (elementsContainerAbsolute) {
    +                elementsContainerBoundary = elementsContainer.getBoundingClientRect();
    +                ['top', 'left'].forEach(function (key) {
    +                    relativeBoundary[key] = boundary[key] - elementsContainerBoundary[key];
    +                });
    + 
    +                relativeBoundary.width = boundary.width;
    +                relativeBoundary.height = boundary.height;
    +                boundary = relativeBoundary;
    + 
    +                containerWidth = elementsContainerBoundary.width;
    + 
    +                // Adjust top position according to container scroll position
    +                positions.top = elementsContainer.scrollTop;
    +            } else {
    +                // Adjust top position according to window scroll position
    +                positions.top = this.window.pageYOffset;
    +            }
    + 
    +            middleBoundary = boundary.left + boundary.width / 2;
    +            positions.top += boundary.top - toolbarHeight;
    + 
    +            if (boundary.top < buttonHeight) {
    +                toolbarElement.classList.add('medium-toolbar-arrow-over');
    +                toolbarElement.classList.remove('medium-toolbar-arrow-under');
    +                positions.top += buttonHeight + boundary.height - this.diffTop;
    +            } else {
    +                toolbarElement.classList.add('medium-toolbar-arrow-under');
    +                toolbarElement.classList.remove('medium-toolbar-arrow-over');
    +                positions.top += this.diffTop;
    +            }
    + 
    +            if (middleBoundary < halfOffsetWidth) {
    +                positions.left = defaultLeft + halfOffsetWidth;
    +                positions.right = 'initial';
    +            } else if ((containerWidth - middleBoundary) < halfOffsetWidth) {
    +                positions.left = 'auto';
    +                positions.right = 0;
    +            } else {
    +                positions.left = defaultLeft + middleBoundary;
    +                positions.right = 'initial';
    +            }
    + 
    +            ['top', 'left', 'right'].forEach(function (key) {
    +                toolbarElement.style[key] = positions[key] + (isNaN(positions[key]) ? '' : 'px');
    +            });
    +        }
    +    });
    + 
    +    MediumEditor.extensions.toolbar = Toolbar;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/globals.js.html b/reports/jasmine/lcov/lcov-report/src/js/globals.js.html new file mode 100644 index 0000000..dbd1146 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/globals.js.html @@ -0,0 +1,86 @@ + + + + Code coverage report for src/js/globals.js + + + + + + + +
    +
    +

    + all files / src/js/ globals.js +

    +
    +
    + 66.67% + Statements + 2/3 +
    +
    + 100% + Branches + 0/0 +
    +
    + 0% + Functions + 0/1 +
    +
    + 66.67% + Lines + 2/3 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8  + +  +  +  +  + + 
    /*jshint unused: false */
    +function MediumEditor(elements, options) {
    +    'use strict';
    +    return this.init(elements, options);
    +}
    + 
    +MediumEditor.extensions = {};
    +/*jshint unused: true */
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/index.html b/reports/jasmine/lcov/lcov-report/src/js/index.html new file mode 100644 index 0000000..c9fc5a7 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/index.html @@ -0,0 +1,158 @@ + + + + Code coverage report for src/js/ + + + + + + + +
    +
    +

    + all files src/js/ +

    +
    +
    + 5.33% + Statements + 56/1050 +
    +
    + 0.78% + Branches + 6/767 +
    +
    + 3.87% + Functions + 7/181 +
    +
    + 5.33% + Lines + 56/1050 +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FileStatementsBranchesFunctionsLines
    core.js
    5.78%30/5190%0/3781.27%1/795.78%30/519
    events.js
    1.73%4/2310.68%1/1481.69%1/591.73%4/231
    extension.js
    48%12/2566.67%4/627.27%3/1148%12/25
    globals.js
    66.67%2/3100%0/00%0/166.67%2/3
    selection.js
    1.5%4/2670%0/2313.45%1/291.5%4/267
    version.js
    80%4/525%1/450%1/280%4/5
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/selection.js.html b/reports/jasmine/lcov/lcov-report/src/js/selection.js.html new file mode 100644 index 0000000..f2213b6 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/selection.js.html @@ -0,0 +1,2096 @@ + + + + Code coverage report for src/js/selection.js + + + + + + + +
    +
    +

    + all files / src/js/ selection.js +

    +
    +
    + 1.5% + Statements + 4/267 +
    +
    + 0% + Branches + 0/231 +
    +
    + 3.45% + Functions + 1/29 +
    +
    + 1.5% + Lines + 4/267 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +  +  + +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  + 
    (function () {
    +    'use strict';
    + 
    +    function filterOnlyParentElements(node) {
    +        if (MediumEditor.util.isBlockContainer(node)) {
    +            return NodeFilter.FILTER_ACCEPT;
    +        } else {
    +            return NodeFilter.FILTER_SKIP;
    +        }
    +    }
    + 
    +    var Selection = {
    +        findMatchingSelectionParent: function (testElementFunction, contentWindow) {
    +            var selection = contentWindow.getSelection(),
    +                range,
    +                current;
    + 
    +            if (selection.rangeCount === 0) {
    +                return false;
    +            }
    + 
    +            range = selection.getRangeAt(0);
    +            current = range.commonAncestorContainer;
    + 
    +            return MediumEditor.util.traverseUp(current, testElementFunction);
    +        },
    + 
    +        getSelectionElement: function (contentWindow) {
    +            return this.findMatchingSelectionParent(function (el) {
    +                return MediumEditor.util.isMediumEditorElement(el);
    +            }, contentWindow);
    +        },
    + 
    +        // http://stackoverflow.com/questions/17678843/cant-restore-selection-after-html-modify-even-if-its-the-same-html
    +        // Tim Down
    +        exportSelection: function (root, doc) {
    +            if (!root) {
    +                return null;
    +            }
    + 
    +            var selectionState = null,
    +                selection = doc.getSelection();
    + 
    +            if (selection.rangeCount > 0) {
    +                var range = selection.getRangeAt(0),
    +                    preSelectionRange = range.cloneRange(),
    +                    start;
    + 
    +                preSelectionRange.selectNodeContents(root);
    +                preSelectionRange.setEnd(range.startContainer, range.startOffset);
    +                start = preSelectionRange.toString().length;
    + 
    +                selectionState = {
    +                    start: start,
    +                    end: start + range.toString().length
    +                };
    + 
    +                // Check to see if the selection starts with any images
    +                // if so we need to make sure the the beginning of the selection is
    +                // set correctly when importing selection
    +                if (this.doesRangeStartWithImages(range, doc)) {
    +                    selectionState.startsWithImage = true;
    +                }
    + 
    +                // Check to see if the selection has any trailing images
    +                // if so, this this means we need to look for them when we import selection
    +                var trailingImageCount = this.getTrailingImageCount(root, selectionState, range.endContainer, range.endOffset);
    +                if (trailingImageCount) {
    +                    selectionState.trailingImageCount = trailingImageCount;
    +                }
    + 
    +                // If start = 0 there may still be an empty paragraph before it, but we don't care.
    +                if (start !== 0) {
    +                    var emptyBlocksIndex = this.getIndexRelativeToAdjacentEmptyBlocks(doc, root, range.startContainer, range.startOffset);
    +                    if (emptyBlocksIndex !== -1) {
    +                        selectionState.emptyBlocksIndex = emptyBlocksIndex;
    +                    }
    +                }
    +            }
    + 
    +            return selectionState;
    +        },
    + 
    +        // http://stackoverflow.com/questions/17678843/cant-restore-selection-after-html-modify-even-if-its-the-same-html
    +        // Tim Down
    +        //
    +        // {object} selectionState - the selection to import
    +        // {DOMElement} root - the root element the selection is being restored inside of
    +        // {Document} doc - the document to use for managing selection
    +        // {boolean} [favorLaterSelectionAnchor] - defaults to false. If true, import the cursor immediately
    +        //      subsequent to an anchor tag if it would otherwise be placed right at the trailing edge inside the
    +        //      anchor. This cursor positioning, even though visually equivalent to the user, can affect behavior
    +        //      in MS IE.
    +        importSelection: function (selectionState, root, doc, favorLaterSelectionAnchor) {
    +            if (!selectionState || !root) {
    +                return;
    +            }
    + 
    +            var range = doc.createRange();
    +            range.setStart(root, 0);
    +            range.collapse(true);
    + 
    +            var node = root,
    +                nodeStack = [],
    +                charIndex = 0,
    +                foundStart = false,
    +                foundEnd = false,
    +                trailingImageCount = 0,
    +                stop = false,
    +                nextCharIndex,
    +                allowRangeToStartAtEndOfNode = false,
    +                lastTextNode = null;
    + 
    +            // When importing selection, the start of the selection may lie at the end of an element
    +            // or at the beginning of an element.  Since visually there is no difference between these 2
    +            // we will try to move the selection to the beginning of an element since this is generally
    +            // what users will expect and it's a more predictable behavior.
    +            //
    +            // However, there are some specific cases when we don't want to do this:
    +            //  1) We're attempting to move the cursor outside of the end of an anchor [favorLaterSelectionAnchor = true]
    +            //  2) The selection starts with an image, which is special since an image doesn't have any 'content'
    +            //     as far as selection and ranges are concerned
    +            //  3) The selection starts after a specified number of empty block elements (selectionState.emptyBlocksIndex)
    +            //
    +            // For these cases, we want the selection to start at a very specific location, so we should NOT
    +            // automatically move the cursor to the beginning of the first actual chunk of text
    +            if (favorLaterSelectionAnchor || selectionState.startsWithImage || typeof selectionState.emptyBlocksIndex !== 'undefined') {
    +                allowRangeToStartAtEndOfNode = true;
    +            }
    + 
    +            while (!stop && node) {
    +                // Only iterate over elements and text nodes
    +                if (node.nodeType > 3) {
    +                    node = nodeStack.pop();
    +                    continue;
    +                }
    + 
    +                // If we hit a text node, we need to add the amount of characters to the overall count
    +                if (node.nodeType === 3 && !foundEnd) {
    +                    nextCharIndex = charIndex + node.length;
    +                    // Check if we're at or beyond the start of the selection we're importing
    +                    if (!foundStart && selectionState.start >= charIndex && selectionState.start <= nextCharIndex) {
    +                        // NOTE: We only want to allow a selection to start at the END of an element if
    +                        //  allowRangeToStartAtEndOfNode is true
    +                        if (allowRangeToStartAtEndOfNode || selectionState.start < nextCharIndex) {
    +                            range.setStart(node, selectionState.start - charIndex);
    +                            foundStart = true;
    +                        }
    +                        // We're at the end of a text node where the selection could start but we shouldn't
    +                        // make the selection start here because allowRangeToStartAtEndOfNode is false.
    +                        // However, we should keep a reference to this node in case there aren't any more
    +                        // text nodes after this, so that we have somewhere to import the selection to
    +                        else {
    +                            lastTextNode = node;
    +                        }
    +                    }
    +                    // We've found the start of the selection, check if we're at or beyond the end of the selection we're importing
    +                    if (foundStart && selectionState.end >= charIndex && selectionState.end <= nextCharIndex) {
    +                        if (!selectionState.trailingImageCount) {
    +                            range.setEnd(node, selectionState.end - charIndex);
    +                            stop = true;
    +                        } else {
    +                            foundEnd = true;
    +                        }
    +                    }
    +                    charIndex = nextCharIndex;
    +                } else {
    +                    if (selectionState.trailingImageCount && foundEnd) {
    +                        if (node.nodeName.toLowerCase() === 'img') {
    +                            trailingImageCount++;
    +                        }
    +                        if (trailingImageCount === selectionState.trailingImageCount) {
    +                            // Find which index the image is in its parent's children
    +                            var endIndex = 0;
    +                            while (node.parentNode.childNodes[endIndex] !== node) {
    +                                endIndex++;
    +                            }
    +                            range.setEnd(node.parentNode, endIndex + 1);
    +                            stop = true;
    +                        }
    +                    }
    + 
    +                    if (!stop && node.nodeType === 1) {
    +                        // this is an element
    +                        // add all its children to the stack
    +                        var i = node.childNodes.length - 1;
    +                        while (i >= 0) {
    +                            nodeStack.push(node.childNodes[i]);
    +                            i -= 1;
    +                        }
    +                    }
    +                }
    + 
    +                if (!stop) {
    +                    node = nodeStack.pop();
    +                }
    +            }
    + 
    +            // If we've gone through the entire text but didn't find the beginning of a text node
    +            // to make the selection start at, we should fall back to starting the selection
    +            // at the END of the last text node we found
    +            if (!foundStart && lastTextNode) {
    +                range.setStart(lastTextNode, lastTextNode.length);
    +                range.setEnd(lastTextNode, lastTextNode.length);
    +            }
    + 
    +            if (typeof selectionState.emptyBlocksIndex !== 'undefined') {
    +                range = this.importSelectionMoveCursorPastBlocks(doc, root, selectionState.emptyBlocksIndex, range);
    +            }
    + 
    +            // If the selection is right at the ending edge of a link, put it outside the anchor tag instead of inside.
    +            if (favorLaterSelectionAnchor) {
    +                range = this.importSelectionMoveCursorPastAnchor(selectionState, range);
    +            }
    + 
    +            this.selectRange(doc, range);
    +        },
    + 
    +        // Utility method called from importSelection only
    +        importSelectionMoveCursorPastAnchor: function (selectionState, range) {
    +            var nodeInsideAnchorTagFunction = function (node) {
    +                return node.nodeName.toLowerCase() === 'a';
    +            };
    +            if (selectionState.start === selectionState.end &&
    +                    range.startContainer.nodeType === 3 &&
    +                    range.startOffset === range.startContainer.nodeValue.length &&
    +                    MediumEditor.util.traverseUp(range.startContainer, nodeInsideAnchorTagFunction)) {
    +                var prevNode = range.startContainer,
    +                    currentNode = range.startContainer.parentNode;
    +                while (currentNode !== null && currentNode.nodeName.toLowerCase() !== 'a') {
    +                    if (currentNode.childNodes[currentNode.childNodes.length - 1] !== prevNode) {
    +                        currentNode = null;
    +                    } else {
    +                        prevNode = currentNode;
    +                        currentNode = currentNode.parentNode;
    +                    }
    +                }
    +                if (currentNode !== null && currentNode.nodeName.toLowerCase() === 'a') {
    +                    var currentNodeIndex = null;
    +                    for (var i = 0; currentNodeIndex === null && i < currentNode.parentNode.childNodes.length; i++) {
    +                        if (currentNode.parentNode.childNodes[i] === currentNode) {
    +                            currentNodeIndex = i;
    +                        }
    +                    }
    +                    range.setStart(currentNode.parentNode, currentNodeIndex + 1);
    +                    range.collapse(true);
    +                }
    +            }
    +            return range;
    +        },
    + 
    +        // Uses the emptyBlocksIndex calculated by getIndexRelativeToAdjacentEmptyBlocks
    +        // to move the cursor back to the start of the correct paragraph
    +        importSelectionMoveCursorPastBlocks: function (doc, root, index, range) {
    +            var treeWalker = doc.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, filterOnlyParentElements, false),
    +                startContainer = range.startContainer,
    +                startBlock,
    +                targetNode,
    +                currIndex = 0;
    +            index = index || 1; // If index is 0, we still want to move to the next block
    + 
    +            // Chrome counts newlines and spaces that separate block elements as actual elements.
    +            // If the selection is inside one of these text nodes, and it has a previous sibling
    +            // which is a block element, we want the treewalker to start at the previous sibling
    +            // and NOT at the parent of the textnode
    +            if (startContainer.nodeType === 3 && MediumEditor.util.isBlockContainer(startContainer.previousSibling)) {
    +                startBlock = startContainer.previousSibling;
    +            } else {
    +                startBlock = MediumEditor.util.getClosestBlockContainer(startContainer);
    +            }
    + 
    +            // Skip over empty blocks until we hit the block we want the selection to be in
    +            while (treeWalker.nextNode()) {
    +                if (!targetNode) {
    +                    // Loop through all blocks until we hit the starting block element
    +                    if (startBlock === treeWalker.currentNode) {
    +                        targetNode = treeWalker.currentNode;
    +                    }
    +                } else {
    +                    targetNode = treeWalker.currentNode;
    +                    currIndex++;
    +                    // We hit the target index, bail
    +                    if (currIndex === index) {
    +                        break;
    +                    }
    +                    // If we find a non-empty block, ignore the emptyBlocksIndex and just put selection here
    +                    if (targetNode.textContent.length > 0) {
    +                        break;
    +                    }
    +                }
    +            }
    + 
    +            if (!targetNode) {
    +                targetNode = startBlock;
    +            }
    + 
    +            // We're selecting a high-level block node, so make sure the cursor gets moved into the deepest
    +            // element at the beginning of the block
    +            range.setStart(MediumEditor.util.getFirstSelectableLeafNode(targetNode), 0);
    + 
    +            return range;
    +        },
    + 
    +        // Returns -1 unless the cursor is at the beginning of a paragraph/block
    +        // If the paragraph/block is preceeded by empty paragraphs/block (with no text)
    +        // it will return the number of empty paragraphs before the cursor.
    +        // Otherwise, it will return 0, which indicates the cursor is at the beginning
    +        // of a paragraph/block, and not at the end of the paragraph/block before it
    +        getIndexRelativeToAdjacentEmptyBlocks: function (doc, root, cursorContainer, cursorOffset) {
    +            // If there is text in front of the cursor, that means there isn't only empty blocks before it
    +            if (cursorContainer.textContent.length > 0 && cursorOffset > 0) {
    +                return -1;
    +            }
    + 
    +            // Check if the block that contains the cursor has any other text in front of the cursor
    +            var node = cursorContainer;
    +            if (node.nodeType !== 3) {
    +                node = cursorContainer.childNodes[cursorOffset];
    +            }
    +            if (node) {
    +                // The element isn't at the beginning of a block, so it has content before it
    +                if (!MediumEditor.util.isElementAtBeginningOfBlock(node)) {
    +                    return -1;
    +                }
    + 
    +                var previousSibling = MediumEditor.util.findPreviousSibling(node);
    +                // If there is no previous sibling, this is the first text element in the editor
    +                if (!previousSibling) {
    +                    return -1;
    +                }
    +                // If the previous sibling has text, then there are no empty blocks before this
    +                else if (previousSibling.nodeValue) {
    +                    return -1;
    +                }
    +            }
    + 
    +            // Walk over block elements, counting number of empty blocks between last piece of text
    +            // and the block the cursor is in
    +            var closestBlock = MediumEditor.util.getClosestBlockContainer(cursorContainer),
    +                treeWalker = doc.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, filterOnlyParentElements, false),
    +                emptyBlocksCount = 0;
    +            while (treeWalker.nextNode()) {
    +                var blockIsEmpty = treeWalker.currentNode.textContent === '';
    +                if (blockIsEmpty || emptyBlocksCount > 0) {
    +                    emptyBlocksCount += 1;
    +                }
    +                if (treeWalker.currentNode === closestBlock) {
    +                    return emptyBlocksCount;
    +                }
    +                if (!blockIsEmpty) {
    +                    emptyBlocksCount = 0;
    +                }
    +            }
    + 
    +            return emptyBlocksCount;
    +        },
    + 
    +        // Returns true if the selection range begins with an image tag
    +        // Returns false if the range starts with any non empty text nodes
    +        doesRangeStartWithImages: function (range, doc) {
    +            if (range.startOffset !== 0 || range.startContainer.nodeType !== 1) {
    +                return false;
    +            }
    + 
    +            if (range.startContainer.nodeName.toLowerCase() === 'img') {
    +                return true;
    +            }
    + 
    +            var img = range.startContainer.querySelector('img');
    +            if (!img) {
    +                return false;
    +            }
    + 
    +            var treeWalker = doc.createTreeWalker(range.startContainer, NodeFilter.SHOW_ALL, null, false);
    +            while (treeWalker.nextNode()) {
    +                var next = treeWalker.currentNode;
    +                // If we hit the image, then there isn't any text before the image so
    +                // the image is at the beginning of the range
    +                if (next === img) {
    +                    break;
    +                }
    +                // If we haven't hit the iamge, but found text that contains content
    +                // then the range doesn't start with an image
    +                if (next.nodeValue) {
    +                    return false;
    +                }
    +            }
    + 
    +            return true;
    +        },
    + 
    +        getTrailingImageCount: function (root, selectionState, endContainer, endOffset) {
    +            // If the endOffset of a range is 0, the endContainer doesn't contain images
    +            // If the endContainer is a text node, there are no trailing images
    +            if (endOffset === 0 || endContainer.nodeType !== 1) {
    +                return 0;
    +            }
    + 
    +            // If the endContainer isn't an image, and doesn't have an image descendants
    +            // there are no trailing images
    +            if (endContainer.nodeName.toLowerCase() !== 'img' && !endContainer.querySelector('img')) {
    +                return 0;
    +            }
    + 
    +            var lastNode = endContainer.childNodes[endOffset - 1];
    +            while (lastNode.hasChildNodes()) {
    +                lastNode = lastNode.lastChild;
    +            }
    + 
    +            var node = root,
    +                nodeStack = [],
    +                charIndex = 0,
    +                foundStart = false,
    +                foundEnd = false,
    +                stop = false,
    +                nextCharIndex,
    +                trailingImages = 0;
    + 
    +            while (!stop && node) {
    +                // Only iterate over elements and text nodes
    +                if (node.nodeType > 3) {
    +                    node = nodeStack.pop();
    +                    continue;
    +                }
    + 
    +                if (node.nodeType === 3 && !foundEnd) {
    +                    trailingImages = 0;
    +                    nextCharIndex = charIndex + node.length;
    +                    if (!foundStart && selectionState.start >= charIndex && selectionState.start <= nextCharIndex) {
    +                        foundStart = true;
    +                    }
    +                    if (foundStart && selectionState.end >= charIndex && selectionState.end <= nextCharIndex) {
    +                        foundEnd = true;
    +                    }
    +                    charIndex = nextCharIndex;
    +                } else {
    +                    if (node.nodeName.toLowerCase() === 'img') {
    +                        trailingImages++;
    +                    }
    + 
    +                    if (node === lastNode) {
    +                        stop = true;
    +                    } else if (node.nodeType === 1) {
    +                        // this is an element
    +                        // add all its children to the stack
    +                        var i = node.childNodes.length - 1;
    +                        while (i >= 0) {
    +                            nodeStack.push(node.childNodes[i]);
    +                            i -= 1;
    +                        }
    +                    }
    +                }
    + 
    +                if (!stop) {
    +                    node = nodeStack.pop();
    +                }
    +            }
    + 
    +            return trailingImages;
    +        },
    + 
    +        // determine if the current selection contains any 'content'
    +        // content being any non-white space text or an image
    +        selectionContainsContent: function (doc) {
    +            var sel = doc.getSelection();
    + 
    +            // collapsed selection or selection withour range doesn't contain content
    +            if (!sel || sel.isCollapsed || !sel.rangeCount) {
    +                return false;
    +            }
    + 
    +            // if toString() contains any text, the selection contains some content
    +            if (sel.toString().trim() !== '') {
    +                return true;
    +            }
    + 
    +            // if selection contains only image(s), it will return empty for toString()
    +            // so check for an image manually
    +            var selectionNode = this.getSelectedParentElement(sel.getRangeAt(0));
    +            if (selectionNode) {
    +                if (selectionNode.nodeName.toLowerCase() === 'img' ||
    +                    (selectionNode.nodeType === 1 && selectionNode.querySelector('img'))) {
    +                    return true;
    +                }
    +            }
    + 
    +            return false;
    +        },
    + 
    +        selectionInContentEditableFalse: function (contentWindow) {
    +            // determine if the current selection is exclusively inside
    +            // a contenteditable="false", though treat the case of an
    +            // explicit contenteditable="true" inside a "false" as false.
    +            var sawtrue,
    +                sawfalse = this.findMatchingSelectionParent(function (el) {
    +                    var ce = el && el.getAttribute('contenteditable');
    +                    if (ce === 'true') {
    +                        sawtrue = true;
    +                    }
    +                    return el.nodeName !== '#text' && ce === 'false';
    +                }, contentWindow);
    + 
    +            return !sawtrue && sawfalse;
    +        },
    + 
    +        // http://stackoverflow.com/questions/4176923/html-of-selected-text
    +        // by Tim Down
    +        getSelectionHtml: function getSelectionHtml(doc) {
    +            var i,
    +                html = '',
    +                sel = doc.getSelection(),
    +                len,
    +                container;
    +            if (sel.rangeCount) {
    +                container = doc.createElement('div');
    +                for (i = 0, len = sel.rangeCount; i < len; i += 1) {
    +                    container.appendChild(sel.getRangeAt(i).cloneContents());
    +                }
    +                html = container.innerHTML;
    +            }
    +            return html;
    +        },
    + 
    +        /**
    +         *  Find the caret position within an element irrespective of any inline tags it may contain.
    +         *
    +         *  @param {DOMElement} An element containing the cursor to find offsets relative to.
    +         *  @param {Range} A Range representing cursor position. Will window.getSelection if none is passed.
    +         *  @return {Object} 'left' and 'right' attributes contain offsets from begining and end of Element
    +         */
    +        getCaretOffsets: function getCaretOffsets(element, range) {
    +            var preCaretRange, postCaretRange;
    + 
    +            if (!range) {
    +                range = window.getSelection().getRangeAt(0);
    +            }
    + 
    +            preCaretRange = range.cloneRange();
    +            postCaretRange = range.cloneRange();
    + 
    +            preCaretRange.selectNodeContents(element);
    +            preCaretRange.setEnd(range.endContainer, range.endOffset);
    + 
    +            postCaretRange.selectNodeContents(element);
    +            postCaretRange.setStart(range.endContainer, range.endOffset);
    + 
    +            return {
    +                left: preCaretRange.toString().length,
    +                right: postCaretRange.toString().length
    +            };
    +        },
    + 
    +        // http://stackoverflow.com/questions/15867542/range-object-get-selection-parent-node-chrome-vs-firefox
    +        rangeSelectsSingleNode: function (range) {
    +            var startNode = range.startContainer;
    +            return startNode === range.endContainer &&
    +                startNode.hasChildNodes() &&
    +                range.endOffset === range.startOffset + 1;
    +        },
    + 
    +        getSelectedParentElement: function (range) {
    +            if (!range) {
    +                return null;
    +            }
    + 
    +            // Selection encompasses a single element
    +            if (this.rangeSelectsSingleNode(range) && range.startContainer.childNodes[range.startOffset].nodeType !== 3) {
    +                return range.startContainer.childNodes[range.startOffset];
    +            }
    + 
    +            // Selection range starts inside a text node, so get its parent
    +            if (range.startContainer.nodeType === 3) {
    +                return range.startContainer.parentNode;
    +            }
    + 
    +            // Selection starts inside an element
    +            return range.startContainer;
    +        },
    + 
    +        getSelectedElements: function (doc) {
    +            var selection = doc.getSelection(),
    +                range,
    +                toRet,
    +                currNode;
    + 
    +            if (!selection.rangeCount || selection.isCollapsed || !selection.getRangeAt(0).commonAncestorContainer) {
    +                return [];
    +            }
    + 
    +            range = selection.getRangeAt(0);
    + 
    +            if (range.commonAncestorContainer.nodeType === 3) {
    +                toRet = [];
    +                currNode = range.commonAncestorContainer;
    +                while (currNode.parentNode && currNode.parentNode.childNodes.length === 1) {
    +                    toRet.push(currNode.parentNode);
    +                    currNode = currNode.parentNode;
    +                }
    + 
    +                return toRet;
    +            }
    + 
    +            return [].filter.call(range.commonAncestorContainer.getElementsByTagName('*'), function (el) {
    +                return (typeof selection.containsNode === 'function') ? selection.containsNode(el, true) : true;
    +            });
    +        },
    + 
    +        selectNode: function (node, doc) {
    +            var range = doc.createRange();
    +            range.selectNodeContents(node);
    +            this.selectRange(doc, range);
    +        },
    + 
    +        select: function (doc, startNode, startOffset, endNode, endOffset) {
    +            var range = doc.createRange();
    +            range.setStart(startNode, startOffset);
    +            if (endNode) {
    +                range.setEnd(endNode, endOffset);
    +            } else {
    +                range.collapse(true);
    +            }
    +            this.selectRange(doc, range);
    +            return range;
    +        },
    + 
    +        /**
    +         *  Clear the current highlighted selection and set the caret to the start or the end of that prior selection, defaults to end.
    +         *
    +         *  @param {DomDocument} doc            Current document
    +         *  @param {boolean} moveCursorToStart  A boolean representing whether or not to set the caret to the beginning of the prior selection.
    +         */
    +        clearSelection: function (doc, moveCursorToStart) {
    +            if (moveCursorToStart) {
    +                doc.getSelection().collapseToStart();
    +            } else {
    +                doc.getSelection().collapseToEnd();
    +            }
    +        },
    + 
    +        /**
    +         * Move cursor to the given node with the given offset.
    +         *
    +         * @param  {DomDocument} doc     Current document
    +         * @param  {DomElement}  node    Element where to jump
    +         * @param  {integer}     offset  Where in the element should we jump, 0 by default
    +         */
    +        moveCursor: function (doc, node, offset) {
    +            this.select(doc, node, offset);
    +        },
    + 
    +        getSelectionRange: function (ownerDocument) {
    +            var selection = ownerDocument.getSelection();
    +            if (selection.rangeCount === 0) {
    +                return null;
    +            }
    +            return selection.getRangeAt(0);
    +        },
    + 
    +        selectRange: function (ownerDocument, range) {
    +            var selection = ownerDocument.getSelection();
    + 
    +            selection.removeAllRanges();
    +            selection.addRange(range);
    +        },
    + 
    +        // http://stackoverflow.com/questions/1197401/how-can-i-get-the-element-the-caret-is-in-with-javascript-when-using-contentedi
    +        // by You
    +        getSelectionStart: function (ownerDocument) {
    +            var node = ownerDocument.getSelection().anchorNode,
    +                startNode = (node && node.nodeType === 3 ? node.parentNode : node);
    + 
    +            return startNode;
    +        }
    +    };
    + 
    +    MediumEditor.selection = Selection;
    +}());
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov-report/src/js/version.js.html b/reports/jasmine/lcov/lcov-report/src/js/version.js.html new file mode 100644 index 0000000..86cdde8 --- /dev/null +++ b/reports/jasmine/lcov/lcov-report/src/js/version.js.html @@ -0,0 +1,122 @@ + + + + Code coverage report for src/js/version.js + + + + + + + +
    +
    +

    + all files / src/js/ version.js +

    +
    +
    + 80% + Statements + 4/5 +
    +
    + 25% + Branches + 1/4 +
    +
    + 50% + Functions + 1/2 +
    +
    + 80% + Lines + 4/5 +
    +
    +
    +
    +
    
    +
    +
    1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 + +  +  + +  +  +  +  +  +  +  +  +  +  + +  +  +  + 
    MediumEditor.parseVersionString = function (release) {
    +    var split = release.split('-'),
    +        version = split[0].split('.'),
    +        preRelease = (split.length > 1) ? split[1] : '';
    +    return {
    +        major: parseInt(version[0], 10),
    +        minor: parseInt(version[1], 10),
    +        revision: parseInt(version[2], 10),
    +        preRelease: preRelease,
    +        toString: function () {
    +            return [version[0], version[1], version[2]].join('.') + (preRelease ? '-' + preRelease : '');
    +        }
    +    };
    +};
    + 
    +MediumEditor.version = MediumEditor.parseVersionString.call(this, ({
    +    // grunt-bump looks for this:
    +    'version': '6.0.0'
    +}).version);
    + 
    +
    +
    + + + + + + + diff --git a/reports/jasmine/lcov/lcov.info b/reports/jasmine/lcov/lcov.info new file mode 100644 index 0000000..8105b2d --- /dev/null +++ b/reports/jasmine/lcov/lcov.info @@ -0,0 +1,7660 @@ +TN: +SF:src/js/globals.js +FN:2,MediumEditor +FNF:1 +FNH:0 +FNDA:0,MediumEditor +DA:2,1 +DA:4,0 +DA:7,1 +LF:3 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/js/extension.js +FN:1,(anonymous_1) +FN:4,(anonymous_2) +FN:8,(anonymous_3) +FN:43,(anonymous_4) +FN:53,(anonymous_5) +FN:76,(anonymous_6) +FN:223,(anonymous_7) +FN:232,(anonymous_8) +FN:241,(anonymous_9) +FN:265,(anonymous_10) +FN:266,(anonymous_11) +FNF:11 +FNH:3 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:8,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:5,(anonymous_10) +FNDA:0,(anonymous_11) +DA:1,1 +DA:4,1 +DA:5,0 +DA:8,1 +DA:33,8 +DA:40,8 +DA:41,1 +DA:43,7 +DA:44,0 +DA:49,8 +DA:53,0 +DA:54,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:65,0 +DA:68,1 +DA:224,0 +DA:233,0 +DA:242,0 +DA:255,1 +DA:266,5 +DA:267,0 +DA:271,1 +LF:25 +LH:12 +BRDA:40,1,0,1 +BRDA:40,1,1,7 +BRDA:40,2,0,8 +BRDA:40,2,1,8 +BRDA:59,3,0,0 +BRDA:59,3,1,0 +BRF:6 +BRH:4 +end_of_record +TN: +SF:src/js/selection.js +FN:1,(anonymous_1) +FN:4,filterOnlyParentElements +FN:13,(anonymous_3) +FN:28,(anonymous_4) +FN:29,(anonymous_5) +FN:36,(anonymous_6) +FN:94,(anonymous_7) +FN:220,(anonymous_8) +FN:221,(anonymous_9) +FN:254,(anonymous_10) +FN:309,(anonymous_11) +FN:360,(anonymous_12) +FN:392,(anonymous_13) +FN:464,(anonymous_14) +FN:490,(anonymous_15) +FN:495,(anonymous_16) +FN:508,getSelectionHtml +FN:531,getCaretOffsets +FN:554,(anonymous_19) +FN:561,(anonymous_20) +FN:580,(anonymous_21) +FN:603,(anonymous_22) +FN:608,(anonymous_23) +FN:614,(anonymous_24) +FN:632,(anonymous_25) +FN:647,(anonymous_26) +FN:651,(anonymous_27) +FN:659,(anonymous_28) +FN:668,(anonymous_29) +FNF:29 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,filterOnlyParentElements +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,getSelectionHtml +FNDA:0,getCaretOffsets +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +DA:1,1 +DA:4,1 +DA:5,0 +DA:6,0 +DA:8,0 +DA:12,1 +DA:14,0 +DA:18,0 +DA:19,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:29,0 +DA:30,0 +DA:37,0 +DA:38,0 +DA:41,0 +DA:44,0 +DA:45,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:53,0 +DA:61,0 +DA:62,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:81,0 +DA:95,0 +DA:96,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:103,0 +DA:127,0 +DA:128,0 +DA:131,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:139,0 +DA:140,0 +DA:142,0 +DA:145,0 +DA:146,0 +DA:147,0 +DA:154,0 +DA:158,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:163,0 +DA:166,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:172,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:178,0 +DA:179,0 +DA:183,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:194,0 +DA:195,0 +DA:202,0 +DA:203,0 +DA:204,0 +DA:207,0 +DA:208,0 +DA:212,0 +DA:213,0 +DA:216,0 +DA:221,0 +DA:222,0 +DA:224,0 +DA:228,0 +DA:230,0 +DA:231,0 +DA:232,0 +DA:234,0 +DA:235,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:241,0 +DA:242,0 +DA:245,0 +DA:246,0 +DA:249,0 +DA:255,0 +DA:260,0 +DA:266,0 +DA:267,0 +DA:269,0 +DA:273,0 +DA:274,0 +DA:276,0 +DA:277,0 +DA:280,0 +DA:281,0 +DA:283,0 +DA:284,0 +DA:287,0 +DA:288,0 +DA:293,0 +DA:294,0 +DA:299,0 +DA:301,0 +DA:311,0 +DA:312,0 +DA:316,0 +DA:317,0 +DA:318,0 +DA:320,0 +DA:322,0 +DA:323,0 +DA:326,0 +DA:328,0 +DA:329,0 +DA:332,0 +DA:333,0 +DA:339,0 +DA:342,0 +DA:343,0 +DA:344,0 +DA:345,0 +DA:347,0 +DA:348,0 +DA:350,0 +DA:351,0 +DA:355,0 +DA:361,0 +DA:362,0 +DA:365,0 +DA:366,0 +DA:369,0 +DA:370,0 +DA:371,0 +DA:374,0 +DA:375,0 +DA:376,0 +DA:379,0 +DA:380,0 +DA:384,0 +DA:385,0 +DA:389,0 +DA:395,0 +DA:396,0 +DA:401,0 +DA:402,0 +DA:405,0 +DA:406,0 +DA:407,0 +DA:410,0 +DA:419,0 +DA:421,0 +DA:422,0 +DA:423,0 +DA:426,0 +DA:427,0 +DA:428,0 +DA:429,0 +DA:430,0 +DA:432,0 +DA:433,0 +DA:435,0 +DA:437,0 +DA:438,0 +DA:441,0 +DA:442,0 +DA:443,0 +DA:446,0 +DA:447,0 +DA:448,0 +DA:449,0 +DA:454,0 +DA:455,0 +DA:459,0 +DA:465,0 +DA:468,0 +DA:469,0 +DA:473,0 +DA:474,0 +DA:479,0 +DA:480,0 +DA:481,0 +DA:483,0 +DA:487,0 +DA:494,0 +DA:496,0 +DA:497,0 +DA:498,0 +DA:500,0 +DA:503,0 +DA:509,0 +DA:514,0 +DA:515,0 +DA:516,0 +DA:517,0 +DA:519,0 +DA:521,0 +DA:532,0 +DA:534,0 +DA:535,0 +DA:538,0 +DA:539,0 +DA:541,0 +DA:542,0 +DA:544,0 +DA:545,0 +DA:547,0 +DA:555,0 +DA:556,0 +DA:562,0 +DA:563,0 +DA:567,0 +DA:568,0 +DA:572,0 +DA:573,0 +DA:577,0 +DA:581,0 +DA:586,0 +DA:587,0 +DA:590,0 +DA:592,0 +DA:593,0 +DA:594,0 +DA:595,0 +DA:596,0 +DA:597,0 +DA:600,0 +DA:603,0 +DA:604,0 +DA:609,0 +DA:610,0 +DA:611,0 +DA:615,0 +DA:616,0 +DA:617,0 +DA:618,0 +DA:620,0 +DA:622,0 +DA:623,0 +DA:633,0 +DA:634,0 +DA:636,0 +DA:648,0 +DA:652,0 +DA:653,0 +DA:654,0 +DA:656,0 +DA:660,0 +DA:662,0 +DA:663,0 +DA:669,0 +DA:672,0 +DA:676,1 +LF:267 +LH:4 +BRDA:5,1,0,0 +BRDA:5,1,1,0 +BRDA:18,2,0,0 +BRDA:18,2,1,0 +BRDA:37,3,0,0 +BRDA:37,3,1,0 +BRDA:44,4,0,0 +BRDA:44,4,1,0 +BRDA:61,5,0,0 +BRDA:61,5,1,0 +BRDA:68,6,0,0 +BRDA:68,6,1,0 +BRDA:73,7,0,0 +BRDA:73,7,1,0 +BRDA:75,8,0,0 +BRDA:75,8,1,0 +BRDA:95,9,0,0 +BRDA:95,9,1,0 +BRDA:95,10,0,0 +BRDA:95,10,1,0 +BRDA:127,11,0,0 +BRDA:127,11,1,0 +BRDA:127,12,0,0 +BRDA:127,12,1,0 +BRDA:127,12,2,0 +BRDA:131,13,0,0 +BRDA:131,13,1,0 +BRDA:133,14,0,0 +BRDA:133,14,1,0 +BRDA:139,15,0,0 +BRDA:139,15,1,0 +BRDA:139,16,0,0 +BRDA:139,16,1,0 +BRDA:142,17,0,0 +BRDA:142,17,1,0 +BRDA:142,18,0,0 +BRDA:142,18,1,0 +BRDA:142,18,2,0 +BRDA:145,19,0,0 +BRDA:145,19,1,0 +BRDA:145,20,0,0 +BRDA:145,20,1,0 +BRDA:158,21,0,0 +BRDA:158,21,1,0 +BRDA:158,22,0,0 +BRDA:158,22,1,0 +BRDA:158,22,2,0 +BRDA:159,23,0,0 +BRDA:159,23,1,0 +BRDA:168,24,0,0 +BRDA:168,24,1,0 +BRDA:168,25,0,0 +BRDA:168,25,1,0 +BRDA:169,26,0,0 +BRDA:169,26,1,0 +BRDA:172,27,0,0 +BRDA:172,27,1,0 +BRDA:183,28,0,0 +BRDA:183,28,1,0 +BRDA:183,29,0,0 +BRDA:183,29,1,0 +BRDA:194,30,0,0 +BRDA:194,30,1,0 +BRDA:202,31,0,0 +BRDA:202,31,1,0 +BRDA:202,32,0,0 +BRDA:202,32,1,0 +BRDA:207,33,0,0 +BRDA:207,33,1,0 +BRDA:212,34,0,0 +BRDA:212,34,1,0 +BRDA:224,35,0,0 +BRDA:224,35,1,0 +BRDA:224,36,0,0 +BRDA:224,36,1,0 +BRDA:224,36,2,0 +BRDA:224,36,3,0 +BRDA:230,37,0,0 +BRDA:230,37,1,0 +BRDA:231,38,0,0 +BRDA:231,38,1,0 +BRDA:238,39,0,0 +BRDA:238,39,1,0 +BRDA:238,40,0,0 +BRDA:238,40,1,0 +BRDA:240,41,0,0 +BRDA:240,41,1,0 +BRDA:241,42,0,0 +BRDA:241,42,1,0 +BRDA:260,43,0,0 +BRDA:260,43,1,0 +BRDA:266,44,0,0 +BRDA:266,44,1,0 +BRDA:266,45,0,0 +BRDA:266,45,1,0 +BRDA:274,46,0,0 +BRDA:274,46,1,0 +BRDA:276,47,0,0 +BRDA:276,47,1,0 +BRDA:283,48,0,0 +BRDA:283,48,1,0 +BRDA:287,49,0,0 +BRDA:287,49,1,0 +BRDA:293,50,0,0 +BRDA:293,50,1,0 +BRDA:311,51,0,0 +BRDA:311,51,1,0 +BRDA:311,52,0,0 +BRDA:311,52,1,0 +BRDA:317,53,0,0 +BRDA:317,53,1,0 +BRDA:320,54,0,0 +BRDA:320,54,1,0 +BRDA:322,55,0,0 +BRDA:322,55,1,0 +BRDA:328,56,0,0 +BRDA:328,56,1,0 +BRDA:332,57,0,0 +BRDA:332,57,1,0 +BRDA:344,58,0,0 +BRDA:344,58,1,0 +BRDA:344,59,0,0 +BRDA:344,59,1,0 +BRDA:347,60,0,0 +BRDA:347,60,1,0 +BRDA:350,61,0,0 +BRDA:350,61,1,0 +BRDA:361,62,0,0 +BRDA:361,62,1,0 +BRDA:361,63,0,0 +BRDA:361,63,1,0 +BRDA:365,64,0,0 +BRDA:365,64,1,0 +BRDA:370,65,0,0 +BRDA:370,65,1,0 +BRDA:379,66,0,0 +BRDA:379,66,1,0 +BRDA:384,67,0,0 +BRDA:384,67,1,0 +BRDA:395,68,0,0 +BRDA:395,68,1,0 +BRDA:395,69,0,0 +BRDA:395,69,1,0 +BRDA:401,70,0,0 +BRDA:401,70,1,0 +BRDA:401,71,0,0 +BRDA:401,71,1,0 +BRDA:419,72,0,0 +BRDA:419,72,1,0 +BRDA:421,73,0,0 +BRDA:421,73,1,0 +BRDA:426,74,0,0 +BRDA:426,74,1,0 +BRDA:426,75,0,0 +BRDA:426,75,1,0 +BRDA:429,76,0,0 +BRDA:429,76,1,0 +BRDA:429,77,0,0 +BRDA:429,77,1,0 +BRDA:429,77,2,0 +BRDA:432,78,0,0 +BRDA:432,78,1,0 +BRDA:432,79,0,0 +BRDA:432,79,1,0 +BRDA:432,79,2,0 +BRDA:437,80,0,0 +BRDA:437,80,1,0 +BRDA:441,81,0,0 +BRDA:441,81,1,0 +BRDA:443,82,0,0 +BRDA:443,82,1,0 +BRDA:454,83,0,0 +BRDA:454,83,1,0 +BRDA:468,84,0,0 +BRDA:468,84,1,0 +BRDA:468,85,0,0 +BRDA:468,85,1,0 +BRDA:468,85,2,0 +BRDA:473,86,0,0 +BRDA:473,86,1,0 +BRDA:480,87,0,0 +BRDA:480,87,1,0 +BRDA:481,88,0,0 +BRDA:481,88,1,0 +BRDA:481,89,0,0 +BRDA:481,89,1,0 +BRDA:481,89,2,0 +BRDA:496,90,0,0 +BRDA:496,90,1,0 +BRDA:497,91,0,0 +BRDA:497,91,1,0 +BRDA:500,92,0,0 +BRDA:500,92,1,0 +BRDA:503,93,0,0 +BRDA:503,93,1,0 +BRDA:514,94,0,0 +BRDA:514,94,1,0 +BRDA:534,95,0,0 +BRDA:534,95,1,0 +BRDA:556,96,0,0 +BRDA:556,96,1,0 +BRDA:556,96,2,0 +BRDA:562,97,0,0 +BRDA:562,97,1,0 +BRDA:567,98,0,0 +BRDA:567,98,1,0 +BRDA:567,99,0,0 +BRDA:567,99,1,0 +BRDA:572,100,0,0 +BRDA:572,100,1,0 +BRDA:586,101,0,0 +BRDA:586,101,1,0 +BRDA:586,102,0,0 +BRDA:586,102,1,0 +BRDA:586,102,2,0 +BRDA:592,103,0,0 +BRDA:592,103,1,0 +BRDA:595,104,0,0 +BRDA:595,104,1,0 +BRDA:604,105,0,0 +BRDA:604,105,1,0 +BRDA:617,106,0,0 +BRDA:617,106,1,0 +BRDA:633,107,0,0 +BRDA:633,107,1,0 +BRDA:653,108,0,0 +BRDA:653,108,1,0 +BRDA:670,109,0,0 +BRDA:670,109,1,0 +BRDA:670,110,0,0 +BRDA:670,110,1,0 +BRF:231 +BRH:0 +end_of_record +TN: +SF:src/js/events.js +FN:1,(anonymous_1) +FN:4,isElementDescendantOfExtension +FN:9,(anonymous_3) +FN:22,(anonymous_4) +FN:28,(anonymous_5) +FN:42,(anonymous_6) +FN:48,(anonymous_7) +FN:54,(anonymous_8) +FN:62,(anonymous_9) +FN:72,(anonymous_10) +FN:83,(anonymous_11) +FN:91,(anonymous_12) +FN:92,(anonymous_13) +FN:103,(anonymous_14) +FN:109,(anonymous_15) +FN:115,(anonymous_16) +FN:121,(anonymous_17) +FN:126,(anonymous_18) +FN:134,(anonymous_19) +FN:142,(anonymous_20) +FN:150,(anonymous_21) +FN:155,(anonymous_22) +FN:157,(anonymous_23) +FN:165,(anonymous_24) +FN:171,(anonymous_25) +FN:180,(anonymous_26) +FN:188,(anonymous_27) +FN:200,(anonymous_28) +FN:219,(anonymous_29) +FN:228,(anonymous_30) +FN:230,(anonymous_31) +FN:246,(anonymous_32) +FN:273,(anonymous_33) +FN:284,(anonymous_34) +FN:307,(anonymous_35) +FN:385,(anonymous_36) +FN:391,(anonymous_37) +FN:398,(anonymous_38) +FN:408,(anonymous_39) +FN:413,(anonymous_40) +FN:428,(anonymous_41) +FN:465,(anonymous_42) +FN:481,(anonymous_43) +FN:491,(anonymous_44) +FN:506,(anonymous_45) +FN:516,(anonymous_46) +FN:520,(anonymous_47) +FN:524,(anonymous_48) +FN:528,(anonymous_49) +FN:532,(anonymous_50) +FN:536,(anonymous_51) +FN:540,(anonymous_52) +FN:550,(anonymous_53) +FN:556,(anonymous_54) +FN:560,(anonymous_55) +FN:564,(anonymous_56) +FN:568,(anonymous_57) +FN:572,(anonymous_58) +FN:576,(anonymous_59) +FNF:59 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,isElementDescendantOfExtension +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,(anonymous_31) +FNDA:0,(anonymous_32) +FNDA:0,(anonymous_33) +FNDA:0,(anonymous_34) +FNDA:0,(anonymous_35) +FNDA:0,(anonymous_36) +FNDA:0,(anonymous_37) +FNDA:0,(anonymous_38) +FNDA:0,(anonymous_39) +FNDA:0,(anonymous_40) +FNDA:0,(anonymous_41) +FNDA:0,(anonymous_42) +FNDA:0,(anonymous_43) +FNDA:0,(anonymous_44) +FNDA:0,(anonymous_45) +FNDA:0,(anonymous_46) +FNDA:0,(anonymous_47) +FNDA:0,(anonymous_48) +FNDA:0,(anonymous_49) +FNDA:0,(anonymous_50) +FNDA:0,(anonymous_51) +FNDA:0,(anonymous_52) +FNDA:0,(anonymous_53) +FNDA:0,(anonymous_54) +FNDA:0,(anonymous_55) +FNDA:0,(anonymous_56) +FNDA:0,(anonymous_57) +FNDA:0,(anonymous_58) +FNDA:0,(anonymous_59) +DA:1,1 +DA:4,1 +DA:5,0 +DA:6,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:23,0 +DA:28,1 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:37,1 +DA:43,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:55,0 +DA:59,0 +DA:60,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:80,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:92,0 +DA:93,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:104,0 +DA:105,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:116,0 +DA:117,0 +DA:122,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:131,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:143,0 +DA:144,0 +DA:147,0 +DA:151,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:166,0 +DA:167,0 +DA:168,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:181,0 +DA:182,0 +DA:188,0 +DA:189,0 +DA:193,0 +DA:196,0 +DA:201,0 +DA:202,0 +DA:203,0 +DA:207,0 +DA:208,0 +DA:209,0 +DA:213,0 +DA:214,0 +DA:220,0 +DA:223,0 +DA:224,0 +DA:228,0 +DA:229,0 +DA:230,0 +DA:231,0 +DA:247,0 +DA:249,0 +DA:250,0 +DA:253,0 +DA:254,0 +DA:256,0 +DA:260,0 +DA:263,0 +DA:266,0 +DA:269,0 +DA:274,0 +DA:275,0 +DA:276,0 +DA:280,0 +DA:285,0 +DA:286,0 +DA:289,0 +DA:292,0 +DA:293,0 +DA:294,0 +DA:295,0 +DA:298,0 +DA:299,0 +DA:302,0 +DA:303,0 +DA:306,0 +DA:307,0 +DA:308,0 +DA:312,0 +DA:313,0 +DA:318,0 +DA:319,0 +DA:320,0 +DA:321,0 +DA:323,0 +DA:325,0 +DA:328,0 +DA:329,0 +DA:332,0 +DA:333,0 +DA:336,0 +DA:337,0 +DA:340,0 +DA:341,0 +DA:344,0 +DA:345,0 +DA:348,0 +DA:349,0 +DA:352,0 +DA:353,0 +DA:356,0 +DA:357,0 +DA:360,0 +DA:361,0 +DA:364,0 +DA:365,0 +DA:370,0 +DA:382,0 +DA:387,0 +DA:388,0 +DA:391,0 +DA:392,0 +DA:395,0 +DA:399,0 +DA:400,0 +DA:401,0 +DA:402,0 +DA:403,0 +DA:409,0 +DA:410,0 +DA:414,0 +DA:419,0 +DA:424,0 +DA:427,0 +DA:428,0 +DA:430,0 +DA:431,0 +DA:435,0 +DA:440,0 +DA:443,0 +DA:446,0 +DA:448,0 +DA:449,0 +DA:453,0 +DA:455,0 +DA:456,0 +DA:460,0 +DA:461,0 +DA:466,0 +DA:467,0 +DA:471,0 +DA:474,0 +DA:476,0 +DA:478,0 +DA:486,0 +DA:487,0 +DA:491,0 +DA:492,0 +DA:493,0 +DA:494,0 +DA:496,0 +DA:500,0 +DA:501,0 +DA:510,0 +DA:511,0 +DA:512,0 +DA:517,0 +DA:521,0 +DA:525,0 +DA:529,0 +DA:533,0 +DA:537,0 +DA:541,0 +DA:545,0 +DA:546,0 +DA:550,0 +DA:551,0 +DA:557,0 +DA:561,0 +DA:565,0 +DA:569,0 +DA:573,0 +DA:577,0 +DA:579,0 +DA:580,0 +DA:583,0 +DA:584,0 +DA:587,0 +DA:588,0 +DA:591,0 +DA:592,0 +DA:597,0 +LF:231 +LH:4 +BRDA:5,1,0,0 +BRDA:5,1,1,0 +BRDA:10,2,0,0 +BRDA:10,2,1,0 +BRDA:15,3,0,0 +BRDA:15,3,1,0 +BRDA:19,4,0,0 +BRDA:19,4,1,0 +BRDA:38,5,0,1 +BRDA:38,5,1,0 +BRDA:46,6,0,0 +BRDA:46,6,1,0 +BRDA:46,7,0,0 +BRDA:46,7,1,0 +BRDA:59,8,0,0 +BRDA:59,8,1,0 +BRDA:60,9,0,0 +BRDA:60,9,1,0 +BRDA:60,10,0,0 +BRDA:60,10,1,0 +BRDA:64,11,0,0 +BRDA:64,11,1,0 +BRDA:76,12,0,0 +BRDA:76,12,1,0 +BRDA:76,13,0,0 +BRDA:76,13,1,0 +BRDA:76,13,2,0 +BRDA:76,13,3,0 +BRDA:93,14,0,0 +BRDA:93,14,1,0 +BRDA:93,14,2,0 +BRDA:104,15,0,0 +BRDA:104,15,1,0 +BRDA:108,16,0,0 +BRDA:108,16,1,0 +BRDA:116,17,0,0 +BRDA:116,17,1,0 +BRDA:128,18,0,0 +BRDA:128,18,1,0 +BRDA:136,19,0,0 +BRDA:136,19,1,0 +BRDA:143,20,0,0 +BRDA:143,20,1,0 +BRDA:143,21,0,0 +BRDA:143,21,1,0 +BRDA:156,22,0,0 +BRDA:156,22,1,0 +BRDA:156,23,0,0 +BRDA:156,23,1,0 +BRDA:170,24,0,0 +BRDA:170,24,1,0 +BRDA:181,25,0,0 +BRDA:181,25,1,0 +BRDA:202,26,0,0 +BRDA:202,26,1,0 +BRDA:202,27,0,0 +BRDA:202,27,1,0 +BRDA:208,28,0,0 +BRDA:208,28,1,0 +BRDA:213,29,0,0 +BRDA:213,29,1,0 +BRDA:223,30,0,0 +BRDA:223,30,1,0 +BRDA:229,31,0,0 +BRDA:229,31,1,0 +BRDA:249,32,0,0 +BRDA:249,32,1,0 +BRDA:275,33,0,0 +BRDA:275,33,1,0 +BRDA:285,34,0,0 +BRDA:285,34,1,0 +BRDA:289,35,0,0 +BRDA:289,35,1,0 +BRDA:289,35,2,0 +BRDA:289,35,3,0 +BRDA:289,35,4,0 +BRDA:289,35,5,0 +BRDA:289,35,6,0 +BRDA:289,35,7,0 +BRDA:289,35,8,0 +BRDA:289,35,9,0 +BRDA:289,35,10,0 +BRDA:289,35,11,0 +BRDA:289,35,12,0 +BRDA:289,35,13,0 +BRDA:289,35,14,0 +BRDA:312,36,0,0 +BRDA:312,36,1,0 +BRDA:318,37,0,0 +BRDA:318,37,1,0 +BRDA:387,38,0,0 +BRDA:387,38,1,0 +BRDA:400,39,0,0 +BRDA:400,39,1,0 +BRDA:402,40,0,0 +BRDA:402,40,1,0 +BRDA:419,41,0,0 +BRDA:419,41,1,0 +BRDA:419,42,0,0 +BRDA:419,42,1,0 +BRDA:419,42,2,0 +BRDA:419,42,3,0 +BRDA:419,42,4,0 +BRDA:427,43,0,0 +BRDA:427,43,1,0 +BRDA:430,44,0,0 +BRDA:430,44,1,0 +BRDA:430,45,0,0 +BRDA:430,45,1,0 +BRDA:440,46,0,0 +BRDA:440,46,1,0 +BRDA:443,47,0,0 +BRDA:443,47,1,0 +BRDA:446,48,0,0 +BRDA:446,48,1,0 +BRDA:446,49,0,0 +BRDA:446,49,1,0 +BRDA:453,50,0,0 +BRDA:453,50,1,0 +BRDA:460,51,0,0 +BRDA:460,51,1,0 +BRDA:466,52,0,0 +BRDA:466,52,1,0 +BRDA:474,53,0,0 +BRDA:474,53,1,0 +BRDA:486,54,0,0 +BRDA:486,54,1,0 +BRDA:486,55,0,0 +BRDA:486,55,1,0 +BRDA:492,56,0,0 +BRDA:492,56,1,0 +BRDA:500,57,0,0 +BRDA:500,57,1,0 +BRDA:511,58,0,0 +BRDA:511,58,1,0 +BRDA:545,59,0,0 +BRDA:545,59,1,0 +BRDA:579,60,0,0 +BRDA:579,60,1,0 +BRDA:583,61,0,0 +BRDA:583,61,1,0 +BRDA:583,62,0,0 +BRDA:583,62,1,0 +BRDA:583,62,2,0 +BRDA:587,63,0,0 +BRDA:587,63,1,0 +BRDA:591,64,0,0 +BRDA:591,64,1,0 +BRF:148 +BRH:1 +end_of_record +TN: +SF:src/js/extensions/button.js +FN:1,(anonymous_1) +FN:92,(anonymous_2) +FN:100,(anonymous_3) +FN:114,(anonymous_4) +FN:118,(anonymous_5) +FN:122,(anonymous_6) +FN:126,(anonymous_7) +FN:130,(anonymous_8) +FN:139,(anonymous_9) +FN:151,(anonymous_10) +FN:163,(anonymous_11) +FN:174,(anonymous_12) +FN:178,(anonymous_13) +FN:183,(anonymous_14) +FN:188,(anonymous_15) +FN:196,(anonymous_16) +FN:213,(anonymous_17) +FN:230,(anonymous_18) +FNF:18 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +DA:1,1 +DA:4,1 +DA:93,0 +DA:94,0 +DA:96,0 +DA:101,0 +DA:103,0 +DA:104,0 +DA:115,0 +DA:119,0 +DA:123,0 +DA:127,0 +DA:131,0 +DA:136,0 +DA:137,0 +DA:138,0 +DA:139,0 +DA:140,0 +DA:145,0 +DA:146,0 +DA:147,0 +DA:148,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:156,0 +DA:157,0 +DA:159,0 +DA:160,0 +DA:164,0 +DA:165,0 +DA:167,0 +DA:169,0 +DA:170,0 +DA:175,0 +DA:179,0 +DA:180,0 +DA:184,0 +DA:185,0 +DA:189,0 +DA:190,0 +DA:191,0 +DA:193,0 +DA:197,0 +DA:202,0 +DA:203,0 +DA:206,0 +DA:207,0 +DA:210,0 +DA:211,0 +DA:212,0 +DA:213,0 +DA:214,0 +DA:215,0 +DA:219,0 +DA:220,0 +DA:226,0 +DA:230,0 +DA:231,0 +DA:234,0 +LF:60 +LH:2 +BRDA:93,1,0,0 +BRDA:93,1,1,0 +BRDA:119,2,0,0 +BRDA:119,2,1,0 +BRDA:123,3,0,0 +BRDA:123,3,1,0 +BRDA:127,4,0,0 +BRDA:127,4,1,0 +BRDA:138,5,0,0 +BRDA:138,5,1,0 +BRDA:146,6,0,0 +BRDA:146,6,1,0 +BRDA:150,7,0,0 +BRDA:150,7,1,0 +BRDA:156,8,0,0 +BRDA:156,8,1,0 +BRDA:156,9,0,0 +BRDA:156,9,1,0 +BRDA:169,10,0,0 +BRDA:169,10,1,0 +BRDA:190,11,0,0 +BRDA:190,11,1,0 +BRDA:202,12,0,0 +BRDA:202,12,1,0 +BRDA:202,13,0,0 +BRDA:202,13,1,0 +BRDA:206,14,0,0 +BRDA:206,14,1,0 +BRDA:206,15,0,0 +BRDA:206,15,1,0 +BRDA:210,16,0,0 +BRDA:210,16,1,0 +BRDA:210,17,0,0 +BRDA:210,17,1,0 +BRDA:214,18,0,0 +BRDA:214,18,1,0 +BRDA:219,19,0,0 +BRDA:219,19,1,0 +BRDA:219,20,0,0 +BRDA:219,20,1,0 +BRDA:231,21,0,0 +BRDA:231,21,1,0 +BRF:42 +BRH:0 +end_of_record +TN: +SF:src/js/defaults/buttons.js +FN:1,(anonymous_1) +FNF:1 +FNH:1 +FNDA:1,(anonymous_1) +DA:1,1 +DA:7,1 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/js/extensions/form.js +FN:1,(anonymous_1) +FN:9,(anonymous_2) +FN:37,(anonymous_3) +FN:44,(anonymous_4) +FN:56,(anonymous_5) +FN:67,(anonymous_6) +FN:85,(anonymous_7) +FN:98,(anonymous_8) +FN:111,(anonymous_9) +FNF:9 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +DA:1,1 +DA:7,1 +DA:10,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:57,0 +DA:58,0 +DA:68,0 +DA:69,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:119,0 +LF:20 +LH:2 +BRDA:45,1,0,0 +BRDA:45,1,1,0 +BRDA:57,2,0,0 +BRDA:57,2,1,0 +BRDA:68,3,0,0 +BRDA:68,3,1,0 +BRDA:87,4,0,0 +BRDA:87,4,1,0 +BRDA:100,5,0,0 +BRDA:100,5,1,0 +BRDA:113,6,0,0 +BRDA:113,6,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/js/extensions/anchor.js +FN:1,(anonymous_1) +FN:48,(anonymous_2) +FN:56,(anonymous_3) +FN:76,(anonymous_4) +FN:83,(anonymous_5) +FN:90,(anonymous_6) +FN:139,(anonymous_7) +FN:143,(anonymous_8) +FN:148,(anonymous_9) +FN:185,(anonymous_10) +FN:199,(anonymous_11) +FN:223,(anonymous_12) +FN:228,(anonymous_13) +FN:234,(anonymous_14) +FN:238,(anonymous_15) +FN:242,(anonymous_16) +FN:250,(anonymous_17) +FN:254,(anonymous_18) +FN:291,(anonymous_19) +FN:297,(anonymous_20) +FN:316,(anonymous_21) +FN:329,(anonymous_22) +FN:333,(anonymous_23) +FN:337,(anonymous_24) +FN:341,(anonymous_25) +FN:356,(anonymous_26) +FN:361,(anonymous_27) +FN:367,(anonymous_28) +FNF:28 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +DA:1,1 +DA:4,1 +DA:49,0 +DA:51,0 +DA:57,0 +DA:58,0 +DA:60,0 +DA:62,0 +DA:65,0 +DA:68,0 +DA:69,0 +DA:72,0 +DA:77,0 +DA:78,0 +DA:84,0 +DA:85,0 +DA:87,0 +DA:91,0 +DA:95,0 +DA:101,0 +DA:108,0 +DA:111,0 +DA:121,0 +DA:124,0 +DA:134,0 +DA:140,0 +DA:144,0 +DA:145,0 +DA:149,0 +DA:153,0 +DA:156,0 +DA:157,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:167,0 +DA:168,0 +DA:172,0 +DA:173,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:186,0 +DA:187,0 +DA:190,0 +DA:191,0 +DA:194,0 +DA:201,0 +DA:207,0 +DA:208,0 +DA:211,0 +DA:212,0 +DA:213,0 +DA:216,0 +DA:217,0 +DA:220,0 +DA:224,0 +DA:225,0 +DA:229,0 +DA:230,0 +DA:231,0 +DA:235,0 +DA:239,0 +DA:243,0 +DA:247,0 +DA:251,0 +DA:259,0 +DA:269,0 +DA:270,0 +DA:273,0 +DA:274,0 +DA:276,0 +DA:277,0 +DA:281,0 +DA:292,0 +DA:293,0 +DA:298,0 +DA:303,0 +DA:306,0 +DA:309,0 +DA:312,0 +DA:317,0 +DA:321,0 +DA:322,0 +DA:323,0 +DA:324,0 +DA:326,0 +DA:330,0 +DA:334,0 +DA:338,0 +DA:343,0 +DA:344,0 +DA:345,0 +DA:346,0 +DA:350,0 +DA:351,0 +DA:352,0 +DA:358,0 +DA:363,0 +DA:364,0 +DA:369,0 +DA:370,0 +DA:374,0 +LF:104 +LH:2 +BRDA:62,1,0,0 +BRDA:62,1,1,0 +BRDA:62,2,0,0 +BRDA:62,2,1,0 +BRDA:62,2,2,0 +BRDA:68,3,0,0 +BRDA:68,3,1,0 +BRDA:77,4,0,0 +BRDA:77,4,1,0 +BRDA:77,5,0,0 +BRDA:77,5,1,0 +BRDA:77,5,2,0 +BRDA:84,6,0,0 +BRDA:84,6,1,0 +BRDA:97,7,0,0 +BRDA:97,7,1,0 +BRDA:102,8,0,0 +BRDA:102,8,1,0 +BRDA:108,9,0,0 +BRDA:108,9,1,0 +BRDA:121,10,0,0 +BRDA:121,10,1,0 +BRDA:153,11,0,0 +BRDA:153,11,1,0 +BRDA:156,12,0,0 +BRDA:156,12,1,0 +BRDA:172,13,0,0 +BRDA:172,13,1,0 +BRDA:178,14,0,0 +BRDA:178,14,1,0 +BRDA:179,15,0,0 +BRDA:179,15,1,0 +BRDA:186,16,0,0 +BRDA:186,16,1,0 +BRDA:190,17,0,0 +BRDA:190,17,1,0 +BRDA:207,18,0,0 +BRDA:207,18,1,0 +BRDA:212,19,0,0 +BRDA:212,19,1,0 +BRDA:212,20,0,0 +BRDA:212,20,1,0 +BRDA:216,21,0,0 +BRDA:216,21,1,0 +BRDA:216,22,0,0 +BRDA:216,22,1,0 +BRDA:235,23,0,0 +BRDA:235,23,1,0 +BRDA:239,24,0,0 +BRDA:239,24,1,0 +BRDA:247,25,0,0 +BRDA:247,25,1,0 +BRDA:269,26,0,0 +BRDA:269,26,1,0 +BRDA:273,27,0,0 +BRDA:273,27,1,0 +BRDA:276,28,0,0 +BRDA:276,28,1,0 +BRDA:276,29,0,0 +BRDA:276,29,1,0 +BRDA:285,30,0,0 +BRDA:285,30,1,0 +BRDA:288,31,0,0 +BRDA:288,31,1,0 +BRDA:343,32,0,0 +BRDA:343,32,1,0 +BRDA:350,33,0,0 +BRDA:350,33,1,0 +BRF:68 +BRH:0 +end_of_record +TN: +SF:src/js/extensions/anchor-preview.js +FN:1,(anonymous_1) +FN:29,(anonymous_2) +FN:37,(anonymous_3) +FN:42,(anonymous_4) +FN:46,(anonymous_5) +FN:58,(anonymous_6) +FN:64,(anonymous_7) +FN:73,(anonymous_8) +FN:80,(anonymous_9) +FN:106,(anonymous_10) +FN:129,(anonymous_11) +FN:163,(anonymous_12) +FN:168,(anonymous_13) +FN:176,(anonymous_14) +FN:187,(anonymous_15) +FN:203,(anonymous_16) +FN:209,(anonymous_17) +FN:242,(anonymous_18) +FN:249,(anonymous_19) +FN:254,(anonymous_20) +FN:260,(anonymous_21) +FN:271,(anonymous_22) +FN:289,(anonymous_23) +FNF:23 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +DA:1,1 +DA:4,1 +DA:30,0 +DA:32,0 +DA:34,0 +DA:38,0 +DA:43,0 +DA:47,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:53,0 +DA:55,0 +DA:59,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:69,0 +DA:74,0 +DA:75,0 +DA:77,0 +DA:81,0 +DA:83,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:91,0 +DA:92,0 +DA:94,0 +DA:95,0 +DA:98,0 +DA:100,0 +DA:101,0 +DA:103,0 +DA:107,0 +DA:108,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:124,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:137,0 +DA:140,0 +DA:143,0 +DA:146,0 +DA:147,0 +DA:149,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:156,0 +DA:158,0 +DA:159,0 +DA:164,0 +DA:165,0 +DA:171,0 +DA:172,0 +DA:177,0 +DA:180,0 +DA:181,0 +DA:183,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:194,0 +DA:195,0 +DA:200,0 +DA:204,0 +DA:205,0 +DA:206,0 +DA:210,0 +DA:212,0 +DA:213,0 +DA:219,0 +DA:221,0 +DA:225,0 +DA:226,0 +DA:227,0 +DA:231,0 +DA:232,0 +DA:235,0 +DA:237,0 +DA:238,0 +DA:242,0 +DA:243,0 +DA:244,0 +DA:250,0 +DA:251,0 +DA:255,0 +DA:256,0 +DA:261,0 +DA:262,0 +DA:264,0 +DA:265,0 +DA:267,0 +DA:273,0 +DA:274,0 +DA:275,0 +DA:276,0 +DA:277,0 +DA:278,0 +DA:279,0 +DA:283,0 +DA:285,0 +DA:290,0 +DA:291,0 +DA:293,0 +DA:294,0 +DA:296,0 +DA:298,0 +DA:299,0 +DA:300,0 +DA:301,0 +DA:305,0 +LF:125 +LH:2 +BRDA:65,1,0,0 +BRDA:65,1,1,0 +BRDA:66,2,0,0 +BRDA:66,2,1,0 +BRDA:74,3,0,0 +BRDA:74,3,1,0 +BRDA:81,4,0,0 +BRDA:81,4,1,0 +BRDA:81,5,0,0 +BRDA:81,5,1,0 +BRDA:86,6,0,0 +BRDA:86,6,1,0 +BRDA:94,7,0,0 +BRDA:94,7,1,0 +BRDA:107,8,0,0 +BRDA:107,8,1,0 +BRDA:120,9,0,0 +BRDA:120,9,1,0 +BRDA:127,10,0,0 +BRDA:127,10,1,0 +BRDA:151,11,0,0 +BRDA:151,11,1,0 +BRDA:154,12,0,0 +BRDA:154,12,1,0 +BRDA:171,13,0,0 +BRDA:171,13,1,0 +BRDA:180,14,0,0 +BRDA:180,14,1,0 +BRDA:180,15,0,0 +BRDA:180,15,1,0 +BRDA:188,16,0,0 +BRDA:188,16,1,0 +BRDA:212,17,0,0 +BRDA:212,17,1,0 +BRDA:219,18,0,0 +BRDA:219,18,1,0 +BRDA:219,19,0,0 +BRDA:219,19,1,0 +BRDA:219,19,2,0 +BRDA:226,20,0,0 +BRDA:226,20,1,0 +BRDA:226,21,0,0 +BRDA:226,21,1,0 +BRDA:226,21,2,0 +BRDA:226,21,3,0 +BRDA:231,22,0,0 +BRDA:231,22,1,0 +BRDA:231,23,0,0 +BRDA:231,23,1,0 +BRDA:243,24,0,0 +BRDA:243,24,1,0 +BRDA:255,25,0,0 +BRDA:255,25,1,0 +BRDA:255,26,0,0 +BRDA:255,26,1,0 +BRDA:261,27,0,0 +BRDA:261,27,1,0 +BRDA:265,28,0,0 +BRDA:265,28,1,0 +BRDA:274,29,0,0 +BRDA:274,29,1,0 +BRDA:277,30,0,0 +BRDA:277,30,1,0 +BRF:63 +BRH:0 +end_of_record +TN: +SF:src/js/extensions/auto-link.js +FN:1,(anonymous_1) +FN:32,nodeIsNotInsideAnchorTag +FN:37,(anonymous_3) +FN:47,(anonymous_4) +FN:58,(anonymous_5) +FN:65,(anonymous_6) +FN:69,(anonymous_7) +FN:77,(anonymous_8) +FN:95,(anonymous_9) +FN:129,(anonymous_10) +FN:159,(anonymous_11) +FN:185,(anonymous_12) +FN:200,(anonymous_13) +FN:204,(anonymous_14) +FN:212,(anonymous_15) +FN:238,(anonymous_16) +FNF:16 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,nodeIsNotInsideAnchorTag +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +DA:1,1 +DA:4,1 +DA:10,1 +DA:12,1 +DA:21,1 +DA:28,1 +DA:30,1 +DA:32,1 +DA:33,0 +DA:36,1 +DA:38,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:55,0 +DA:60,0 +DA:61,0 +DA:66,0 +DA:70,0 +DA:71,0 +DA:74,0 +DA:75,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:83,0 +DA:86,0 +DA:87,0 +DA:89,0 +DA:116,0 +DA:118,0 +DA:119,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:125,0 +DA:126,0 +DA:130,0 +DA:131,0 +DA:134,0 +DA:137,0 +DA:138,0 +DA:139,0 +DA:140,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:146,0 +DA:148,0 +DA:152,0 +DA:156,0 +DA:160,0 +DA:164,0 +DA:165,0 +DA:168,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:178,0 +DA:179,0 +DA:182,0 +DA:186,0 +DA:189,0 +DA:190,0 +DA:192,0 +DA:193,0 +DA:195,0 +DA:197,0 +DA:201,0 +DA:202,0 +DA:204,0 +DA:205,0 +DA:209,0 +DA:213,0 +DA:217,0 +DA:218,0 +DA:221,0 +DA:224,0 +DA:227,0 +DA:228,0 +DA:235,0 +DA:239,0 +DA:240,0 +DA:242,0 +DA:243,0 +DA:244,0 +DA:245,0 +DA:246,0 +DA:252,0 +LF:100 +LH:9 +BRDA:51,1,0,0 +BRDA:51,1,1,0 +BRDA:51,2,0,0 +BRDA:51,2,1,0 +BRDA:60,3,0,0 +BRDA:60,3,1,0 +BRDA:60,4,0,0 +BRDA:60,4,1,0 +BRDA:70,5,0,0 +BRDA:70,5,1,0 +BRDA:74,6,0,0 +BRDA:74,6,1,0 +BRDA:80,7,0,0 +BRDA:80,7,1,0 +BRDA:86,8,0,0 +BRDA:86,8,1,0 +BRDA:118,9,0,0 +BRDA:118,9,1,0 +BRDA:122,10,0,0 +BRDA:122,10,1,0 +BRDA:123,11,0,0 +BRDA:123,11,1,0 +BRDA:130,12,0,0 +BRDA:130,12,1,0 +BRDA:130,13,0,0 +BRDA:130,13,1,0 +BRDA:139,14,0,0 +BRDA:139,14,1,0 +BRDA:142,15,0,0 +BRDA:142,15,1,0 +BRDA:142,16,0,0 +BRDA:142,16,1,0 +BRDA:145,17,0,0 +BRDA:145,17,1,0 +BRDA:171,18,0,0 +BRDA:171,18,1,0 +BRDA:174,19,0,0 +BRDA:174,19,1,0 +BRDA:192,20,0,0 +BRDA:192,20,1,0 +BRDA:202,21,0,0 +BRDA:202,21,1,0 +BRDA:205,22,0,0 +BRDA:205,22,1,0 +BRDA:205,22,2,0 +BRDA:221,23,0,0 +BRDA:221,23,1,0 +BRDA:221,23,2,0 +BRDA:221,23,3,0 +BRDA:224,24,0,0 +BRDA:224,24,1,0 +BRDA:224,24,2,0 +BRDA:227,25,0,0 +BRDA:227,25,1,0 +BRDA:240,26,0,0 +BRDA:240,26,1,0 +BRF:56 +BRH:0 +end_of_record +TN: +SF:src/js/extensions/file-dragging.js +FN:1,(anonymous_1) +FN:5,clearClassNames +FN:9,(anonymous_3) +FN:19,(anonymous_4) +FN:26,(anonymous_5) +FN:40,(anonymous_6) +FN:53,(anonymous_7) +FN:66,(anonymous_8) +FN:67,(anonymous_9) +FN:72,(anonymous_10) +FN:80,(anonymous_11) +FNF:11 +FNH:0 +FNDA:0,(anonymous_1) +FNDA:0,clearClassNames +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +DA:1,1 +DA:3,0 +DA:5,1 +DA:6,0 +DA:9,0 +DA:10,0 +DA:14,0 +DA:20,0 +DA:22,0 +DA:23,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:42,0 +DA:43,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:63,0 +DA:67,0 +DA:68,0 +DA:73,0 +DA:74,0 +DA:76,0 +DA:77,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:88,0 +LF:39 +LH:2 +BRDA:30,1,0,0 +BRDA:30,1,1,0 +BRDA:35,2,0,0 +BRDA:35,2,1,0 +BRDA:52,3,0,0 +BRDA:52,3,1,0 +BRDA:54,4,0,0 +BRDA:54,4,1,0 +BRDA:55,5,0,0 +BRDA:55,5,1,0 +BRDA:73,6,0,0 +BRDA:73,6,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:src/js/extensions/keyboard-commands.js +FN:1,(anonymous_1) +FN:42,(anonymous_2) +FN:47,(anonymous_3) +FN:56,(anonymous_4) +FN:66,(anonymous_5) +FNF:5 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +DA:1,1 +DA:4,1 +DA:43,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:52,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:62,0 +DA:66,0 +DA:67,0 +DA:71,0 +DA:72,0 +DA:75,0 +DA:76,0 +DA:79,0 +DA:80,0 +DA:87,0 +LF:23 +LH:2 +BRDA:49,1,0,0 +BRDA:49,1,1,0 +BRDA:58,2,0,0 +BRDA:58,2,1,0 +BRDA:67,3,0,0 +BRDA:67,3,1,0 +BRDA:67,4,0,0 +BRDA:67,4,1,0 +BRDA:67,4,2,0 +BRDA:67,4,3,0 +BRDA:75,5,0,0 +BRDA:75,5,1,0 +BRDA:79,6,0,0 +BRDA:79,6,1,0 +BRF:14 +BRH:0 +end_of_record +TN: +SF:src/js/extensions/fontname.js +FN:1,(anonymous_1) +FN:14,(anonymous_2) +FN:20,(anonymous_3) +FN:34,(anonymous_4) +FN:42,(anonymous_5) +FN:46,(anonymous_6) +FN:51,(anonymous_7) +FN:64,(anonymous_8) +FN:78,(anonymous_9) +FN:83,(anonymous_10) +FN:90,(anonymous_11) +FN:144,(anonymous_12) +FN:148,(anonymous_13) +FN:149,(anonymous_14) +FN:156,(anonymous_15) +FN:165,(anonymous_16) +FN:170,(anonymous_17) +FN:176,(anonymous_18) +FNF:18 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +DA:1,1 +DA:4,1 +DA:15,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:30,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:43,0 +DA:47,0 +DA:48,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:65,0 +DA:66,0 +DA:69,0 +DA:70,0 +DA:73,0 +DA:79,0 +DA:80,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:91,0 +DA:99,0 +DA:100,0 +DA:103,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:113,0 +DA:114,0 +DA:117,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:125,0 +DA:128,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:136,0 +DA:139,0 +DA:141,0 +DA:145,0 +DA:149,0 +DA:150,0 +DA:151,0 +DA:157,0 +DA:158,0 +DA:159,0 +DA:161,0 +DA:167,0 +DA:172,0 +DA:173,0 +DA:178,0 +DA:179,0 +DA:183,0 +LF:69 +LH:2 +BRDA:24,1,0,0 +BRDA:24,1,1,0 +BRDA:35,2,0,0 +BRDA:35,2,1,0 +BRDA:59,3,0,0 +BRDA:59,3,1,0 +BRDA:65,4,0,0 +BRDA:65,4,1,0 +BRDA:69,5,0,0 +BRDA:69,5,1,0 +BRDA:122,6,0,0 +BRDA:122,6,1,0 +BRDA:133,7,0,0 +BRDA:133,7,1,0 +BRDA:150,8,0,0 +BRDA:150,8,1,0 +BRDA:150,9,0,0 +BRDA:150,9,1,0 +BRDA:158,10,0,0 +BRDA:158,10,1,0 +BRF:20 +BRH:0 +end_of_record +TN: +SF:src/js/extensions/fontsize.js +FN:1,(anonymous_1) +FN:12,(anonymous_2) +FN:18,(anonymous_3) +FN:32,(anonymous_4) +FN:40,(anonymous_5) +FN:44,(anonymous_6) +FN:49,(anonymous_7) +FN:62,(anonymous_8) +FN:76,(anonymous_9) +FN:81,(anonymous_10) +FN:88,(anonymous_11) +FN:137,(anonymous_12) +FN:141,(anonymous_13) +FN:142,(anonymous_14) +FN:149,(anonymous_15) +FN:158,(anonymous_16) +FN:163,(anonymous_17) +FN:169,(anonymous_18) +FNF:18 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +DA:1,1 +DA:4,1 +DA:13,0 +DA:19,0 +DA:20,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:33,0 +DA:34,0 +DA:36,0 +DA:41,0 +DA:45,0 +DA:46,0 +DA:50,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:57,0 +DA:58,0 +DA:63,0 +DA:64,0 +DA:67,0 +DA:68,0 +DA:71,0 +DA:77,0 +DA:78,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:89,0 +DA:96,0 +DA:97,0 +DA:100,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:110,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:118,0 +DA:121,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:129,0 +DA:132,0 +DA:134,0 +DA:138,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:154,0 +DA:160,0 +DA:165,0 +DA:166,0 +DA:171,0 +DA:172,0 +DA:176,0 +LF:67 +LH:2 +BRDA:22,1,0,0 +BRDA:22,1,1,0 +BRDA:33,2,0,0 +BRDA:33,2,1,0 +BRDA:57,3,0,0 +BRDA:57,3,1,0 +BRDA:63,4,0,0 +BRDA:63,4,1,0 +BRDA:67,5,0,0 +BRDA:67,5,1,0 +BRDA:115,6,0,0 +BRDA:115,6,1,0 +BRDA:126,7,0,0 +BRDA:126,7,1,0 +BRDA:143,8,0,0 +BRDA:143,8,1,0 +BRDA:143,9,0,0 +BRDA:143,9,1,0 +BRDA:151,10,0,0 +BRDA:151,10,1,0 +BRF:20 +BRH:0 +end_of_record +TN: +SF:src/js/extensions/paste.js +FN:1,(anonymous_1) +FN:9,(anonymous_2) +FN:20,createReplacements +FN:77,getClipboardContent +FN:149,(anonymous_5) +FN:156,(anonymous_6) +FN:163,(anonymous_7) +FN:167,(anonymous_8) +FN:174,(anonymous_9) +FN:199,(anonymous_10) +FN:230,(anonymous_11) +FN:258,(anonymous_12) +FN:279,(anonymous_13) +FN:291,(anonymous_14) +FN:337,(anonymous_15) +FN:361,(anonymous_16) +FN:365,(anonymous_17) +FN:389,(anonymous_18) +FN:435,(anonymous_19) +FN:468,(anonymous_20) +FN:473,(anonymous_21) +FN:480,(anonymous_22) +FN:495,(anonymous_23) +FN:506,(anonymous_24) +FN:511,(anonymous_25) +FNF:25 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,createReplacements +FNDA:0,getClipboardContent +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +DA:1,1 +DA:6,1 +DA:10,0 +DA:20,1 +DA:21,0 +DA:77,1 +DA:78,0 +DA:81,0 +DA:82,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:100,0 +DA:103,1 +DA:150,0 +DA:152,0 +DA:153,0 +DA:156,0 +DA:157,0 +DA:159,0 +DA:164,0 +DA:169,0 +DA:170,0 +DA:175,0 +DA:176,0 +DA:179,0 +DA:183,0 +DA:189,0 +DA:192,0 +DA:193,0 +DA:195,0 +DA:200,0 +DA:204,0 +DA:205,0 +DA:208,0 +DA:209,0 +DA:212,0 +DA:213,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:222,0 +DA:225,0 +DA:227,0 +DA:231,0 +DA:232,0 +DA:233,0 +DA:236,0 +DA:243,0 +DA:244,0 +DA:245,0 +DA:246,0 +DA:252,0 +DA:253,0 +DA:258,0 +DA:260,0 +DA:262,0 +DA:266,0 +DA:269,0 +DA:275,0 +DA:281,0 +DA:282,0 +DA:285,0 +DA:287,0 +DA:288,0 +DA:292,0 +DA:296,0 +DA:298,0 +DA:299,0 +DA:302,0 +DA:303,0 +DA:304,0 +DA:305,0 +DA:307,0 +DA:311,0 +DA:313,0 +DA:314,0 +DA:315,0 +DA:316,0 +DA:317,0 +DA:319,0 +DA:322,0 +DA:323,0 +DA:324,0 +DA:326,0 +DA:328,0 +DA:330,0 +DA:331,0 +DA:334,0 +DA:338,0 +DA:339,0 +DA:340,0 +DA:343,0 +DA:344,0 +DA:347,0 +DA:348,0 +DA:349,0 +DA:352,0 +DA:353,0 +DA:354,0 +DA:355,0 +DA:356,0 +DA:357,0 +DA:362,0 +DA:366,0 +DA:368,0 +DA:369,0 +DA:374,0 +DA:375,0 +DA:378,0 +DA:382,0 +DA:383,0 +DA:386,0 +DA:390,0 +DA:397,0 +DA:398,0 +DA:401,0 +DA:402,0 +DA:406,0 +DA:409,0 +DA:412,0 +DA:413,0 +DA:414,0 +DA:419,0 +DA:421,0 +DA:424,0 +DA:425,0 +DA:427,0 +DA:428,0 +DA:432,0 +DA:436,0 +DA:442,0 +DA:444,0 +DA:446,0 +DA:447,0 +DA:449,0 +DA:451,0 +DA:452,0 +DA:453,0 +DA:455,0 +DA:456,0 +DA:459,0 +DA:460,0 +DA:461,0 +DA:464,0 +DA:469,0 +DA:474,0 +DA:475,0 +DA:481,0 +DA:483,0 +DA:484,0 +DA:486,0 +DA:487,0 +DA:489,0 +DA:496,0 +DA:497,0 +DA:498,0 +DA:500,0 +DA:507,0 +DA:512,0 +DA:515,0 +DA:516,0 +DA:517,0 +DA:519,0 +DA:521,0 +DA:523,0 +DA:525,0 +DA:528,0 +DA:529,0 +DA:530,0 +DA:533,0 +DA:534,0 +DA:538,0 +DA:543,0 +LF:180 +LH:5 +BRDA:78,1,0,0 +BRDA:78,1,1,0 +BRDA:78,1,2,0 +BRDA:81,2,0,0 +BRDA:81,2,1,0 +BRDA:86,3,0,0 +BRDA:86,3,1,0 +BRDA:88,4,0,0 +BRDA:88,4,1,0 +BRDA:88,5,0,0 +BRDA:88,5,1,0 +BRDA:93,6,0,0 +BRDA:93,6,1,0 +BRDA:152,7,0,0 +BRDA:152,7,1,0 +BRDA:152,8,0,0 +BRDA:152,8,1,0 +BRDA:169,9,0,0 +BRDA:169,9,1,0 +BRDA:169,10,0,0 +BRDA:169,10,1,0 +BRDA:175,11,0,0 +BRDA:175,11,1,0 +BRDA:183,12,0,0 +BRDA:183,12,1,0 +BRDA:183,13,0,0 +BRDA:183,13,1,0 +BRDA:183,13,2,0 +BRDA:192,14,0,0 +BRDA:192,14,1,0 +BRDA:192,15,0,0 +BRDA:192,15,1,0 +BRDA:204,16,0,0 +BRDA:204,16,1,0 +BRDA:204,17,0,0 +BRDA:204,17,1,0 +BRDA:208,18,0,0 +BRDA:208,18,1,0 +BRDA:212,19,0,0 +BRDA:212,19,1,0 +BRDA:212,20,0,0 +BRDA:212,20,1,0 +BRDA:212,20,2,0 +BRDA:215,21,0,0 +BRDA:215,21,1,0 +BRDA:217,22,0,0 +BRDA:217,22,1,0 +BRDA:231,23,0,0 +BRDA:231,23,1,0 +BRDA:243,24,0,0 +BRDA:243,24,1,0 +BRDA:243,25,0,0 +BRDA:243,25,1,0 +BRDA:260,26,0,0 +BRDA:260,26,1,0 +BRDA:281,27,0,0 +BRDA:281,27,1,0 +BRDA:281,28,0,0 +BRDA:281,28,1,0 +BRDA:298,29,0,0 +BRDA:298,29,1,0 +BRDA:302,30,0,0 +BRDA:302,30,1,0 +BRDA:304,31,0,0 +BRDA:304,31,1,0 +BRDA:330,32,0,0 +BRDA:330,32,1,0 +BRDA:338,33,0,0 +BRDA:338,33,1,0 +BRDA:343,34,0,0 +BRDA:343,34,1,0 +BRDA:348,35,0,0 +BRDA:348,35,1,0 +BRDA:352,36,0,0 +BRDA:352,36,1,0 +BRDA:368,37,0,0 +BRDA:368,37,1,0 +BRDA:374,38,0,0 +BRDA:374,38,1,0 +BRDA:374,39,0,0 +BRDA:374,39,1,0 +BRDA:382,40,0,0 +BRDA:382,40,1,0 +BRDA:382,41,0,0 +BRDA:382,41,1,0 +BRDA:393,42,0,0 +BRDA:393,42,1,0 +BRDA:395,43,0,0 +BRDA:395,43,1,0 +BRDA:401,44,0,0 +BRDA:401,44,1,0 +BRDA:421,45,0,0 +BRDA:421,45,1,0 +BRDA:421,45,2,0 +BRDA:455,46,0,0 +BRDA:455,46,1,0 +BRDA:455,47,0,0 +BRDA:455,47,1,0 +BRDA:469,48,0,0 +BRDA:469,48,1,0 +BRDA:469,48,2,0 +BRDA:474,49,0,0 +BRDA:474,49,1,0 +BRDA:474,50,0,0 +BRDA:474,50,1,0 +BRDA:481,51,0,0 +BRDA:481,51,1,0 +BRDA:484,52,0,0 +BRDA:484,52,1,0 +BRDA:484,53,0,0 +BRDA:484,53,1,0 +BRDA:484,53,2,0 +BRDA:487,54,0,0 +BRDA:487,54,1,0 +BRDA:487,55,0,0 +BRDA:487,55,1,0 +BRDA:487,55,2,0 +BRDA:496,56,0,0 +BRDA:496,56,1,0 +BRDA:496,57,0,0 +BRDA:496,57,1,0 +BRDA:497,58,0,0 +BRDA:497,58,1,0 +BRDA:497,59,0,0 +BRDA:497,59,1,0 +BRDA:512,60,0,0 +BRDA:512,60,1,0 +BRDA:512,60,2,0 +BRDA:517,61,0,0 +BRDA:517,61,1,0 +BRDA:519,62,0,0 +BRDA:519,62,1,0 +BRDA:519,63,0,0 +BRDA:519,63,1,0 +BRDA:533,64,0,0 +BRDA:533,64,1,0 +BRF:136 +BRH:0 +end_of_record +TN: +SF:src/js/extensions/placeholder.js +FN:1,(anonymous_1) +FN:19,(anonymous_2) +FN:26,(anonymous_3) +FN:30,(anonymous_4) +FN:34,(anonymous_5) +FN:41,(anonymous_6) +FN:45,(anonymous_7) +FN:49,(anonymous_8) +FN:55,(anonymous_9) +FN:72,(anonymous_10) +FN:79,(anonymous_11) +FN:90,(anonymous_12) +FN:107,(anonymous_13) +FN:116,(anonymous_14) +FN:121,(anonymous_15) +FNF:15 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +DA:1,1 +DA:4,1 +DA:20,0 +DA:22,0 +DA:23,0 +DA:27,0 +DA:31,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:42,0 +DA:46,0 +DA:50,0 +DA:51,0 +DA:56,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:66,0 +DA:67,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:81,0 +DA:82,0 +DA:85,0 +DA:86,0 +DA:91,0 +DA:93,0 +DA:97,0 +DA:100,0 +DA:103,0 +DA:104,0 +DA:110,0 +DA:113,0 +DA:118,0 +DA:123,0 +DA:127,0 +LF:38 +LH:2 +BRDA:35,1,0,0 +BRDA:35,1,1,0 +BRDA:50,2,0,0 +BRDA:50,2,1,0 +BRDA:56,3,0,0 +BRDA:56,3,1,0 +BRDA:62,4,0,0 +BRDA:62,4,1,0 +BRDA:62,5,0,0 +BRDA:62,5,1,0 +BRDA:73,6,0,0 +BRDA:73,6,1,0 +BRDA:81,7,0,0 +BRDA:81,7,1,0 +BRDA:81,8,0,0 +BRDA:81,8,1,0 +BRDA:85,9,0,0 +BRDA:85,9,1,0 +BRDA:91,10,0,0 +BRDA:91,10,1,0 +BRDA:110,11,0,0 +BRDA:110,11,1,0 +BRF:22 +BRH:0 +end_of_record +TN: +SF:src/js/extensions/toolbar.js +FN:1,(anonymous_1) +FN:82,(anonymous_2) +FN:95,(anonymous_3) +FN:96,(anonymous_4) +FN:106,(anonymous_5) +FN:123,(anonymous_6) +FN:134,(anonymous_7) +FN:147,(anonymous_8) +FN:181,(anonymous_9) +FN:192,(anonymous_10) +FN:196,(anonymous_11) +FN:204,(anonymous_12) +FN:210,(anonymous_13) +FN:214,(anonymous_14) +FN:221,(anonymous_15) +FN:243,(anonymous_16) +FN:247,(anonymous_17) +FN:251,(anonymous_18) +FN:261,(anonymous_19) +FN:264,(anonymous_20) +FN:269,(anonymous_21) +FN:273,(anonymous_22) +FN:282,(anonymous_23) +FN:287,(anonymous_24) +FN:293,(anonymous_25) +FN:297,(anonymous_26) +FN:305,(anonymous_27) +FN:312,(anonymous_28) +FN:316,(anonymous_29) +FN:322,(anonymous_30) +FN:331,(anonymous_31) +FN:336,(anonymous_32) +FN:338,(anonymous_33) +FN:348,(anonymous_34) +FN:357,(anonymous_35) +FN:392,(anonymous_36) +FN:432,(anonymous_37) +FN:440,(anonymous_38) +FN:441,(anonymous_39) +FN:451,(anonymous_40) +FN:456,(anonymous_41) +FN:473,(anonymous_42) +FN:493,(anonymous_43) +FN:513,(anonymous_44) +FN:519,(anonymous_45) +FN:544,(anonymous_46) +FN:601,(anonymous_47) +FN:635,(anonymous_48) +FN:676,(anonymous_49) +FNF:49 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,(anonymous_31) +FNDA:0,(anonymous_32) +FNDA:0,(anonymous_33) +FNDA:0,(anonymous_34) +FNDA:0,(anonymous_35) +FNDA:0,(anonymous_36) +FNDA:0,(anonymous_37) +FNDA:0,(anonymous_38) +FNDA:0,(anonymous_39) +FNDA:0,(anonymous_40) +FNDA:0,(anonymous_41) +FNDA:0,(anonymous_42) +FNDA:0,(anonymous_43) +FNDA:0,(anonymous_44) +FNDA:0,(anonymous_45) +FNDA:0,(anonymous_46) +FNDA:0,(anonymous_47) +FNDA:0,(anonymous_48) +FNDA:0,(anonymous_49) +DA:1,1 +DA:4,1 +DA:83,0 +DA:85,0 +DA:87,0 +DA:88,0 +DA:90,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:100,0 +DA:107,0 +DA:109,0 +DA:110,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:117,0 +DA:120,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:129,0 +DA:131,0 +DA:135,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:150,0 +DA:152,0 +DA:153,0 +DA:158,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:166,0 +DA:168,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:178,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:186,0 +DA:193,0 +DA:197,0 +DA:198,0 +DA:201,0 +DA:205,0 +DA:214,0 +DA:215,0 +DA:216,0 +DA:223,0 +DA:224,0 +DA:227,0 +DA:228,0 +DA:231,0 +DA:234,0 +DA:236,0 +DA:240,0 +DA:244,0 +DA:248,0 +DA:253,0 +DA:256,0 +DA:258,0 +DA:264,0 +DA:265,0 +DA:270,0 +DA:275,0 +DA:279,0 +DA:282,0 +DA:283,0 +DA:288,0 +DA:294,0 +DA:298,0 +DA:299,0 +DA:300,0 +DA:301,0 +DA:306,0 +DA:307,0 +DA:308,0 +DA:313,0 +DA:317,0 +DA:318,0 +DA:323,0 +DA:325,0 +DA:326,0 +DA:331,0 +DA:332,0 +DA:338,0 +DA:339,0 +DA:340,0 +DA:349,0 +DA:354,0 +DA:358,0 +DA:377,0 +DA:380,0 +DA:381,0 +DA:382,0 +DA:383,0 +DA:384,0 +DA:386,0 +DA:393,0 +DA:394,0 +DA:399,0 +DA:401,0 +DA:407,0 +DA:408,0 +DA:411,0 +DA:417,0 +DA:418,0 +DA:422,0 +DA:424,0 +DA:427,0 +DA:433,0 +DA:434,0 +DA:435,0 +DA:436,0 +DA:437,0 +DA:441,0 +DA:442,0 +DA:444,0 +DA:448,0 +DA:452,0 +DA:457,0 +DA:458,0 +DA:459,0 +DA:462,0 +DA:463,0 +DA:468,0 +DA:469,0 +DA:473,0 +DA:475,0 +DA:476,0 +DA:479,0 +DA:480,0 +DA:481,0 +DA:483,0 +DA:487,0 +DA:490,0 +DA:493,0 +DA:494,0 +DA:496,0 +DA:500,0 +DA:501,0 +DA:504,0 +DA:505,0 +DA:507,0 +DA:514,0 +DA:515,0 +DA:520,0 +DA:524,0 +DA:525,0 +DA:528,0 +DA:529,0 +DA:532,0 +DA:533,0 +DA:534,0 +DA:536,0 +DA:540,0 +DA:546,0 +DA:549,0 +DA:560,0 +DA:562,0 +DA:563,0 +DA:564,0 +DA:566,0 +DA:567,0 +DA:568,0 +DA:571,0 +DA:572,0 +DA:575,0 +DA:578,0 +DA:580,0 +DA:581,0 +DA:584,0 +DA:585,0 +DA:588,0 +DA:589,0 +DA:592,0 +DA:593,0 +DA:594,0 +DA:595,0 +DA:598,0 +DA:603,0 +DA:604,0 +DA:606,0 +DA:610,0 +DA:612,0 +DA:613,0 +DA:615,0 +DA:619,0 +DA:633,0 +DA:634,0 +DA:635,0 +DA:636,0 +DA:639,0 +DA:640,0 +DA:641,0 +DA:643,0 +DA:646,0 +DA:649,0 +DA:652,0 +DA:653,0 +DA:655,0 +DA:656,0 +DA:657,0 +DA:658,0 +DA:660,0 +DA:661,0 +DA:662,0 +DA:665,0 +DA:666,0 +DA:667,0 +DA:668,0 +DA:669,0 +DA:670,0 +DA:672,0 +DA:673,0 +DA:676,0 +DA:677,0 +DA:682,0 +LF:230 +LH:2 +BRDA:87,1,0,0 +BRDA:87,1,1,0 +BRDA:97,2,0,0 +BRDA:97,2,1,0 +BRDA:100,3,0,0 +BRDA:100,3,1,0 +BRDA:112,4,0,0 +BRDA:112,4,1,0 +BRDA:114,5,0,0 +BRDA:114,5,1,0 +BRDA:124,6,0,0 +BRDA:124,6,1,0 +BRDA:148,7,0,0 +BRDA:148,7,1,0 +BRDA:160,8,0,0 +BRDA:160,8,1,0 +BRDA:160,9,0,0 +BRDA:160,9,1,0 +BRDA:163,10,0,0 +BRDA:163,10,1,0 +BRDA:173,11,0,0 +BRDA:173,11,1,0 +BRDA:182,12,0,0 +BRDA:182,12,1,0 +BRDA:183,13,0,0 +BRDA:183,13,1,0 +BRDA:197,14,0,0 +BRDA:197,14,1,0 +BRDA:215,15,0,0 +BRDA:215,15,1,0 +BRDA:234,16,0,0 +BRDA:234,16,1,0 +BRDA:234,17,0,0 +BRDA:234,17,1,0 +BRDA:253,18,0,0 +BRDA:253,18,1,0 +BRDA:253,19,0,0 +BRDA:253,19,1,0 +BRDA:253,19,2,0 +BRDA:299,20,0,0 +BRDA:299,20,1,0 +BRDA:306,21,0,0 +BRDA:306,21,1,0 +BRDA:317,22,0,0 +BRDA:317,22,1,0 +BRDA:325,23,0,0 +BRDA:325,23,1,0 +BRDA:339,24,0,0 +BRDA:339,24,1,0 +BRDA:339,25,0,0 +BRDA:339,25,1,0 +BRDA:354,26,0,0 +BRDA:354,26,1,0 +BRDA:377,27,0,0 +BRDA:377,27,1,0 +BRDA:377,28,0,0 +BRDA:377,28,1,0 +BRDA:377,28,2,0 +BRDA:381,29,0,0 +BRDA:381,29,1,0 +BRDA:393,30,0,0 +BRDA:393,30,1,0 +BRDA:399,31,0,0 +BRDA:399,31,1,0 +BRDA:399,32,0,0 +BRDA:399,32,1,0 +BRDA:408,33,0,0 +BRDA:408,33,1,0 +BRDA:408,34,0,0 +BRDA:408,34,1,0 +BRDA:408,34,2,0 +BRDA:417,35,0,0 +BRDA:417,35,1,0 +BRDA:417,36,0,0 +BRDA:417,36,1,0 +BRDA:422,37,0,0 +BRDA:422,37,1,0 +BRDA:422,38,0,0 +BRDA:422,38,1,0 +BRDA:422,38,2,0 +BRDA:442,39,0,0 +BRDA:442,39,1,0 +BRDA:442,40,0,0 +BRDA:442,40,1,0 +BRDA:457,41,0,0 +BRDA:457,41,1,0 +BRDA:459,42,0,0 +BRDA:459,42,1,0 +BRDA:459,43,0,0 +BRDA:459,43,1,0 +BRDA:459,43,2,0 +BRDA:462,44,0,0 +BRDA:462,44,1,0 +BRDA:462,45,0,0 +BRDA:462,45,1,0 +BRDA:468,46,0,0 +BRDA:468,46,1,0 +BRDA:475,47,0,0 +BRDA:475,47,1,0 +BRDA:479,48,0,0 +BRDA:479,48,1,0 +BRDA:480,49,0,0 +BRDA:480,49,1,0 +BRDA:480,50,0,0 +BRDA:480,50,1,0 +BRDA:493,51,0,0 +BRDA:493,51,1,0 +BRDA:504,52,0,0 +BRDA:504,52,1,0 +BRDA:514,53,0,0 +BRDA:514,53,1,0 +BRDA:524,54,0,0 +BRDA:524,54,1,0 +BRDA:528,55,0,0 +BRDA:528,55,1,0 +BRDA:528,56,0,0 +BRDA:528,56,1,0 +BRDA:532,57,0,0 +BRDA:532,57,1,0 +BRDA:533,58,0,0 +BRDA:533,58,1,0 +BRDA:549,59,0,0 +BRDA:549,59,1,0 +BRDA:549,59,2,0 +BRDA:560,60,0,0 +BRDA:560,60,1,0 +BRDA:562,61,0,0 +BRDA:562,61,1,0 +BRDA:566,62,0,0 +BRDA:566,62,1,0 +BRDA:578,63,0,0 +BRDA:578,63,1,0 +BRDA:578,63,2,0 +BRDA:592,64,0,0 +BRDA:592,64,1,0 +BRDA:594,65,0,0 +BRDA:594,65,1,0 +BRDA:610,66,0,0 +BRDA:610,66,1,0 +BRDA:610,67,0,0 +BRDA:610,67,1,0 +BRDA:610,67,2,0 +BRDA:610,67,3,0 +BRDA:612,68,0,0 +BRDA:612,68,1,0 +BRDA:612,69,0,0 +BRDA:612,69,1,0 +BRDA:633,70,0,0 +BRDA:633,70,1,0 +BRDA:655,71,0,0 +BRDA:655,71,1,0 +BRDA:665,72,0,0 +BRDA:665,72,1,0 +BRDA:668,73,0,0 +BRDA:668,73,1,0 +BRDA:677,74,0,0 +BRDA:677,74,1,0 +BRF:157 +BRH:0 +end_of_record +TN: +SF:src/js/version.js +FN:1,(anonymous_1) +FN:10,(anonymous_2) +FNF:2 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +DA:1,1 +DA:2,1 +DA:5,1 +DA:11,0 +DA:16,1 +LF:5 +LH:4 +BRDA:4,1,0,0 +BRDA:4,1,1,1 +BRDA:11,2,0,0 +BRDA:11,2,1,0 +BRF:4 +BRH:1 +end_of_record +TN: +SF:src/js/core.js +FN:1,(anonymous_1) +FN:6,handleDisableExtraSpaces +FN:16,handleDisabledEnterKeydown +FN:31,handleTabKeydown +FN:54,handleBlockDeleteKeydowns +FN:169,handleKeyup +FN:200,handleEditableInput +FN:209,addToEditors +FN:225,removeFromEditors +FN:240,createElementsArray +FN:274,cleanupTextareaElement +FN:286,setExtensionDefaults +FN:287,(anonymous_13) +FN:295,initExtension +FN:317,isToolbarEnabled +FN:320,(anonymous_16) +FN:329,isAnchorPreviewEnabled +FN:338,isPlaceholderEnabled +FN:342,isAutoLinkEnabled +FN:346,isImageDraggingEnabled +FN:350,isKeyboardCommandsEnabled +FN:354,shouldUseFileDraggingExtension +FN:361,createContentEditable +FN:391,(anonymous_24) +FN:407,initElement +FN:457,attachHandlers +FN:480,initExtensions +FN:485,(anonymous_28) +FN:524,(anonymous_29) +FN:549,mergeOptions +FN:555,(anonymous_31) +FN:565,execActionInternal +FN:632,cleanupJustifyDivFragments +FN:638,(anonymous_34) +FN:656,(anonymous_35) +FN:677,(anonymous_36) +FN:688,(anonymous_37) +FN:710,(anonymous_38) +FN:717,(anonymous_39) +FN:725,(anonymous_40) +FN:753,(anonymous_41) +FN:759,(anonymous_42) +FN:765,(anonymous_43) +FN:771,(anonymous_44) +FN:777,(anonymous_45) +FN:783,(anonymous_46) +FN:785,(anonymous_47) +FN:792,(anonymous_48) +FN:807,(anonymous_49) +FN:810,(anonymous_50) +FN:824,(anonymous_51) +FN:880,(anonymous_52) +FN:884,(anonymous_53) +FN:888,(anonymous_54) +FN:898,(anonymous_55) +FN:918,(anonymous_56) +FN:949,(anonymous_57) +FN:956,(anonymous_58) +FN:969,(anonymous_59) +FN:978,(anonymous_60) +FN:980,(anonymous_61) +FN:995,(anonymous_62) +FN:1011,(anonymous_63) +FN:1017,(anonymous_64) +FN:1026,(anonymous_65) +FN:1030,(anonymous_66) +FN:1180,(anonymous_67) +FN:1184,(anonymous_68) +FN:1188,(anonymous_69) +FN:1198,(anonymous_70) +FN:1207,(anonymous_71) +FN:1212,(anonymous_72) +FN:1225,(anonymous_73) +FN:1230,(anonymous_74) +FN:1239,(anonymous_75) +FN:1251,(anonymous_76) +FN:1254,(anonymous_77) +FN:1263,(anonymous_78) +FN:1279,(anonymous_79) +FNF:79 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,handleDisableExtraSpaces +FNDA:0,handleDisabledEnterKeydown +FNDA:0,handleTabKeydown +FNDA:0,handleBlockDeleteKeydowns +FNDA:0,handleKeyup +FNDA:0,handleEditableInput +FNDA:0,addToEditors +FNDA:0,removeFromEditors +FNDA:0,createElementsArray +FNDA:0,cleanupTextareaElement +FNDA:0,setExtensionDefaults +FNDA:0,(anonymous_13) +FNDA:0,initExtension +FNDA:0,isToolbarEnabled +FNDA:0,(anonymous_16) +FNDA:0,isAnchorPreviewEnabled +FNDA:0,isPlaceholderEnabled +FNDA:0,isAutoLinkEnabled +FNDA:0,isImageDraggingEnabled +FNDA:0,isKeyboardCommandsEnabled +FNDA:0,shouldUseFileDraggingExtension +FNDA:0,createContentEditable +FNDA:0,(anonymous_24) +FNDA:0,initElement +FNDA:0,attachHandlers +FNDA:0,initExtensions +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,mergeOptions +FNDA:0,(anonymous_31) +FNDA:0,execActionInternal +FNDA:0,cleanupJustifyDivFragments +FNDA:0,(anonymous_34) +FNDA:0,(anonymous_35) +FNDA:0,(anonymous_36) +FNDA:0,(anonymous_37) +FNDA:0,(anonymous_38) +FNDA:0,(anonymous_39) +FNDA:0,(anonymous_40) +FNDA:0,(anonymous_41) +FNDA:0,(anonymous_42) +FNDA:0,(anonymous_43) +FNDA:0,(anonymous_44) +FNDA:0,(anonymous_45) +FNDA:0,(anonymous_46) +FNDA:0,(anonymous_47) +FNDA:0,(anonymous_48) +FNDA:0,(anonymous_49) +FNDA:0,(anonymous_50) +FNDA:0,(anonymous_51) +FNDA:0,(anonymous_52) +FNDA:0,(anonymous_53) +FNDA:0,(anonymous_54) +FNDA:0,(anonymous_55) +FNDA:0,(anonymous_56) +FNDA:0,(anonymous_57) +FNDA:0,(anonymous_58) +FNDA:0,(anonymous_59) +FNDA:0,(anonymous_60) +FNDA:0,(anonymous_61) +FNDA:0,(anonymous_62) +FNDA:0,(anonymous_63) +FNDA:0,(anonymous_64) +FNDA:0,(anonymous_65) +FNDA:0,(anonymous_66) +FNDA:0,(anonymous_67) +FNDA:0,(anonymous_68) +FNDA:0,(anonymous_69) +FNDA:0,(anonymous_70) +FNDA:0,(anonymous_71) +FNDA:0,(anonymous_72) +FNDA:0,(anonymous_73) +FNDA:0,(anonymous_74) +FNDA:0,(anonymous_75) +FNDA:0,(anonymous_76) +FNDA:0,(anonymous_77) +FNDA:0,(anonymous_78) +FNDA:0,(anonymous_79) +DA:1,1 +DA:6,1 +DA:7,0 +DA:11,0 +DA:12,0 +DA:16,1 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:23,0 +DA:26,0 +DA:31,1 +DA:33,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:42,0 +DA:43,0 +DA:46,0 +DA:47,0 +DA:49,0 +DA:54,1 +DA:55,0 +DA:60,0 +DA:67,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:81,0 +DA:97,0 +DA:99,0 +DA:101,0 +DA:102,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:127,0 +DA:130,0 +DA:132,0 +DA:133,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:152,0 +DA:154,0 +DA:155,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:169,1 +DA:170,0 +DA:173,0 +DA:174,0 +DA:179,0 +DA:180,0 +DA:186,0 +DA:190,0 +DA:192,0 +DA:193,0 +DA:194,0 +DA:195,0 +DA:200,1 +DA:201,0 +DA:202,0 +DA:203,0 +DA:209,1 +DA:210,0 +DA:214,0 +DA:218,0 +DA:219,0 +DA:222,0 +DA:225,1 +DA:226,0 +DA:227,0 +DA:237,0 +DA:240,1 +DA:241,0 +DA:243,0 +DA:244,0 +DA:247,0 +DA:248,0 +DA:251,0 +DA:252,0 +DA:255,0 +DA:258,0 +DA:259,0 +DA:260,0 +DA:263,0 +DA:268,0 +DA:271,0 +DA:274,1 +DA:275,0 +DA:276,0 +DA:278,0 +DA:279,0 +DA:281,0 +DA:282,0 +DA:286,1 +DA:287,0 +DA:288,0 +DA:289,0 +DA:292,0 +DA:295,1 +DA:296,0 +DA:303,0 +DA:306,0 +DA:307,0 +DA:311,0 +DA:312,0 +DA:314,0 +DA:317,1 +DA:320,0 +DA:321,0 +DA:323,0 +DA:326,0 +DA:329,1 +DA:331,0 +DA:332,0 +DA:335,0 +DA:338,1 +DA:339,0 +DA:342,1 +DA:343,0 +DA:346,1 +DA:347,0 +DA:350,1 +DA:351,0 +DA:354,1 +DA:358,0 +DA:361,1 +DA:362,0 +DA:369,0 +DA:370,0 +DA:371,0 +DA:374,0 +DA:375,0 +DA:376,0 +DA:378,0 +DA:381,0 +DA:383,0 +DA:384,0 +DA:390,0 +DA:391,0 +DA:392,0 +DA:393,0 +DA:398,0 +DA:399,0 +DA:404,0 +DA:407,1 +DA:408,0 +DA:409,0 +DA:410,0 +DA:413,0 +DA:414,0 +DA:415,0 +DA:419,0 +DA:420,0 +DA:421,0 +DA:425,0 +DA:426,0 +DA:427,0 +DA:428,0 +DA:434,0 +DA:435,0 +DA:438,0 +DA:440,0 +DA:441,0 +DA:442,0 +DA:443,0 +DA:444,0 +DA:448,0 +DA:449,0 +DA:451,0 +DA:454,0 +DA:457,1 +DA:459,0 +DA:462,0 +DA:463,0 +DA:466,0 +DA:467,0 +DA:471,0 +DA:473,0 +DA:474,0 +DA:475,0 +DA:480,1 +DA:482,0 +DA:485,0 +DA:487,0 +DA:488,0 +DA:502,0 +DA:503,0 +DA:504,0 +DA:505,0 +DA:509,0 +DA:510,0 +DA:513,0 +DA:517,0 +DA:524,0 +DA:525,0 +DA:526,0 +DA:533,0 +DA:534,0 +DA:536,0 +DA:539,0 +DA:544,0 +DA:545,0 +DA:549,1 +DA:550,0 +DA:554,0 +DA:555,0 +DA:556,0 +DA:557,0 +DA:562,0 +DA:565,1 +DA:567,0 +DA:575,0 +DA:576,0 +DA:577,0 +DA:580,0 +DA:582,0 +DA:583,0 +DA:585,0 +DA:586,0 +DA:589,0 +DA:591,0 +DA:592,0 +DA:594,0 +DA:595,0 +DA:598,0 +DA:599,0 +DA:602,0 +DA:603,0 +DA:604,0 +DA:607,0 +DA:608,0 +DA:609,0 +DA:614,0 +DA:615,0 +DA:617,0 +DA:618,0 +DA:621,0 +DA:624,0 +DA:625,0 +DA:632,1 +DA:633,0 +DA:634,0 +DA:637,0 +DA:639,0 +DA:640,0 +DA:641,0 +DA:643,0 +DA:653,0 +DA:655,0 +DA:656,0 +DA:657,0 +DA:658,0 +DA:659,0 +DA:661,0 +DA:662,0 +DA:663,0 +DA:667,0 +DA:669,0 +DA:673,1 +DA:675,1 +DA:678,0 +DA:679,0 +DA:681,0 +DA:682,0 +DA:685,0 +DA:689,0 +DA:690,0 +DA:693,0 +DA:694,0 +DA:695,0 +DA:697,0 +DA:699,0 +DA:700,0 +DA:703,0 +DA:706,0 +DA:707,0 +DA:711,0 +DA:712,0 +DA:715,0 +DA:717,0 +DA:718,0 +DA:719,0 +DA:723,0 +DA:725,0 +DA:727,0 +DA:728,0 +DA:732,0 +DA:733,0 +DA:734,0 +DA:735,0 +DA:736,0 +DA:737,0 +DA:738,0 +DA:739,0 +DA:742,0 +DA:743,0 +DA:746,0 +DA:747,0 +DA:748,0 +DA:750,0 +DA:754,0 +DA:756,0 +DA:760,0 +DA:762,0 +DA:766,0 +DA:768,0 +DA:772,0 +DA:774,0 +DA:778,0 +DA:780,0 +DA:784,0 +DA:785,0 +DA:786,0 +DA:787,0 +DA:793,0 +DA:798,0 +DA:799,0 +DA:800,0 +DA:804,0 +DA:808,0 +DA:809,0 +DA:810,0 +DA:811,0 +DA:812,0 +DA:813,0 +DA:815,0 +DA:818,0 +DA:825,0 +DA:827,0 +DA:828,0 +DA:831,0 +DA:833,0 +DA:834,0 +DA:835,0 +DA:837,0 +DA:838,0 +DA:840,0 +DA:841,0 +DA:843,0 +DA:844,0 +DA:846,0 +DA:847,0 +DA:849,0 +DA:850,0 +DA:852,0 +DA:853,0 +DA:855,0 +DA:856,0 +DA:858,0 +DA:859,0 +DA:863,0 +DA:864,0 +DA:865,0 +DA:866,0 +DA:868,0 +DA:873,0 +DA:874,0 +DA:877,0 +DA:881,0 +DA:885,0 +DA:889,0 +DA:890,0 +DA:891,0 +DA:893,0 +DA:899,0 +DA:904,0 +DA:905,0 +DA:906,0 +DA:909,0 +DA:910,0 +DA:912,0 +DA:915,0 +DA:920,0 +DA:927,0 +DA:928,0 +DA:930,0 +DA:932,0 +DA:933,0 +DA:935,0 +DA:937,0 +DA:941,0 +DA:942,0 +DA:945,0 +DA:946,0 +DA:950,0 +DA:951,0 +DA:953,0 +DA:957,0 +DA:959,0 +DA:961,0 +DA:962,0 +DA:965,0 +DA:970,0 +DA:972,0 +DA:973,0 +DA:974,0 +DA:979,0 +DA:980,0 +DA:982,0 +DA:983,0 +DA:987,0 +DA:990,0 +DA:996,0 +DA:1000,0 +DA:1001,0 +DA:1004,0 +DA:1005,0 +DA:1008,0 +DA:1012,0 +DA:1018,0 +DA:1019,0 +DA:1022,0 +DA:1023,0 +DA:1027,0 +DA:1031,0 +DA:1036,0 +DA:1037,0 +DA:1040,0 +DA:1041,0 +DA:1043,0 +DA:1044,0 +DA:1046,0 +DA:1047,0 +DA:1048,0 +DA:1049,0 +DA:1050,0 +DA:1063,0 +DA:1067,0 +DA:1070,0 +DA:1071,0 +DA:1077,0 +DA:1078,0 +DA:1084,0 +DA:1086,0 +DA:1087,0 +DA:1089,0 +DA:1100,0 +DA:1109,0 +DA:1118,0 +DA:1120,0 +DA:1132,0 +DA:1133,0 +DA:1134,0 +DA:1135,0 +DA:1139,0 +DA:1142,0 +DA:1145,0 +DA:1146,0 +DA:1147,0 +DA:1149,0 +DA:1151,0 +DA:1154,0 +DA:1155,0 +DA:1157,0 +DA:1160,0 +DA:1161,0 +DA:1166,0 +DA:1167,0 +DA:1168,0 +DA:1169,0 +DA:1170,0 +DA:1174,0 +DA:1177,0 +DA:1181,0 +DA:1185,0 +DA:1189,0 +DA:1191,0 +DA:1192,0 +DA:1193,0 +DA:1194,0 +DA:1199,0 +DA:1201,0 +DA:1202,0 +DA:1204,0 +DA:1208,0 +DA:1209,0 +DA:1217,0 +DA:1218,0 +DA:1219,0 +DA:1220,0 +DA:1222,0 +DA:1225,0 +DA:1226,0 +DA:1232,0 +DA:1235,0 +DA:1236,0 +DA:1239,0 +DA:1241,0 +DA:1244,0 +DA:1247,0 +DA:1253,0 +DA:1256,0 +DA:1257,0 +DA:1259,0 +DA:1263,0 +DA:1265,0 +DA:1266,0 +DA:1267,0 +DA:1268,0 +DA:1271,0 +DA:1272,0 +DA:1274,0 +DA:1279,1 +DA:1280,0 +DA:1282,0 +DA:1283,0 +DA:1285,0 +LF:519 +LH:30 +BRDA:11,1,0,0 +BRDA:11,1,1,0 +BRDA:11,2,0,0 +BRDA:11,2,1,0 +BRDA:11,2,2,0 +BRDA:11,2,3,0 +BRDA:17,3,0,0 +BRDA:17,3,1,0 +BRDA:17,4,0,0 +BRDA:17,4,1,0 +BRDA:19,5,0,0 +BRDA:19,5,1,0 +BRDA:19,6,0,0 +BRDA:19,6,1,0 +BRDA:23,7,0,0 +BRDA:23,7,1,0 +BRDA:23,8,0,0 +BRDA:23,8,1,0 +BRDA:23,8,2,0 +BRDA:23,8,3,0 +BRDA:23,8,4,0 +BRDA:23,8,5,0 +BRDA:34,9,0,0 +BRDA:34,9,1,0 +BRDA:36,10,0,0 +BRDA:36,10,1,0 +BRDA:42,11,0,0 +BRDA:42,11,1,0 +BRDA:46,12,0,0 +BRDA:46,12,1,0 +BRDA:60,13,0,0 +BRDA:60,13,1,0 +BRDA:60,14,0,0 +BRDA:60,14,1,0 +BRDA:60,14,2,0 +BRDA:60,14,3,0 +BRDA:67,15,0,0 +BRDA:67,15,1,0 +BRDA:67,16,0,0 +BRDA:67,16,1,0 +BRDA:73,17,0,0 +BRDA:73,17,1,0 +BRDA:73,18,0,0 +BRDA:73,18,1,0 +BRDA:81,19,0,0 +BRDA:81,19,1,0 +BRDA:81,20,0,0 +BRDA:81,20,1,0 +BRDA:81,20,2,0 +BRDA:81,20,3,0 +BRDA:81,20,4,0 +BRDA:81,20,5,0 +BRDA:102,21,0,0 +BRDA:102,21,1,0 +BRDA:102,22,0,0 +BRDA:102,22,1,0 +BRDA:102,22,2,0 +BRDA:102,22,3,0 +BRDA:102,22,4,0 +BRDA:102,22,5,0 +BRDA:102,22,6,0 +BRDA:133,23,0,0 +BRDA:133,23,1,0 +BRDA:133,24,0,0 +BRDA:133,24,1,0 +BRDA:133,24,2,0 +BRDA:141,25,0,0 +BRDA:141,25,1,0 +BRDA:141,26,0,0 +BRDA:141,26,1,0 +BRDA:141,26,2,0 +BRDA:155,27,0,0 +BRDA:155,27,1,0 +BRDA:155,28,0,0 +BRDA:155,28,1,0 +BRDA:155,28,2,0 +BRDA:155,28,3,0 +BRDA:155,28,4,0 +BRDA:173,29,0,0 +BRDA:173,29,1,0 +BRDA:179,30,0,0 +BRDA:179,30,1,0 +BRDA:179,31,0,0 +BRDA:179,31,1,0 +BRDA:179,31,2,0 +BRDA:186,32,0,0 +BRDA:186,32,1,0 +BRDA:186,33,0,0 +BRDA:186,33,1,0 +BRDA:186,33,2,0 +BRDA:192,34,0,0 +BRDA:192,34,1,0 +BRDA:194,35,0,0 +BRDA:194,35,1,0 +BRDA:194,36,0,0 +BRDA:194,36,1,0 +BRDA:202,37,0,0 +BRDA:202,37,1,0 +BRDA:210,38,0,0 +BRDA:210,38,1,0 +BRDA:218,39,0,0 +BRDA:218,39,1,0 +BRDA:226,40,0,0 +BRDA:226,40,1,0 +BRDA:226,41,0,0 +BRDA:226,41,1,0 +BRDA:243,42,0,0 +BRDA:243,42,1,0 +BRDA:247,43,0,0 +BRDA:247,43,1,0 +BRDA:251,44,0,0 +BRDA:251,44,1,0 +BRDA:255,45,0,0 +BRDA:255,45,1,0 +BRDA:260,46,0,0 +BRDA:260,46,1,0 +BRDA:260,47,0,0 +BRDA:260,47,1,0 +BRDA:260,47,2,0 +BRDA:276,48,0,0 +BRDA:276,48,1,0 +BRDA:281,49,0,0 +BRDA:281,49,1,0 +BRDA:288,50,0,0 +BRDA:288,50,1,0 +BRDA:306,51,0,0 +BRDA:306,51,1,0 +BRDA:311,52,0,0 +BRDA:311,52,1,0 +BRDA:320,53,0,0 +BRDA:320,53,1,0 +BRDA:331,54,0,0 +BRDA:331,54,1,0 +BRDA:383,55,0,0 +BRDA:383,55,1,0 +BRDA:390,56,0,0 +BRDA:390,56,1,0 +BRDA:392,57,0,0 +BRDA:392,57,1,0 +BRDA:408,58,0,0 +BRDA:408,58,1,0 +BRDA:409,59,0,0 +BRDA:409,59,1,0 +BRDA:413,60,0,0 +BRDA:413,60,1,0 +BRDA:419,61,0,0 +BRDA:419,61,1,0 +BRDA:419,62,0,0 +BRDA:419,62,1,0 +BRDA:425,63,0,0 +BRDA:425,63,1,0 +BRDA:426,64,0,0 +BRDA:426,64,1,0 +BRDA:426,65,0,0 +BRDA:426,65,1,0 +BRDA:434,66,0,0 +BRDA:434,66,1,0 +BRDA:434,67,0,0 +BRDA:434,67,1,0 +BRDA:466,68,0,0 +BRDA:466,68,1,0 +BRDA:471,69,0,0 +BRDA:471,69,1,0 +BRDA:473,70,0,0 +BRDA:473,70,1,0 +BRDA:473,71,0,0 +BRDA:473,71,1,0 +BRDA:487,72,0,0 +BRDA:487,72,1,0 +BRDA:487,73,0,0 +BRDA:487,73,1,0 +BRDA:502,74,0,0 +BRDA:502,74,1,0 +BRDA:504,75,0,0 +BRDA:504,75,1,0 +BRDA:509,76,0,0 +BRDA:509,76,1,0 +BRDA:525,77,0,0 +BRDA:525,77,1,0 +BRDA:534,78,0,0 +BRDA:534,78,1,0 +BRDA:534,79,0,0 +BRDA:534,79,1,0 +BRDA:544,80,0,0 +BRDA:544,80,1,0 +BRDA:554,81,0,0 +BRDA:554,81,1,0 +BRDA:556,82,0,0 +BRDA:556,82,1,0 +BRDA:556,83,0,0 +BRDA:556,83,1,0 +BRDA:576,84,0,0 +BRDA:576,84,1,0 +BRDA:580,85,0,0 +BRDA:580,85,1,0 +BRDA:582,86,0,0 +BRDA:582,86,1,0 +BRDA:585,87,0,0 +BRDA:585,87,1,0 +BRDA:589,88,0,0 +BRDA:589,88,1,0 +BRDA:591,89,0,0 +BRDA:591,89,1,0 +BRDA:594,90,0,0 +BRDA:594,90,1,0 +BRDA:598,91,0,0 +BRDA:598,91,1,0 +BRDA:602,92,0,0 +BRDA:602,92,1,0 +BRDA:607,93,0,0 +BRDA:607,93,1,0 +BRDA:614,94,0,0 +BRDA:614,94,1,0 +BRDA:617,95,0,0 +BRDA:617,95,1,0 +BRDA:624,96,0,0 +BRDA:624,96,1,0 +BRDA:633,97,0,0 +BRDA:633,97,1,0 +BRDA:640,98,0,0 +BRDA:640,98,1,0 +BRDA:640,99,0,0 +BRDA:640,99,1,0 +BRDA:653,100,0,0 +BRDA:653,100,1,0 +BRDA:657,101,0,0 +BRDA:657,101,1,0 +BRDA:659,102,0,0 +BRDA:659,102,1,0 +BRDA:681,103,0,0 +BRDA:681,103,1,0 +BRDA:689,104,0,0 +BRDA:689,104,1,0 +BRDA:699,105,0,0 +BRDA:699,105,1,0 +BRDA:711,106,0,0 +BRDA:711,106,1,0 +BRDA:718,107,0,0 +BRDA:718,107,1,0 +BRDA:727,108,0,0 +BRDA:727,108,1,0 +BRDA:742,109,0,0 +BRDA:742,109,1,0 +BRDA:786,110,0,0 +BRDA:786,110,1,0 +BRDA:799,111,0,0 +BRDA:799,111,1,0 +BRDA:809,112,0,0 +BRDA:809,112,1,0 +BRDA:809,113,0,0 +BRDA:809,113,1,0 +BRDA:811,114,0,0 +BRDA:811,114,1,0 +BRDA:827,115,0,0 +BRDA:827,115,1,0 +BRDA:831,116,0,0 +BRDA:831,116,1,0 +BRDA:831,116,2,0 +BRDA:831,116,3,0 +BRDA:831,116,4,0 +BRDA:831,116,5,0 +BRDA:831,116,6,0 +BRDA:831,116,7,0 +BRDA:831,116,8,0 +BRDA:831,116,9,0 +BRDA:863,117,0,0 +BRDA:863,117,1,0 +BRDA:864,118,0,0 +BRDA:864,118,1,0 +BRDA:873,119,0,0 +BRDA:873,119,1,0 +BRDA:890,120,0,0 +BRDA:890,120,1,0 +BRDA:905,121,0,0 +BRDA:905,121,1,0 +BRDA:928,122,0,0 +BRDA:928,122,1,0 +BRDA:941,123,0,0 +BRDA:941,123,1,0 +BRDA:941,124,0,0 +BRDA:941,124,1,0 +BRDA:950,125,0,0 +BRDA:950,125,1,0 +BRDA:959,126,0,0 +BRDA:959,126,1,0 +BRDA:973,127,0,0 +BRDA:973,127,1,0 +BRDA:982,128,0,0 +BRDA:982,128,1,0 +BRDA:982,129,0,0 +BRDA:982,129,1,0 +BRDA:1000,130,0,0 +BRDA:1000,130,1,0 +BRDA:1004,131,0,0 +BRDA:1004,131,1,0 +BRDA:1004,132,0,0 +BRDA:1004,132,1,0 +BRDA:1018,133,0,0 +BRDA:1018,133,1,0 +BRDA:1022,134,0,0 +BRDA:1022,134,1,0 +BRDA:1036,135,0,0 +BRDA:1036,135,1,0 +BRDA:1043,136,0,0 +BRDA:1043,136,1,0 +BRDA:1046,137,0,0 +BRDA:1046,137,1,0 +BRDA:1047,138,0,0 +BRDA:1047,138,1,0 +BRDA:1047,139,0,0 +BRDA:1047,139,1,0 +BRDA:1049,140,0,0 +BRDA:1049,140,1,0 +BRDA:1063,141,0,0 +BRDA:1063,141,1,0 +BRDA:1063,142,0,0 +BRDA:1063,142,1,0 +BRDA:1063,142,2,0 +BRDA:1063,142,3,0 +BRDA:1077,143,0,0 +BRDA:1077,143,1,0 +BRDA:1077,144,0,0 +BRDA:1077,144,1,0 +BRDA:1077,144,2,0 +BRDA:1078,145,0,0 +BRDA:1078,145,1,0 +BRDA:1089,146,0,0 +BRDA:1089,146,1,0 +BRDA:1105,147,0,0 +BRDA:1105,147,1,0 +BRDA:1132,148,0,0 +BRDA:1132,148,1,0 +BRDA:1142,149,0,0 +BRDA:1142,149,1,0 +BRDA:1154,150,0,0 +BRDA:1154,150,1,0 +BRDA:1154,151,0,0 +BRDA:1154,151,1,0 +BRDA:1160,152,0,0 +BRDA:1160,152,1,0 +BRDA:1166,153,0,0 +BRDA:1166,153,1,0 +BRDA:1166,154,0,0 +BRDA:1166,154,1,0 +BRDA:1166,154,2,0 +BRDA:1189,155,0,0 +BRDA:1189,155,1,0 +BRDA:1191,156,0,0 +BRDA:1191,156,1,0 +BRDA:1199,157,0,0 +BRDA:1199,157,1,0 +BRDA:1201,158,0,0 +BRDA:1201,158,1,0 +BRDA:1208,159,0,0 +BRDA:1208,159,1,0 +BRDA:1217,160,0,0 +BRDA:1217,160,1,0 +BRDA:1219,161,0,0 +BRDA:1219,161,1,0 +BRDA:1235,162,0,0 +BRDA:1235,162,1,0 +BRDA:1256,163,0,0 +BRDA:1256,163,1,0 +BRDA:1256,164,0,0 +BRDA:1256,164,1,0 +BRDA:1265,165,0,0 +BRDA:1265,165,1,0 +BRDA:1267,166,0,0 +BRDA:1267,166,1,0 +BRDA:1281,167,0,0 +BRDA:1281,167,1,0 +BRDA:1281,167,2,0 +BRDA:1281,167,3,0 +BRDA:1282,168,0,0 +BRDA:1282,168,1,0 +BRDA:1282,169,0,0 +BRDA:1282,169,1,0 +BRDA:1282,169,2,0 +BRF:378 +BRH:0 +end_of_record +TN: +SF:src/js/defaults/options.js +FN:1,(anonymous_1) +FNF:1 +FNH:1 +FNDA:1,(anonymous_1) +DA:1,1 +DA:4,1 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:assests/js/lib/file-upload/jquery.ui.widget.js +FN:6,(anonymous_1) +FN:22,(anonymous_2) +FN:38,(anonymous_3) +FN:39,(anonymous_4) +FN:57,(anonymous_5) +FN:73,(anonymous_6) +FN:79,(anonymous_7) +FN:107,(anonymous_8) +FN:112,(anonymous_9) +FN:113,(anonymous_10) +FN:116,(anonymous_11) +FN:119,(anonymous_12) +FN:153,(anonymous_13) +FN:172,(anonymous_14) +FN:198,(anonymous_15) +FN:200,(anonymous_16) +FN:206,(anonymous_17) +FN:235,(anonymous_18) +FN:252,(anonymous_19) +FN:265,(anonymous_20) +FN:278,(anonymous_21) +FN:306,(anonymous_22) +FN:330,(anonymous_23) +FN:334,(anonymous_24) +FN:373,(anonymous_25) +FN:382,(anonymous_26) +FN:399,(anonymous_27) +FN:402,(anonymous_28) +FN:406,(anonymous_29) +FN:427,(anonymous_30) +FN:428,handlerProxy +FN:458,(anonymous_32) +FN:469,(anonymous_33) +FN:470,handlerProxy +FN:478,(anonymous_35) +FN:481,(anonymous_36) +FN:484,(anonymous_37) +FN:490,(anonymous_38) +FN:493,(anonymous_39) +FN:496,(anonymous_40) +FN:502,(anonymous_41) +FN:532,(anonymous_42) +FN:533,(anonymous_43) +FN:557,(anonymous_44) +FNF:44 +FNH:1 +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,handlerProxy +FNDA:0,(anonymous_32) +FNDA:0,(anonymous_33) +FNDA:0,handlerProxy +FNDA:0,(anonymous_35) +FNDA:0,(anonymous_36) +FNDA:0,(anonymous_37) +FNDA:0,(anonymous_38) +FNDA:0,(anonymous_39) +FNDA:0,(anonymous_40) +FNDA:0,(anonymous_41) +FNDA:0,(anonymous_42) +FNDA:0,(anonymous_43) +FNDA:0,(anonymous_44) +DA:6,1 +DA:7,1 +DA:10,0 +DA:12,1 +DA:15,0 +DA:20,1 +DA:35,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:53,0 +DA:57,0 +DA:58,0 +DA:64,0 +DA:65,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:73,0 +DA:74,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:81,0 +DA:82,0 +DA:87,0 +DA:88,0 +DA:92,0 +DA:102,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:117,0 +DA:119,0 +DA:120,0 +DA:124,0 +DA:125,0 +DA:127,0 +DA:129,0 +DA:130,0 +DA:132,0 +DA:136,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:158,0 +DA:162,0 +DA:164,0 +DA:167,0 +DA:169,0 +DA:172,0 +DA:173,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:183,0 +DA:184,0 +DA:190,0 +DA:195,0 +DA:198,0 +DA:199,0 +DA:200,0 +DA:201,0 +DA:205,0 +DA:206,0 +DA:207,0 +DA:209,0 +DA:210,0 +DA:211,0 +DA:213,0 +DA:214,0 +DA:217,0 +DA:218,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:225,0 +DA:231,0 +DA:232,0 +DA:235,0 +DA:236,0 +DA:237,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:243,0 +DA:248,0 +DA:252,0 +DA:253,0 +DA:255,0 +DA:266,0 +DA:267,0 +DA:268,0 +DA:269,0 +DA:271,0 +DA:272,0 +DA:273,0 +DA:275,0 +DA:276,0 +DA:277,0 +DA:279,0 +DA:280,0 +DA:284,0 +DA:289,0 +DA:292,0 +DA:297,0 +DA:298,0 +DA:299,0 +DA:307,0 +DA:310,0 +DA:316,0 +DA:324,0 +DA:325,0 +DA:326,0 +DA:331,0 +DA:335,0 +DA:340,0 +DA:342,0 +DA:345,0 +DA:347,0 +DA:348,0 +DA:349,0 +DA:350,0 +DA:351,0 +DA:352,0 +DA:353,0 +DA:354,0 +DA:356,0 +DA:357,0 +DA:358,0 +DA:360,0 +DA:362,0 +DA:363,0 +DA:365,0 +DA:369,0 +DA:371,0 +DA:374,0 +DA:376,0 +DA:377,0 +DA:380,0 +DA:383,0 +DA:385,0 +DA:386,0 +DA:390,0 +DA:391,0 +DA:392,0 +DA:396,0 +DA:400,0 +DA:403,0 +DA:407,0 +DA:411,0 +DA:412,0 +DA:413,0 +DA:414,0 +DA:418,0 +DA:419,0 +DA:420,0 +DA:421,0 +DA:423,0 +DA:424,0 +DA:427,0 +DA:428,1 +DA:432,0 +DA:435,0 +DA:437,0 +DA:442,0 +DA:443,0 +DA:447,0 +DA:450,0 +DA:451,0 +DA:453,0 +DA:459,0 +DA:461,0 +DA:464,0 +DA:465,0 +DA:466,0 +DA:470,1 +DA:471,0 +DA:474,0 +DA:475,0 +DA:479,0 +DA:480,0 +DA:482,0 +DA:485,0 +DA:491,0 +DA:492,0 +DA:494,0 +DA:497,0 +DA:503,0 +DA:506,0 +DA:507,0 +DA:508,0 +DA:513,0 +DA:516,0 +DA:517,0 +DA:518,0 +DA:519,0 +DA:520,0 +DA:525,0 +DA:526,0 +DA:532,0 +DA:533,0 +DA:534,0 +DA:535,0 +DA:537,0 +DA:543,0 +DA:544,0 +DA:545,0 +DA:547,0 +DA:548,0 +DA:549,0 +DA:550,0 +DA:552,0 +DA:553,0 +DA:554,0 +DA:555,0 +DA:557,0 +DA:558,0 +DA:559,0 +DA:560,0 +DA:562,0 +DA:568,0 +LF:233 +LH:6 +BRDA:7,1,0,0 +BRDA:7,1,1,1 +BRDA:7,2,0,1 +BRDA:7,2,1,0 +BRDA:12,3,0,0 +BRDA:12,3,1,1 +BRDA:46,4,0,0 +BRDA:46,4,1,0 +BRDA:46,5,0,0 +BRDA:46,5,1,0 +BRDA:67,6,0,0 +BRDA:67,6,1,0 +BRDA:77,7,0,0 +BRDA:77,7,1,0 +BRDA:81,8,0,0 +BRDA:81,8,1,0 +BRDA:87,9,0,0 +BRDA:87,9,1,0 +BRDA:108,10,0,0 +BRDA:108,10,1,0 +BRDA:140,11,0,0 +BRDA:140,11,1,0 +BRDA:140,12,0,0 +BRDA:140,12,1,0 +BRDA:152,13,0,0 +BRDA:152,13,1,0 +BRDA:181,14,0,0 +BRDA:181,14,1,0 +BRDA:181,15,0,0 +BRDA:181,15,1,0 +BRDA:183,16,0,0 +BRDA:183,16,1,0 +BRDA:184,17,0,0 +BRDA:184,17,1,0 +BRDA:199,18,0,0 +BRDA:199,18,1,0 +BRDA:205,19,0,0 +BRDA:205,19,1,0 +BRDA:209,20,0,0 +BRDA:209,20,1,0 +BRDA:213,21,0,0 +BRDA:213,21,1,0 +BRDA:217,22,0,0 +BRDA:217,22,1,0 +BRDA:217,23,0,0 +BRDA:217,23,1,0 +BRDA:221,24,0,0 +BRDA:221,24,1,0 +BRDA:221,25,0,0 +BRDA:221,25,1,0 +BRDA:222,26,0,0 +BRDA:222,26,1,0 +BRDA:222,27,0,0 +BRDA:222,27,1,0 +BRDA:231,28,0,0 +BRDA:231,28,1,0 +BRDA:237,29,0,0 +BRDA:237,29,1,0 +BRDA:238,30,0,0 +BRDA:238,30,1,0 +BRDA:239,31,0,0 +BRDA:239,31,1,0 +BRDA:266,32,0,0 +BRDA:266,32,1,0 +BRDA:266,32,2,0 +BRDA:275,33,0,0 +BRDA:275,33,1,0 +BRDA:279,34,0,0 +BRDA:279,34,1,0 +BRDA:284,35,0,0 +BRDA:284,35,1,0 +BRDA:288,36,0,0 +BRDA:288,36,1,0 +BRDA:289,37,0,0 +BRDA:289,37,1,0 +BRDA:340,38,0,0 +BRDA:340,38,1,0 +BRDA:345,39,0,0 +BRDA:345,39,1,0 +BRDA:350,40,0,0 +BRDA:350,40,1,0 +BRDA:353,41,0,0 +BRDA:353,41,1,0 +BRDA:357,42,0,0 +BRDA:357,42,1,0 +BRDA:358,43,0,0 +BRDA:358,43,1,0 +BRDA:362,44,0,0 +BRDA:362,44,1,0 +BRDA:363,45,0,0 +BRDA:363,45,1,0 +BRDA:385,46,0,0 +BRDA:385,46,1,0 +BRDA:390,47,0,0 +BRDA:390,47,1,0 +BRDA:411,48,0,0 +BRDA:411,48,1,0 +BRDA:418,49,0,0 +BRDA:418,49,1,0 +BRDA:432,50,0,0 +BRDA:432,50,1,0 +BRDA:432,51,0,0 +BRDA:432,51,1,0 +BRDA:432,51,2,0 +BRDA:437,52,0,0 +BRDA:437,52,1,0 +BRDA:442,53,0,0 +BRDA:442,53,1,0 +BRDA:444,54,0,0 +BRDA:444,54,1,0 +BRDA:444,54,2,0 +BRDA:450,55,0,0 +BRDA:450,55,1,0 +BRDA:459,56,0,0 +BRDA:459,56,1,0 +BRDA:471,57,0,0 +BRDA:471,57,1,0 +BRDA:475,58,0,0 +BRDA:475,58,1,0 +BRDA:506,59,0,0 +BRDA:506,59,1,0 +BRDA:508,60,0,0 +BRDA:508,60,1,0 +BRDA:517,61,0,0 +BRDA:517,61,1,0 +BRDA:519,62,0,0 +BRDA:519,62,1,0 +BRDA:526,63,0,0 +BRDA:526,63,1,0 +BRDA:526,63,2,0 +BRDA:534,64,0,0 +BRDA:534,64,1,0 +BRDA:538,65,0,0 +BRDA:538,65,1,0 +BRDA:540,66,0,0 +BRDA:540,66,1,0 +BRDA:540,67,0,0 +BRDA:540,67,1,0 +BRDA:542,68,0,0 +BRDA:542,68,1,0 +BRDA:543,69,0,0 +BRDA:543,69,1,0 +BRDA:544,70,0,0 +BRDA:544,70,1,0 +BRDA:549,71,0,0 +BRDA:549,71,1,0 +BRDA:552,72,0,0 +BRDA:552,72,1,0 +BRDA:552,73,0,0 +BRDA:552,73,1,0 +BRDA:552,73,2,0 +BRDA:554,74,0,0 +BRDA:554,74,1,0 +BRDA:554,75,0,0 +BRDA:554,75,1,0 +BRDA:559,76,0,0 +BRDA:559,76,1,0 +BRF:157 +BRH:3 +end_of_record +TN: +SF:assests/js/lib/file-upload/jquery.fileupload.js +FN:15,(anonymous_1) +FN:33,(anonymous_2) +FN:61,getDragHandler +FN:63,(anonymous_4) +FN:176,(anonymous_5) +FN:179,(anonymous_6) +FN:191,(anonymous_7) +FN:211,(anonymous_8) +FN:217,(anonymous_9) +FN:294,(anonymous_10) +FN:299,(anonymous_11) +FN:303,(anonymous_12) +FN:314,(anonymous_13) +FN:320,(anonymous_14) +FN:330,(anonymous_15) +FN:338,(anonymous_16) +FN:340,(anonymous_17) +FN:346,(anonymous_18) +FN:359,(anonymous_19) +FN:372,(anonymous_20) +FN:417,(anonymous_21) +FN:423,(anonymous_22) +FN:431,(anonymous_23) +FN:437,(anonymous_24) +FN:442,(anonymous_25) +FN:474,(anonymous_26) +FN:487,(anonymous_27) +FN:494,(anonymous_28) +FN:515,(anonymous_29) +FN:530,(anonymous_30) +FN:548,(anonymous_31) +FN:553,(anonymous_32) +FN:571,(anonymous_33) +FN:600,(anonymous_34) +FN:609,(anonymous_35) +FN:624,(anonymous_36) +FN:633,(anonymous_37) +FN:647,(anonymous_38) +FN:649,(anonymous_39) +FN:652,(anonymous_40) +FN:656,(anonymous_41) +FN:667,(anonymous_42) +FN:678,(anonymous_43) +FN:686,(anonymous_44) +FN:694,(anonymous_45) +FN:698,(anonymous_46) +FN:701,(anonymous_47) +FN:708,(anonymous_48) +FN:721,(anonymous_49) +FN:749,(anonymous_50) +FN:771,(anonymous_51) +FN:801,(anonymous_52) +FN:814,(anonymous_53) +FN:821,(anonymous_54) +FN:847,(anonymous_55) +FN:865,(anonymous_56) +FN:879,(anonymous_57) +FN:885,(anonymous_58) +FN:895,(anonymous_59) +FN:907,(anonymous_60) +FN:909,(anonymous_61) +FN:911,(anonymous_62) +FN:956,(anonymous_63) +FN:971,(anonymous_64) +FN:1030,(anonymous_65) +FN:1047,(anonymous_66) +FN:1067,(anonymous_67) +FN:1080,(anonymous_68) +FN:1085,(anonymous_69) +FN:1095,(anonymous_70) +FN:1099,(anonymous_71) +FN:1103,(anonymous_72) +FN:1104,(anonymous_73) +FN:1120,(anonymous_74) +FN:1136,(anonymous_75) +FN:1140,(anonymous_76) +FN:1143,(anonymous_77) +FN:1151,(anonymous_78) +FN:1157,(anonymous_79) +FN:1176,(anonymous_80) +FN:1197,(anonymous_81) +FN:1205,(anonymous_82) +FN:1212,(anonymous_83) +FN:1220,(anonymous_84) +FN:1226,(anonymous_85) +FN:1241,(anonymous_86) +FN:1246,(anonymous_87) +FN:1262,(anonymous_88) +FN:1269,(anonymous_89) +FN:1288,(anonymous_90) +FN:1309,(anonymous_91) +FN:1315,(anonymous_92) +FN:1319,(anonymous_93) +FN:1331,(anonymous_94) +FN:1347,(anonymous_95) +FN:1354,(anonymous_96) +FN:1359,(anonymous_97) +FN:1366,(anonymous_98) +FN:1371,(anonymous_99) +FN:1384,(anonymous_100) +FN:1396,(anonymous_101) +FN:1404,(anonymous_102) +FN:1412,(anonymous_103) +FN:1418,(anonymous_104) +FN:1433,(anonymous_105) +FN:1441,(anonymous_106) +FN:1450,(anonymous_107) +FN:1461,(anonymous_108) +FN:1464,(anonymous_109) +FNF:109 +FNH:2 +FNDA:1,(anonymous_1) +FNDA:1,(anonymous_2) +FNDA:0,getDragHandler +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,(anonymous_31) +FNDA:0,(anonymous_32) +FNDA:0,(anonymous_33) +FNDA:0,(anonymous_34) +FNDA:0,(anonymous_35) +FNDA:0,(anonymous_36) +FNDA:0,(anonymous_37) +FNDA:0,(anonymous_38) +FNDA:0,(anonymous_39) +FNDA:0,(anonymous_40) +FNDA:0,(anonymous_41) +FNDA:0,(anonymous_42) +FNDA:0,(anonymous_43) +FNDA:0,(anonymous_44) +FNDA:0,(anonymous_45) +FNDA:0,(anonymous_46) +FNDA:0,(anonymous_47) +FNDA:0,(anonymous_48) +FNDA:0,(anonymous_49) +FNDA:0,(anonymous_50) +FNDA:0,(anonymous_51) +FNDA:0,(anonymous_52) +FNDA:0,(anonymous_53) +FNDA:0,(anonymous_54) +FNDA:0,(anonymous_55) +FNDA:0,(anonymous_56) +FNDA:0,(anonymous_57) +FNDA:0,(anonymous_58) +FNDA:0,(anonymous_59) +FNDA:0,(anonymous_60) +FNDA:0,(anonymous_61) +FNDA:0,(anonymous_62) +FNDA:0,(anonymous_63) +FNDA:0,(anonymous_64) +FNDA:0,(anonymous_65) +FNDA:0,(anonymous_66) +FNDA:0,(anonymous_67) +FNDA:0,(anonymous_68) +FNDA:0,(anonymous_69) +FNDA:0,(anonymous_70) +FNDA:0,(anonymous_71) +FNDA:0,(anonymous_72) +FNDA:0,(anonymous_73) +FNDA:0,(anonymous_74) +FNDA:0,(anonymous_75) +FNDA:0,(anonymous_76) +FNDA:0,(anonymous_77) +FNDA:0,(anonymous_78) +FNDA:0,(anonymous_79) +FNDA:0,(anonymous_80) +FNDA:0,(anonymous_81) +FNDA:0,(anonymous_82) +FNDA:0,(anonymous_83) +FNDA:0,(anonymous_84) +FNDA:0,(anonymous_85) +FNDA:0,(anonymous_86) +FNDA:0,(anonymous_87) +FNDA:0,(anonymous_88) +FNDA:0,(anonymous_89) +FNDA:0,(anonymous_90) +FNDA:0,(anonymous_91) +FNDA:0,(anonymous_92) +FNDA:0,(anonymous_93) +FNDA:0,(anonymous_94) +FNDA:0,(anonymous_95) +FNDA:0,(anonymous_96) +FNDA:0,(anonymous_97) +FNDA:0,(anonymous_98) +FNDA:0,(anonymous_99) +FNDA:0,(anonymous_100) +FNDA:0,(anonymous_101) +FNDA:0,(anonymous_102) +FNDA:0,(anonymous_103) +FNDA:0,(anonymous_104) +FNDA:0,(anonymous_105) +FNDA:0,(anonymous_106) +FNDA:0,(anonymous_107) +FNDA:0,(anonymous_108) +FNDA:0,(anonymous_109) +DA:15,1 +DA:17,1 +DA:19,0 +DA:23,1 +DA:25,0 +DA:31,1 +DA:38,1 +DA:53,0 +DA:54,0 +DA:57,0 +DA:61,1 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:87,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:183,0 +DA:192,0 +DA:212,0 +DA:213,0 +DA:215,0 +DA:217,0 +DA:218,0 +DA:295,0 +DA:296,0 +DA:300,0 +DA:301,0 +DA:302,0 +DA:303,0 +DA:304,0 +DA:305,0 +DA:306,0 +DA:307,0 +DA:308,0 +DA:310,0 +DA:315,0 +DA:321,0 +DA:322,0 +DA:323,0 +DA:325,0 +DA:326,0 +DA:328,0 +DA:329,0 +DA:330,0 +DA:331,0 +DA:333,0 +DA:335,0 +DA:339,0 +DA:340,0 +DA:341,0 +DA:343,0 +DA:347,0 +DA:352,0 +DA:353,0 +DA:355,0 +DA:360,0 +DA:361,0 +DA:362,0 +DA:363,0 +DA:364,0 +DA:368,0 +DA:373,0 +DA:374,0 +DA:376,0 +DA:379,0 +DA:381,0 +DA:382,0 +DA:387,0 +DA:388,0 +DA:393,0 +DA:394,0 +DA:402,0 +DA:409,0 +DA:418,0 +DA:422,0 +DA:423,0 +DA:424,0 +DA:426,0 +DA:427,0 +DA:428,0 +DA:429,0 +DA:431,0 +DA:432,0 +DA:439,0 +DA:443,0 +DA:450,0 +DA:451,0 +DA:452,0 +DA:454,0 +DA:455,0 +DA:458,0 +DA:459,0 +DA:460,0 +DA:461,0 +DA:462,0 +DA:467,0 +DA:468,0 +DA:469,0 +DA:474,0 +DA:475,0 +DA:483,0 +DA:484,0 +DA:486,0 +DA:487,0 +DA:488,0 +DA:491,0 +DA:492,0 +DA:494,0 +DA:497,0 +DA:499,0 +DA:509,0 +DA:512,0 +DA:516,0 +DA:518,0 +DA:520,0 +DA:522,0 +DA:523,0 +DA:531,0 +DA:532,0 +DA:533,0 +DA:534,0 +DA:536,0 +DA:538,0 +DA:541,0 +DA:544,0 +DA:549,0 +DA:551,0 +DA:552,0 +DA:553,0 +DA:554,0 +DA:557,0 +DA:558,0 +DA:559,0 +DA:562,0 +DA:563,0 +DA:565,0 +DA:566,0 +DA:568,0 +DA:574,0 +DA:575,0 +DA:578,0 +DA:579,0 +DA:582,0 +DA:583,0 +DA:584,0 +DA:587,0 +DA:591,0 +DA:593,0 +DA:595,0 +DA:596,0 +DA:601,0 +DA:602,0 +DA:603,0 +DA:604,0 +DA:610,0 +DA:611,0 +DA:613,0 +DA:614,0 +DA:616,0 +DA:617,0 +DA:619,0 +DA:625,0 +DA:626,0 +DA:627,0 +DA:628,0 +DA:634,0 +DA:636,0 +DA:637,0 +DA:638,0 +DA:639,0 +DA:640,0 +DA:642,0 +DA:643,0 +DA:648,0 +DA:650,0 +DA:652,0 +DA:653,0 +DA:654,0 +DA:657,0 +DA:658,0 +DA:661,0 +DA:665,0 +DA:667,0 +DA:668,0 +DA:669,0 +DA:676,0 +DA:678,0 +DA:679,0 +DA:680,0 +DA:682,0 +DA:683,0 +DA:684,0 +DA:686,0 +DA:687,0 +DA:688,0 +DA:690,0 +DA:691,0 +DA:694,0 +DA:695,0 +DA:698,0 +DA:699,0 +DA:701,0 +DA:702,0 +DA:709,0 +DA:713,0 +DA:722,0 +DA:723,0 +DA:733,0 +DA:735,0 +DA:737,0 +DA:738,0 +DA:740,0 +DA:741,0 +DA:742,0 +DA:749,0 +DA:751,0 +DA:753,0 +DA:761,0 +DA:763,0 +DA:766,0 +DA:768,0 +DA:769,0 +DA:772,0 +DA:777,0 +DA:778,0 +DA:784,0 +DA:785,0 +DA:786,0 +DA:787,0 +DA:788,0 +DA:789,0 +DA:790,0 +DA:793,0 +DA:795,0 +DA:802,0 +DA:803,0 +DA:804,0 +DA:805,0 +DA:806,0 +DA:807,0 +DA:813,0 +DA:814,0 +DA:815,0 +DA:817,0 +DA:818,0 +DA:822,0 +DA:826,0 +DA:828,0 +DA:830,0 +DA:831,0 +DA:836,0 +DA:837,0 +DA:838,0 +DA:839,0 +DA:840,0 +DA:841,0 +DA:843,0 +DA:844,0 +DA:848,0 +DA:850,0 +DA:853,0 +DA:859,0 +DA:860,0 +DA:861,0 +DA:862,0 +DA:866,0 +DA:867,0 +DA:870,0 +DA:871,0 +DA:873,0 +DA:874,0 +DA:875,0 +DA:876,0 +DA:882,0 +DA:886,0 +DA:887,0 +DA:889,0 +DA:896,0 +DA:898,0 +DA:899,0 +DA:908,0 +DA:910,0 +DA:912,0 +DA:918,0 +DA:919,0 +DA:920,0 +DA:924,0 +DA:925,0 +DA:926,0 +DA:927,0 +DA:928,0 +DA:930,0 +DA:933,0 +DA:936,0 +DA:939,0 +DA:941,0 +DA:942,0 +DA:945,0 +DA:946,0 +DA:947,0 +DA:948,0 +DA:950,0 +DA:951,0 +DA:956,0 +DA:957,0 +DA:958,0 +DA:959,0 +DA:960,0 +DA:962,0 +DA:964,0 +DA:966,0 +DA:968,0 +DA:972,0 +DA:987,0 +DA:988,0 +DA:990,0 +DA:991,0 +DA:993,0 +DA:995,0 +DA:996,0 +DA:997,0 +DA:998,0 +DA:999,0 +DA:1000,0 +DA:1001,0 +DA:1002,0 +DA:1003,0 +DA:1004,0 +DA:1006,0 +DA:1008,0 +DA:1009,0 +DA:1010,0 +DA:1011,0 +DA:1012,0 +DA:1013,0 +DA:1016,0 +DA:1017,0 +DA:1018,0 +DA:1019,0 +DA:1021,0 +DA:1022,0 +DA:1023,0 +DA:1027,0 +DA:1029,0 +DA:1030,0 +DA:1031,0 +DA:1032,0 +DA:1033,0 +DA:1034,0 +DA:1035,0 +DA:1036,0 +DA:1037,0 +DA:1042,0 +DA:1044,0 +DA:1048,0 +DA:1052,0 +DA:1053,0 +DA:1056,0 +DA:1059,0 +DA:1060,0 +DA:1063,0 +DA:1067,0 +DA:1068,0 +DA:1069,0 +DA:1071,0 +DA:1075,0 +DA:1076,0 +DA:1081,0 +DA:1086,0 +DA:1087,0 +DA:1093,0 +DA:1096,0 +DA:1100,0 +DA:1104,0 +DA:1105,0 +DA:1106,0 +DA:1108,0 +DA:1109,0 +DA:1113,0 +DA:1114,0 +DA:1115,0 +DA:1117,0 +DA:1118,0 +DA:1120,0 +DA:1121,0 +DA:1122,0 +DA:1125,0 +DA:1126,0 +DA:1127,0 +DA:1131,0 +DA:1133,0 +DA:1137,0 +DA:1138,0 +DA:1141,0 +DA:1144,0 +DA:1152,0 +DA:1153,0 +DA:1154,0 +DA:1156,0 +DA:1158,0 +DA:1159,0 +DA:1160,0 +DA:1161,0 +DA:1163,0 +DA:1165,0 +DA:1167,0 +DA:1171,0 +DA:1177,0 +DA:1178,0 +DA:1182,0 +DA:1183,0 +DA:1185,0 +DA:1186,0 +DA:1187,0 +DA:1188,0 +DA:1189,0 +DA:1194,0 +DA:1195,0 +DA:1197,0 +DA:1198,0 +DA:1199,0 +DA:1202,0 +DA:1206,0 +DA:1207,0 +DA:1209,0 +DA:1213,0 +DA:1221,0 +DA:1226,0 +DA:1227,0 +DA:1228,0 +DA:1229,0 +DA:1231,0 +DA:1236,0 +DA:1242,0 +DA:1245,0 +DA:1246,0 +DA:1247,0 +DA:1248,0 +DA:1249,0 +DA:1252,0 +DA:1257,0 +DA:1263,0 +DA:1264,0 +DA:1267,0 +DA:1268,0 +DA:1269,0 +DA:1270,0 +DA:1271,0 +DA:1276,0 +DA:1289,0 +DA:1290,0 +DA:1298,0 +DA:1302,0 +DA:1303,0 +DA:1310,0 +DA:1311,0 +DA:1312,0 +DA:1316,0 +DA:1320,0 +DA:1321,0 +DA:1322,0 +DA:1324,0 +DA:1325,0 +DA:1326,0 +DA:1327,0 +DA:1332,0 +DA:1333,0 +DA:1334,0 +DA:1336,0 +DA:1337,0 +DA:1339,0 +DA:1340,0 +DA:1342,0 +DA:1343,0 +DA:1348,0 +DA:1350,0 +DA:1351,0 +DA:1355,0 +DA:1360,0 +DA:1364,0 +DA:1367,0 +DA:1369,0 +DA:1371,0 +DA:1372,0 +DA:1374,0 +DA:1375,0 +DA:1376,0 +DA:1378,0 +DA:1385,0 +DA:1386,0 +DA:1387,0 +DA:1388,0 +DA:1389,0 +DA:1390,0 +DA:1391,0 +DA:1397,0 +DA:1405,0 +DA:1413,0 +DA:1414,0 +DA:1415,0 +DA:1417,0 +DA:1418,0 +DA:1419,0 +DA:1420,0 +DA:1423,0 +DA:1424,0 +DA:1434,0 +DA:1435,0 +DA:1436,0 +DA:1441,0 +DA:1442,0 +DA:1443,0 +DA:1444,0 +DA:1446,0 +DA:1447,0 +DA:1449,0 +DA:1451,0 +DA:1452,0 +DA:1454,0 +DA:1455,0 +DA:1456,0 +DA:1458,0 +DA:1459,0 +DA:1460,0 +DA:1462,0 +DA:1465,0 +DA:1470,0 +DA:1472,0 +DA:1473,0 +DA:1474,0 +DA:1477,0 +LF:539 +LH:6 +BRDA:17,1,0,0 +BRDA:17,1,1,1 +BRDA:17,2,0,1 +BRDA:17,2,1,0 +BRDA:23,3,0,0 +BRDA:23,3,1,1 +BRDA:38,4,0,0 +BRDA:38,4,1,0 +BRDA:53,5,0,0 +BRDA:53,5,1,0 +BRDA:57,6,0,0 +BRDA:57,6,1,0 +BRDA:57,6,2,0 +BRDA:57,6,3,0 +BRDA:64,7,0,0 +BRDA:64,7,1,0 +BRDA:66,8,0,0 +BRDA:66,8,1,0 +BRDA:66,9,0,0 +BRDA:66,9,1,0 +BRDA:66,9,2,0 +BRDA:72,10,0,0 +BRDA:72,10,1,0 +BRDA:177,11,0,0 +BRDA:177,11,1,0 +BRDA:178,12,0,0 +BRDA:178,12,1,0 +BRDA:212,13,0,0 +BRDA:212,13,1,0 +BRDA:215,14,0,0 +BRDA:215,14,1,0 +BRDA:215,15,0,0 +BRDA:215,15,1,0 +BRDA:215,15,2,0 +BRDA:294,16,0,0 +BRDA:294,16,1,0 +BRDA:295,17,0,0 +BRDA:295,17,1,0 +BRDA:295,17,2,0 +BRDA:300,18,0,0 +BRDA:300,18,1,0 +BRDA:305,19,0,0 +BRDA:305,19,1,0 +BRDA:305,20,0,0 +BRDA:305,20,1,0 +BRDA:305,20,2,0 +BRDA:315,21,0,0 +BRDA:315,21,1,0 +BRDA:315,21,2,0 +BRDA:315,21,3,0 +BRDA:322,22,0,0 +BRDA:322,22,1,0 +BRDA:325,23,0,0 +BRDA:325,23,1,0 +BRDA:328,24,0,0 +BRDA:328,24,1,0 +BRDA:341,25,0,0 +BRDA:341,25,1,0 +BRDA:352,26,0,0 +BRDA:352,26,1,0 +BRDA:361,27,0,0 +BRDA:361,27,1,0 +BRDA:363,28,0,0 +BRDA:363,28,1,0 +BRDA:373,29,0,0 +BRDA:373,29,1,0 +BRDA:374,30,0,0 +BRDA:374,30,1,0 +BRDA:376,31,0,0 +BRDA:376,31,1,0 +BRDA:376,32,0,0 +BRDA:376,32,1,0 +BRDA:376,32,2,0 +BRDA:376,32,3,0 +BRDA:383,33,0,0 +BRDA:383,33,1,0 +BRDA:384,34,0,0 +BRDA:384,34,1,0 +BRDA:419,35,0,0 +BRDA:419,35,1,0 +BRDA:422,36,0,0 +BRDA:422,36,1,0 +BRDA:447,37,0,0 +BRDA:447,37,1,0 +BRDA:448,38,0,0 +BRDA:448,38,1,0 +BRDA:451,39,0,0 +BRDA:451,39,1,0 +BRDA:454,40,0,0 +BRDA:454,40,1,0 +BRDA:454,41,0,0 +BRDA:454,41,1,0 +BRDA:454,41,2,0 +BRDA:458,42,0,0 +BRDA:458,42,1,0 +BRDA:459,43,0,0 +BRDA:459,43,1,0 +BRDA:460,44,0,0 +BRDA:460,44,1,0 +BRDA:461,45,0,0 +BRDA:461,45,1,0 +BRDA:462,46,0,0 +BRDA:462,46,1,0 +BRDA:468,47,0,0 +BRDA:468,47,1,0 +BRDA:476,48,0,0 +BRDA:476,48,1,0 +BRDA:476,48,2,0 +BRDA:483,49,0,0 +BRDA:483,49,1,0 +BRDA:491,50,0,0 +BRDA:491,50,1,0 +BRDA:497,51,0,0 +BRDA:497,51,1,0 +BRDA:497,52,0,0 +BRDA:497,52,1,0 +BRDA:500,53,0,0 +BRDA:500,53,1,0 +BRDA:500,53,2,0 +BRDA:503,54,0,0 +BRDA:503,54,1,0 +BRDA:518,55,0,0 +BRDA:518,55,1,0 +BRDA:522,56,0,0 +BRDA:522,56,1,0 +BRDA:522,57,0,0 +BRDA:522,57,1,0 +BRDA:522,57,2,0 +BRDA:524,58,0,0 +BRDA:524,58,1,0 +BRDA:531,59,0,0 +BRDA:531,59,1,0 +BRDA:532,60,0,0 +BRDA:532,60,1,0 +BRDA:533,61,0,0 +BRDA:533,61,1,0 +BRDA:538,62,0,0 +BRDA:538,62,1,0 +BRDA:541,63,0,0 +BRDA:541,63,1,0 +BRDA:551,64,0,0 +BRDA:551,64,1,0 +BRDA:555,65,0,0 +BRDA:555,65,1,0 +BRDA:556,66,0,0 +BRDA:556,66,1,0 +BRDA:562,67,0,0 +BRDA:562,67,1,0 +BRDA:563,68,0,0 +BRDA:563,68,1,0 +BRDA:565,69,0,0 +BRDA:565,69,1,0 +BRDA:574,70,0,0 +BRDA:574,70,1,0 +BRDA:574,71,0,0 +BRDA:574,71,1,0 +BRDA:578,72,0,0 +BRDA:578,72,1,0 +BRDA:583,73,0,0 +BRDA:583,73,1,0 +BRDA:584,74,0,0 +BRDA:584,74,1,0 +BRDA:587,75,0,0 +BRDA:587,75,1,0 +BRDA:587,75,2,0 +BRDA:587,75,3,0 +BRDA:591,76,0,0 +BRDA:591,76,1,0 +BRDA:591,77,0,0 +BRDA:591,77,1,0 +BRDA:591,77,2,0 +BRDA:595,78,0,0 +BRDA:595,78,1,0 +BRDA:610,79,0,0 +BRDA:610,79,1,0 +BRDA:613,80,0,0 +BRDA:613,80,1,0 +BRDA:616,81,0,0 +BRDA:616,81,1,0 +BRDA:636,82,0,0 +BRDA:636,82,1,0 +BRDA:636,82,2,0 +BRDA:637,83,0,0 +BRDA:637,83,1,0 +BRDA:639,84,0,0 +BRDA:639,84,1,0 +BRDA:653,85,0,0 +BRDA:653,85,1,0 +BRDA:653,86,0,0 +BRDA:653,86,1,0 +BRDA:655,87,0,0 +BRDA:655,87,1,0 +BRDA:657,88,0,0 +BRDA:657,88,1,0 +BRDA:665,89,0,0 +BRDA:665,89,1,0 +BRDA:668,90,0,0 +BRDA:668,90,1,0 +BRDA:670,91,0,0 +BRDA:670,91,1,0 +BRDA:676,92,0,0 +BRDA:676,92,1,0 +BRDA:679,93,0,0 +BRDA:679,93,1,0 +BRDA:687,94,0,0 +BRDA:687,94,1,0 +BRDA:690,95,0,0 +BRDA:690,95,1,0 +BRDA:695,96,0,0 +BRDA:695,96,1,0 +BRDA:695,96,2,0 +BRDA:710,97,0,0 +BRDA:710,97,1,0 +BRDA:711,98,0,0 +BRDA:711,98,1,0 +BRDA:711,98,2,0 +BRDA:713,99,0,0 +BRDA:713,99,1,0 +BRDA:722,100,0,0 +BRDA:722,100,1,0 +BRDA:727,101,0,0 +BRDA:727,101,1,0 +BRDA:733,102,0,0 +BRDA:733,102,1,0 +BRDA:733,103,0,0 +BRDA:733,103,1,0 +BRDA:733,104,0,0 +BRDA:733,104,1,0 +BRDA:733,104,2,0 +BRDA:733,104,3,0 +BRDA:737,105,0,0 +BRDA:737,105,1,0 +BRDA:740,106,0,0 +BRDA:740,106,1,0 +BRDA:769,107,0,0 +BRDA:769,107,1,0 +BRDA:769,107,2,0 +BRDA:772,108,0,0 +BRDA:772,108,1,0 +BRDA:777,109,0,0 +BRDA:777,109,1,0 +BRDA:790,110,0,0 +BRDA:790,110,1,0 +BRDA:822,111,0,0 +BRDA:822,111,1,0 +BRDA:838,112,0,0 +BRDA:838,112,1,0 +BRDA:839,113,0,0 +BRDA:839,113,1,0 +BRDA:850,114,0,0 +BRDA:850,114,1,0 +BRDA:867,115,0,0 +BRDA:867,115,1,0 +BRDA:886,116,0,0 +BRDA:886,116,1,0 +BRDA:899,117,0,0 +BRDA:899,117,1,0 +BRDA:900,118,0,0 +BRDA:900,118,1,0 +BRDA:900,118,2,0 +BRDA:900,118,3,0 +BRDA:900,118,4,0 +BRDA:920,119,0,0 +BRDA:920,119,1,0 +BRDA:920,120,0,0 +BRDA:920,120,1,0 +BRDA:926,121,0,0 +BRDA:926,121,1,0 +BRDA:933,122,0,0 +BRDA:933,122,1,0 +BRDA:942,123,0,0 +BRDA:942,123,1,0 +BRDA:942,124,0,0 +BRDA:942,124,1,0 +BRDA:942,124,2,0 +BRDA:945,125,0,0 +BRDA:945,125,1,0 +BRDA:958,126,0,0 +BRDA:958,126,1,0 +BRDA:959,127,0,0 +BRDA:959,127,1,0 +BRDA:987,128,0,0 +BRDA:987,128,1,0 +BRDA:990,129,0,0 +BRDA:990,129,1,0 +BRDA:990,130,0,0 +BRDA:990,130,1,0 +BRDA:993,131,0,0 +BRDA:993,131,1,0 +BRDA:993,132,0,0 +BRDA:993,132,1,0 +BRDA:993,133,0,0 +BRDA:993,133,1,0 +BRDA:993,133,2,0 +BRDA:997,134,0,0 +BRDA:997,134,1,0 +BRDA:997,135,0,0 +BRDA:997,135,1,0 +BRDA:997,136,0,0 +BRDA:997,136,1,0 +BRDA:1003,137,0,0 +BRDA:1003,137,1,0 +BRDA:1008,138,0,0 +BRDA:1008,138,1,0 +BRDA:1008,139,0,0 +BRDA:1008,139,1,0 +BRDA:1013,140,0,0 +BRDA:1013,140,1,0 +BRDA:1013,141,0,0 +BRDA:1013,141,1,0 +BRDA:1013,141,2,0 +BRDA:1013,141,3,0 +BRDA:1018,142,0,0 +BRDA:1018,142,1,0 +BRDA:1030,143,0,0 +BRDA:1030,143,1,0 +BRDA:1032,144,0,0 +BRDA:1032,144,1,0 +BRDA:1059,145,0,0 +BRDA:1059,145,1,0 +BRDA:1068,146,0,0 +BRDA:1068,146,1,0 +BRDA:1075,147,0,0 +BRDA:1075,147,1,0 +BRDA:1086,148,0,0 +BRDA:1086,148,1,0 +BRDA:1086,149,0,0 +BRDA:1086,149,1,0 +BRDA:1105,150,0,0 +BRDA:1105,150,1,0 +BRDA:1113,151,0,0 +BRDA:1113,151,1,0 +BRDA:1114,152,0,0 +BRDA:1114,152,1,0 +BRDA:1115,153,0,0 +BRDA:1115,153,1,0 +BRDA:1125,154,0,0 +BRDA:1125,154,1,0 +BRDA:1152,155,0,0 +BRDA:1152,155,1,0 +BRDA:1154,156,0,0 +BRDA:1154,156,1,0 +BRDA:1154,157,0,0 +BRDA:1154,157,1,0 +BRDA:1154,157,2,0 +BRDA:1154,157,3,0 +BRDA:1159,158,0,0 +BRDA:1159,158,1,0 +BRDA:1161,159,0,0 +BRDA:1161,159,1,0 +BRDA:1178,160,0,0 +BRDA:1178,160,1,0 +BRDA:1182,161,0,0 +BRDA:1182,161,1,0 +BRDA:1182,162,0,0 +BRDA:1182,162,1,0 +BRDA:1186,163,0,0 +BRDA:1186,163,1,0 +BRDA:1188,164,0,0 +BRDA:1188,164,1,0 +BRDA:1195,165,0,0 +BRDA:1195,165,1,0 +BRDA:1195,166,0,0 +BRDA:1195,166,1,0 +BRDA:1206,167,0,0 +BRDA:1206,167,1,0 +BRDA:1206,168,0,0 +BRDA:1206,168,1,0 +BRDA:1228,169,0,0 +BRDA:1228,169,1,0 +BRDA:1231,170,0,0 +BRDA:1231,170,1,0 +BRDA:1242,171,0,0 +BRDA:1242,171,1,0 +BRDA:1242,171,2,0 +BRDA:1245,172,0,0 +BRDA:1245,172,1,0 +BRDA:1245,173,0,0 +BRDA:1245,173,1,0 +BRDA:1247,174,0,0 +BRDA:1247,174,1,0 +BRDA:1248,175,0,0 +BRDA:1248,175,1,0 +BRDA:1252,176,0,0 +BRDA:1252,176,1,0 +BRDA:1263,177,0,0 +BRDA:1263,177,1,0 +BRDA:1267,178,0,0 +BRDA:1267,178,1,0 +BRDA:1267,179,0,0 +BRDA:1267,179,1,0 +BRDA:1267,179,2,0 +BRDA:1271,180,0,0 +BRDA:1271,180,1,0 +BRDA:1289,181,0,0 +BRDA:1289,181,1,0 +BRDA:1302,182,0,0 +BRDA:1302,182,1,0 +BRDA:1321,183,0,0 +BRDA:1321,183,1,0 +BRDA:1325,184,0,0 +BRDA:1325,184,1,0 +BRDA:1333,185,0,0 +BRDA:1333,185,1,0 +BRDA:1334,186,0,0 +BRDA:1334,186,1,0 +BRDA:1336,187,0,0 +BRDA:1336,187,1,0 +BRDA:1339,188,0,0 +BRDA:1339,188,1,0 +BRDA:1342,189,0,0 +BRDA:1342,189,1,0 +BRDA:1355,190,0,0 +BRDA:1355,190,1,0 +BRDA:1355,190,2,0 +BRDA:1369,191,0,0 +BRDA:1369,191,1,0 +BRDA:1375,192,0,0 +BRDA:1375,192,1,0 +BRDA:1414,193,0,0 +BRDA:1414,193,1,0 +BRDA:1414,194,0,0 +BRDA:1414,194,1,0 +BRDA:1417,195,0,0 +BRDA:1417,195,1,0 +BRDA:1417,196,0,0 +BRDA:1417,196,1,0 +BRDA:1434,197,0,0 +BRDA:1434,197,1,0 +BRDA:1434,198,0,0 +BRDA:1434,198,1,0 +BRDA:1435,199,0,0 +BRDA:1435,199,1,0 +BRDA:1435,200,0,0 +BRDA:1435,200,1,0 +BRDA:1443,201,0,0 +BRDA:1443,201,1,0 +BRDA:1451,202,0,0 +BRDA:1451,202,1,0 +BRDA:1454,203,0,0 +BRDA:1454,203,1,0 +BRDA:1473,204,0,0 +BRDA:1473,204,1,0 +BRDA:1477,205,0,0 +BRDA:1477,205,1,0 +BRF:445 +BRH:3 +end_of_record +TN: +SF:assests/js/lib/file-upload/jquery.iframe-transport.js +FN:14,(anonymous_1) +FN:26,(anonymous_2) +FN:42,(anonymous_3) +FN:53,(anonymous_4) +FN:75,(anonymous_5) +FN:81,(anonymous_6) +FN:107,(anonymous_7) +FN:119,(anonymous_8) +FN:130,(anonymous_9) +FN:134,(anonymous_10) +FN:155,(anonymous_11) +FN:167,(anonymous_12) +FN:196,(anonymous_13) +FN:199,(anonymous_14) +FN:202,(anonymous_15) +FN:205,(anonymous_16) +FN:211,(anonymous_17) +FNF:17 +FNH:2 +FNDA:1,(anonymous_1) +FNDA:1,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +DA:14,1 +DA:16,1 +DA:18,0 +DA:19,1 +DA:21,0 +DA:24,1 +DA:30,1 +DA:42,1 +DA:43,0 +DA:47,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:71,0 +DA:72,0 +DA:76,0 +DA:79,0 +DA:82,0 +DA:85,0 +DA:86,0 +DA:90,0 +DA:91,0 +DA:94,0 +DA:98,0 +DA:105,0 +DA:107,0 +DA:111,0 +DA:114,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:126,0 +DA:128,0 +DA:130,0 +DA:131,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:143,0 +DA:149,0 +DA:151,0 +DA:154,0 +DA:155,0 +DA:156,0 +DA:158,0 +DA:161,0 +DA:165,0 +DA:168,0 +DA:172,0 +DA:176,0 +DA:177,0 +DA:194,0 +DA:197,0 +DA:200,0 +DA:203,0 +DA:206,0 +DA:207,0 +DA:212,0 +LF:68 +LH:6 +BRDA:16,1,0,0 +BRDA:16,1,1,1 +BRDA:16,2,0,1 +BRDA:16,2,1,0 +BRDA:19,3,0,0 +BRDA:19,3,1,1 +BRDA:43,4,0,0 +BRDA:43,4,1,0 +BRDA:47,5,0,0 +BRDA:47,5,1,0 +BRDA:56,6,0,0 +BRDA:56,6,1,0 +BRDA:58,7,0,0 +BRDA:58,7,1,0 +BRDA:61,8,0,0 +BRDA:61,8,1,0 +BRDA:64,9,0,0 +BRDA:64,9,1,0 +BRDA:77,10,0,0 +BRDA:77,10,1,0 +BRDA:90,11,0,0 +BRDA:90,11,1,0 +BRDA:90,12,0,0 +BRDA:90,12,1,0 +BRDA:118,13,0,0 +BRDA:118,13,1,0 +BRDA:126,14,0,0 +BRDA:126,14,1,0 +BRDA:126,15,0,0 +BRDA:126,15,1,0 +BRDA:126,15,2,0 +BRDA:133,16,0,0 +BRDA:133,16,1,0 +BRDA:137,17,0,0 +BRDA:137,17,1,0 +BRDA:154,18,0,0 +BRDA:154,18,1,0 +BRDA:154,19,0,0 +BRDA:154,19,1,0 +BRDA:168,20,0,0 +BRDA:168,20,1,0 +BRDA:176,21,0,0 +BRDA:176,21,1,0 +BRDA:197,22,0,0 +BRDA:197,22,1,0 +BRDA:200,23,0,0 +BRDA:200,23,1,0 +BRDA:203,24,0,0 +BRDA:203,24,1,0 +BRDA:206,25,0,0 +BRDA:206,25,1,0 +BRDA:207,26,0,0 +BRDA:207,26,1,0 +BRDA:207,27,0,0 +BRDA:207,27,1,0 +BRDA:208,28,0,0 +BRDA:208,28,1,0 +BRDA:208,28,2,0 +BRDA:212,29,0,0 +BRDA:212,29,1,0 +BRF:60 +BRH:3 +end_of_record +TN: +SF:assests/js/lib/handlebars.runtime.min.js +FN:27,(anonymous_1) +FN:27,(anonymous_2) +FN:27,(anonymous_3) +FN:27,b +FN:27,(anonymous_5) +FN:27,d +FN:27,(anonymous_7) +FN:27,(anonymous_8) +FN:27,(anonymous_9) +FN:27,(anonymous_10) +FN:27,(anonymous_11) +FN:27,(anonymous_12) +FN:27,d +FN:27,(anonymous_14) +FN:27,(anonymous_15) +FN:27,(anonymous_16) +FN:27,(anonymous_17) +FN:27,(anonymous_18) +FN:27,(anonymous_19) +FN:27,(anonymous_20) +FN:27,c +FN:27,d +FN:27,e +FN:27,f +FN:27,g +FN:27,h +FN:27,i +FN:27,j +FN:27,(anonymous_29) +FN:27,(anonymous_30) +FN:27,(anonymous_31) +FN:27,(anonymous_32) +FN:27,d +FN:27,(anonymous_34) +FN:27,(anonymous_35) +FN:27,(anonymous_36) +FN:27,(anonymous_37) +FN:27,(anonymous_38) +FN:27,d +FN:27,(anonymous_40) +FN:27,(anonymous_41) +FN:27,(anonymous_42) +FN:27,(anonymous_43) +FN:27,(anonymous_44) +FN:27,(anonymous_45) +FN:27,c +FN:27,(anonymous_47) +FN:27,(anonymous_48) +FN:27,(anonymous_49) +FN:27,(anonymous_50) +FN:27,(anonymous_51) +FN:27,(anonymous_52) +FN:27,(anonymous_53) +FN:27,(anonymous_54) +FN:27,(anonymous_55) +FN:27,(anonymous_56) +FN:27,(anonymous_57) +FN:27,(anonymous_58) +FN:27,(anonymous_59) +FN:27,(anonymous_60) +FN:27,(anonymous_61) +FN:27,(anonymous_62) +FN:27,(anonymous_63) +FN:27,d +FN:27,(anonymous_65) +FN:27,(anonymous_66) +FN:27,(anonymous_67) +FN:27,(anonymous_68) +FN:27,(anonymous_69) +FN:27,(anonymous_70) +FN:27,(anonymous_71) +FN:27,(anonymous_72) +FN:27,c +FN:27,(anonymous_74) +FN:27,(anonymous_75) +FN:27,d +FN:27,e +FN:27,c +FN:27,d +FN:27,c +FN:27,(anonymous_81) +FN:27,(anonymous_82) +FN:27,(anonymous_83) +FN:27,(anonymous_84) +FN:27,(anonymous_85) +FN:27,(anonymous_86) +FN:27,(anonymous_87) +FN:27,(anonymous_88) +FN:27,(anonymous_89) +FN:27,f +FN:27,h +FN:27,g +FN:27,h +FN:27,(anonymous_94) +FN:27,(anonymous_95) +FN:27,i +FN:27,j +FN:27,k +FN:27,(anonymous_99) +FN:27,(anonymous_100) +FN:27,(anonymous_101) +FN:27,(anonymous_102) +FN:27,(anonymous_103) +FN:27,(anonymous_104) +FN:27,(anonymous_105) +FN:27,(anonymous_106) +FN:27,(anonymous_107) +FN:27,(anonymous_108) +FN:27,(anonymous_109) +FN:27,(anonymous_110) +FN:27,(anonymous_111) +FN:27,(anonymous_112) +FN:27,(anonymous_113) +FN:27,(anonymous_114) +FN:27,(anonymous_115) +FN:27,(anonymous_116) +FN:27,(anonymous_117) +FN:27,(anonymous_118) +FN:27,(anonymous_119) +FN:27,(anonymous_120) +FN:27,(anonymous_121) +FN:27,(anonymous_122) +FN:27,(anonymous_123) +FN:27,(anonymous_124) +FN:27,(anonymous_125) +FN:27,(anonymous_126) +FN:27,(anonymous_127) +FN:27,(anonymous_128) +FN:27,(anonymous_129) +FNF:129 +FNH:69 +FNDA:1,(anonymous_1) +FNDA:1,(anonymous_2) +FNDA:1,(anonymous_3) +FNDA:56,b +FNDA:1,(anonymous_5) +FNDA:1,d +FNDA:9,(anonymous_7) +FNDA:1,(anonymous_8) +FNDA:4,(anonymous_9) +FNDA:1,(anonymous_10) +FNDA:16,(anonymous_11) +FNDA:1,(anonymous_12) +FNDA:1,d +FNDA:8,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:1,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:1,(anonymous_20) +FNDA:0,c +FNDA:1,d +FNDA:0,e +FNDA:0,f +FNDA:0,g +FNDA:0,h +FNDA:0,i +FNDA:0,j +FNDA:1,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,(anonymous_31) +FNDA:1,(anonymous_32) +FNDA:0,d +FNDA:1,(anonymous_34) +FNDA:1,(anonymous_35) +FNDA:0,(anonymous_36) +FNDA:1,(anonymous_37) +FNDA:1,(anonymous_38) +FNDA:1,d +FNDA:1,(anonymous_40) +FNDA:1,(anonymous_41) +FNDA:0,(anonymous_42) +FNDA:1,(anonymous_43) +FNDA:1,(anonymous_44) +FNDA:0,(anonymous_45) +FNDA:0,c +FNDA:1,(anonymous_47) +FNDA:1,(anonymous_48) +FNDA:0,(anonymous_49) +FNDA:1,(anonymous_50) +FNDA:1,(anonymous_51) +FNDA:0,(anonymous_52) +FNDA:0,(anonymous_53) +FNDA:1,(anonymous_54) +FNDA:1,(anonymous_55) +FNDA:0,(anonymous_56) +FNDA:1,(anonymous_57) +FNDA:1,(anonymous_58) +FNDA:0,(anonymous_59) +FNDA:1,(anonymous_60) +FNDA:1,(anonymous_61) +FNDA:0,(anonymous_62) +FNDA:1,(anonymous_63) +FNDA:1,d +FNDA:1,(anonymous_65) +FNDA:1,(anonymous_66) +FNDA:0,(anonymous_67) +FNDA:0,(anonymous_68) +FNDA:1,(anonymous_69) +FNDA:0,(anonymous_70) +FNDA:0,(anonymous_71) +FNDA:1,(anonymous_72) +FNDA:0,c +FNDA:0,(anonymous_74) +FNDA:1,(anonymous_75) +FNDA:9,d +FNDA:9,e +FNDA:0,c +FNDA:0,d +FNDA:0,c +FNDA:0,(anonymous_81) +FNDA:0,(anonymous_82) +FNDA:0,(anonymous_83) +FNDA:0,(anonymous_84) +FNDA:0,(anonymous_85) +FNDA:0,(anonymous_86) +FNDA:0,(anonymous_87) +FNDA:0,(anonymous_88) +FNDA:0,(anonymous_89) +FNDA:0,f +FNDA:0,h +FNDA:0,g +FNDA:0,h +FNDA:0,(anonymous_94) +FNDA:0,(anonymous_95) +FNDA:0,i +FNDA:0,j +FNDA:0,k +FNDA:1,(anonymous_99) +FNDA:1,(anonymous_100) +FNDA:1,(anonymous_101) +FNDA:1,(anonymous_102) +FNDA:9,(anonymous_103) +FNDA:1,(anonymous_104) +FNDA:9,(anonymous_105) +FNDA:1,(anonymous_106) +FNDA:1,(anonymous_107) +FNDA:1,(anonymous_108) +FNDA:1,(anonymous_109) +FNDA:1,(anonymous_110) +FNDA:0,(anonymous_111) +FNDA:0,(anonymous_112) +FNDA:1,(anonymous_113) +FNDA:1,(anonymous_114) +FNDA:1,(anonymous_115) +FNDA:0,(anonymous_116) +FNDA:0,(anonymous_117) +FNDA:0,(anonymous_118) +FNDA:0,(anonymous_119) +FNDA:0,(anonymous_120) +FNDA:1,(anonymous_121) +FNDA:0,(anonymous_122) +FNDA:1,(anonymous_123) +FNDA:1,(anonymous_124) +FNDA:1,(anonymous_125) +FNDA:1,(anonymous_126) +FNDA:1,(anonymous_127) +FNDA:0,(anonymous_128) +FNDA:1,(anonymous_129) +DA:27,56 +LF:1 +LH:1 +BRDA:27,1,0,0 +BRDA:27,1,1,1 +BRDA:27,2,0,1 +BRDA:27,2,1,0 +BRDA:27,3,0,0 +BRDA:27,3,1,1 +BRDA:27,4,0,1 +BRDA:27,4,1,0 +BRDA:27,5,0,0 +BRDA:27,5,1,1 +BRDA:27,6,0,22 +BRDA:27,6,1,34 +BRDA:27,7,0,4 +BRDA:27,7,1,0 +BRDA:27,8,0,4 +BRDA:27,8,1,4 +BRDA:27,9,0,0 +BRDA:27,9,1,0 +BRDA:27,10,0,0 +BRDA:27,10,1,0 +BRDA:27,11,0,0 +BRDA:27,11,1,16 +BRDA:27,12,0,16 +BRDA:27,12,1,16 +BRDA:27,13,0,1 +BRDA:27,13,1,1 +BRDA:27,14,0,1 +BRDA:27,14,1,1 +BRDA:27,15,0,1 +BRDA:27,15,1,1 +BRDA:27,16,0,0 +BRDA:27,16,1,8 +BRDA:27,17,0,0 +BRDA:27,17,1,0 +BRDA:27,18,0,0 +BRDA:27,18,1,0 +BRDA:27,19,0,0 +BRDA:27,19,1,0 +BRDA:27,20,0,0 +BRDA:27,20,1,1 +BRDA:27,21,0,0 +BRDA:27,21,1,0 +BRDA:27,22,0,8 +BRDA:27,22,1,8 +BRDA:27,23,0,0 +BRDA:27,23,1,0 +BRDA:27,24,0,0 +BRDA:27,24,1,0 +BRDA:27,25,0,0 +BRDA:27,25,1,0 +BRDA:27,26,0,0 +BRDA:27,26,1,0 +BRDA:27,27,0,0 +BRDA:27,27,1,0 +BRDA:27,28,0,0 +BRDA:27,28,1,0 +BRDA:27,29,0,0 +BRDA:27,29,1,0 +BRDA:27,30,0,0 +BRDA:27,30,1,0 +BRDA:27,30,2,0 +BRDA:27,31,0,0 +BRDA:27,31,1,0 +BRDA:27,32,0,0 +BRDA:27,32,1,0 +BRDA:27,33,0,1 +BRDA:27,33,1,0 +BRDA:27,34,0,0 +BRDA:27,34,1,0 +BRDA:27,35,0,1 +BRDA:27,35,1,0 +BRDA:27,36,0,0 +BRDA:27,36,1,0 +BRDA:27,37,0,0 +BRDA:27,37,1,0 +BRDA:27,38,0,0 +BRDA:27,38,1,0 +BRDA:27,39,0,0 +BRDA:27,39,1,0 +BRDA:27,40,0,0 +BRDA:27,40,1,0 +BRDA:27,41,0,0 +BRDA:27,41,1,0 +BRDA:27,42,0,0 +BRDA:27,42,1,0 +BRDA:27,43,0,0 +BRDA:27,43,1,0 +BRDA:27,44,0,0 +BRDA:27,44,1,0 +BRDA:27,45,0,0 +BRDA:27,45,1,0 +BRDA:27,46,0,0 +BRDA:27,46,1,0 +BRDA:27,47,0,0 +BRDA:27,47,1,0 +BRDA:27,48,0,0 +BRDA:27,48,1,0 +BRDA:27,49,0,0 +BRDA:27,49,1,0 +BRDA:27,50,0,0 +BRDA:27,50,1,0 +BRDA:27,51,0,0 +BRDA:27,51,1,0 +BRDA:27,52,0,0 +BRDA:27,52,1,0 +BRDA:27,53,0,0 +BRDA:27,53,1,0 +BRDA:27,54,0,0 +BRDA:27,54,1,0 +BRDA:27,55,0,0 +BRDA:27,55,1,0 +BRDA:27,55,2,0 +BRDA:27,56,0,0 +BRDA:27,56,1,0 +BRDA:27,57,0,0 +BRDA:27,57,1,0 +BRDA:27,58,0,0 +BRDA:27,58,1,0 +BRDA:27,59,0,0 +BRDA:27,59,1,0 +BRDA:27,60,0,0 +BRDA:27,60,1,0 +BRDA:27,61,0,0 +BRDA:27,61,1,0 +BRDA:27,62,0,0 +BRDA:27,62,1,0 +BRDA:27,63,0,0 +BRDA:27,63,1,0 +BRDA:27,64,0,0 +BRDA:27,64,1,0 +BRDA:27,65,0,0 +BRDA:27,65,1,0 +BRDA:27,66,0,0 +BRDA:27,66,1,0 +BRDA:27,67,0,0 +BRDA:27,67,1,0 +BRDA:27,68,0,0 +BRDA:27,68,1,0 +BRDA:27,68,2,0 +BRDA:27,69,0,0 +BRDA:27,69,1,0 +BRDA:27,70,0,0 +BRDA:27,70,1,0 +BRDA:27,70,2,0 +BRDA:27,71,0,0 +BRDA:27,71,1,0 +BRDA:27,72,0,0 +BRDA:27,72,1,0 +BRDA:27,73,0,0 +BRDA:27,73,1,0 +BRDA:27,74,0,0 +BRDA:27,74,1,0 +BRDA:27,74,2,0 +BRDA:27,75,0,0 +BRDA:27,75,1,0 +BRDA:27,76,0,0 +BRDA:27,76,1,0 +BRDA:27,77,0,0 +BRDA:27,77,1,0 +BRDA:27,78,0,0 +BRDA:27,78,1,0 +BRDA:27,79,0,0 +BRDA:27,79,1,0 +BRDA:27,80,0,0 +BRDA:27,80,1,0 +BRDA:27,81,0,0 +BRDA:27,81,1,0 +BRDA:27,82,0,9 +BRDA:27,82,1,9 +BRDA:27,82,2,0 +BRDA:27,83,0,0 +BRDA:27,83,1,9 +BRDA:27,84,0,0 +BRDA:27,84,1,0 +BRDA:27,85,0,0 +BRDA:27,85,1,0 +BRDA:27,86,0,0 +BRDA:27,86,1,0 +BRDA:27,87,0,0 +BRDA:27,87,1,0 +BRDA:27,88,0,0 +BRDA:27,88,1,0 +BRDA:27,88,2,0 +BRDA:27,89,0,0 +BRDA:27,89,1,0 +BRDA:27,90,0,0 +BRDA:27,90,1,0 +BRDA:27,90,2,0 +BRDA:27,91,0,0 +BRDA:27,91,1,0 +BRDA:27,92,0,0 +BRDA:27,92,1,0 +BRDA:27,93,0,0 +BRDA:27,93,1,0 +BRDA:27,93,2,0 +BRDA:27,94,0,0 +BRDA:27,94,1,0 +BRDA:27,95,0,0 +BRDA:27,95,1,0 +BRDA:27,96,0,0 +BRDA:27,96,1,0 +BRDA:27,97,0,0 +BRDA:27,97,1,0 +BRDA:27,98,0,0 +BRDA:27,98,1,0 +BRDA:27,99,0,0 +BRDA:27,99,1,9 +BRDA:27,100,0,0 +BRDA:27,100,1,9 +BRDA:27,101,0,9 +BRDA:27,101,1,9 +BRDA:27,102,0,0 +BRDA:27,102,1,0 +BRDA:27,103,0,0 +BRDA:27,103,1,0 +BRDA:27,104,0,0 +BRDA:27,104,1,0 +BRDA:27,105,0,0 +BRDA:27,105,1,0 +BRDA:27,106,0,0 +BRDA:27,106,1,0 +BRDA:27,107,0,0 +BRDA:27,107,1,0 +BRDA:27,107,2,0 +BRDA:27,107,3,0 +BRDA:27,108,0,0 +BRDA:27,108,1,0 +BRDA:27,109,0,0 +BRDA:27,109,1,0 +BRDA:27,110,0,0 +BRDA:27,110,1,0 +BRDA:27,111,0,0 +BRDA:27,111,1,0 +BRDA:27,111,2,0 +BRDA:27,111,3,0 +BRDA:27,112,0,0 +BRDA:27,112,1,0 +BRDA:27,113,0,0 +BRDA:27,113,1,0 +BRDA:27,114,0,0 +BRDA:27,114,1,0 +BRDA:27,114,2,0 +BRDA:27,115,0,0 +BRDA:27,115,1,0 +BRDA:27,116,0,0 +BRDA:27,116,1,0 +BRDA:27,117,0,0 +BRDA:27,117,1,0 +BRDA:27,118,0,0 +BRDA:27,118,1,0 +BRDA:27,119,0,0 +BRDA:27,119,1,0 +BRDA:27,120,0,0 +BRDA:27,120,1,0 +BRDA:27,121,0,0 +BRDA:27,121,1,0 +BRDA:27,121,2,0 +BRDA:27,121,3,0 +BRDA:27,121,4,0 +BRDA:27,122,0,0 +BRDA:27,122,1,0 +BRDA:27,123,0,0 +BRDA:27,123,1,0 +BRDA:27,124,0,0 +BRDA:27,124,1,0 +BRDA:27,125,0,0 +BRDA:27,125,1,0 +BRDA:27,126,0,0 +BRDA:27,126,1,0 +BRDA:27,127,0,0 +BRDA:27,127,1,0 +BRDA:27,127,2,0 +BRDA:27,128,0,0 +BRDA:27,128,1,0 +BRDA:27,129,0,0 +BRDA:27,129,1,0 +BRDA:27,130,0,0 +BRDA:27,130,1,0 +BRDA:27,131,0,0 +BRDA:27,131,1,0 +BRDA:27,132,0,0 +BRDA:27,132,1,0 +BRDA:27,133,0,0 +BRDA:27,133,1,0 +BRDA:27,133,2,0 +BRDA:27,134,0,0 +BRDA:27,134,1,0 +BRDA:27,135,0,0 +BRDA:27,135,1,0 +BRDA:27,136,0,0 +BRDA:27,136,1,0 +BRDA:27,137,0,0 +BRDA:27,137,1,0 +BRDA:27,137,2,0 +BRDA:27,138,0,0 +BRDA:27,138,1,0 +BRDA:27,139,0,0 +BRDA:27,139,1,0 +BRDA:27,139,2,0 +BRDA:27,140,0,0 +BRDA:27,140,1,0 +BRDA:27,141,0,0 +BRDA:27,141,1,0 +BRDA:27,142,0,0 +BRDA:27,142,1,0 +BRDA:27,143,0,9 +BRDA:27,143,1,0 +BRDA:27,144,0,9 +BRDA:27,144,1,9 +BRDA:27,145,0,9 +BRDA:27,145,1,0 +BRDA:27,146,0,1 +BRDA:27,146,1,1 +BRDA:27,147,0,1 +BRDA:27,147,1,1 +BRDA:27,148,0,0 +BRDA:27,148,1,1 +BRDA:27,149,0,1 +BRDA:27,149,1,1 +BRDA:27,150,0,0 +BRDA:27,150,1,1 +BRDA:27,151,0,1 +BRDA:27,151,1,0 +BRDA:27,152,0,0 +BRDA:27,152,1,0 +BRDA:27,153,0,1 +BRDA:27,153,1,0 +BRDA:27,154,0,1 +BRDA:27,154,1,0 +BRDA:27,154,2,0 +BRDA:27,155,0,1 +BRDA:27,155,1,0 +BRDA:27,155,2,1 +BRDA:27,156,0,0 +BRDA:27,156,1,1 +BRDA:27,157,0,0 +BRDA:27,157,1,1 +BRDA:27,158,0,1 +BRDA:27,158,1,0 +BRDA:27,159,0,0 +BRDA:27,159,1,1 +BRDA:27,160,0,1 +BRDA:27,160,1,0 +BRDA:27,161,0,0 +BRDA:27,161,1,1 +BRDA:27,162,0,1 +BRDA:27,162,1,0 +BRDA:27,163,0,0 +BRDA:27,163,1,0 +BRDA:27,164,0,0 +BRDA:27,164,1,1 +BRDA:27,165,0,1 +BRDA:27,165,1,0 +BRDA:27,166,0,1 +BRDA:27,166,1,0 +BRDA:27,167,0,0 +BRDA:27,167,1,0 +BRDA:27,168,0,1 +BRDA:27,168,1,0 +BRDA:27,169,0,1 +BRDA:27,169,1,1 +BRDA:27,170,0,0 +BRDA:27,170,1,0 +BRDA:27,171,0,0 +BRDA:27,171,1,0 +BRDA:27,172,0,1 +BRDA:27,172,1,0 +BRDA:27,173,0,1 +BRDA:27,173,1,0 +BRDA:27,174,0,0 +BRDA:27,174,1,0 +BRDA:27,175,0,0 +BRDA:27,175,1,0 +BRDA:27,175,2,0 +BRDA:27,176,0,0 +BRDA:27,176,1,0 +BRDA:27,177,0,1 +BRDA:27,177,1,0 +BRDA:27,178,0,0 +BRDA:27,178,1,0 +BRF:380 +BRH:65 +end_of_record +TN: +SF:assests/js/lib/jquery-sortable-min.js +FN:1,(anonymous_1) +FN:1,v +FN:1,w +FN:1,p +FN:1,x +FN:2,(anonymous_6) +FN:2,q +FN:2,t +FN:3,(anonymous_9) +FN:4,(anonymous_10) +FN:4,(anonymous_11) +FN:4,(anonymous_12) +FN:4,(anonymous_13) +FN:4,(anonymous_14) +FN:5,(anonymous_15) +FN:5,(anonymous_16) +FN:6,(anonymous_17) +FN:6,(anonymous_18) +FN:7,(anonymous_19) +FN:8,(anonymous_20) +FN:8,(anonymous_21) +FN:9,(anonymous_22) +FN:10,(anonymous_23) +FN:10,(anonymous_24) +FN:10,(anonymous_25) +FN:11,(anonymous_26) +FN:11,(anonymous_27) +FN:11,(anonymous_28) +FN:12,(anonymous_29) +FN:12,(anonymous_30) +FN:12,(anonymous_31) +FN:12,(anonymous_32) +FN:12,(anonymous_33) +FN:13,(anonymous_34) +FN:13,(anonymous_35) +FN:13,(anonymous_36) +FN:13,(anonymous_37) +FN:13,(anonymous_38) +FN:13,(anonymous_39) +FN:13,(anonymous_40) +FN:13,(anonymous_41) +FN:14,(anonymous_42) +FN:14,(anonymous_43) +FN:15,(anonymous_44) +FN:16,(anonymous_45) +FN:16,(anonymous_46) +FN:16,(anonymous_47) +FN:17,(anonymous_48) +FN:17,(anonymous_49) +FN:17,(anonymous_50) +FN:18,(anonymous_51) +FN:18,(anonymous_52) +FN:18,(anonymous_53) +FN:18,(anonymous_54) +FN:18,(anonymous_55) +FN:18,(anonymous_56) +FN:18,(anonymous_57) +FN:18,(anonymous_58) +FN:18,(anonymous_59) +FN:18,(anonymous_60) +FN:19,(anonymous_61) +FN:19,(anonymous_62) +FN:19,(anonymous_63) +FN:19,(anonymous_64) +FN:19,(anonymous_65) +FN:19,(anonymous_66) +FN:19,(anonymous_67) +FNF:67 +FNH:0 +FNDA:0,(anonymous_1) +FNDA:0,v +FNDA:0,w +FNDA:0,p +FNDA:0,x +FNDA:0,(anonymous_6) +FNDA:0,q +FNDA:0,t +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +FNDA:0,(anonymous_21) +FNDA:0,(anonymous_22) +FNDA:0,(anonymous_23) +FNDA:0,(anonymous_24) +FNDA:0,(anonymous_25) +FNDA:0,(anonymous_26) +FNDA:0,(anonymous_27) +FNDA:0,(anonymous_28) +FNDA:0,(anonymous_29) +FNDA:0,(anonymous_30) +FNDA:0,(anonymous_31) +FNDA:0,(anonymous_32) +FNDA:0,(anonymous_33) +FNDA:0,(anonymous_34) +FNDA:0,(anonymous_35) +FNDA:0,(anonymous_36) +FNDA:0,(anonymous_37) +FNDA:0,(anonymous_38) +FNDA:0,(anonymous_39) +FNDA:0,(anonymous_40) +FNDA:0,(anonymous_41) +FNDA:0,(anonymous_42) +FNDA:0,(anonymous_43) +FNDA:0,(anonymous_44) +FNDA:0,(anonymous_45) +FNDA:0,(anonymous_46) +FNDA:0,(anonymous_47) +FNDA:0,(anonymous_48) +FNDA:0,(anonymous_49) +FNDA:0,(anonymous_50) +FNDA:0,(anonymous_51) +FNDA:0,(anonymous_52) +FNDA:0,(anonymous_53) +FNDA:0,(anonymous_54) +FNDA:0,(anonymous_55) +FNDA:0,(anonymous_56) +FNDA:0,(anonymous_57) +FNDA:0,(anonymous_58) +FNDA:0,(anonymous_59) +FNDA:0,(anonymous_60) +FNDA:0,(anonymous_61) +FNDA:0,(anonymous_62) +FNDA:0,(anonymous_63) +FNDA:0,(anonymous_64) +FNDA:0,(anonymous_65) +FNDA:0,(anonymous_66) +FNDA:0,(anonymous_67) +DA:1,1 +DA:2,1 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +LF:19 +LH:2 +BRDA:1,1,0,0 +BRDA:1,1,1,0 +BRDA:1,2,0,0 +BRDA:1,2,1,0 +BRDA:2,3,0,0 +BRDA:2,3,1,0 +BRDA:2,4,0,0 +BRDA:2,4,1,0 +BRDA:2,5,0,0 +BRDA:2,5,1,0 +BRDA:2,5,2,0 +BRDA:2,6,0,0 +BRDA:2,6,1,0 +BRDA:2,7,0,0 +BRDA:2,7,1,0 +BRDA:3,8,0,0 +BRDA:3,8,1,0 +BRDA:3,9,0,0 +BRDA:3,9,1,0 +BRDA:3,10,0,0 +BRDA:3,10,1,0 +BRDA:3,11,0,0 +BRDA:3,11,1,0 +BRDA:5,12,0,0 +BRDA:5,12,1,0 +BRDA:5,13,0,0 +BRDA:5,13,1,0 +BRDA:5,14,0,0 +BRDA:5,14,1,0 +BRDA:6,15,0,0 +BRDA:6,15,1,0 +BRDA:6,16,0,0 +BRDA:6,16,1,0 +BRDA:6,17,0,0 +BRDA:6,17,1,0 +BRDA:6,18,0,0 +BRDA:6,18,1,0 +BRDA:6,18,2,0 +BRDA:7,19,0,0 +BRDA:7,19,1,0 +BRDA:7,20,0,0 +BRDA:7,20,1,0 +BRDA:7,21,0,0 +BRDA:7,21,1,0 +BRDA:7,22,0,0 +BRDA:7,22,1,0 +BRDA:7,22,2,0 +BRDA:7,22,3,0 +BRDA:7,22,4,0 +BRDA:7,22,5,0 +BRDA:7,22,6,0 +BRDA:8,23,0,0 +BRDA:8,23,1,0 +BRDA:8,24,0,0 +BRDA:8,24,1,0 +BRDA:8,25,0,0 +BRDA:8,25,1,0 +BRDA:9,26,0,0 +BRDA:9,26,1,0 +BRDA:9,27,0,0 +BRDA:9,27,1,0 +BRDA:9,28,0,0 +BRDA:9,28,1,0 +BRDA:9,29,0,0 +BRDA:9,29,1,0 +BRDA:9,30,0,0 +BRDA:9,30,1,0 +BRDA:9,31,0,0 +BRDA:9,31,1,0 +BRDA:9,32,0,0 +BRDA:9,32,1,0 +BRDA:9,33,0,0 +BRDA:9,33,1,0 +BRDA:9,34,0,0 +BRDA:9,34,1,0 +BRDA:9,35,0,0 +BRDA:9,35,1,0 +BRDA:9,35,2,0 +BRDA:10,36,0,0 +BRDA:10,36,1,0 +BRDA:10,37,0,0 +BRDA:10,37,1,0 +BRDA:10,38,0,0 +BRDA:10,38,1,0 +BRDA:10,39,0,0 +BRDA:10,39,1,0 +BRDA:11,40,0,0 +BRDA:11,40,1,0 +BRDA:12,41,0,0 +BRDA:12,41,1,0 +BRDA:12,41,2,0 +BRDA:12,42,0,0 +BRDA:12,42,1,0 +BRDA:12,43,0,0 +BRDA:12,43,1,0 +BRDA:12,44,0,0 +BRDA:12,44,1,0 +BRDA:13,45,0,0 +BRDA:13,45,1,0 +BRDA:13,45,2,0 +BRDA:13,45,3,0 +BRDA:13,45,4,0 +BRDA:13,46,0,0 +BRDA:13,46,1,0 +BRDA:13,46,2,0 +BRDA:14,47,0,0 +BRDA:14,47,1,0 +BRDA:14,48,0,0 +BRDA:14,48,1,0 +BRDA:14,49,0,0 +BRDA:14,49,1,0 +BRDA:14,50,0,0 +BRDA:14,50,1,0 +BRDA:14,51,0,0 +BRDA:14,51,1,0 +BRDA:14,52,0,0 +BRDA:14,52,1,0 +BRDA:14,53,0,0 +BRDA:14,53,1,0 +BRDA:15,54,0,0 +BRDA:15,54,1,0 +BRDA:15,55,0,0 +BRDA:15,55,1,0 +BRDA:15,56,0,0 +BRDA:15,56,1,0 +BRDA:15,57,0,0 +BRDA:15,57,1,0 +BRDA:15,58,0,0 +BRDA:15,58,1,0 +BRDA:16,59,0,0 +BRDA:16,59,1,0 +BRDA:16,60,0,0 +BRDA:16,60,1,0 +BRDA:16,60,2,0 +BRDA:16,61,0,0 +BRDA:16,61,1,0 +BRDA:16,62,0,0 +BRDA:16,62,1,0 +BRDA:17,63,0,0 +BRDA:17,63,1,0 +BRDA:17,64,0,0 +BRDA:17,64,1,0 +BRDA:17,65,0,0 +BRDA:17,65,1,0 +BRDA:18,66,0,0 +BRDA:18,66,1,0 +BRDA:18,67,0,0 +BRDA:18,67,1,0 +BRDA:18,68,0,0 +BRDA:18,68,1,0 +BRDA:18,69,0,0 +BRDA:18,69,1,0 +BRDA:19,70,0,0 +BRDA:19,70,1,0 +BRDA:19,71,0,0 +BRDA:19,71,1,0 +BRDA:19,72,0,0 +BRDA:19,72,1,0 +BRDA:19,73,0,0 +BRDA:19,73,1,0 +BRDA:19,73,2,0 +BRDA:19,73,3,0 +BRF:162 +BRH:0 +end_of_record +TN: +SF:assests/js/lib/embed/templates.js +FN:4,(anonymous_1) +FN:12,(anonymous_2) +FN:20,(anonymous_3) +FN:28,(anonymous_4) +FN:32,(anonymous_5) +FN:38,(anonymous_6) +FN:42,(anonymous_7) +FN:50,(anonymous_8) +FN:56,(anonymous_9) +FN:64,(anonymous_10) +FN:72,(anonymous_11) +FN:76,(anonymous_12) +FN:78,(anonymous_13) +FN:88,(anonymous_14) +FN:92,(anonymous_15) +FN:96,(anonymous_16) +FN:104,(anonymous_17) +FN:110,(anonymous_18) +FN:114,(anonymous_19) +FN:122,(anonymous_20) +FNF:20 +FNH:0 +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +FNDA:0,(anonymous_15) +FNDA:0,(anonymous_16) +FNDA:0,(anonymous_17) +FNDA:0,(anonymous_18) +FNDA:0,(anonymous_19) +FNDA:0,(anonymous_20) +DA:1,1 +DA:2,1 +DA:4,1 +DA:5,0 +DA:7,0 +DA:13,0 +DA:15,0 +DA:20,1 +DA:21,0 +DA:23,0 +DA:28,1 +DA:29,0 +DA:32,1 +DA:33,0 +DA:35,0 +DA:39,0 +DA:41,0 +DA:43,0 +DA:45,0 +DA:51,0 +DA:53,0 +DA:57,0 +DA:59,0 +DA:64,1 +DA:65,0 +DA:67,0 +DA:72,1 +DA:73,0 +DA:76,1 +DA:79,0 +DA:81,0 +DA:88,1 +DA:89,0 +DA:92,1 +DA:93,0 +DA:95,0 +DA:97,0 +DA:99,0 +DA:105,0 +DA:107,0 +DA:111,0 +DA:113,0 +DA:115,0 +DA:117,0 +DA:123,0 +DA:125,0 +LF:46 +LH:11 +BRDA:1,1,0,1 +BRDA:1,1,1,1 +BRDA:2,2,0,1 +BRDA:2,2,1,1 +BRDA:5,3,0,0 +BRDA:5,3,1,0 +BRDA:5,4,0,0 +BRDA:5,4,1,0 +BRDA:8,5,0,0 +BRDA:8,5,1,0 +BRDA:8,6,0,0 +BRDA:8,6,1,0 +BRDA:8,6,2,0 +BRDA:8,7,0,0 +BRDA:8,7,1,0 +BRDA:10,8,0,0 +BRDA:10,8,1,0 +BRDA:10,9,0,0 +BRDA:10,9,1,0 +BRDA:10,10,0,0 +BRDA:10,10,1,0 +BRDA:10,11,0,0 +BRDA:10,11,1,0 +BRDA:10,12,0,0 +BRDA:10,12,1,0 +BRDA:16,13,0,0 +BRDA:16,13,1,0 +BRDA:16,14,0,0 +BRDA:16,14,1,0 +BRDA:16,15,0,0 +BRDA:16,15,1,0 +BRDA:16,16,0,0 +BRDA:16,16,1,0 +BRDA:24,17,0,0 +BRDA:24,17,1,0 +BRDA:24,18,0,0 +BRDA:24,18,1,0 +BRDA:24,19,0,0 +BRDA:24,19,1,0 +BRDA:24,20,0,0 +BRDA:24,20,1,0 +BRDA:24,21,0,0 +BRDA:24,21,1,0 +BRDA:24,22,0,0 +BRDA:24,22,1,0 +BRDA:36,23,0,0 +BRDA:36,23,1,0 +BRDA:36,24,0,0 +BRDA:36,24,1,0 +BRDA:36,25,0,0 +BRDA:36,25,1,0 +BRDA:36,26,0,0 +BRDA:36,26,1,0 +BRDA:41,27,0,0 +BRDA:41,27,1,0 +BRDA:41,28,0,0 +BRDA:41,28,1,0 +BRDA:41,29,0,0 +BRDA:41,29,1,0 +BRDA:41,30,0,0 +BRDA:41,30,1,0 +BRDA:43,31,0,0 +BRDA:43,31,1,0 +BRDA:43,32,0,0 +BRDA:43,32,1,0 +BRDA:46,33,0,0 +BRDA:46,33,1,0 +BRDA:46,34,0,0 +BRDA:46,34,1,0 +BRDA:46,34,2,0 +BRDA:46,35,0,0 +BRDA:46,35,1,0 +BRDA:48,36,0,0 +BRDA:48,36,1,0 +BRDA:48,37,0,0 +BRDA:48,37,1,0 +BRDA:48,38,0,0 +BRDA:48,38,1,0 +BRDA:48,39,0,0 +BRDA:48,39,1,0 +BRDA:48,40,0,0 +BRDA:48,40,1,0 +BRDA:54,41,0,0 +BRDA:54,41,1,0 +BRDA:54,42,0,0 +BRDA:54,42,1,0 +BRDA:54,43,0,0 +BRDA:54,43,1,0 +BRDA:54,44,0,0 +BRDA:54,44,1,0 +BRDA:57,45,0,0 +BRDA:57,45,1,0 +BRDA:57,46,0,0 +BRDA:57,46,1,0 +BRDA:59,47,0,0 +BRDA:59,47,1,0 +BRDA:59,48,0,0 +BRDA:59,48,1,0 +BRDA:61,49,0,0 +BRDA:61,49,1,0 +BRDA:61,50,0,0 +BRDA:61,50,1,0 +BRDA:68,51,0,0 +BRDA:68,51,1,0 +BRDA:68,52,0,0 +BRDA:68,52,1,0 +BRDA:68,53,0,0 +BRDA:68,53,1,0 +BRDA:68,54,0,0 +BRDA:68,54,1,0 +BRDA:68,55,0,0 +BRDA:68,55,1,0 +BRDA:68,56,0,0 +BRDA:68,56,1,0 +BRDA:68,57,0,0 +BRDA:68,57,1,0 +BRDA:79,58,0,0 +BRDA:79,58,1,0 +BRDA:79,59,0,0 +BRDA:79,59,1,0 +BRDA:82,60,0,0 +BRDA:82,60,1,0 +BRDA:82,61,0,0 +BRDA:82,61,1,0 +BRDA:82,62,0,0 +BRDA:82,62,1,0 +BRDA:82,63,0,0 +BRDA:82,63,1,0 +BRDA:84,64,0,0 +BRDA:84,64,1,0 +BRDA:84,65,0,0 +BRDA:84,65,1,0 +BRDA:95,66,0,0 +BRDA:95,66,1,0 +BRDA:95,67,0,0 +BRDA:95,67,1,0 +BRDA:95,68,0,0 +BRDA:95,68,1,0 +BRDA:95,69,0,0 +BRDA:95,69,1,0 +BRDA:97,70,0,0 +BRDA:97,70,1,0 +BRDA:97,71,0,0 +BRDA:97,71,1,0 +BRDA:100,72,0,0 +BRDA:100,72,1,0 +BRDA:100,73,0,0 +BRDA:100,73,1,0 +BRDA:100,73,2,0 +BRDA:100,74,0,0 +BRDA:100,74,1,0 +BRDA:102,75,0,0 +BRDA:102,75,1,0 +BRDA:102,76,0,0 +BRDA:102,76,1,0 +BRDA:102,77,0,0 +BRDA:102,77,1,0 +BRDA:102,78,0,0 +BRDA:102,78,1,0 +BRDA:102,79,0,0 +BRDA:102,79,1,0 +BRDA:108,80,0,0 +BRDA:108,80,1,0 +BRDA:108,81,0,0 +BRDA:108,81,1,0 +BRDA:108,82,0,0 +BRDA:108,82,1,0 +BRDA:108,83,0,0 +BRDA:108,83,1,0 +BRDA:113,84,0,0 +BRDA:113,84,1,0 +BRDA:113,85,0,0 +BRDA:113,85,1,0 +BRDA:113,86,0,0 +BRDA:113,86,1,0 +BRDA:113,87,0,0 +BRDA:113,87,1,0 +BRDA:115,88,0,0 +BRDA:115,88,1,0 +BRDA:115,89,0,0 +BRDA:115,89,1,0 +BRDA:118,90,0,0 +BRDA:118,90,1,0 +BRDA:118,91,0,0 +BRDA:118,91,1,0 +BRDA:118,91,2,0 +BRDA:118,92,0,0 +BRDA:118,92,1,0 +BRDA:120,93,0,0 +BRDA:120,93,1,0 +BRDA:120,94,0,0 +BRDA:120,94,1,0 +BRDA:120,95,0,0 +BRDA:120,95,1,0 +BRDA:120,96,0,0 +BRDA:120,96,1,0 +BRDA:120,97,0,0 +BRDA:120,97,1,0 +BRDA:123,98,0,0 +BRDA:123,98,1,0 +BRDA:123,99,0,0 +BRDA:123,99,1,0 +BRDA:126,100,0,0 +BRDA:126,100,1,0 +BRDA:126,101,0,0 +BRDA:126,101,1,0 +BRDA:128,102,0,0 +BRDA:128,102,1,0 +BRDA:128,103,0,0 +BRDA:128,103,1,0 +BRF:210 +BRH:4 +end_of_record diff --git a/server/controller/content.js b/server/controller/content.js new file mode 100644 index 0000000..e69de29 diff --git a/server/controller/meida.js b/server/controller/meida.js new file mode 100644 index 0000000..e69de29 diff --git a/server/routes/blog.js b/server/routes/blog.js new file mode 100644 index 0000000..bc4b6df --- /dev/null +++ b/server/routes/blog.js @@ -0,0 +1,13 @@ +let express = require('express'); +let router = express.Router(); + +router.put('/contents', (req, res, next)=> { + res.send('contents save action') +}); + +router.put('/comments', (req, res) => { + console.log(req.body) + res.send('comments save action') +}); + +module.exports = router; diff --git a/server/routes/media.js b/server/routes/media.js new file mode 100644 index 0000000..9fb6382 --- /dev/null +++ b/server/routes/media.js @@ -0,0 +1,54 @@ +let express = require('express'); +let router = express.Router(); +let fs = require('fs'); + +router.post('/', (req, res, next)=> { + const file = req.files['files[]']; + + if (Object.keys(file).length == 0) { + return res.status(400).send('No files were uploaded.'); + } + + const fileName = fileNameGenerater(file.name); + const fileType = file.mimetype.includes('image')? 'img' : 'mov'; + + if(fileType === 'img') { + file.mv(`./assests/medias/${fileName}`, function(err) { + if (err) { + console.log(err) + return res.status(500).send(err); + } + const resData = {type: fileType, url: `http://${req.headers.host}/${fileName}`} + res.send(resData); + }); + } else { + file.mv(`./assests/medias/${fileName}`, function(err) { + if (err) + return res.status(500).send(err); + + const resData = {type: fileType, url: `http://${req.headers.host}/${fileName}`} + res.send(resData); + }); + } +}); + +router.delete('/', (req, res) => { + let originURL = req.body.file; + let hostURL = req.headers.host; + const fileName = originURL.split(hostURL)[1]; + + fs.unlink(`./assests/medias${fileName}`, function(error) { + if (error) { + res.send({msg: error}) + } + res.send({msg: 'Successfully removed'}) + }); +}); + +const fileNameGenerater = (oldName) => { + const ext = oldName.split('.')[1]; + let name = Math.random().toString(36).substring(7); + return name+'.'+ext; +} + +module.exports = router; diff --git a/dist/css/medium-editor.css b/src/css/medium-editor.css similarity index 72% rename from dist/css/medium-editor.css rename to src/css/medium-editor.css index de98132..4602961 100644 --- a/dist/css/medium-editor.css +++ b/src/css/medium-editor.css @@ -1,52 +1,21 @@ -@-webkit-keyframes medium-editor-image-loading { - 0% { - -webkit-transform: scale(0); - transform: scale(0); } - 100% { - -webkit-transform: scale(1); - transform: scale(1); } } - @keyframes medium-editor-image-loading { 0% { - -webkit-transform: scale(0); - transform: scale(0); } - 100% { - -webkit-transform: scale(1); - transform: scale(1); } } - -@-webkit-keyframes medium-editor-pop-upwards { - 0% { - opacity: 0; - -webkit-transform: matrix(0.97, 0, 0, 1, 0, 12); - transform: matrix(0.97, 0, 0, 1, 0, 12); } - 20% { - opacity: .7; - -webkit-transform: matrix(0.99, 0, 0, 1, 0, 2); - transform: matrix(0.99, 0, 0, 1, 0, 2); } - 40% { - opacity: 1; - -webkit-transform: matrix(1, 0, 0, 1, 0, -1); - transform: matrix(1, 0, 0, 1, 0, -1); } + transform: scale(0); } 100% { - -webkit-transform: matrix(1, 0, 0, 1, 0, 0); - transform: matrix(1, 0, 0, 1, 0, 0); } } + transform: scale(1); } } @keyframes medium-editor-pop-upwards { 0% { opacity: 0; - -webkit-transform: matrix(0.97, 0, 0, 1, 0, 12); - transform: matrix(0.97, 0, 0, 1, 0, 12); } + transform: matrix(0.97, 0, 0, 1, 0, 12); } 20% { opacity: .7; - -webkit-transform: matrix(0.99, 0, 0, 1, 0, 2); - transform: matrix(0.99, 0, 0, 1, 0, 2); } + transform: matrix(0.99, 0, 0, 1, 0, 2); } 40% { opacity: 1; - -webkit-transform: matrix(1, 0, 0, 1, 0, -1); - transform: matrix(1, 0, 0, 1, 0, -1); } + transform: matrix(1, 0, 0, 1, 0, -1); } 100% { - -webkit-transform: matrix(1, 0, 0, 1, 0, 0); - transform: matrix(1, 0, 0, 1, 0, 0); } } + transform: matrix(1, 0, 0, 1, 0, 0); } } .medium-editor-anchor-preview { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; @@ -73,8 +42,7 @@ background: #ddd; } .medium-editor-image-loading { - -webkit-animation: medium-editor-image-loading 1s infinite ease-in-out; - animation: medium-editor-image-loading 1s infinite ease-in-out; + animation: medium-editor-image-loading 1s infinite ease-in-out; background-color: #333; border-radius: 100%; display: inline-block; @@ -166,8 +134,7 @@ position: relative; } .medium-editor-toolbar-active.medium-editor-stalker-toolbar { - -webkit-animation: medium-editor-pop-upwards 160ms forwards linear; - animation: medium-editor-pop-upwards 160ms forwards linear; } + animation: medium-editor-pop-upwards 160ms forwards linear; } .medium-editor-action-bold { font-weight: bolder; } @@ -195,9 +162,7 @@ display: inline-block; } .medium-editor-toolbar-form .medium-editor-toolbar-input:focus, .medium-editor-toolbar-form label:focus { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; + appearance: none; border: none; box-shadow: none; outline: 0; } diff --git a/dist/css/themes/beagle.css b/src/css/themes/beagle.css similarity index 91% rename from dist/css/themes/beagle.css rename to src/css/themes/beagle.css index edab17e..1135bf8 100644 --- a/dist/css/themes/beagle.css +++ b/src/css/themes/beagle.css @@ -17,8 +17,7 @@ height: 40px; min-width: 40px; padding: 5px 12px; - -webkit-transition: background-color .2s ease-in, color .2s ease-in; - transition: background-color .2s ease-in, color .2s ease-in; } + transition: background-color .2s ease-in, color .2s ease-in; } .medium-editor-toolbar li button:hover { background-color: #000; color: #a2d7c7; } @@ -63,8 +62,7 @@ color: rgba(248, 245, 243, 0.8); } .medium-editor-toolbar-form a { color: #ccc; - -webkit-transform: translateY(2px); - transform: translateY(2px); } + transform: translateY(2px); } .medium-editor-toolbar-form .medium-editor-toolbar-close { margin-right: 16px; } diff --git a/dist/css/themes/bootstrap.css b/src/css/themes/bootstrap.css similarity index 93% rename from dist/css/themes/bootstrap.css rename to src/css/themes/bootstrap.css index a1f4ef2..929f1fa 100644 --- a/dist/css/themes/bootstrap.css +++ b/src/css/themes/bootstrap.css @@ -17,8 +17,7 @@ color: #fff; height: 60px; min-width: 60px; - -webkit-transition: background-color .2s ease-in, color .2s ease-in; - transition: background-color .2s ease-in, color .2s ease-in; } + transition: background-color .2s ease-in, color .2s ease-in; } .medium-editor-toolbar li button:hover { background-color: #3276b1; color: #fff; } diff --git a/dist/css/themes/default.css b/src/css/themes/default.css similarity index 83% rename from dist/css/themes/default.css rename to src/css/themes/default.css index 84ef448..13a92a9 100644 --- a/dist/css/themes/default.css +++ b/src/css/themes/default.css @@ -8,16 +8,13 @@ .medium-editor-toolbar { background-color: #242424; - background: -webkit-linear-gradient(top, #242424, rgba(36, 36, 36, 0.75)); background: linear-gradient(to bottom, #242424, rgba(36, 36, 36, 0.75)); border: 1px solid #000; border-radius: 5px; box-shadow: 0 0 3px #000; - width: max-content; -} + width: max-content; } .medium-editor-toolbar li button { background-color: #242424; - background: -webkit-linear-gradient(top, #242424, rgba(36, 36, 36, 0.89)); background: linear-gradient(to bottom, #242424, rgba(36, 36, 36, 0.89)); border: 0; border-right: 1px solid #000; @@ -27,8 +24,7 @@ color: #fff; height: 50px; min-width: 50px; - -webkit-transition: background-color .2s ease-in; - transition: background-color .2s ease-in; } + transition: background-color .2s ease-in; } .medium-editor-toolbar li button:hover { background-color: #000; color: yellow; } @@ -40,7 +36,6 @@ border-top-right-radius: 5px; } .medium-editor-toolbar li .medium-editor-button-active { background-color: #000; - background: -webkit-linear-gradient(top, #242424, rgba(0, 0, 0, 0.89)); background: linear-gradient(to bottom, #242424, rgba(0, 0, 0, 0.89)); color: #fff; } diff --git a/dist/css/themes/flat.css b/src/css/themes/flat.css similarity index 91% rename from dist/css/themes/flat.css rename to src/css/themes/flat.css index ae809d4..fbc40ee 100644 --- a/dist/css/themes/flat.css +++ b/src/css/themes/flat.css @@ -17,8 +17,7 @@ border-right: 1px solid #9ccea6; background-color: transparent; color: #fff; - -webkit-transition: background-color .2s ease-in, color .2s ease-in; - transition: background-color .2s ease-in, color .2s ease-in; } + transition: background-color .2s ease-in, color .2s ease-in; } .medium-editor-toolbar li button:hover { background-color: #346a3f; color: #fff; } diff --git a/dist/css/themes/mani.css b/src/css/themes/mani.css similarity index 85% rename from dist/css/themes/mani.css rename to src/css/themes/mani.css index 1b1567d..22c31ed 100644 --- a/dist/css/themes/mani.css +++ b/src/css/themes/mani.css @@ -6,7 +6,6 @@ border: 1px solid #cdd6e0; background-color: #dee7f0; background-color: rgba(222, 231, 240, 0.95); - background: -webkit-linear-gradient(bottom, #dee7f0, white); background: linear-gradient(to top, #dee7f0, white); border-radius: 2px; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45); } @@ -17,8 +16,7 @@ border-right: 1px solid #cdd6e0; background-color: transparent; color: #40648a; - -webkit-transition: background-color .2s ease-in, color .2s ease-in; - transition: background-color .2s ease-in, color .2s ease-in; } + transition: background-color .2s ease-in, color .2s ease-in; } .medium-editor-toolbar li button:hover { background-color: #5c90c7; background-color: rgba(92, 144, 199, 0.45); @@ -33,7 +31,6 @@ background-color: #5c90c7; background-color: rgba(92, 144, 199, 0.45); color: #000; - background: -webkit-linear-gradient(top, #dee7f0, rgba(0, 0, 0, 0.1)); background: linear-gradient(to bottom, #dee7f0, rgba(0, 0, 0, 0.1)); } .medium-editor-toolbar-form { diff --git a/dist/css/themes/roman.css b/src/css/themes/roman.css similarity index 86% rename from dist/css/themes/roman.css rename to src/css/themes/roman.css index 1929119..8761cff 100644 --- a/dist/css/themes/roman.css +++ b/src/css/themes/roman.css @@ -15,11 +15,9 @@ background-color: transparent; color: #889aac; box-shadow: inset 0 0 3px #f8f8e6; - background: -webkit-linear-gradient(top, #fff, rgba(0, 0, 0, 0.2)); background: linear-gradient(to bottom, #fff, rgba(0, 0, 0, 0.2)); text-shadow: 1px 4px 6px #def, 0 0 0 #000, 1px 4px 6px #def; - -webkit-transition: background-color .2s ease-in; - transition: background-color .2s ease-in; } + transition: background-color .2s ease-in; } .medium-editor-toolbar li button:hover { background-color: #fff; color: #fff; @@ -34,7 +32,6 @@ background-color: #ccc; color: #000; color: rgba(0, 0, 0, 0.8); - background: -webkit-linear-gradient(bottom, #fff, rgba(0, 0, 0, 0.1)); background: linear-gradient(to top, #fff, rgba(0, 0, 0, 0.1)); } .medium-editor-toolbar-form { diff --git a/dist/css/themes/tim.css b/src/css/themes/tim.css similarity index 93% rename from dist/css/themes/tim.css rename to src/css/themes/tim.css index a3576bd..0e122d3 100644 --- a/dist/css/themes/tim.css +++ b/src/css/themes/tim.css @@ -17,8 +17,7 @@ color: #ffedd5; height: 60px; min-width: 60px; - -webkit-transition: background-color .2s ease-in, color .2s ease-in; - transition: background-color .2s ease-in, color .2s ease-in; } + transition: background-color .2s ease-in, color .2s ease-in; } .medium-editor-toolbar li button:hover { background-color: #030200; color: #ffedd5; } diff --git a/src/js/custom.js b/src/js/custom.js index af1e965..85a8a48 100644 --- a/src/js/custom.js +++ b/src/js/custom.js @@ -14,7 +14,6 @@ * - htmlToInsert: the HTML code that should be inserted */ function CustomHtml(options) { - console.log(window) this.button = document.createElement('button'); this.button.className = 'medium-editor-action'; if (this.button.innerText) { @@ -55,7 +54,7 @@ sel.addRange(range); } } - } else if (document.selection && document.selection.type != "Control") { + } else if (document.selection && document.selection.type !== "Control") { // IE < 9 document.selection.createRange().pasteHTML(html); } diff --git a/src/js/events.js b/src/js/events.js index 858aabc..06fb1df 100644 --- a/src/js/events.js +++ b/src/js/events.js @@ -153,7 +153,7 @@ }, triggerCustomEvent: function (name, data, editable) { - if (this.customEvents[name] && !this.disabledEvents[name]) { + if (this.customEvents[name] && !this.disabledEvents[name]) { this.customEvents[name].forEach(function (listener) { listener(data, editable); }); @@ -365,19 +365,19 @@ break; case 'editableDrag': // Detecting dragover and dragleave on the contenteditables - this.attachToEachElement('dragover', this.handleDragging); - this.attachToEachElement('dragleave', this.handleDragging); - break; - case 'editableDrop': - // Detecting drop on the contenteditables - this.attachToEachElement('drop', this.handleDrop); - break; - // TODO: We need to have a custom 'paste' event separate from 'editablePaste' - // Need to think about the way to introduce this without breaking folks - case 'editablePaste': - // Detecting paste on the contenteditables - this.attachToEachElement('paste', this.handlePaste); + // this.attachToEachElement('dragover', this.handleDragging); + // this.attachToEachElement('dragleave', this.handleDragging); break; + // case 'editableDrop': + // // Detecting drop on the contenteditables + // this.attachToEachElement('drop', this.handleDrop); + // break; + // // TODO: We need to have a custom 'paste' event separate from 'editablePaste' + // // Need to think about the way to introduce this without breaking folks + // case 'editablePaste': + // // Detecting paste on the contenteditables + // this.attachToEachElement('paste', this.handlePaste); + // break; } this.listeners[name] = true; }, diff --git a/src/js/extend.js b/src/js/extend.js index a85a3cf..0d8057c 100644 --- a/src/js/extend.js +++ b/src/js/extend.js @@ -24,8 +24,8 @@ const lastPos = matches.index + matches[0].length; const preText = str.slice(0, startPos); const lastText = str.slice(lastPos); - const data = {url: matches[2], alt: matches[1]} - return {preText: preText, lastText: lastText, data: data} + const data = {url: matches[2], alt: matches[1]}; + return {preText: preText, lastText: lastText, data: data}; } }; @@ -35,7 +35,7 @@ const imgTag = this.templates['src/js/templates/images-image.hbs']({ img: dt.data.url, - }) + }); let imgTagEl = document.createElement("div"); node.append(imgTagEl); @@ -45,7 +45,7 @@ const captionTag = this.templates['src/js/templates/core-caption.hbs']({ text: dt.data.alt, placeholder: null - }) + }); $("figure", node)[0].innerHTML += captionTag; let $el = $("figcaption", node); @@ -62,16 +62,16 @@ const newElement = preElement.outerHTML + node.outerHTML + lastElement.outerHTML; return newElement; - } + }; Extend.prototype.updateContent = function (el, element) { var that = this, $image; if (typeof element === 'string') { el.innerHTML = element; } else { - el.appendChild(element) + el.appendChild(element); } - } + }; Extend.prototype.checkCustomPattern = function () { @@ -80,30 +80,23 @@ var peC = pe.innerHTML; const parseData = this.getFind(peC); - console.log('checkCustomPattern ===>', peC) + if (parseData) { - const elements = this.createContent(parseData) + const elements = this.createContent(parseData); this.updateContent(pe, elements); } - } - - Extend.prototype.simulateKeydown = function (el, keycode, isCtrl, isAlt, isShift) { - var e = new KeyboardEvent( "keydown", { bubbles:true, cancelable:true, char:String.fromCharCode(keycode), key:String.fromCharCode(keycode), shiftKey:isShift, ctrlKey:isCtrl, altKey:isAlt } ); - Object.defineProperty(e, 'keyCode', {get : function() { return this.keyCodeVal; } }); - e.keyCodeVal = keycode; - el.dispatchEvent(e); - } + }; Extend.prototype.capturePattern = function () { if(ctTime) { - window.clearTimeout(ctTime) - ctTime = null + window.clearTimeout(ctTime); + ctTime = null; } else { ctTime = window.setTimeout(() => { this.checkCustomPattern(); }, 100); } - } + }; window.Extend = Extend; })($, window, document); diff --git a/src/js/extensions/file-dragging.js b/src/js/extensions/file-dragging.js index 9efc5a7..d6abc66 100644 --- a/src/js/extensions/file-dragging.js +++ b/src/js/extensions/file-dragging.js @@ -1,6 +1,5 @@ -(function () { +;(function ($, document, window) { 'use strict'; - var CLASS_DRAG_OVER = 'medium-editor-dragover'; function clearClassNames(element) { @@ -87,4 +86,4 @@ }); MediumEditor.extensions.fileDragging = FileDragging; -}()); +})($, document, window); diff --git a/src/js/main.js b/src/js/main.js index e2b5eb7..f63af04 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -8,13 +8,13 @@ window.onload = function () { // , "header1" // , "header2" // , "quote" - , "customHtml" - ] - , extensions: { + "customHtml" + ], + extensions: { "customHtml": new CustomHtml({ buttonText: "
    " , htmlToInsert: "
    " - }) - } + }), + }, }); }; \ No newline at end of file diff --git a/src/js/util.js b/src/js/util.js index 7f56d8c..bc9600d 100644 --- a/src/js/util.js +++ b/src/js/util.js @@ -124,7 +124,6 @@ }, defaults: function defaults(/*dest, source1, source2, ...*/) { - console.log(`5th -> utils.default`) var args = [false].concat(Array.prototype.slice.call(arguments)); return copyInto.apply(this, args); }, @@ -1019,9 +1018,8 @@ }, deprecated: function (oldName, newName, version) { - console.log(`5th -> deprecated`) // simple deprecation warning mechanism. - var m = oldName + ' is deprecated, please use ' + newName + ' instead.'; + let m = oldName + ' is deprecated, please use ' + newName + ' instead.'; if (version) { m += ' Will be removed in ' + version; } diff --git a/src/js/version.js b/src/js/version.js index a29ca66..3baf6a6 100644 --- a/src/js/version.js +++ b/src/js/version.js @@ -15,5 +15,5 @@ MediumEditor.parseVersionString = function (release) { MediumEditor.version = MediumEditor.parseVersionString.call(this, ({ // grunt-bump looks for this: - 'version': '5.23.3' + 'version': '6.0.0' }).version);