From 9127386b856db22e7188775fad6fa4fd7a44a735 Mon Sep 17 00:00:00 2001 From: boryslevytskyi Date: Tue, 16 May 2017 22:45:51 +0300 Subject: [PATCH] Add old BitwiseCmd to /old folder --- old/css/styles.css | 1 + old/favicon.ico | Bin 0 -> 1150 bytes old/img/feedback-dark.png | Bin 0 -> 1108 bytes old/img/feedback-light.png | Bin 0 -> 1108 bytes old/img/github-dark.png | Bin 0 -> 470 bytes old/img/github-light.png | Bin 0 -> 605 bytes old/img/social-avatar.png | Bin 0 -> 5424 bytes old/img/twitter-dark.png | Bin 0 -> 1108 bytes old/img/twitter-light.png | Bin 0 -> 1108 bytes old/index.html | 175 +++++++++++++++++++++++++++++++++++++ old/js/analytics.js | 14 +++ old/js/bitwisecmd.js | 2 + 12 files changed, 192 insertions(+) create mode 100644 old/css/styles.css create mode 100644 old/favicon.ico create mode 100644 old/img/feedback-dark.png create mode 100644 old/img/feedback-light.png create mode 100644 old/img/github-dark.png create mode 100644 old/img/github-light.png create mode 100644 old/img/social-avatar.png create mode 100644 old/img/twitter-dark.png create mode 100644 old/img/twitter-light.png create mode 100644 old/index.html create mode 100644 old/js/analytics.js create mode 100644 old/js/bitwisecmd.js diff --git a/old/css/styles.css b/old/css/styles.css new file mode 100644 index 0000000..19e3144 --- /dev/null +++ b/old/css/styles.css @@ -0,0 +1 @@ +.help ul,.top-links{list-style-type:none}body{font-family:Verdana;font-size:.8em;margin:0;padding:20px 100px 0}.expression,.indicator,.mono{font-family:monospace}code{font-size:1.2em;font-weight:700}.social-container{position:fixed;bottom:10px;right:10px}.top-links{position:absolute;right:10px;top:10px;margin:0}.top-links li{float:left}.top-links a{display:inline-block;padding:10px 15px}.top-links .icon{margin-right:5px}.mono{font-size:1.3em}.expressionInput{width:500px;padding:3px;border:1px solid #d3d3d3}.result{margin:10px 10px 30px}.result .input{margin-bottom:10px}.result .content{padding-left:10px}.result .cur{margin-right:5px}.hashLink{text-decoration:none;margin-left:5px;visibility:hidden}.hashLink:hover{text-decoration:underline;margin-left:5px}.input:hover .hashLink{visibility:visible}.expression .label{font-weight:700;padding-right:5px;text-align:right}.expression .bin{letter-spacing:3px}.expression .byte{margin:0 3px}.expression .flipable{cursor:pointer;opacity:1}.expression .flipable:hover{opacity:.8}.expression-result td{border-top:dotted 1px gray}.expression{font-size:1.5em}.expression .prefix{font-weight:400;display:none;font-size:.9em}.expression .other{font-size:.9em}.expression .sign{text-align:right}.hex .prefix{display:inline}.help{padding:10px}.help ul{margin:0;padding:0}.help p{margin-top:0}.indicator{padding:2px 5px;font-size:1.3em;background:0 0;border:none;cursor:pointer}.error{color:maroon}#view{padding:10px}.cur{color:#d3d3d3}.icon{width:16px;height:16px;display:inline-block}.light .twitter{background:url(../img/twitter-light.png)}.dark .twitter{background:url(../img/twitter-dark.png)}.light .feedback{background:url(../img/feedback-light.png)}.dark .feedback{background:url(../img/feedback-dark.png)}.dark .github{background:url(../img/github-dark.png)}.light .github{background:url(../img/github-light.png)}.light{background:#fafafa}.light a,.light a:visited{color:#222}.light .one{color:#000}.light .zero{color:#888}.light .indicator{color:#ddd}.light .on{color:#121212}.light .prefix{color:#888}.light .other{color:#bbb}.light .hashLink,.light .hashLink:visited{color:#ddd}.light .hashLink:hover{color:#888}.light ul.top-links li:hover{background:#ddd}.dark,.dark .expressionInput{background:#121212;color:#fff}.dark a,.dark a:visited{color:#fff}.dark .indicator{color:#555}.dark .on{color:#fff}.dark .prefix,.dark .zero{color:#999}.dark .other{color:#444}.dark .hashLink,.dark .hashLink:visited{color:#333}.dark .hashLink:hover{color:#999}.dark ul.top-links li:hover{background:#333}@media (max-width:800px){.top-links .link-text{display:none}}@media (max-width:700px){body{padding:10px}.expressionInput{width:500px}}@media (max-width:500px){.expressionInput{width:350px}.top-links a{display:inline-block;padding:5px 10px}}@media (max-width:350px){.expressionInput{width:200px}} \ No newline at end of file diff --git a/old/favicon.ico b/old/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f3e80ddac957b117bca96780ef089daac725d952 GIT binary patch literal 1150 zcmc(eK?=h#31r93Jj==<%22IL0M(BYfFZhZT{@L`8w=% zGrN2C@CfSg*sizP(`$p(o%?&7=erZRpVrz}Z)gIuE^_7Yg6LIO@%X?>SMm73N*6qH zp$WtXRysVRxw3brqqd6GIkUO+tZI*}Lj&eo zZjcxthBfw~045Rm4tU%v{$oDEV711JW71Yw2%y~6?2xE+X3rGNHP|r%R+XVy!d?Y0$xmZ|O_5%g}6N8zVnJNxtf&v%N8#oOCYCeyq8Kf8PY>*)-N=ix~ zLv|yHgS~}AGl~H)mtYtI(hT&o5R$XOhC(fYy8tE#a|s8~CEJ0TPvg;y;Q|yxjE#+% z%*@PKaM%n}i{S#81jr>Bz^L+qhBizboyKVZx>ApYG7 U*&lb8a)4an>FVdQ&MBb@0P&2tsQ>@~ literal 0 HcmV?d00001 diff --git a/old/img/github-dark.png b/old/img/github-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..07ecd24763f7c65802598086ab0743c407b615d6 GIT binary patch literal 470 zcmV;{0V)28P)TOS_S*Yj=ZB_HC)AR9u0F>(SJ%|> zW`4S{Q(adZ>XBMdm*Nxxds8cF$4|`%>Z3aM$B?<;?0*qaH=;18cKx&EP;kot8Fd0U z0TzJ^;1bvZwt)el4Y&m+ffZm1=mn}ko-pSqCXD!hOa`~67PG)?r~yp>>hfpIM6Lp} zS)dQN3UIjvfrN7n^k)HqOn^Nt2y{oz0A_)EAQ#|i3j$}6bHH6R%xk+eDEvjc>Xg$7HKkl50cT3U8&P_aB7XSbN M07*qoM6N<$g6Dg>-2eap literal 0 HcmV?d00001 diff --git a/old/img/github-light.png b/old/img/github-light.png new file mode 100644 index 0000000000000000000000000000000000000000..8df17f1cc321a1b65b1323d3d223376b784aa8d1 GIT binary patch literal 605 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 Bb-e%p literal 0 HcmV?d00001 diff --git a/old/img/twitter-dark.png b/old/img/twitter-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..e0d2f6faa35244270c5cb443b844a17606076713 GIT binary patch literal 1108 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKV3GE8aSX8#WE5a|{~IVe6u^fM zAGm(}_!05#+c&?fSFbW*bu&;>>DjYqEa;NYpFd~%^XJdjfB*jd{q^hD;?JKy^P#H& z^MC*TUGVqs-^W13bzi=G5rHWJil_ZY0w6U%fBsa1$-`-&Gx>m;FM`wpZTk$=SoQMd zOE#c}`$+o1OrY3dxJDQQXe%GcbY#Uq{$*r7j19ElKhPB^-@ktkfawR*KmiA!rq3{i z_-LTI*T8_SK`{X2H=x8ppbbCqX$H9f7@#R%zkZcKF#yB?#)cG7!Eby904+g;!J9X4 zWYA3kx@0;o1AvBq2g)14^?*3Q5MK_Afkq&11)6>u4 zfeQZO(D)lDzZMv1nDGxY1Vn>UBhWP&K*bY*crFlk1Nm`S0}EN>fU?(HA2)c)I;|Vz N2v1i(mvv4FO#q_j*AxH% literal 0 HcmV?d00001 diff --git a/old/img/twitter-light.png b/old/img/twitter-light.png new file mode 100644 index 0000000000000000000000000000000000000000..ee35e405f7a35f2da73ef190f3a49db989cc0c37 GIT binary patch literal 1108 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKV3GE8aSX8#WE5a|{~IVe6o7() z0+*1GP=u(cs9$VsEE85Yi;IgZSy))Gpi5d=SuwG)vTkK$Wc%>0<0oxM&%LP7+lh?A2u4aoiv!%R#}kNNre)nM{)T3K0{4`|axkV2qspMeHe znV6Wc0S&zm(+s0oSXd6jHNqIu($ah&7r+#OXrO_Yk@?7M9v+?)K|#R)pcn!G1ss5e zd + + + + + + BitwiseCmd + + + + + + + + + + + + + + +
+ + +
+ + + + [em] + +
+
+ +
+
+ + + + + + + + + + + + + + + +
+ + + + + + diff --git a/old/js/analytics.js b/old/js/analytics.js new file mode 100644 index 0000000..63758f4 --- /dev/null +++ b/old/js/analytics.js @@ -0,0 +1,14 @@ +(function() { + + if(window.location.host != 'bitwisecmd.com' || window.location.hash.indexOf('-notrack') > -1) { + return; + } + + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-61569164-1', 'auto'); + ga('send', 'pageview'); +})(); \ No newline at end of file diff --git a/old/js/bitwisecmd.js b/old/js/bitwisecmd.js new file mode 100644 index 0000000..9542d63 --- /dev/null +++ b/old/js/bitwisecmd.js @@ -0,0 +1,2 @@ +/*! BitwiseCmd 2015-12-20 */ +"use strict";window.core={},function(){window.core.is={plainObject:function(a){return"object"==typeof a&&a instanceof Object},aFunction:function(a){return"function"==typeof a},string:function(a){return"string"==typeof a},regex:function(a){return"object"==typeof a&&this.constructedFrom(RegExp)},constructedFrom:function(a,b){return a instanceof b},htmlElement:function(a){return a instanceof HtmlElement},array:function(a){return a instanceof Array},number:function(a){return"number"==typeof a&&!isNaN(a)}}}(),function(){function a(a,b){return"string"==typeof a?a+" "+b:b}var b=window.core.is;window.core.should={beNumber:function(c,d){this.check(b.number(c),c+" is not a number"),this.check(isFinite(c),a(d,"is an infinite number"))},bePositiveInteger:function(b,c){this.beNumber(b),this.check(b>=0,a(c,"should be positive integer"))},notBeNull:function(b,c){this.check(null!=b,a(c,"is null or undefined"))},beString:function(a,b){this.check("string"==typeof a,"should be a string")},check:function(a,b){if(a!==!0)throw new Error(b)}}}(),function(a){function b(a){this.store=a||{},this.resolutionStack=[]}function c(a){if(e(this.resolutionStack,a))throw new Error("Failed to resolve dependency: "+a+". Circular reference: "+this.resolutionStack.join(" < "));this.resolutionStack.unshift(a);var b=this.store[a];if(null==b)throw new Error(a+" component is not registered");return null==b.resolved&&b.createInstance(),this.resolutionStack.shift(),b.resolved}function d(a){this.def=a,this.resolved=null}function e(a,b){for(var c=a.length;c-- >0;)if(a[c]===b)return!0;return!1}var f=a.is;b.prototype.register=function(a,b){var c;return null!=this.store[a]&&console.warn("Previous registration for [%1] has been replaced",a),c=b instanceof d?b:new d(b),c.name=a,this.store[a]=c,c},b.prototype.resolve=function(a){return c.call(this,a)},b.prototype.clone=function(){var a={};for(var c in this.store)a[c]=this.store[c];return new b(a)},d.prototype.createInstance=function(){var a=this.def;"function"==typeof a?this.resolved=a():this.resolved=a,f.aFunction(this.onFirstTimeResolve)&&this.onFirstTimeResolve(this.resolved)},b.Registration=d,a.Container=b}(window.core),function(){function a(a){this.models={},this.di=a,this.runList=[],this.compositionList=[]}function b(a){a.forEach(function(a){a()})}a.prototype.get=function(a){return this.di.resolve(a)},a.prototype.set=function(a,b){this.di.register(a,b)},a.prototype.run=function(a){this.runList.push(a)},a.prototype.compose=function(a){this.compositionList.push(a)},a.prototype.initialize=function(){b(this.compositionList),b(this.runList)},window.core.AppShell=a}(),function(core){function normalize(a){return a.replace(/(\r|\n)+/g,"").replace("'","\\'")}function replaceToken(a,b){if(0==a.indexOf("each")){var c=/([\w\.]+)\sin\s([\w\.]+)/g,d=c.exec(a),e=d[1],f=d[2];return"var "+e+"_list = "+f+".slice(), "+e+";\r\nwhile(("+e+"="+e+"_list.splice(0,1)[0])!==undefined)\r\n{"}return"/"==a?"}":" html.push("+a+");"}var html={},should=core.should;html.element=function(a,b){var c=document.createElement("div");return c.innerHTML=html.template(a,b),c.children[0]},html.template=function(a,b){should.beString(a,"template");var c,d=/(?:{([^}]+)})/g;return c=null==b?a:a.replace(d,function(a,c){return html.escapeHtml(b[c])})},html.compileTemplate=function(template){var regex=/(?:{([^}]+)})/g,sb=[];sb.push("(function() {"),sb.push("return function (m) { "),sb.push(" var html = [];");for(var m,index=0;null!==(m=regex.exec(template));)m.index>index&&sb.push(" html.push('"+normalize(template.substr(index,m.index-index))+"');"),sb.push(replaceToken(m[1])),index=m.index+m[0].length;return index/g,">").replace(/"/g,""").replace(/'/g,"'"))},core.html=html}(window.core),function(a){function b(){this.$store={},this.$executionHandlers=[]}var c=a.is;b.create=function(a){var c=new b;for(var d in a)a.hasOwnProperty(d)&&(Object.defineProperty(c,d,{get:b.createGetter(d),set:b.createSetter(d)}),c[d]=a[d]);return Object.seal(c)},b.createGetter=function(a,b){return function(){return this.$store[a]}},b.createSetter=function(a,b){return function(b){this.$store[a]=b,this.notifyPropertyChanged(a,b)}},b.prototype.observe=function(a,b){var d;if(c.aFunction(a))d=a;else{if(!c.string(a)||!c.aFunction(b))return void console.warn("Unsupported set of arguments: ",arguments);d=function(c,d){c===a&&b(d)}}var e=this.$executionHandlers,f=e.push(d);return function(){e.splice(1,f)}},b.prototype.notifyPropertyChanged=function(a,b){this.$executionHandlers.forEach(function(c){c(a,b)})},b.prototype.store=function(){return this.$store},b.prototype.keys=function(){return Object.keys(this.$store)},a.ObservableObject=b}(window.core),function(a){var b=new a.Container,c=new a.AppShell(b);c.set("cmdConfig",a.ObservableObject.create({emphasizeBytes:!0,theme:"dark"})),c.debugMode=!1,c.bootstrap=function(a){this.rootViewElement=a,this.set("rootView",a),this.initialize()},window.app=c}(window.core),function(a,b){function c(a){a.attachView=function(b){this.viewElement=b,"function"==typeof a.onViewAttached&&a.onViewAttached(b)},a.detachView=function(){this.viewElement=null,"function"==typeof a.onViewDetached&&a.onViewDetached(viewElement)}}function d(b){for(var c,d,e,f=b.querySelectorAll("[data-controller]"),g=0,h=f.length;h>g;g++)e=f[g],c=e.getAttribute("data-controller"),d=a.controller(c),null!=d?(d.attachView(e),"function"==typeof d.detachView&&e.addEventListener("DOMNodeRemoved",function(a){e===a.target&&d.detachView()})):console.warn(c+" controller wasn't found")}var e=b.should;a.controller=function(a,d){if(e.beString(a,"name"),null==d)return this.get(a);var f=new b.Container.Registration(d);f.onFirstTimeResolve=function(a){c(a)},this.set(a,f)},a.run(function(){d(a.get("rootView"),a.di)})}(window.app,window.core),function(a){function b(a,b){this.html=a,this.isCompiled=b===!0}function c(c){var d=c.querySelectorAll("[data-template]"),e=a.templates;Array.prototype.forEach.call(d,function(c){var d=c.getAttribute("data-template");if(e[d]instanceof b)return void console.warn(d+" templates already registered");var f=new b(c.innerHTML);e[d]=f,c.hasAttribute("data-compiled")&&(f.process=a.get("html").compileTemplate(f.html),f.isCompiled=!0)})}b.prototype.render=function(b){return this.isCompiled?a.get("html").element(this.process(b)):a.get("html").element(this.html,b)},a.templates=[],a.template=function(a){var b=this.templates[a];if(null==b)throw new Error(a+" template is not found");return b},a.run(function(){c(a.get("rootView"))})}(window.app),function(a,b){function c(a){return d(a)+"ViewBuilder"}function d(a){var b=a.toString();return b.substr(8,b.indexOf("(")-8).trim()}a.modelView=function(b,d){var e=c(b);a.di.register(e,d)},a.buildViewFor=function(a){var b=c(a.constructor),d=this.di.resolve(b);return d.renderView(a)}}(window.app,window.is),app.set("calc",function(){var should=app.get("should");return{numberOfBits:function(a){return 0>a?32:(should.bePositiveInteger(a),Math.floor(Math.log(a)/Math.log(2))+1)},maxNumberOfBits:function(a){for(var b,c=[],d=0;d>>0).toString(2):this.value.toString(2),this.kind=this.input.indexOf("0x")>-1?"hex":"dec",this.other="dec"==this.kind?this.hex:this.dec}function SingleOperandExpression(a,b,c){this.expressionString=a,this.operand1=b,this.sign=c}function TwoOperandExpression(a,b,c,d){this.expressionString=a,this.operand1=b,this.operand2=c,this.sign=d}function MultipleOperandsExpression(a,b){this.expressionString=a,this.expressions=b}function ListOfNumbersExpression(a,b){this.expressionString=a,this.numbers=b}function Expression(){}var expression={factories:[],canParse:function(a){for(var b=a.replace(/^\s+|\s+$/,""),c=this.factories.length-1;c>=0;c--)if(this.factories[c].canCreate(b)===!0)return!0;return!1},parse:function(a){for(var b,c=a.replace(/^\s+|\s+$/,""),d=0,e=this.factories.length;e>d;d++)if(b=this.factories[d],1==b.canCreate(c))return b.create(c);return null},parseOperand:function(a){return new Operand(a)},createOperand:function(a,b){return Operand.create(a,b)},addFactory:function(a){this.factories.push(a)},Operand:Operand,TwoOperandExpression:TwoOperandExpression,SingleOperandExpression:SingleOperandExpression,ListOfNumbersExpression:ListOfNumbersExpression,MultipleOperandsExpression:MultipleOperandsExpression};return expression.addFactory({regex:/^(-?(?:\d+|0x[\d,a-f]+)\s?)+$/,canCreate:function(a){return this.regex.test(a)},create:function(a){var b=this.regex.exec(a),c=[],d=b.input;return d.split(" ").forEach(function(a){a.trim().length>0&&c.push(new Operand(a.trim()))}),new ListOfNumbersExpression(d,c)}}),expression.addFactory({regex:/^(~)(-?(?:\d+|0x[\d,a-f]+))$/,canCreate:function(a){return this.regex.test(a)},create:function(a){var b=this.regex.exec(a),c=new Operand(b[2]);return new SingleOperandExpression(b.input,c,b[1])}}),expression.addFactory({fullRegex:/^((<<|>>|>>>|\||\&|\^)?(-?((?:\d+(?!x))|(?:0x[\d,a-f]+))))+$/,regex:/(<<|>>|>>>|\||\&|\^)?(-?((?:\d+(?!x))|(?:0x[\d,a-f]+)))/g,canCreate:function(a){return this.fullRegex.lastIndex=0,this.fullRegex.test(this.normalizeString(a))},create:function(a){for(var b,c=[],d=this.normalizeString(a);null!=(b=this.regex.exec(d));)c.push(this.parseMatch(b));return new MultipleOperandsExpression(d,c)},parseMatch:function(a){var b=a[0],c=a[1],d=a[2];return null==c?new Operand(d):new SingleOperandExpression(b,new Operand(d),c)},normalizeString:function(a){return a.replace(/\s+/g,"")}}),Operand.toHexString=function(a){return 0==a.indexOf("-")?"-0x"+a.substr(1):"0x"+a},Operand.create=function(a,b){var c=a.toString(Operand.getBase(b));return"hex"==b&&(c=Operand.toHexString(c)),new Operand(c)},Operand.prototype.getLengthInBits=function(){return this.value<0?32:Math.floor(Math.log(this.value)/Math.log(2))+1},Operand.getBase=function(a){switch(a){case"bin":return 2;case"hex":return 16;case"dec":return 10}},SingleOperandExpression.prototype.apply=function(value){var str="";return str="~"==this.sign?"~"+this.operand1.value:value+this.sign+this.operand1.value,Operand.create(eval(str),this.operand1.kind)},SingleOperandExpression.prototype.isShiftExpression=function(){return this.sign.indexOf("<")>=0||this.sign.indexOf(">")>=0},Expression.prototype.toString=function(){return this.expressionString?"Expression: "+this.expressionString:this.toString()},Operand.prototype.toString=function(){return this.input},SingleOperandExpression.prototype.toString=function(){return this.sign+this.operand1.toString()},Operand.toKindString=function(a,b){switch(b){case"hex":var c=Math.abs(a).toString(16);return a>=0?"0x"+c:"-0x"+c;case"bin":return(a>>>0).toString(2);case"dec":return a.toString(10);default:throw new Error("Unexpected kind: "+b)}},Operand.getOtherKind=function(a){switch(a){case"dec":return"hex";case"hex":return"dec";default:throw new Error(a+" kind doesn't have opposite kind")}},expression}),app.set("formatter",function(){function a(a){switch(a){case"bin":return 2;case"hex":return 16;case"dec":return 10}}app.get("should"),app.get("is");return{formatString:function(b,c){return b.toString(a(c||"bin"))},padLeft:function(a,b,c){var d=Array.prototype.slice.call(a),c=c||"0";if(null==b)return a;for(;b>d.length;)d.unshift(c);return d.join("")}}}),app.set("cmd",function(){function a(a,b){var c=new app.models.ErrorResult(b);g.display(new app.models.DisplayResult(a,c))}function b(a,b){var c=b.handle(a);if(null!=c){var d=new app.models.DisplayResult(a,c);g.display(d)}}function c(a,b){return f.plainObject(a)?a:f.string(a)?{canHandle:function(b){return b===a},handle:b}:null}function d(a){var b=0;for(b;bb.historyIndex&&(a.target.value=b.history[b.historyIndex++]),void a.preventDefault()):void(40==a.keyCode&&(b.historyIndex>0&&(a.target.value=b.history[--b.historyIndex]),a.preventDefault()))})}}}),app.controller("cmdController",function(){app.get("html"),app.get("rootView");return{clear:function(){this.viewElement.innerHTML=""},display:function(a){var b=app.buildViewFor(a),c=this.viewElement;0==c.childNodes.length?c.appendChild(b):c.insertBefore(b,c.childNodes[0])}}}),app.controller("configPanelCtrl",{onViewAttached:function(){var a=this,b=app.get("cmdConfig");a.update(b),b.observe(function(){a.update(b)})},update:function(a){var b=this.viewElement.querySelector("#emphasizeBytes");a.emphasizeBytes?b.classList.add("on"):b.classList.remove("on")}}),app.compose(function(){function a(a){var b=f.maxNumberOfBits(a);if(h.emphasizeBytes&&b%8!=0){if(8>b)return 8;var c=b-b%8;return c+8}return b}function b(a){var b=a.querySelectorAll(".bin");return Array.prototype.forEach.call(b,function(a){var b=a.textContent;h.emphasizeBytes&&(b=b.replace(/(\d{8})/g,'$1')),a.innerHTML=b.replace(/0/g,'0').replace(/1/g,'1')}),a}function c(a){var b=a.target,c=b.textContent;"0"==c?(b.innerHTML="1",b.classList.remove("zero"),b.classList.add("one")):(b.innerHTML="0",b.classList.add("zero"),b.classList.remove("one"));var e=d(b,"TR"),f=parseInt(e.cells[1].textContent,2),g=e.dataset.kind;e.cells[0].innerHTML=i.Operand.toKindString(f,g),e.cells[2].innerHTML=i.Operand.toKindString(f,i.Operand.getOtherKind(g))}function d(a,b){for(var c=a.parentNode;c.tagName!=b;)c=c.parentNode;return c}var e=app.get("formatter"),f=app.get("calc"),g=app.get("html"),h=app.get("cmdConfig"),i=app.get("expression");String.prototype.padLeft=function(a,b){return e.padLeft(this,a,b)},app.modelView(app.models.BitwiseExpressionViewModel,{renderView:function(a){var c=app.template("bitwiseExpressionView");return b(c.render(a))}}),app.modelView(app.models.BitwiseNumbersViewModel,{renderView:function(d){d.bitsSize=a(d.numbers);var e=b(app.template("numbersList").render(d)),f=e.querySelectorAll(".bit");return Array.prototype.forEach.call(f,function(a){a.classList.add("flipable"),a.setAttribute("title","Click to flip this bit"),a.addEventListener("click",c)}),e}}),app.modelView(app.models.ViewResult,{renderView:function(a){var b=app.template(a.template);return b.render()}}),app.modelView(app.models.ErrorResult,{renderView:function(a){return g.element('
{message}
',a)}}),app.modelView(app.models.DisplayResult,{renderView:function(a){var b=app.template("resultView").render(a),c=app.buildViewFor(a.content);return b.querySelector(".content").appendChild(c),b}})}),function(a){function b(a){this.expression=a,this.operands=a.numbers;var b=this.numbers=[];a.numbers.forEach(function(a){b.push(a.value)})}function c(){this.items=[],this.maxNumberOfBits=0}function d(a){this.message=a}function e(a){this.template=a}function f(b,c){this.input=b,this.inputHash=a.get("hash").encodeHash(b),this.content=c}c.buildMultiple=function(a){var b,d=a.expressions[0],e=1,f=a.expressions.length,g=new c;for(g.addOperand(d);f>e;e++)b=a.expressions[e],d=b.apply(d.value),b.isShiftExpression()?g.addShiftExpressionResult(b,d):(g.addExpression(b),g.addExpressionResult(d));return g.maxNumberOfBits=g.emphasizeBytes(g.maxNumberOfBits),g},c.buildNot=function(a){var b=new c;return b.addExpression(a),b.addExpressionResult(a.apply()),b.maxNumberOfBits=b.emphasizeBytes(b.maxNumberOfBits),b},c.prototype.addOperand=function(a){this.maxNumberOfBits=Math.max(a.getLengthInBits(),this.maxNumberOfBits),this.items.push({sign:"",label:a.toString(),bin:a.bin,other:a.other,css:""})},c.prototype.addExpression=function(a){this.maxNumberOfBits=Math.max(a.operand1.getLengthInBits(),this.maxNumberOfBits),this.items.push({sign:a.sign,label:a.operand1.input,bin:a.operand1.bin,other:a.operand1.other,css:""})},c.prototype.addShiftExpressionResult=function(a,b){this.maxNumberOfBits=Math.max(b.getLengthInBits(),this.maxNumberOfBits),this.items.push({sign:a.sign+a.operand1.input,label:b,bin:b.bin,other:b.other,css:"expression-result"})},c.prototype.addExpressionResult=function(a){this.maxNumberOfBits=Math.max(a.getLengthInBits(),this.maxNumberOfBits),this.items.push({sign:"=",label:a.toString(),bin:a.bin,other:a.other,css:"expression-result"})},c.prototype.emphasizeBytes=function(b){var c=a.get("cmdConfig");if(c.emphasizeBytes&&b%8!=0){if(8>b)return 8;var d=b-b%8;return d+8}return b},a.models.BitwiseExpressionViewModel=c,a.models.BitwiseNumbersViewModel=b,a.models.ErrorResult=d,a.models.ViewResult=e,a.models.DisplayResult=f}(window.app),app.run(function(){var a=app.get("rootView"),b=app.get("cmdConfig");b.observe("theme",function(b){var c="dark"==b?"light":"dark";a.classList.contains(b)||(a.classList.remove(c),a.classList.add(b))})}),app.run(function(){function a(){localStorage.setItem(d,JSON.stringify(c.store()))}function b(){var a,b=localStorage.getItem(d);if(core.is.string(b)){a=JSON.parse(b);for(var e in a)c[e]=a[e]}}var c=app.get("cmdConfig"),d="cmdConfig";b(),c.observe(function(b,c){a()})}),app.run(function(){var a=app.get("rootView").querySelectorAll("[data-cmd]");Array.prototype.forEach.call(a,function(a){a.addEventListener("click",function(a){app.get("cmd").execute(a.target.getAttribute("data-cmd"))})})}),function(a,b){a.set("html",b.html),a.set("is",b.is),a.set("should",b.should),a.set("bindr",b.bindr),a.set("hash",function(){function a(a){var b=[];return a.indexOf("||")?a.split("||").forEach(function(a){a.length>0&&b.push(a)}):b.push(a),b}return{encodeHash:function(a){return encodeURI(a.trim().replace(/\s/g,","))},decodeHash:function(a){return decodeURI(a).replace(/^\#/,"").replace(/,/g," ")},getArgs:function(c){b.should.beString(c,"hashValue");var d=this.decodeHash(c),e={commands:[]};return a(d).forEach(function(a){return/^\-[a-zA-Z]+$/.test(a)?void(e[a.substr(1)]=!0):void e.commands.push(a)}),Object.freeze(e)}}}),a.set("hashArgs",function(){return a.get("hash").getArgs(window.location.hash)})}(window.app,window.core); \ No newline at end of file