Jump to content

Password System with Indepth Keyboard


RONinja

Recommended Posts

Requirements:
1 screen

1 program board

1 door


----------Script could be minified using pairs but for easy reading and alterations I have left script in basic if statements since most dont even understand the basics-------
----------Great example piece to demonstrate that Lua reads the scripts in Order of Operations as long as parameters are met--------------------

Slots                       Hook up in this order and rename slots.

slot1 --> screen
slot2 --> door
 




-------------------------mouse up-------------------------------------------------------------


PWMouseX = x
PWMouseY = y
PWMouseDown = false
local buttonNo = evaluateButtons()
if PWButtonSelected > 0 and PWButtonSelected == buttonNo then
    onButtonUp(buttonNo)
    onClick(buttonNo)
end
PWButtonSelected = -buttonNo


-------------------------mouse down-----------------------------------------------------------

PWMouseX = x
PWMouseY = y
PWMouseDown = true
PWAttention = 0
PWDislikeButton = 0
PWLikeButton = 0
PWButtonSelected = evaluateButtons()
onButtonDown(PWButtonSelected)


-------------------------system update-----------------------------------------------------------------
updateScreen()
-------------------------unit tick exit-------------------------------------------------------------

keyb = "Goodbye"
unit.exit()






-------------------------unit stop------------------------------------------------------------
page = [[<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 600"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:red;}</style></defs><rect class="cls-1" width="1024" height="600"/><rect class="cls-2" width="1024" height="281"/><path class="cls-1" d="M164.05,122.19V50.61h36.87q10.25,0,15.67,1.76a16.65,16.65,0,0,1,8.74,6.52,19.78,19.78,0,0,1,3.32,11.59,19.14,19.14,0,0,1-9.53,17.29,26.73,26.73,0,0,1-7.76,2.83,22,22,0,0,1,5.75,2.64A22,22,0,0,1,220.65,97a28.24,28.24,0,0,1,3.1,4.45l10.71,20.74h-25l-11.83-21.87c-1.49-2.83-2.83-4.67-4-5.52a9.24,9.24,0,0,0-5.42-1.66h-1.95v29.05Zm22.22-42.57h9.32a33.44,33.44,0,0,0,5.86-1A5.81,5.81,0,0,0,205,76.39a7.26,7.26,0,0,0-.8-9.47Q202,65.06,196,65.06h-9.71Z"/><path class="cls-1" d="M241.49,50.61h59.28V65.89H263.66V77.27h34.42v14.6H263.66V106h38.18v16.21H241.49Z"/><path class="cls-1" d="M309.9,98.51,331,97.19a16,16,0,0,0,2.78,7.82q3.42,4.33,9.76,4.34,4.74,0,7.3-2.22a6.66,6.66,0,0,0,2.57-5.15,6.58,6.58,0,0,0-2.44-5q-2.44-2.2-11.33-4.15Q325,89.58,318.84,84.16a17.48,17.48,0,0,1-6.25-13.82,18.79,18.79,0,0,1,3.19-10.43,21.25,21.25,0,0,1,9.62-7.71q6.42-2.81,17.61-2.81,13.71,0,20.92,5.1t8.57,16.24L351.65,72c-.56-3.22-1.72-5.57-3.49-7a11.21,11.21,0,0,0-7.35-2.2q-3.85,0-5.81,1.64a5,5,0,0,0-2,4,4,4,0,0,0,1.62,3.07q1.56,1.43,7.42,2.64,14.51,3.12,20.77,6.32A21.84,21.84,0,0,1,372,88.31a20.13,20.13,0,0,1,2.85,10.59A22.72,22.72,0,0,1,371,111.6a23.81,23.81,0,0,1-10.64,8.81q-6.84,3-17.24,3-18.25,0-25.29-7A27.7,27.7,0,0,1,309.9,98.51Z"/><path class="cls-1" d="M381,50.61h67.23V68.29H425.62v53.9H403.5V68.29H381Z"/><path class="cls-1" d="M458.48,122.19V50.61h36.87q10.26,0,15.67,1.76a16.61,16.61,0,0,1,8.74,6.52,19.71,19.71,0,0,1,3.32,11.59,19.16,19.16,0,0,1-9.52,17.29,26.81,26.81,0,0,1-7.77,2.83,22.21,22.21,0,0,1,5.76,2.64A22.46,22.46,0,0,1,515.08,97a28.24,28.24,0,0,1,3.1,4.45l10.71,20.74h-25l-11.82-21.87c-1.5-2.83-2.83-4.67-4-5.52a9.24,9.24,0,0,0-5.42-1.66H480.7v29.05ZM480.7,79.62H490a33.58,33.58,0,0,0,5.86-1,5.84,5.84,0,0,0,3.59-2.25,7.25,7.25,0,0,0-.81-9.47c-1.46-1.24-4.22-1.86-8.25-1.86H480.7Z"/><path class="cls-1" d="M536.85,50.61H559v71.58H536.85Z"/><path class="cls-1" d="M622.55,92.9l19.38,5.86a35.76,35.76,0,0,1-6.15,13.62,26.72,26.72,0,0,1-10.43,8.25q-6.23,2.79-15.84,2.78-11.67,0-19.07-3.39t-12.77-11.93q-5.37-8.53-5.37-21.86,0-17.76,9.45-27.3t26.73-9.54q13.53,0,21.27,5.47t11.5,16.8L621.72,76a16.85,16.85,0,0,0-2.15-4.78A12.68,12.68,0,0,0,615,67.31,14,14,0,0,0,597.5,72q-3,4.49-3,14.09,0,11.91,3.61,16.32t10.16,4.41q6.35,0,9.59-3.56T622.55,92.9Z"/><path class="cls-1" d="M647.64,50.61h67.24V68.29H692.32v53.9H670.2V68.29H647.64Z"/><path class="cls-1" d="M724.84,50.61h59.28V65.89H747V77.27h34.42v14.6H747V106h38.18v16.21H724.84Z"/><path class="cls-1" d="M797.4,50.61h32.86q9.72,0,15.7,2.64a25.56,25.56,0,0,1,9.89,7.57,31.3,31.3,0,0,1,5.66,11.47,53.35,53.35,0,0,1,1.76,13.87q0,11.48-2.61,17.8a29.51,29.51,0,0,1-7.25,10.59,23.69,23.69,0,0,1-10,5.69,51.48,51.48,0,0,1-13.19,2H797.4Zm22.12,16.21v39.11h5.42q6.93,0,9.86-1.53A10.39,10.39,0,0,0,839.39,99q1.67-3.83,1.66-12.42,0-11.38-3.71-15.58T825,66.82Z"/><path class="cls-1" d="M410.55,230.38H385.44L382,242.19H359.36l26.91-71.58h24.12l26.9,71.58H414.13ZM406,214.9l-7.9-25.73-7.82,25.73Z"/><path class="cls-1" d="M444.62,242.19V170.61h36.86q10.26,0,15.68,1.76a16.69,16.69,0,0,1,8.74,6.52,20.21,20.21,0,0,1-6.21,28.88,26.81,26.81,0,0,1-7.77,2.83,21.89,21.89,0,0,1,5.76,2.64,22.82,22.82,0,0,1,3.54,3.76,29,29,0,0,1,3.1,4.45L515,242.19H490l-11.82-21.87q-2.25-4.24-4-5.52a9.26,9.26,0,0,0-5.42-1.66h-2v29.05Zm22.21-42.57h9.33a33.58,33.58,0,0,0,5.86-1,5.84,5.84,0,0,0,3.59-2.25,7.25,7.25,0,0,0-.81-9.47q-2.19-1.86-8.25-1.86h-9.72Z"/><path class="cls-1" d="M522.06,170.61h59.28v15.28H544.23v11.38h34.42v14.6H544.23V226h38.18v16.21H522.06Z"/><path class="cls-1" d="M638.33,230.38H613.22l-3.49,11.81H587.15l26.9-71.58h24.13l26.9,71.58H641.91Zm-4.59-15.48-7.9-25.73L618,214.9Z"/><path d="M77.59,318.57H94.11l21.56,31.68V318.57h16.68v57.27H115.67L94.23,344.4v31.44H77.59Z"/><path d="M141.88,347.25q0-14,7.82-21.84t21.75-7.81q14.3,0,22,7.67t7.74,21.51q0,10-3.38,16.46a24,24,0,0,1-9.77,10q-6.37,3.57-15.91,3.58-9.69,0-16-3.09A24.13,24.13,0,0,1,145.83,364Q141.89,357.29,141.88,347.25Zm17.7.07q0,8.67,3.22,12.46a10.9,10.9,0,0,0,8.77,3.79q5.7,0,8.83-3.71t3.12-13.32q0-8.09-3.26-11.81a11.13,11.13,0,0,0-8.85-3.73,10.76,10.76,0,0,0-8.59,3.78Q159.58,338.58,159.58,347.32Z"/><path d="M274.7,318.57h17.65v34.12a28.82,28.82,0,0,1-1.58,9.58,20.77,20.77,0,0,1-5,7.89,19.8,19.8,0,0,1-7.09,4.74,35.58,35.58,0,0,1-12.38,1.92,78.23,78.23,0,0,1-9.13-.59,23.88,23.88,0,0,1-8.26-2.32,20.74,20.74,0,0,1-6.07-4.94,18.05,18.05,0,0,1-3.77-6.6,34.3,34.3,0,0,1-1.64-9.68V318.57h17.66V353.5a10,10,0,0,0,2.59,7.32,11.18,11.18,0,0,0,14.38,0q2.59-2.6,2.6-7.36Z"/><path d="M304.19,318.57h16.52l21.56,31.68V318.57H359v57.27H342.27L320.83,344.4v31.44H304.19Z"/><path d="M405.14,366.39H385.05l-2.8,9.45H364.19l21.52-57.27H405l21.52,57.27H408ZM401.47,354l-6.33-20.58L388.89,354Z"/><path d="M466.69,318.57h17.65v34.12a28.57,28.57,0,0,1-1.58,9.58,20.65,20.65,0,0,1-5,7.89,19.8,19.8,0,0,1-7.09,4.74,35.54,35.54,0,0,1-12.38,1.92,77.93,77.93,0,0,1-9.12-.59,23.75,23.75,0,0,1-8.26-2.32,20.78,20.78,0,0,1-6.08-4.94,18.2,18.2,0,0,1-3.77-6.6,34.3,34.3,0,0,1-1.64-9.68V318.57h17.66V353.5a10,10,0,0,0,2.59,7.32,11.18,11.18,0,0,0,14.38,0q2.6-2.6,2.6-7.36Z"/><path d="M492,318.57h53.79v14.14H527.78v43.13H510.09V332.71H492Z"/><path d="M553.91,318.57h17.7v20H591v-20h17.77v57.27H591V352.67H571.61v23.17h-17.7Z"/><path d="M618.25,347.25q0-14,7.81-21.84t21.76-7.81q14.29,0,22,7.67t7.74,21.51q0,10-3.38,16.46a24.08,24.08,0,0,1-9.77,10q-6.39,3.57-15.92,3.58-9.69,0-16-3.09A24.13,24.13,0,0,1,622.2,364Q618.24,357.29,618.25,347.25Zm17.7.07q0,8.67,3.22,12.46a10.9,10.9,0,0,0,8.77,3.79q5.7,0,8.83-3.71t3.12-13.32q0-8.09-3.26-11.81a11.16,11.16,0,0,0-8.85-3.73,10.75,10.75,0,0,0-8.59,3.78Q635.95,338.58,636,347.32Z"/><path d="M687.35,375.84V318.57h29.49q8.2,0,12.54,1.41a13.46,13.46,0,0,1,7,5.21,16.18,16.18,0,0,1-5,23.11,21.45,21.45,0,0,1-6.21,2.27,17.31,17.31,0,0,1,4.6,2.11,17.56,17.56,0,0,1,2.83,3,22.32,22.32,0,0,1,2.48,3.56l8.57,16.59h-20l-9.46-17.5a13.35,13.35,0,0,0-3.21-4.42,7.43,7.43,0,0,0-4.33-1.32h-1.56v23.24Zm17.78-34.06h7.46a26.65,26.65,0,0,0,4.68-.78,4.69,4.69,0,0,0,2.87-1.8,5.79,5.79,0,0,0-.64-7.58q-1.75-1.49-6.6-1.48h-7.77Z"/><path d="M750.05,318.57h17.73v57.27H750.05Z"/><path d="M779,318.57h50.08V330L797,363.53h33.32v12.31H776V364l31.8-33.16H779Z"/><path d="M838.21,318.57h47.42V330.8H856v9.1h27.53v11.68H856v11.29h30.54v13H838.21Z"/><path d="M896.26,318.57h26.29q7.77,0,12.56,2.11a20.52,20.52,0,0,1,7.91,6.06,25.15,25.15,0,0,1,4.53,9.18A42.44,42.44,0,0,1,949,347q0,9.18-2.09,14.24a23.5,23.5,0,0,1-5.8,8.48,19,19,0,0,1-8,4.55,41.07,41.07,0,0,1-10.54,1.56H896.26Zm17.69,13v31.29h4.34q5.55,0,7.89-1.23a8.31,8.31,0,0,0,3.67-4.3q1.33-3.06,1.33-9.94,0-9.11-3-12.46t-9.84-3.36Z"/><path d="M244.48,414.57h29.41q9.62,0,14.4,4.57t4.78,13q0,8.67-5.21,13.56t-15.92,4.88h-9.69v21.25H244.48ZM262.25,439h4.34q5.12,0,7.19-1.78a5.72,5.72,0,0,0,2.07-4.55,6.35,6.35,0,0,0-1.8-4.57q-1.8-1.87-6.76-1.88h-5Z"/><path d="M302.29,414.57h47.42V426.8H320v9.1h27.54v11.68H320v11.29h30.54v13H302.29Z"/><path d="M360.34,471.84V414.57h29.49q8.21,0,12.54,1.41a13.4,13.4,0,0,1,7,5.21,16.17,16.17,0,0,1-5,23.11,21.41,21.41,0,0,1-6.22,2.27,17.25,17.25,0,0,1,4.61,2.11,18,18,0,0,1,2.83,3,22.32,22.32,0,0,1,2.48,3.56l8.57,16.59h-20l-9.46-17.5a13.22,13.22,0,0,0-3.2-4.42,7.43,7.43,0,0,0-4.33-1.32h-1.57v23.24Zm17.77-34.06h7.46a26.71,26.71,0,0,0,4.69-.78,4.72,4.72,0,0,0,2.87-1.8,5.79,5.79,0,0,0-.64-7.58q-1.75-1.49-6.6-1.48h-7.78Z"/><path d="M419.25,452.89l16.83-1.05a12.9,12.9,0,0,0,2.23,6.25,9.35,9.35,0,0,0,7.81,3.48,8.67,8.67,0,0,0,5.84-1.78,5.32,5.32,0,0,0,2.05-4.12,5.26,5.26,0,0,0-1.95-4q-1.95-1.76-9.06-3.32-11.64-2.61-16.61-6.95a14,14,0,0,1-5-11.06A15.08,15.08,0,0,1,424,422a17,17,0,0,1,7.7-6.17q5.13-2.23,14.08-2.24,11,0,16.74,4.08t6.85,13l-16.68,1a7.79,7.79,0,0,0-8.67-7.38,7.14,7.14,0,0,0-4.65,1.31,4,4,0,0,0-1.56,3.18,3.16,3.16,0,0,0,1.29,2.46q1.24,1.14,5.94,2.11,11.6,2.51,16.62,5.06a17.42,17.42,0,0,1,7.3,6.35,16,16,0,0,1,2.29,8.48,18.16,18.16,0,0,1-3.05,10.15,19.06,19.06,0,0,1-8.51,7.05,34.47,34.47,0,0,1-13.79,2.41q-14.61,0-20.24-5.63A22.17,22.17,0,0,1,419.25,452.89Z"/><path d="M477.88,443.25q0-14,7.81-21.84t21.76-7.81q14.3,0,22,7.67t7.73,21.51q0,10-3.37,16.46a24.08,24.08,0,0,1-9.77,10q-6.39,3.57-15.92,3.58-9.69,0-16-3.09a24.1,24.1,0,0,1-10.3-9.77Q477.88,453.29,477.88,443.25Zm17.69.07q0,8.67,3.23,12.46a10.9,10.9,0,0,0,8.77,3.79q5.7,0,8.82-3.71t3.13-13.32q0-8.09-3.26-11.81a11.16,11.16,0,0,0-8.85-3.73,10.75,10.75,0,0,0-8.59,3.78Q495.56,434.58,495.57,443.32Z"/><path d="M546.86,414.57h16.53L585,446.25V414.57h16.68v57.27H585L563.5,440.4v31.44H546.86Z"/><path d="M613.5,414.57H630l21.56,31.68V414.57h16.68v57.27H651.59L630.14,440.4v31.44H613.5Z"/><path d="M680,414.57h47.42V426.8H697.72v9.1h27.54v11.68H697.72v11.29h30.55v13H680Z"/><path d="M737.8,414.57h17.7v43.17h27.61v14.1H737.8Z"/><path d="M58.11,510.57H91.24q8.28,0,12.71,4.1a13.28,13.28,0,0,1,4.44,10.16,12.8,12.8,0,0,1-3.17,8.71,14,14,0,0,1-6.17,3.83q6.18,1.49,9.08,5.1a14,14,0,0,1,2.91,9.08,15.62,15.62,0,0,1-2.07,8,15.26,15.26,0,0,1-5.66,5.62,18.73,18.73,0,0,1-6.72,1.88,77.57,77.57,0,0,1-7.93.78H58.11ZM76,533h7.7q4.14,0,5.76-1.42A5.2,5.2,0,0,0,91,527.49a4.91,4.91,0,0,0-1.62-3.91q-1.62-1.41-5.64-1.41H76Zm0,22.5h9c3.05,0,5.19-.54,6.44-1.62a5.46,5.46,0,0,0,1.88-4.35,5,5,0,0,0-1.86-4.08q-1.85-1.54-6.5-1.55H76Z"/><path d="M120.26,510.57h47.42V522.8H138v9.1h27.54v11.68H138v11.29h30.54v13H120.26Z"/><path d="M172.29,510.57H192l11.54,19.32,11.56-19.32H234.6l-22.27,33.28v24H194.6v-24Z"/><path d="M233.27,539.25q0-14,7.81-21.84t21.76-7.81q14.3,0,22,7.67t7.74,21.51q0,10-3.38,16.46a24.08,24.08,0,0,1-9.77,10q-6.39,3.57-15.92,3.58-9.69,0-16-3.09a24.15,24.15,0,0,1-10.3-9.77Q233.27,549.29,233.27,539.25Zm17.69.07q0,8.67,3.23,12.46a10.9,10.9,0,0,0,8.77,3.79q5.7,0,8.83-3.71t3.12-13.32q0-8.09-3.26-11.81A11.16,11.16,0,0,0,262.8,523a10.75,10.75,0,0,0-8.59,3.78Q251,530.57,251,539.32Z"/><path d="M302.25,510.57h16.53l21.56,31.68V510.57H357v57.27H340.34L318.89,536.4v31.44H302.25Z"/><path d="M369,510.57H395.3q7.77,0,12.56,2.11a20.44,20.44,0,0,1,7.91,6.06,25.15,25.15,0,0,1,4.53,9.18A42.44,42.44,0,0,1,421.71,539q0,9.18-2.09,14.24a23.75,23.75,0,0,1-5.8,8.48,19.1,19.1,0,0,1-8,4.55,41.14,41.14,0,0,1-10.55,1.56H369Zm17.7,13v31.29H391q5.55,0,7.89-1.23a8.33,8.33,0,0,0,3.68-4.3q1.32-3.06,1.32-9.94,0-9.11-3-12.46c-2-2.24-5.26-3.36-9.84-3.36Z"/><path d="M453.66,510.57h53.79v14.14H489.4v43.13H471.71V524.71h-18Z"/><path d="M515.54,510.57h17.69v20h19.34v-20h17.77v57.27H552.57V544.67H533.23v23.17H515.54Z"/><path d="M582.8,510.57h17.74v57.27H582.8Z"/><path d="M610.14,548.89l16.84-1a12.8,12.8,0,0,0,2.23,6.25,9.34,9.34,0,0,0,7.81,3.48,8.69,8.69,0,0,0,5.84-1.78,5.32,5.32,0,0,0,2-4.12,5.26,5.26,0,0,0-1.95-4q-2-1.75-9.07-3.32-11.64-2.61-16.6-7a14,14,0,0,1-5-11.06,15.08,15.08,0,0,1,2.56-8.34,17,17,0,0,1,7.7-6.17q5.13-2.23,14.08-2.24,11,0,16.74,4.08t6.85,13l-16.68,1a7.79,7.79,0,0,0-8.67-7.38,7.1,7.1,0,0,0-4.65,1.31,4,4,0,0,0-1.56,3.18,3.16,3.16,0,0,0,1.29,2.46q1.24,1.14,5.94,2.11,11.6,2.5,16.62,5.06a17.48,17.48,0,0,1,7.3,6.35,16,16,0,0,1,2.29,8.48,18.16,18.16,0,0,1-3.05,10.15,19.06,19.06,0,0,1-8.51,7,34.47,34.47,0,0,1-13.79,2.41q-14.61,0-20.24-5.63A22.23,22.23,0,0,1,610.14,548.89Z"/><path d="M697.61,510.57H727q9.62,0,14.39,4.57t4.79,13q0,8.67-5.22,13.56t-15.91,4.88h-9.69v21.25H697.61ZM715.38,535h4.33c3.42,0,5.81-.59,7.19-1.78a5.72,5.72,0,0,0,2.07-4.55,6.38,6.38,0,0,0-1.79-4.57c-1.2-1.25-3.46-1.88-6.76-1.88h-5Z"/><path d="M753.23,539.25q0-14,7.81-21.84t21.76-7.81q14.3,0,22,7.67t7.74,21.51q0,10-3.38,16.46a24.08,24.08,0,0,1-9.77,10q-6.39,3.57-15.92,3.58-9.69,0-16-3.09A24.13,24.13,0,0,1,757.18,556Q753.22,549.29,753.23,539.25Zm17.7.07q0,8.67,3.22,12.46a10.9,10.9,0,0,0,8.77,3.79q5.7,0,8.83-3.71t3.12-13.32q0-8.09-3.26-11.81a11.15,11.15,0,0,0-8.85-3.73,10.75,10.75,0,0,0-8.59,3.78Q770.93,530.57,770.93,539.32Z"/><path d="M822.8,510.57h17.74v57.27H822.8Z"/><path d="M853.35,510.57h16.52l21.56,31.68V510.57h16.68v57.27H891.43L870,536.4v31.44H853.35Z"/><path d="M915.85,510.57h53.79v14.14h-18v43.13H933.9V524.71h-18Z"/></svg>]]
screen.setHTML(page)
door.deactivate()





-------------------------system start----------------------------------------------------------

unit.hide()
-- Internal variables
keyb=""
-- set variables so that there is no error at the start

butcolclk1 = "#00ff00"
butcolclk2 = "#00ff00"
mousecolclk = "cyan"
consta=0
PWButtons = {}
PWMouseX = 0
PWMouseY = 0
PWMouseDown = false
PWButtonSelected = 0
PWAttention = 0
PWDislikeButton = 0
PWLikeButton = 0
PWHintButton = 0
PWAttentionMessage = ""
PWAttentionVisible = false
startupnow = 1
password = "Pass"--export:




function updateScreen() 
if startupnow == 1 then    ----- engine stat end emitter start
    tablex.clear(PWButtons, button)
      for i = 1,1 do
   local button = {id = ("b"..1), enabled=true, td="<td>", top=49/100, bottom=60/100, left=1/100, right=6.5/100}
    table.insert(PWButtons, button)
end
  for i = 2,2 do
   local button = {id = ("b"..2), enabled=true, td="<td>", top=49/100, bottom=60/100, left=8/100, right=14/100}
    table.insert(PWButtons, button)
end
    for i = 3,3 do
    local button = {id = ("b"..3), enabled=true, td="<td>", top=49/100, bottom=60/100, left=15/100, right=22/100}
      table.insert(PWButtons, button)
end
    for i = 4,4 do   
    local button = {id = ("b"..4), enabled=true, td="<td>", top=49/100, bottom=60/100, left=23/100, right=30/100}
      table.insert(PWButtons, button)
end
    for i = 5,5 do   
    local button = {id = ("b"..5), enabled=true, td="<td>", top=49/100, bottom=60/100, left=31/100, right=38/100}
      table.insert(PWButtons, button)
end
    for i = 6,6 do   
    local button = {id = ("b"..6), enabled=true, td="<td>", top=49/100, bottom=60/100, left=39/100, right=46/100}
      table.insert(PWButtons, button)
end
    for i = 7,7 do   
    local button = {id = ("b"..7), enabled=true, td="<td>", top=49/100, bottom=60/100, left=47/100, right=53/100}
      table.insert(PWButtons, button)
end
    for i = 8,8 do   
    local button = {id = ("b"..8), enabled=true, td="<td>", top=49/100, bottom=60/100, left=54/100, right=61/100}
      table.insert(PWButtons, button)
end
    for i = 9,9 do   
    local button = {id = ("b"..9), enabled=true, td="<td>", top=49/100, bottom=60/100, left=62/100, right=69/100}
      table.insert(PWButtons, button)
end
    for i = 10,10 do   
    local button = {id = ("b"..10), enabled=true, td="<td>", top=49/100, bottom=60/100, left=70/100, right=77/100}
      table.insert(PWButtons, button)
end
    for i = 11,11 do   
    local button = {id = ("b"..11), enabled=true, td="<td>", top=49/100, bottom=60/100, left=78/100, right=85/100}
      table.insert(PWButtons, button)
end
    for i = 12,12 do   
    local button = {id = ("b"..12), enabled=true, td="<td>", top=49/100, bottom=60/100, left=86/100, right=100/100}
      table.insert(PWButtons, button)
end



    for i = 13,13 do   
    local button = {id = ("b"..13), enabled=true, td="<td>", top=62/100, bottom=73/100, left=4/100, right=10/100}
    table.insert(PWButtons, button)
end
      for i = 14,14 do
   local button = {id = ("b"..14), enabled=true, td="<td>", top=62/100, bottom=73/100, left=11.5/100, right=18/100}
    table.insert(PWButtons, button)
end
  for i = 15,15 do
   local button = {id = ("b"..15), enabled=true, td="<td>", top=62/100, bottom=73/100, left=19/100, right=26/100}
    table.insert(PWButtons, button)
end
    for i = 16,16 do
    local button = {id = ("b"..16), enabled=true, td="<td>", top=62/100, bottom=73/100, left=27/100, right=34/100}
      table.insert(PWButtons, button)
end
    for i = 17,17 do   
    local button = {id = ("b"..17), enabled=true, td="<td>", top=62/100, bottom=73/100, left=35/100, right=42/100}
      table.insert(PWButtons, button)
end
    for i = 18,18 do   
    local button = {id = ("b"..18), enabled=true, td="<td>", top=62/100, bottom=73/100, left=43/100, right=50/100}
      table.insert(PWButtons, button)
end
    for i = 19,19 do   
    local button = {id = ("b"..19), enabled=true, td="<td>", top=62/100, bottom=73/100, left=51/100, right=58/100}
      table.insert(PWButtons, button)
end
    for i = 20,20 do   
    local button = {id = ("b"..20), enabled=true, td="<td>", top=62/100, bottom=73/100, left=59/100, right=65/100}
      table.insert(PWButtons, button)
end
      for i = 21,21 do
   local button = {id = ("b"..21), enabled=true, td="<td>", top=62/100, bottom=73/100, left=66.5/100, right=73/100}
    table.insert(PWButtons, button)
end
  for i = 22,22 do
   local button = {id = ("b"..22), enabled=true, td="<td>", top=62/100, bottom=73/100, left=74/100, right=89/100}
    table.insert(PWButtons, button)
end


    for i = 23,23 do
    local button = {id = ("b"..23), enabled=true, td="<td>", top=75/100, bottom=87/100, left=8/100, right=15/100}
      table.insert(PWButtons, button)
end
    for i = 24,24 do   
    local button = {id = ("b"..24), enabled=true, td="<td>", top=75/100, bottom=87/100, left=16/100, right=23/100}
      table.insert(PWButtons, button)
end
    for i = 25,25 do   
    local button = {id = ("b"..25), enabled=true, td="<td>", top=75/100, bottom=87/100, left=24/100, right=31/100}
      table.insert(PWButtons, button)
end
    for i = 26,26 do   
    local button = {id = ("b"..26), enabled=true, td="<td>", top=75/100, bottom=87/100, left=32/100, right=39/100}
      table.insert(PWButtons, button)
end
    for i = 27,27 do   
    local button = {id = ("b"..27), enabled=true, td="<td>", top=75/100, bottom=87/100, left=40/100, right=46/100}
      table.insert(PWButtons, button)
end
    for i = 28,28 do   
    local button = {id = ("b"..28), enabled=true, td="<td>", top=75/100, bottom=87/100, left=47/100, right=54/100}
      table.insert(PWButtons, button)
end
    for i = 29,29 do   
    local button = {id = ("b"..29), enabled=true, td="<td>", top=75/100, bottom=87/100, left=55/100, right=62/100}
      table.insert(PWButtons, button)
end
    for i = 30,30 do   
    local button = {id = ("b"..30), enabled=true, td="<td>", top=75/100, bottom=87/100, left=63/100, right=70/100}
      table.insert(PWButtons, button)
end
    for i = 31,31 do   
    local button = {id = ("b"..31), enabled=true, td="<td>", top=75/100, bottom=87/100, left=71/100, right=85/100}
      table.insert(PWButtons, button)
end


    for i = 32,32 do   
    local button = {id = ("b"..32), enabled=true, td="<td>", top=88/100, bottom=98/100, left=30/100, right=59/100}
      table.insert(PWButtons, button)
end
    for i = 33,33 do   
    local button = {id = ("b"..33), enabled=true, td="<td>", top=88/100, bottom=98/100, left=63/100, right=77/100}
    table.insert(PWButtons, button)
end
      for i = 34,34 do
   local button = {id = ("b"..34), enabled=true, td="<td>", top=88/100, bottom=98/100, left=85/100, right=100/100}
    table.insert(PWButtons, button)
end
    for i = 35,35 do   
    local button = {id = ("b"..35), enabled=true, td="<td>", top=90/100, bottom=100/100, left=1/100, right=18/100}
    table.insert(PWButtons, button)
end
function evaluateButtons()
  local selected = 0
  
  if #PWButtons >= 1 then

         -- Set button styles
       for i, button in ipairs(PWButtons) do
            if button.left < PWMouseX and PWMouseX < button.right and button.top < PWMouseY and PWMouseY < button.bottom then
                if PWMouseDown and PWButtonSelected == i then
                end
                selected = i
            end
            if not button.enabled then
            end

        end
  end
  return selected
end


function onButtonDown(buttonNo)
  local button = PWButtons[buttonNo]    
  if not button or not button.enabled then
	return
  end
end
function onButtonUp(buttonNo)
  local button = PWButtons[buttonNo]    
  if not button or not button.enabled then
    return
  end
        

function onClick(buttonNo)
  local button = PWButtons[buttonNo]    
  if not button or not button.enabled then
    return
  end
end
   if buttonNo == 1 then
    keyb=keyb.."Q"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 2 then
    keyb=keyb.."W"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 3 then
    keyb=keyb.."E"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 4 then
    keyb=keyb.."R"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 5 then
    keyb=keyb.."T"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 6 then
    keyb=keyb.."Y"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 7 then
    keyb=keyb.."U"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 8 then
    keyb=keyb.."I"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 9 then
    keyb=keyb.."O"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 10 then
    keyb=keyb.."P"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 11 then

  elseif buttonNo == 12 then
    keyb = ""
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 13 then
    keyb=keyb.."A"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 14 then
    keyb=keyb.."S"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 15 then
    keyb=keyb.."D"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 16 then
    keyb=keyb.."F"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 17 then
    keyb=keyb.."G"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 18 then
    keyb=keyb.."H"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 19 then
    keyb=keyb.."J"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 20 then
    keyb=keyb.."K"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 21 then
    keyb=keyb.."L"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 22 then   ----enterbutton
    if keyb == password then
    keyb=""
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
    door.activate()
    keyb="Access Granted"
    unit.setTimer("exit",5)       
    elseif keyb ~= password then 
    keyb=""
    keyb="Access DENIED"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
    unit.setTimer("exit",1)
    door.deactivate()
    end
    
  elseif buttonNo == 23 then
    keyb=keyb.."Z"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 24 then
    keyb=keyb.."X"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 25 then
    keyb=keyb.."C"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 26 then
    keyb=keyb.."V"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 27 then
    keyb=keyb.."B"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 28 then
    keyb=keyb.."N"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 29 then
    keyb=keyb.."M"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 30 then
    keyb=keyb.."."
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 31 then
    startupnow = 1.1
  elseif buttonNo == 32 then
    keyb=keyb.." "
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 33 then
    startupnow = 1.2
  elseif buttonNo == 34 then

  elseif buttonNo == 35 then

  end
end

if screen.getMouseState() == 1 then
        mousecolclk = "purple"
        else
        mousecolclk = "cyan"
        end
    
if screen.getMouseState() == 1 and butselectclk1 == 1 then
        butcolclk1 = "purple"
        elseif screen.getMouseState() == 0 and butselectclk1 == 1 then
        butcolclk1 = "limegreen"
        butselectclk1 = 0 

elseif screen.getMouseState() == 1 and butselectclk1 == 2 then
        butcolclk2 = "purple"
        elseif screen.getMouseState() == 0 and butselectclk1 == 2 then
        butcolclk2 = "limegreen"
        butselectclk2 = 0 
        end
    
    
  local page = [[
<svg viewBox="0 0 1024 612">
<g>
<title>background</title>
<rect x="-1" y="-1" width="1026" height="614"/>
<g display="none">
<rect width="100%" height="100%" fill="url(#gridpattern)" stroke-width="0"/>
</g>
</g>
<g>
<title>Layer 1</title>
<rect x="7" y="5" width="1012" height="290" rx="20" fill="#007f7f" stroke="#0f0" stroke-width="5"/>
<rect x="1" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="14.997276" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">Q</text>
<rect x="80" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="90" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">W</text>
<rect x="160" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="178" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">E</text>
<rect x="240" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="255" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">R</text>
<rect x="320" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="337" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">T</text>
<rect x="400" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="417" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">Y</text>
<rect x="480" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="496" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">U</text>
<rect x="560" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="586" y="361.00001" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">I</text>
<rect x="640" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="654" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">O</text>
<rect x="720" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="740" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">P</text>
<rect x="880" y="306" width="140" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="895" y="350" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="30" font-weight="bold" stroke-width="0" xml:space="preserve">CLEAR</text>
<rect x="800" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="802" y="350" cursor="move" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="30" font-weight="bold" stroke-width="0" xml:space="preserve"></text>
<rect x="41" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="59" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">A</text>
<rect x="121" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="136" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">S</text>
<rect x="201" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="218" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">D</text>
<rect x="281" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="298" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">F</text>
<rect x="361" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="377" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">G</text>
<rect x="441" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="455" y="440.00001" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">H</text>
<rect x="521" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="540" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">J</text>
<rect x="601" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="619" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">K</text>
<rect x="761" y="385" width="140" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="785" y="430" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="30" font-style="italic" font-weight="bold" stroke-width="0" xml:space="preserve">Enter</text>
<rect x="681" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="700" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">L</text>
<rect x="86" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="101" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">Z</text>
<rect x="166" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="183" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">X</text>
<rect x="246" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="263" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">C</text>
<rect x="326" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="342" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">V</text>
<rect x="406" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="420" y="521.00001" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">B</text>
<rect x="486" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="500" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">N</text>
<rect x="566" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="578" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">M</text>
<rect x="646" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="656" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve"/>
<rect x="306" y="545" width="300" height="55" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<rect x="726" y="466" width="140" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="750" y="510" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="30" font-weight="bold" stroke-width="0" xml:space="preserve">SHIFT</text>
<rect x="650" y="545" width="140" height="55" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="690" y="585" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="28" font-weight="bold" stroke-width="0" xml:space="preserve">?123</text>
<rect x="880" y="545" width="140" height="55" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="882" y="585" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="30" font-weight="bold" stroke-width="0" xml:space="preserve"></text>
<text x="674" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">.</text>

<text x="50" y="280" fill="#0000ff" font-family="Helvetica, Arial, sans-serif" font-size="25" font-style="italic" font-weight="bold" stroke-width="0" xml:space="preserve">]]..keyb..[[</text>
</g>


<text stroke="null" fill="]]..mousecolclk..[[" stroke-width="10" x="]]..(screen.getMouseX()*(1024)-35)..[[" y="]]..(screen.getMouseY()*(612)+40)..[[" id="svg_6" font-size="100" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold" font-style="italic">+</text>

    </svg>]] 
    local buttonNo = evaluateButtons()
    if PWMouseDown then
      PWMouseX = screen.getMouseX()
      PWMouseY = screen.getMouseY()
      if buttonNo ~= PWButtonSelected or PWMouseX < 0.05 or PWMouseX > 0.95 or PWMouseY < 0.05 or PWMouseY > 0.95 then
        if PWButtonSelected > 0 then
          onButtonUp(PWButtonSelected)
        end
        PWButtonSelected = 0
      end        
    end



    page = page .. [[</div></body></html>]]
    screen.setHTML(page)
 






--------------------small letter keyboard




elseif startupnow == 1.1 then

               tablex.clear(PWButtons, button)
      for i = 1,1 do
   local button = {id = ("b"..1), enabled=true, td="<td>", top=49/100, bottom=60/100, left=1/100, right=6.5/100}
    table.insert(PWButtons, button)
end
  for i = 2,2 do
   local button = {id = ("b"..2), enabled=true, td="<td>", top=49/100, bottom=60/100, left=8/100, right=14/100}
    table.insert(PWButtons, button)
end
    for i = 3,3 do
    local button = {id = ("b"..3), enabled=true, td="<td>", top=49/100, bottom=60/100, left=15/100, right=22/100}
      table.insert(PWButtons, button)
end
    for i = 4,4 do   
    local button = {id = ("b"..4), enabled=true, td="<td>", top=49/100, bottom=60/100, left=23/100, right=30/100}
      table.insert(PWButtons, button)
end
    for i = 5,5 do   
    local button = {id = ("b"..5), enabled=true, td="<td>", top=49/100, bottom=60/100, left=31/100, right=38/100}
      table.insert(PWButtons, button)
end
    for i = 6,6 do   
    local button = {id = ("b"..6), enabled=true, td="<td>", top=49/100, bottom=60/100, left=39/100, right=46/100}
      table.insert(PWButtons, button)
end
    for i = 7,7 do   
    local button = {id = ("b"..7), enabled=true, td="<td>", top=49/100, bottom=60/100, left=47/100, right=53/100}
      table.insert(PWButtons, button)
end
    for i = 8,8 do   
    local button = {id = ("b"..8), enabled=true, td="<td>", top=49/100, bottom=60/100, left=54/100, right=61/100}
      table.insert(PWButtons, button)
end
    for i = 9,9 do   
    local button = {id = ("b"..9), enabled=true, td="<td>", top=49/100, bottom=60/100, left=62/100, right=69/100}
      table.insert(PWButtons, button)
end
    for i = 10,10 do   
    local button = {id = ("b"..10), enabled=true, td="<td>", top=49/100, bottom=60/100, left=70/100, right=77/100}
      table.insert(PWButtons, button)
end
    for i = 11,11 do   
    local button = {id = ("b"..11), enabled=true, td="<td>", top=49/100, bottom=60/100, left=78/100, right=85/100}
      table.insert(PWButtons, button)
end
    for i = 12,12 do   
    local button = {id = ("b"..12), enabled=true, td="<td>", top=49/100, bottom=60/100, left=86/100, right=100/100}
      table.insert(PWButtons, button)
end



    for i = 13,13 do   
    local button = {id = ("b"..13), enabled=true, td="<td>", top=62/100, bottom=73/100, left=4/100, right=10/100}
    table.insert(PWButtons, button)
end
      for i = 14,14 do
   local button = {id = ("b"..14), enabled=true, td="<td>", top=62/100, bottom=73/100, left=11.5/100, right=18/100}
    table.insert(PWButtons, button)
end
  for i = 15,15 do
   local button = {id = ("b"..15), enabled=true, td="<td>", top=62/100, bottom=73/100, left=19/100, right=26/100}
    table.insert(PWButtons, button)
end
    for i = 16,16 do
    local button = {id = ("b"..16), enabled=true, td="<td>", top=62/100, bottom=73/100, left=27/100, right=34/100}
      table.insert(PWButtons, button)
end
    for i = 17,17 do   
    local button = {id = ("b"..17), enabled=true, td="<td>", top=62/100, bottom=73/100, left=35/100, right=42/100}
      table.insert(PWButtons, button)
end
    for i = 18,18 do   
    local button = {id = ("b"..18), enabled=true, td="<td>", top=62/100, bottom=73/100, left=43/100, right=50/100}
      table.insert(PWButtons, button)
end
    for i = 19,19 do   
    local button = {id = ("b"..19), enabled=true, td="<td>", top=62/100, bottom=73/100, left=51/100, right=58/100}
      table.insert(PWButtons, button)
end
    for i = 20,20 do   
    local button = {id = ("b"..20), enabled=true, td="<td>", top=62/100, bottom=73/100, left=59/100, right=65/100}
      table.insert(PWButtons, button)
end
      for i = 21,21 do
   local button = {id = ("b"..21), enabled=true, td="<td>", top=62/100, bottom=73/100, left=66.5/100, right=73/100}
    table.insert(PWButtons, button)
end
  for i = 22,22 do
   local button = {id = ("b"..22), enabled=true, td="<td>", top=62/100, bottom=73/100, left=74/100, right=89/100}
    table.insert(PWButtons, button)
end


    for i = 23,23 do
    local button = {id = ("b"..23), enabled=true, td="<td>", top=75/100, bottom=87/100, left=8/100, right=15/100}
      table.insert(PWButtons, button)
end
    for i = 24,24 do   
    local button = {id = ("b"..24), enabled=true, td="<td>", top=75/100, bottom=87/100, left=16/100, right=23/100}
      table.insert(PWButtons, button)
end
    for i = 25,25 do   
    local button = {id = ("b"..25), enabled=true, td="<td>", top=75/100, bottom=87/100, left=24/100, right=31/100}
      table.insert(PWButtons, button)
end
    for i = 26,26 do   
    local button = {id = ("b"..26), enabled=true, td="<td>", top=75/100, bottom=87/100, left=32/100, right=39/100}
      table.insert(PWButtons, button)
end
    for i = 27,27 do   
    local button = {id = ("b"..27), enabled=true, td="<td>", top=75/100, bottom=87/100, left=40/100, right=46/100}
      table.insert(PWButtons, button)
end
    for i = 28,28 do   
    local button = {id = ("b"..28), enabled=true, td="<td>", top=75/100, bottom=87/100, left=47/100, right=54/100}
      table.insert(PWButtons, button)
end
    for i = 29,29 do   
    local button = {id = ("b"..29), enabled=true, td="<td>", top=75/100, bottom=87/100, left=55/100, right=62/100}
      table.insert(PWButtons, button)
end
    for i = 30,30 do   
    local button = {id = ("b"..30), enabled=true, td="<td>", top=75/100, bottom=87/100, left=63/100, right=70/100}
      table.insert(PWButtons, button)
end
    for i = 31,31 do   
    local button = {id = ("b"..31), enabled=true, td="<td>", top=75/100, bottom=87/100, left=71/100, right=85/100}
      table.insert(PWButtons, button)
end


    for i = 32,32 do   
    local button = {id = ("b"..32), enabled=true, td="<td>", top=88/100, bottom=98/100, left=30/100, right=59/100}
      table.insert(PWButtons, button)
end
    for i = 33,33 do   
    local button = {id = ("b"..33), enabled=true, td="<td>", top=88/100, bottom=98/100, left=63/100, right=77/100}
    table.insert(PWButtons, button)
end
      for i = 34,34 do
   local button = {id = ("b"..34), enabled=true, td="<td>", top=88/100, bottom=98/100, left=85/100, right=100/100}
    table.insert(PWButtons, button)
end
    for i = 35,35 do   
    local button = {id = ("b"..35), enabled=true, td="<td>", top=90/100, bottom=100/100, left=1/100, right=18/100}
    table.insert(PWButtons, button)
end

function evaluateButtons()
  local selected = 0
  
  if #PWButtons >= 1 then

         -- Set button styles
       for i, button in ipairs(PWButtons) do
            if button.left < PWMouseX and PWMouseX < button.right and button.top < PWMouseY and PWMouseY < button.bottom then
                if PWMouseDown and PWButtonSelected == i then
                end
                selected = i
            end
            if not button.enabled then
            end

        end
  end
  return selected
end

function onButtonDown(buttonNo)
  local button = PWButtons[buttonNo]    
  if not button or not button.enabled then
	return
  end
end
function onButtonUp(buttonNo)
  local button = PWButtons[buttonNo]    
  if not button or not button.enabled then
    return
  end
        

function onClick(buttonNo)
  local button = PWButtons[buttonNo]    
  if not button or not button.enabled then
    return
  end
end
  if buttonNo == 1 then
    keyb=keyb.."q"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 2 then
    keyb=keyb.."w"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 3 then
    keyb=keyb.."e"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 4 then
    keyb=keyb.."r"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 5 then
    keyb=keyb.."t"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 6 then
    keyb=keyb.."y"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 7 then
    keyb=keyb.."u"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 8 then
    keyb=keyb.."i"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 9 then
    keyb=keyb.."o"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 10 then
    keyb=keyb.."p"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 11 then

  elseif buttonNo == 12 then
    keyb = ""
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 13 then
    keyb=keyb.."a"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 14 then
    keyb=keyb.."s"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 15 then
    keyb=keyb.."d"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 16 then
    keyb=keyb.."f"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 17 then
    keyb=keyb.."g"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 18 then
    keyb=keyb.."h"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 19 then
    keyb=keyb.."j"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 20 then
    keyb=keyb.."k"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 21 then
    keyb=keyb.."l"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 22 then
    if keyb == password then
    keyb=""
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
    door.activate()
    keyb="Access Granted"
    unit.setTimer("exit",5)       
    elseif keyb ~= password then 
    keyb=""
    keyb="Access DENIED"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
    unit.setTimer("exit",1)
    door.deactivate()
    end
  elseif buttonNo == 23 then
    keyb=keyb.."z"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 24 then
    keyb=keyb.."x"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 25 then
    keyb=keyb.."c"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 26 then
    keyb=keyb.."v"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 27 then
    keyb=keyb.."b"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 28 then
    keyb=keyb.."n"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 29 then
    keyb=keyb.."m"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 30 then
    keyb=keyb.."."
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 31 then
    startupnow = 1
  elseif buttonNo == 32 then
    keyb=keyb.." "
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 33 then
    startupnow = 1.2
  elseif buttonNo == 34 then

  elseif buttonNo == 35 then

  end
end


if screen.getMouseState() == 1 then
        mousecolclk = "purple"
        else
        mousecolclk = "cyan"
        end

if screen.getMouseState() == 1 and butselectclk1 == 1 then
        butcolclk1 = "purple"
        elseif screen.getMouseState() == 0 and butselectclk1 == 1 then
        butcolclk1 = "limegreen"
        butselectclk1 = 0 

elseif screen.getMouseState() == 1 and butselectclk1 == 2 then
        butcolclk2 = "purple"
        elseif screen.getMouseState() == 0 and butselectclk1 == 2 then
        butcolclk2 = "limegreen"
        butselectclk2 = 0 
        end
    
    
  local page = [[
<svg viewBox="0 0 1024 612">
<g>
<title>background</title>
<rect x="-1" y="-1" width="1026" height="614"/>
<g display="none">
<rect width="100%" height="100%" fill="url(#gridpattern)" stroke-width="0"/>
</g>
</g>
<g>
<title>Layer 1</title>
<rect x="7" y="5" width="1012" height="290" rx="20" fill="#007f7f" stroke="#0f0" stroke-width="5"/>

<rect x="1" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="14.997276" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">q</text>
<rect x="80" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="90" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">w</text>
<rect x="160" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="178" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">e</text>
<rect x="240" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="255" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">r</text>
<rect x="320" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="337" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">t</text>
<rect x="400" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="417" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">y</text>
<rect x="480" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="496" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">u</text>
<rect x="560" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="586" y="361.00001" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">i</text>
<rect x="640" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="654" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">o</text>
<rect x="720" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="740" y="360.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">p</text>
<rect x="880" y="306" width="140" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="895" y="350" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="30" font-weight="bold" stroke-width="0" xml:space="preserve">CLEAR</text>
<rect x="800" y="306" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="802" y="350" cursor="move" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="30" font-weight="bold" stroke-width="0" xml:space="preserve"></text>
<rect x="41" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="59" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">a</text>
<rect x="121" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="136" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">s</text>
<rect x="201" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="218" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">d</text>
<rect x="281" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="298" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">f</text>
<rect x="361" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="377" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">g</text>
<rect x="441" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="455" y="440.00001" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">h</text>
<rect x="521" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="540" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">j</text>
<rect x="601" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="619" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">k</text>
<rect x="761" y="385" width="140" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="785" y="430" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="30" font-style="italic" font-weight="bold" stroke-width="0" xml:space="preserve">Enter</text>
<rect x="681" y="385" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="700" y="439.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">l</text>
<rect x="86" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="101" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">z</text>
<rect x="166" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="183" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">x</text>
<rect x="246" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="263" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">c</text>
<rect x="326" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="342" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">v</text>
<rect x="406" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="420" y="521.00001" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">b</text>
<rect x="486" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="500" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">n</text>
<rect x="566" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="578" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">m</text>
<rect x="646" y="466" width="70" height="70" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>

<rect x="306" y="545" width="300" height="55" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<rect x="726" y="466" width="140" height="70" rx="10" fill="#00bfbf" stroke="#00ff00" stroke-width="5"/>
<text x="750" y="510" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="30" font-weight="bold" stroke-width="0" xml:space="preserve">SHIFT</text>
<rect x="650" y="545" width="140" height="55" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="690" y="585" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="28" font-weight="bold" stroke-width="0" xml:space="preserve">?123</text>
<rect x="880" y="545" width="140" height="55" rx="10" fill="#56ffff" stroke="#0f0" stroke-width="5"/>
<text x="882" y="585" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="30" font-weight="bold" stroke-width="0" xml:space="preserve"></text>
<text x="674" y="520.999996" fill="#bf0000" font-family="Helvetica, Arial, sans-serif" font-size="55" font-weight="bold" stroke-width="0" xml:space="preserve">.</text>

<text x="50" y="280" fill="#0000ff" font-family="Helvetica, Arial, sans-serif" font-size="25" font-style="italic" font-weight="bold" stroke-width="0" xml:space="preserve">]]..keyb..[[</text>
</g>


<text stroke="null" fill="]]..mousecolclk..[[" stroke-width="10" x="]]..(screen.getMouseX()*(1024)-35)..[[" y="]]..(screen.getMouseY()*(612)+40)..[[" id="svg_6" font-size="100" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold" font-style="italic">+</text>

    </svg>]] 
    local buttonNo = evaluateButtons()
    if PWMouseDown then
      PWMouseX = screen.getMouseX()
      PWMouseY = screen.getMouseY()
      if buttonNo ~= PWButtonSelected or PWMouseX < 0.05 or PWMouseX > 0.95 or PWMouseY < 0.05 or PWMouseY > 0.95 then
        if PWButtonSelected > 0 then
          onButtonUp(PWButtonSelected)
        end
        PWButtonSelected = 0
      end        
    end



    page = page .. [[</div></body></html>]]
    screen.setHTML(page)




elseif startupnow == 1.2 then    ----- emitter end
               tablex.clear(PWButtons, button)
      for i = 1,1 do
   local button = {id = ("b"..1), enabled=true, td="<td>", top=49/100, bottom=60/100, left=1/100, right=6.5/100}
    table.insert(PWButtons, button)
end
  for i = 2,2 do
   local button = {id = ("b"..2), enabled=true, td="<td>", top=49/100, bottom=60/100, left=8/100, right=14/100}
    table.insert(PWButtons, button)
end
    for i = 3,3 do
    local button = {id = ("b"..3), enabled=true, td="<td>", top=49/100, bottom=60/100, left=15/100, right=22/100}
      table.insert(PWButtons, button)
end
    for i = 4,4 do   
    local button = {id = ("b"..4), enabled=true, td="<td>", top=49/100, bottom=60/100, left=23/100, right=30/100}
      table.insert(PWButtons, button)
end
    for i = 5,5 do   
    local button = {id = ("b"..5), enabled=true, td="<td>", top=49/100, bottom=60/100, left=31/100, right=38/100}
      table.insert(PWButtons, button)
end
    for i = 6,6 do   
    local button = {id = ("b"..6), enabled=true, td="<td>", top=49/100, bottom=60/100, left=39/100, right=46/100}
      table.insert(PWButtons, button)
end
    for i = 7,7 do   
    local button = {id = ("b"..7), enabled=true, td="<td>", top=49/100, bottom=60/100, left=47/100, right=53/100}
      table.insert(PWButtons, button)
end
    for i = 8,8 do   
    local button = {id = ("b"..8), enabled=true, td="<td>", top=49/100, bottom=60/100, left=54/100, right=61/100}
      table.insert(PWButtons, button)
end
    for i = 9,9 do   
    local button = {id = ("b"..9), enabled=true, td="<td>", top=49/100, bottom=60/100, left=62/100, right=69/100}
      table.insert(PWButtons, button)
end
    for i = 10,10 do   
    local button = {id = ("b"..10), enabled=true, td="<td>", top=49/100, bottom=60/100, left=70/100, right=77/100}
      table.insert(PWButtons, button)
end
    for i = 11,11 do   
    local button = {id = ("b"..11), enabled=true, td="<td>", top=49/100, bottom=60/100, left=78/100, right=85/100}
      table.insert(PWButtons, button)
end
    for i = 12,12 do   
    local button = {id = ("b"..12), enabled=true, td="<td>", top=49/100, bottom=60/100, left=86/100, right=93/100}
      table.insert(PWButtons, button)
end



    for i = 13,13 do   
    local button = {id = ("b"..13), enabled=true, td="<td>", top=62/100, bottom=73/100, left=4/100, right=10/100}
    table.insert(PWButtons, button)
end
      for i = 14,14 do
   local button = {id = ("b"..14), enabled=true, td="<td>", top=62/100, bottom=73/100, left=11.5/100, right=18/100}
    table.insert(PWButtons, button)
end
  for i = 15,15 do
   local button = {id = ("b"..15), enabled=true, td="<td>", top=62/100, bottom=73/100, left=19/100, right=26/100}
    table.insert(PWButtons, button)
end
    for i = 16,16 do
    local button = {id = ("b"..16), enabled=true, td="<td>", top=62/100, bottom=73/100, left=27/100, right=34/100}
      table.insert(PWButtons, button)
end
    for i = 17,17 do   
    local button = {id = ("b"..17), enabled=true, td="<td>", top=62/100, bottom=73/100, left=35/100, right=42/100}
      table.insert(PWButtons, button)
end
    for i = 18,18 do   
    local button = {id = ("b"..18), enabled=true, td="<td>", top=62/100, bottom=73/100, left=43/100, right=50/100}
      table.insert(PWButtons, button)
end
    for i = 19,19 do   
    local button = {id = ("b"..19), enabled=true, td="<td>", top=62/100, bottom=73/100, left=51/100, right=58/100}
      table.insert(PWButtons, button)
end
    for i = 20,20 do   
    local button = {id = ("b"..20), enabled=true, td="<td>", top=62/100, bottom=73/100, left=59/100, right=65/100}
      table.insert(PWButtons, button)
end
    for i = 21,21 do
   local button = {id = ("b"..21), enabled=true, td="<td>", top=62/100, bottom=73/100, left=66.5/100, right=73/100}
    table.insert(PWButtons, button)
end
  for i = 22,22 do
   local button = {id = ("b"..22), enabled=true, td="<td>", top=62/100, bottom=73/100, left=74/100, right=82/100}
    table.insert(PWButtons, button)
end
  for i = 23,23 do
   local button = {id = ("b"..23), enabled=true, td="<td>", top=62/100, bottom=73/100, left=82.5/100, right=90/100}
    table.insert(PWButtons, button)
end
  for i = 24,24 do
   local button = {id = ("b"..24), enabled=true, td="<td>", top=62/100, bottom=73/100, left=90/100, right=97/100}
    table.insert(PWButtons, button)
end


    for i = 25,25 do
    local button = {id = ("b"..23), enabled=true, td="<td>", top=75/100, bottom=87/100, left=8/100, right=15/100}
      table.insert(PWButtons, button)
end
    for i = 26,26 do   
    local button = {id = ("b"..26), enabled=true, td="<td>", top=75/100, bottom=87/100, left=16/100, right=23/100}
      table.insert(PWButtons, button)
end
    for i = 27,27 do   
    local button = {id = ("b"..27), enabled=true, td="<td>", top=75/100, bottom=87/100, left=24/100, right=31/100}
      table.insert(PWButtons, button)
end
    for i = 28,28 do   
    local button = {id = ("b"..28), enabled=true, td="<td>", top=75/100, bottom=87/100, left=32/100, right=39/100}
      table.insert(PWButtons, button)
end
    for i = 29,29 do   
    local button = {id = ("b"..29), enabled=true, td="<td>", top=75/100, bottom=87/100, left=40/100, right=46/100}
      table.insert(PWButtons, button)
end
    for i = 30,30 do   
    local button = {id = ("b"..30), enabled=true, td="<td>", top=75/100, bottom=87/100, left=47/100, right=54/100}
      table.insert(PWButtons, button)
end
    for i = 31,31 do   
    local button = {id = ("b"..31), enabled=true, td="<td>", top=75/100, bottom=87/100, left=55/100, right=62/100}
      table.insert(PWButtons, button)
end
    for i = 32,32 do   
    local button = {id = ("b"..32), enabled=true, td="<td>", top=75/100, bottom=87/100, left=63/100, right=70/100}
      table.insert(PWButtons, button)
end
    for i = 33,33 do   
    local button = {id = ("b"..33), enabled=true, td="<td>", top=75/100, bottom=87/100, left=71/100, right=78/100}
      table.insert(PWButtons, button)
end
    for i = 34,34 do   
    local button = {id = ("b"..34), enabled=true, td="<td>", top=75/100, bottom=87/100, left=79/100, right=86/100}
      table.insert(PWButtons, button)
end
    for i = 35,35 do   
    local button = {id = ("b"..35), enabled=true, td="<td>", top=75/100, bottom=87/100, left=86.5/100, right=94/100}
      table.insert(PWButtons, button)
end

    for i = 36,36 do   
    local button = {id = ("b"..36), enabled=true, td="<td>", top=88/100, bottom=98/100, left=30/100, right=59/100}
      table.insert(PWButtons, button)
end
    for i = 37,37 do   
    local button = {id = ("b"..37), enabled=true, td="<td>", top=88/100, bottom=98/100, left=63/100, right=77/100}
    table.insert(PWButtons, button)
end
      for i = 38,38 do
   local button = {id = ("b"..38), enabled=true, td="<td>", top=88/100, bottom=98/100, left=85/100, right=100/100}
    table.insert(PWButtons, button)
end
    for i = 39,39 do   
    local button = {id = ("b"..39), enabled=true, td="<td>", top=90/100, bottom=100/100, left=1/100, right=18/100}
    table.insert(PWButtons, button)
end
function evaluateButtons()
  local selected = 0
  
  if #PWButtons >= 1 then


         -- Set button styles
       for i, button in ipairs(PWButtons) do
            if button.left < PWMouseX and PWMouseX < button.right and button.top < PWMouseY and PWMouseY < button.bottom then
                if PWMouseDown and PWButtonSelected == i then
                end
                selected = i
            end
            if not button.enabled then
            end

        end
  end
  return selected
end


function onButtonDown(buttonNo)
  local button = PWButtons[buttonNo]    
  if not button or not button.enabled then
	return
  end
end
function onButtonUp(buttonNo)
  local button = PWButtons[buttonNo]    
  if not button or not button.enabled then
    return
  end
        

function onClick(buttonNo)
  local button = PWButtons[buttonNo]    
  if not button or not button.enabled then
    return
  end
end
  if buttonNo == 1 then
    keyb=keyb.."1"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 2 then
    keyb=keyb.."2"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 3 then
    keyb=keyb.."3"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 4 then
    keyb=keyb.."4"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 5 then
    keyb=keyb.."5"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
		hint(1, 5)
  elseif buttonNo == 6 then
    keyb=keyb.."6"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 7 then
    keyb=keyb.."7"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 8 then
    keyb=keyb.."8"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 9 then
    keyb=keyb.."9"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 10 then
    keyb=keyb.."0"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 11 then
    keyb=keyb..","
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 12 then
    keyb=keyb.."?"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 13 then
    keyb=keyb.."!"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 14 then
    keyb=keyb.."@"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 15 then
    keyb=keyb.."#"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 16 then
    keyb=keyb.."$"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 17 then
    keyb=keyb.."%"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 18 then
    keyb=keyb.."^"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 19 then
    keyb=keyb.."&"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 20 then
    keyb=keyb.."*"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 21 then
    keyb=keyb.."~"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 22 then
    keyb=keyb..";"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 23 then
    keyb=keyb..":"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 24 then
    keyb=keyb.."'"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 25 then
    keyb=keyb.."("
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 26 then
    keyb=keyb..")"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 27 then
    keyb=keyb.."["
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 28 then
    keyb=keyb.."]"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 29 then
    keyb=keyb.."{"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 30 then
    keyb=keyb.."}"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 31 then
    keyb=keyb.."<"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 32 then
    keyb=keyb..">"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 33 then
    keyb=keyb.."+"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 34 then
    keyb="-"
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 35 then
    keyb=keyb.."="
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 36 then
    keyb=keyb.." "
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 37 then
    startupnow = 1
  elseif buttonNo == 38 then
    keyb=""
    screen.setText(30,10,7,keyb)
    consta=string.len(keyb)
  elseif buttonNo == 39 then


  end
end

if screen.getMouseState() == 1 then
        mousecolclk = "purple"
        else
        mousecolclk = "cyan"
        end

if screen.getMouseState() == 1 and butselectclk1 == 1 then
        butcolclk1 = "purple"
        elseif screen.getMouseState() == 0 and butselectclk1 == 1 then
        butcolclk1 = "limegreen"
        butselectclk1 = 0 

elseif screen.getMouseState() == 1 and butselectclk1 == 2 then
        butcolclk2 = "purple"
        elseif screen.getMouseState() == 0 and butselectclk1 == 2 then
        butcolclk2 = "limegreen"
        butselectclk2 = 0 
        end
    
    
  local page = [[
<svg viewBox="0 0 1024 612">
<g>
<title>background</title>
<rect x="-1" y="-1" width="1026" height="614"/>
<g display="none">
<rect width="100%" height="100%" fill="url(#gridpattern)" stroke-width="0"/>
</g>
</g>
<g>
<title>Layer 1</title>
<rect x="7" y="5" width="1012" height="290" rx="20" fill="#007f7f" stroke="#0f0" stroke-width="5"/>
<g fill="#ffff00" fill-opacity="null" font-family="Helvetica, Arial, sans-serif" font-size="20" font-weight="bold" stroke="#00ff00" stroke-width="0">

<text x="50" y="280" fill="#0000ff" font-family="Helvetica, Arial, sans-serif" font-size="25" font-style="italic" font-weight="bold" stroke-width="0" xml:space="preserve">]]..keyb..[[</text>
</g>
  <g id="svg_47">
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="1" y="305.999996" width="70" height="70" id="svg_1" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="20" y="360.999996" id="svg_3" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">1</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="80" y="305.999996" width="70" height="70" id="svg_8" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="100" y="360.999996" id="svg_9" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">2</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="160" y="305.999996" width="70" height="70" id="svg_11" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="180" y="360.999996" id="svg_12" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">3</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="240" y="305.999996" width="70" height="70" id="svg_14" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="260" y="360.999996" id="svg_15" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">4</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="320" y="305.999996" width="70" height="70" id="svg_17" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="340" y="360.999996" id="svg_18" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">5</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="400" y="305.999996" width="70" height="70" id="svg_20" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="420" y="360.999996" id="svg_21" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">6</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="480" y="305.999996" width="70" height="70" id="svg_23" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="500" y="360.999996" id="svg_24" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">7</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="560" y="306.00001" width="70" height="70" id="svg_26" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="580" y="361.00001" id="svg_27" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">8</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="640" y="305.999996" width="70" height="70" id="svg_29" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="660" y="360.999996" id="svg_30" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">9</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="720" y="305.999996" width="70" height="70" id="svg_32" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="740" y="360.999996" id="svg_33" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">0</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="800" y="305.999996" width="70" height="70" id="svg_35" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="825" y="350" id="svg_36" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">,</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="880" y="305.999996" width="70" height="70" id="svg_38" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="900" y="360" id="svg_39" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">?</text>
  </g>
  <g id="svg_108">
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="41" y="384.999996" width="70" height="70" id="svg_10" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="65" y="439.999996" id="svg_13" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">!</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="121" y="384.999996" width="70" height="70" id="svg_16" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="127" y="439.999996" id="svg_19" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">@</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="201" y="384.999996" width="70" height="70" id="svg_22" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="220" y="439.999996" id="svg_25" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">#</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="281" y="384.999996" width="70" height="70" id="svg_28" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="300" y="439.999996" id="svg_31" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">$</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="361" y="384.999996" width="70" height="70" id="svg_34" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="371" y="439.999996" id="svg_37" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">%</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="441" y="385.00001" width="70" height="70" id="svg_40" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="460" y="440.00001" id="svg_41" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">^</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="521" y="384.999996" width="70" height="70" id="svg_42" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="535" y="439.999996" id="svg_43" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">&amp;</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="601" y="384.999996" width="70" height="70" id="svg_44" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="625" y="439.999996" id="svg_45" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">*</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="681" y="384.999996" width="70" height="70" id="svg_48" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="700" y="439.999996" id="svg_49" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">~</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="761" y="384.999996" width="70" height="70" id="svg_118" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="785" y="439.999996" id="svg_119" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">;</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="841" y="384.999996" width="70" height="70" id="svg_121" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="865" y="439.999996" id="svg_122" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">:</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="921" y="384.999996" width="70" height="70" id="svg_127" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="950" y="439.999996" id="svg_128" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">'</text>
  </g>
  <g id="svg_112">
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="86" y="465.999996" width="70" height="70" id="svg_52" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="110" y="520.999996" id="svg_53" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">(</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="166" y="465.999996" width="70" height="70" id="svg_54" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="195" y="520.999996" id="svg_55" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">)</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="246" y="465.999996" width="70" height="70" id="svg_56" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="270" y="520.999996" id="svg_57" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">[</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="326" y="465.999996" width="70" height="70" id="svg_58" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="350" y="520.999996" id="svg_59" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">]</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="406" y="466.00001" width="70" height="70" id="svg_60" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="430" y="521.00001" id="svg_61" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">{</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="486" y="465.999996" width="70" height="70" id="svg_62" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="515" y="520.999996" id="svg_63" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">}</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="566" y="465.999996" width="70" height="70" id="svg_64" rx="10"/>
   <text style="cursor: move;" fill="#bf0000" stroke-width="0" x="585" y="520.999996" id="svg_65" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">&lt;</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="646" y="465.999996" width="70" height="70" id="svg_68" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="656" y="520.999996" id="svg_69" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold"/>
   <text style="cursor: move;" fill="#bf0000" stroke-width="0" x="665" y="520.999996" id="svg_78" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">&gt;</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="726" y="465.999996" width="70" height="70" id="svg_66" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="736" y="520.999996" id="svg_67" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold"/>
   <text fill="#bf0000" stroke-width="0" x="755" y="520.999996" id="svg_107" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">+</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="806" y="465.999996" width="70" height="70" id="svg_109" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="816" y="520.999996" id="svg_110" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold"/>
   <text fill="#bf0000" stroke-width="0" x="830" y="520.999996" id="svg_111" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">-</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="886" y="465.999996" width="70" height="70" id="svg_113" rx="10"/>
   <text fill="#bf0000" stroke-width="0" x="896" y="520.999996" id="svg_114" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold"/>
   <text fill="#bf0000" stroke-width="0" x="908" y="520.999996" id="svg_115" font-size="55" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">=</text>
   <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="306" y="545" width="300" height="55" id="svg_71" rx="10"/>
  <rect fill="#00bfbf" stroke="#ffff00" stroke-width="5" x="650" y="544.999996" width="140" height="55" id="svg_73" rx="10"/>
  <text style="cursor: move;" fill="#ffff00" stroke-width="0" x="690" y="585" id="svg_74" font-size="28" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">?123</text>
  <rect fill="#56ffff" stroke="#00ff00" stroke-width="5" x="880" y="545" width="140" height="55" id="svg_76" rx="10"/>
  <text fill="#bf0000" stroke-width="0" x="900" y="585" id="svg_77" font-size="30" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold">CLEAR</text>
        </g>

<text stroke="null" fill="]]..mousecolclk..[[" stroke-width="10" x="]]..(screen.getMouseX()*(1024)-35)..[[" y="]]..(screen.getMouseY()*(612)+40)..[[" id="svg_6" font-size="100" font-family="Helvetica, Arial, sans-serif" text-anchor="start" xml:space="preserve" font-weight="bold" font-style="italic">+</text>

    </svg>]] 
    local buttonNo = evaluateButtons()
    if PWMouseDown then
      PWMouseX = screen.getMouseX()
      PWMouseY = screen.getMouseY()
      if buttonNo ~= PWButtonSelected or PWMouseX < 0.05 or PWMouseX > 0.95 or PWMouseY < 0.05 or PWMouseY > 0.95 then
        if PWButtonSelected > 0 then
          onButtonUp(PWButtonSelected)
        end
        PWButtonSelected = 0
      end        
    end



    page = page .. [[</div></body></html>]]
    screen.setHTML(page)
       
end
end

Json Paste
 

{"slots":{"0":{"name":"screen","type":{"events":[],"methods":[]}},"1":{"name":"door","type":{"events":[],"methods":[]}},"2":{"name":"slot3","type":{"events":[],"methods":[]}},"3":{"name":"slot4","type":{"events":[],"methods":[]}},"4":{"name":"slot5","type":{"events":[],"methods":[]}},"5":{"name":"slot6","type":{"events":[],"methods":[]}},"6":{"name":"slot7","type":{"events":[],"methods":[]}},"7":{"name":"slot8","type":{"events":[],"methods":[]}},"8":{"name":"slot9","type":{"events":[],"methods":[]}},"9":{"name":"slot10","type":{"events":[],"methods":[]}},"-1":{"name":"unit","type":{"events":[],"methods":[]}},"-2":{"name":"system","type":{"events":[],"methods":[]}},"-3":{"name":"library","type":{"events":[],"methods":[]}}},"handlers":[{"code":"PWMouseX = x\nPWMouseY = y\nPWMouseDown = true\nPWAttention = 0\nPWDislikeButton = 0\nPWLikeButton = 0\nPWButtonSelected = evaluateButtons()\nonButtonDown(PWButtonSelected)","filter":{"args":[{"variable":"*"},{"variable":"*"}],"signature":"mouseDown(x,y)","slotKey":"0"},"key":"0"},{"code":"\nPWMouseX = x\nPWMouseY = y\nPWMouseDown = false\nlocal buttonNo = evaluateButtons()\nif PWButtonSelected > 0 and PWButtonSelected == buttonNo then\n    onButtonUp(buttonNo)\n    onClick(buttonNo)\nend\nPWButtonSelected = -buttonNo","filter":{"args":[{"variable":"*"},{"variable":"*"}],"signature":"mouseUp(x,y)","slotKey":"0"},"key":"1"},{"code":"keyb = \"Goodbye\"\nunit.exit()","filter":{"args":[{"value":"exit"}],"signature":"tick(timerId)","slotKey":"-1"},"key":"2"},{"code":"unit.hide()\n-------------------------system start----------------------------------------------------------\n-- Internal variables\nkeyb=\"\"\n-- set variables so that there is no error at the start\n\nbutcolclk1 = \"#00ff00\"\nbutcolclk2 = \"#00ff00\"\nmousecolclk = \"cyan\"\nconsta=0\nPWButtons = {}\nPWMouseX = 0\nPWMouseY = 0\nPWMouseDown = false\nPWButtonSelected = 0\nPWAttention = 0\nPWDislikeButton = 0\nPWLikeButton = 0\nPWHintButton = 0\nPWAttentionMessage = \"\"\nPWAttentionVisible = false\nstartupnow = 1\npassword = \"Pass\"--export:\n\n\n\n\nfunction updateScreen() \nif startupnow == 1 then    ----- engine stat end emitter start\n    tablex.clear(PWButtons, button)\n      for i = 1,1 do\n   local button = {id = (\"b\"..1), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=1/100, right=6.5/100}\n    table.insert(PWButtons, button)\nend\n  for i = 2,2 do\n   local button = {id = (\"b\"..2), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=8/100, right=14/100}\n    table.insert(PWButtons, button)\nend\n    for i = 3,3 do\n    local button = {id = (\"b\"..3), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=15/100, right=22/100}\n      table.insert(PWButtons, button)\nend\n    for i = 4,4 do   \n    local button = {id = (\"b\"..4), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=23/100, right=30/100}\n      table.insert(PWButtons, button)\nend\n    for i = 5,5 do   \n    local button = {id = (\"b\"..5), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=31/100, right=38/100}\n      table.insert(PWButtons, button)\nend\n    for i = 6,6 do   \n    local button = {id = (\"b\"..6), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=39/100, right=46/100}\n      table.insert(PWButtons, button)\nend\n    for i = 7,7 do   \n    local button = {id = (\"b\"..7), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=47/100, right=53/100}\n      table.insert(PWButtons, button)\nend\n    for i = 8,8 do   \n    local button = {id = (\"b\"..8), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=54/100, right=61/100}\n      table.insert(PWButtons, button)\nend\n    for i = 9,9 do   \n    local button = {id = (\"b\"..9), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=62/100, right=69/100}\n      table.insert(PWButtons, button)\nend\n    for i = 10,10 do   \n    local button = {id = (\"b\"..10), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=70/100, right=77/100}\n      table.insert(PWButtons, button)\nend\n    for i = 11,11 do   \n    local button = {id = (\"b\"..11), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=78/100, right=85/100}\n      table.insert(PWButtons, button)\nend\n    for i = 12,12 do   \n    local button = {id = (\"b\"..12), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=86/100, right=100/100}\n      table.insert(PWButtons, button)\nend\n\n\n\n    for i = 13,13 do   \n    local button = {id = (\"b\"..13), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=4/100, right=10/100}\n    table.insert(PWButtons, button)\nend\n      for i = 14,14 do\n   local button = {id = (\"b\"..14), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=11.5/100, right=18/100}\n    table.insert(PWButtons, button)\nend\n  for i = 15,15 do\n   local button = {id = (\"b\"..15), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=19/100, right=26/100}\n    table.insert(PWButtons, button)\nend\n    for i = 16,16 do\n    local button = {id = (\"b\"..16), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=27/100, right=34/100}\n      table.insert(PWButtons, button)\nend\n    for i = 17,17 do   \n    local button = {id = (\"b\"..17), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=35/100, right=42/100}\n      table.insert(PWButtons, button)\nend\n    for i = 18,18 do   \n    local button = {id = (\"b\"..18), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=43/100, right=50/100}\n      table.insert(PWButtons, button)\nend\n    for i = 19,19 do   \n    local button = {id = (\"b\"..19), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=51/100, right=58/100}\n      table.insert(PWButtons, button)\nend\n    for i = 20,20 do   \n    local button = {id = (\"b\"..20), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=59/100, right=65/100}\n      table.insert(PWButtons, button)\nend\n      for i = 21,21 do\n   local button = {id = (\"b\"..21), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=66.5/100, right=73/100}\n    table.insert(PWButtons, button)\nend\n  for i = 22,22 do\n   local button = {id = (\"b\"..22), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=74/100, right=89/100}\n    table.insert(PWButtons, button)\nend\n\n\n    for i = 23,23 do\n    local button = {id = (\"b\"..23), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=8/100, right=15/100}\n      table.insert(PWButtons, button)\nend\n    for i = 24,24 do   \n    local button = {id = (\"b\"..24), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=16/100, right=23/100}\n      table.insert(PWButtons, button)\nend\n    for i = 25,25 do   \n    local button = {id = (\"b\"..25), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=24/100, right=31/100}\n      table.insert(PWButtons, button)\nend\n    for i = 26,26 do   \n    local button = {id = (\"b\"..26), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=32/100, right=39/100}\n      table.insert(PWButtons, button)\nend\n    for i = 27,27 do   \n    local button = {id = (\"b\"..27), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=40/100, right=46/100}\n      table.insert(PWButtons, button)\nend\n    for i = 28,28 do   \n    local button = {id = (\"b\"..28), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=47/100, right=54/100}\n      table.insert(PWButtons, button)\nend\n    for i = 29,29 do   \n    local button = {id = (\"b\"..29), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=55/100, right=62/100}\n      table.insert(PWButtons, button)\nend\n    for i = 30,30 do   \n    local button = {id = (\"b\"..30), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=63/100, right=70/100}\n      table.insert(PWButtons, button)\nend\n    for i = 31,31 do   \n    local button = {id = (\"b\"..31), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=71/100, right=85/100}\n      table.insert(PWButtons, button)\nend\n\n\n    for i = 32,32 do   \n    local button = {id = (\"b\"..32), enabled=true, td=\"<td>\", top=88/100, bottom=98/100, left=30/100, right=59/100}\n      table.insert(PWButtons, button)\nend\n    for i = 33,33 do   \n    local button = {id = (\"b\"..33), enabled=true, td=\"<td>\", top=88/100, bottom=98/100, left=63/100, right=77/100}\n    table.insert(PWButtons, button)\nend\n      for i = 34,34 do\n   local button = {id = (\"b\"..34), enabled=true, td=\"<td>\", top=88/100, bottom=98/100, left=85/100, right=100/100}\n    table.insert(PWButtons, button)\nend\n    for i = 35,35 do   \n    local button = {id = (\"b\"..35), enabled=true, td=\"<td>\", top=90/100, bottom=100/100, left=1/100, right=18/100}\n    table.insert(PWButtons, button)\nend\nfunction evaluateButtons()\n  local selected = 0\n  \n  if #PWButtons >= 1 then\n\n         -- Set button styles\n       for i, button in ipairs(PWButtons) do\n            if button.left < PWMouseX and PWMouseX < button.right and button.top < PWMouseY and PWMouseY < button.bottom then\n                if PWMouseDown and PWButtonSelected == i then\n                end\n                selected = i\n            end\n            if not button.enabled then\n            end\n\n        end\n  end\n  return selected\nend\n\n\nfunction onButtonDown(buttonNo)\n  local button = PWButtons[buttonNo]    \n  if not button or not button.enabled then\n\treturn\n  end\nend\nfunction onButtonUp(buttonNo)\n  local button = PWButtons[buttonNo]    \n  if not button or not button.enabled then\n    return\n  end\n        \n\nfunction onClick(buttonNo)\n  local button = PWButtons[buttonNo]    \n  if not button or not button.enabled then\n    return\n  end\nend\n   if buttonNo == 1 then\n    keyb=keyb..\"Q\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 2 then\n    keyb=keyb..\"W\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 3 then\n    keyb=keyb..\"E\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 4 then\n    keyb=keyb..\"R\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 5 then\n    keyb=keyb..\"T\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 6 then\n    keyb=keyb..\"Y\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 7 then\n    keyb=keyb..\"U\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 8 then\n    keyb=keyb..\"I\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 9 then\n    keyb=keyb..\"O\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 10 then\n    keyb=keyb..\"P\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 11 then\n\n  elseif buttonNo == 12 then\n    keyb = \"\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 13 then\n    keyb=keyb..\"A\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 14 then\n    keyb=keyb..\"S\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 15 then\n    keyb=keyb..\"D\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 16 then\n    keyb=keyb..\"F\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 17 then\n    keyb=keyb..\"G\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 18 then\n    keyb=keyb..\"H\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 19 then\n    keyb=keyb..\"J\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 20 then\n    keyb=keyb..\"K\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 21 then\n    keyb=keyb..\"L\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 22 then   ----enterbutton\n    if keyb == password then\n    keyb=\"\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n    door.activate()\n    keyb=\"Access Granted\"\n    unit.setTimer(\"exit\",5)       \n    elseif keyb ~= password then \n    keyb=\"\"\n    keyb=\"Access DENIED\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n    unit.setTimer(\"exit\",1)\n    door.deactivate()\n    end\n    \n  elseif buttonNo == 23 then\n    keyb=keyb..\"Z\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 24 then\n    keyb=keyb..\"X\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 25 then\n    keyb=keyb..\"C\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 26 then\n    keyb=keyb..\"V\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 27 then\n    keyb=keyb..\"B\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 28 then\n    keyb=keyb..\"N\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 29 then\n    keyb=keyb..\"M\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 30 then\n    keyb=keyb..\".\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 31 then\n    startupnow = 1.1\n  elseif buttonNo == 32 then\n    keyb=keyb..\" \"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 33 then\n    startupnow = 1.2\n  elseif buttonNo == 34 then\n\n  elseif buttonNo == 35 then\n\n  end\nend\n\nif screen.getMouseState() == 1 then\n        mousecolclk = \"purple\"\n        else\n        mousecolclk = \"cyan\"\n        end\n    \nif screen.getMouseState() == 1 and butselectclk1 == 1 then\n        butcolclk1 = \"purple\"\n        elseif screen.getMouseState() == 0 and butselectclk1 == 1 then\n        butcolclk1 = \"limegreen\"\n        butselectclk1 = 0 \n\nelseif screen.getMouseState() == 1 and butselectclk1 == 2 then\n        butcolclk2 = \"purple\"\n        elseif screen.getMouseState() == 0 and butselectclk1 == 2 then\n        butcolclk2 = \"limegreen\"\n        butselectclk2 = 0 \n        end\n    \n    \n  local page = [[\n<svg viewBox=\"0 0 1024 612\">\n<g>\n<title>background</title>\n<rect x=\"-1\" y=\"-1\" width=\"1026\" height=\"614\"/>\n<g display=\"none\">\n<rect width=\"100%\" height=\"100%\" fill=\"url(#gridpattern)\" stroke-width=\"0\"/>\n</g>\n</g>\n<g>\n<title>Layer 1</title>\n<rect x=\"7\" y=\"5\" width=\"1012\" height=\"290\" rx=\"20\" fill=\"#007f7f\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<rect x=\"1\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"14.997276\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">Q</text>\n<rect x=\"80\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"90\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">W</text>\n<rect x=\"160\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"178\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">E</text>\n<rect x=\"240\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"255\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">R</text>\n<rect x=\"320\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"337\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">T</text>\n<rect x=\"400\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"417\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">Y</text>\n<rect x=\"480\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"496\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">U</text>\n<rect x=\"560\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"586\" y=\"361.00001\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">I</text>\n<rect x=\"640\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"654\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">O</text>\n<rect x=\"720\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"740\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">P</text>\n<rect x=\"880\" y=\"306\" width=\"140\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"895\" y=\"350\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">CLEAR</text>\n<rect x=\"800\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"802\" y=\"350\" cursor=\"move\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\"></text>\n<rect x=\"41\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"59\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">A</text>\n<rect x=\"121\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"136\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">S</text>\n<rect x=\"201\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"218\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">D</text>\n<rect x=\"281\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"298\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">F</text>\n<rect x=\"361\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"377\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">G</text>\n<rect x=\"441\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"455\" y=\"440.00001\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">H</text>\n<rect x=\"521\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"540\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">J</text>\n<rect x=\"601\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"619\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">K</text>\n<rect x=\"761\" y=\"385\" width=\"140\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"785\" y=\"430\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" font-style=\"italic\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">Enter</text>\n<rect x=\"681\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"700\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">L</text>\n<rect x=\"86\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"101\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">Z</text>\n<rect x=\"166\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"183\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">X</text>\n<rect x=\"246\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"263\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">C</text>\n<rect x=\"326\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"342\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">V</text>\n<rect x=\"406\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"420\" y=\"521.00001\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">B</text>\n<rect x=\"486\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"500\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">N</text>\n<rect x=\"566\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"578\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">M</text>\n<rect x=\"646\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"656\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\"/>\n<rect x=\"306\" y=\"545\" width=\"300\" height=\"55\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<rect x=\"726\" y=\"466\" width=\"140\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"750\" y=\"510\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">SHIFT</text>\n<rect x=\"650\" y=\"545\" width=\"140\" height=\"55\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"690\" y=\"585\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"28\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">?123</text>\n<rect x=\"880\" y=\"545\" width=\"140\" height=\"55\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"882\" y=\"585\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\"></text>\n<text x=\"674\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">.</text>\n\n<text x=\"50\" y=\"280\" fill=\"#0000ff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"25\" font-style=\"italic\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">]]..keyb..[[</text>\n</g>\n\n\n<text stroke=\"null\" fill=\"]]..mousecolclk..[[\" stroke-width=\"10\" x=\"]]..(screen.getMouseX()*(1024)-35)..[[\" y=\"]]..(screen.getMouseY()*(612)+40)..[[\" id=\"svg_6\" font-size=\"100\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\" font-style=\"italic\">+</text>\n\n    </svg>]] \n    local buttonNo = evaluateButtons()\n    if PWMouseDown then\n      PWMouseX = screen.getMouseX()\n      PWMouseY = screen.getMouseY()\n      if buttonNo ~= PWButtonSelected or PWMouseX < 0.05 or PWMouseX > 0.95 or PWMouseY < 0.05 or PWMouseY > 0.95 then\n        if PWButtonSelected > 0 then\n          onButtonUp(PWButtonSelected)\n        end\n        PWButtonSelected = 0\n      end        \n    end\n\n\n\n    page = page .. [[</div></body></html>]]\n    screen.setHTML(page)\n \n\n\n\n\n\n\n--------------------small letter keyboard\n\n\n\n\nelseif startupnow == 1.1 then\n\n               tablex.clear(PWButtons, button)\n      for i = 1,1 do\n   local button = {id = (\"b\"..1), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=1/100, right=6.5/100}\n    table.insert(PWButtons, button)\nend\n  for i = 2,2 do\n   local button = {id = (\"b\"..2), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=8/100, right=14/100}\n    table.insert(PWButtons, button)\nend\n    for i = 3,3 do\n    local button = {id = (\"b\"..3), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=15/100, right=22/100}\n      table.insert(PWButtons, button)\nend\n    for i = 4,4 do   \n    local button = {id = (\"b\"..4), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=23/100, right=30/100}\n      table.insert(PWButtons, button)\nend\n    for i = 5,5 do   \n    local button = {id = (\"b\"..5), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=31/100, right=38/100}\n      table.insert(PWButtons, button)\nend\n    for i = 6,6 do   \n    local button = {id = (\"b\"..6), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=39/100, right=46/100}\n      table.insert(PWButtons, button)\nend\n    for i = 7,7 do   \n    local button = {id = (\"b\"..7), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=47/100, right=53/100}\n      table.insert(PWButtons, button)\nend\n    for i = 8,8 do   \n    local button = {id = (\"b\"..8), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=54/100, right=61/100}\n      table.insert(PWButtons, button)\nend\n    for i = 9,9 do   \n    local button = {id = (\"b\"..9), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=62/100, right=69/100}\n      table.insert(PWButtons, button)\nend\n    for i = 10,10 do   \n    local button = {id = (\"b\"..10), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=70/100, right=77/100}\n      table.insert(PWButtons, button)\nend\n    for i = 11,11 do   \n    local button = {id = (\"b\"..11), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=78/100, right=85/100}\n      table.insert(PWButtons, button)\nend\n    for i = 12,12 do   \n    local button = {id = (\"b\"..12), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=86/100, right=100/100}\n      table.insert(PWButtons, button)\nend\n\n\n\n    for i = 13,13 do   \n    local button = {id = (\"b\"..13), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=4/100, right=10/100}\n    table.insert(PWButtons, button)\nend\n      for i = 14,14 do\n   local button = {id = (\"b\"..14), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=11.5/100, right=18/100}\n    table.insert(PWButtons, button)\nend\n  for i = 15,15 do\n   local button = {id = (\"b\"..15), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=19/100, right=26/100}\n    table.insert(PWButtons, button)\nend\n    for i = 16,16 do\n    local button = {id = (\"b\"..16), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=27/100, right=34/100}\n      table.insert(PWButtons, button)\nend\n    for i = 17,17 do   \n    local button = {id = (\"b\"..17), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=35/100, right=42/100}\n      table.insert(PWButtons, button)\nend\n    for i = 18,18 do   \n    local button = {id = (\"b\"..18), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=43/100, right=50/100}\n      table.insert(PWButtons, button)\nend\n    for i = 19,19 do   \n    local button = {id = (\"b\"..19), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=51/100, right=58/100}\n      table.insert(PWButtons, button)\nend\n    for i = 20,20 do   \n    local button = {id = (\"b\"..20), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=59/100, right=65/100}\n      table.insert(PWButtons, button)\nend\n      for i = 21,21 do\n   local button = {id = (\"b\"..21), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=66.5/100, right=73/100}\n    table.insert(PWButtons, button)\nend\n  for i = 22,22 do\n   local button = {id = (\"b\"..22), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=74/100, right=89/100}\n    table.insert(PWButtons, button)\nend\n\n\n    for i = 23,23 do\n    local button = {id = (\"b\"..23), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=8/100, right=15/100}\n      table.insert(PWButtons, button)\nend\n    for i = 24,24 do   \n    local button = {id = (\"b\"..24), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=16/100, right=23/100}\n      table.insert(PWButtons, button)\nend\n    for i = 25,25 do   \n    local button = {id = (\"b\"..25), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=24/100, right=31/100}\n      table.insert(PWButtons, button)\nend\n    for i = 26,26 do   \n    local button = {id = (\"b\"..26), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=32/100, right=39/100}\n      table.insert(PWButtons, button)\nend\n    for i = 27,27 do   \n    local button = {id = (\"b\"..27), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=40/100, right=46/100}\n      table.insert(PWButtons, button)\nend\n    for i = 28,28 do   \n    local button = {id = (\"b\"..28), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=47/100, right=54/100}\n      table.insert(PWButtons, button)\nend\n    for i = 29,29 do   \n    local button = {id = (\"b\"..29), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=55/100, right=62/100}\n      table.insert(PWButtons, button)\nend\n    for i = 30,30 do   \n    local button = {id = (\"b\"..30), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=63/100, right=70/100}\n      table.insert(PWButtons, button)\nend\n    for i = 31,31 do   \n    local button = {id = (\"b\"..31), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=71/100, right=85/100}\n      table.insert(PWButtons, button)\nend\n\n\n    for i = 32,32 do   \n    local button = {id = (\"b\"..32), enabled=true, td=\"<td>\", top=88/100, bottom=98/100, left=30/100, right=59/100}\n      table.insert(PWButtons, button)\nend\n    for i = 33,33 do   \n    local button = {id = (\"b\"..33), enabled=true, td=\"<td>\", top=88/100, bottom=98/100, left=63/100, right=77/100}\n    table.insert(PWButtons, button)\nend\n      for i = 34,34 do\n   local button = {id = (\"b\"..34), enabled=true, td=\"<td>\", top=88/100, bottom=98/100, left=85/100, right=100/100}\n    table.insert(PWButtons, button)\nend\n    for i = 35,35 do   \n    local button = {id = (\"b\"..35), enabled=true, td=\"<td>\", top=90/100, bottom=100/100, left=1/100, right=18/100}\n    table.insert(PWButtons, button)\nend\n\nfunction evaluateButtons()\n  local selected = 0\n  \n  if #PWButtons >= 1 then\n\n         -- Set button styles\n       for i, button in ipairs(PWButtons) do\n            if button.left < PWMouseX and PWMouseX < button.right and button.top < PWMouseY and PWMouseY < button.bottom then\n                if PWMouseDown and PWButtonSelected == i then\n                end\n                selected = i\n            end\n            if not button.enabled then\n            end\n\n        end\n  end\n  return selected\nend\n\nfunction onButtonDown(buttonNo)\n  local button = PWButtons[buttonNo]    \n  if not button or not button.enabled then\n\treturn\n  end\nend\nfunction onButtonUp(buttonNo)\n  local button = PWButtons[buttonNo]    \n  if not button or not button.enabled then\n    return\n  end\n        \n\nfunction onClick(buttonNo)\n  local button = PWButtons[buttonNo]    \n  if not button or not button.enabled then\n    return\n  end\nend\n  if buttonNo == 1 then\n    keyb=keyb..\"q\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 2 then\n    keyb=keyb..\"w\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 3 then\n    keyb=keyb..\"e\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 4 then\n    keyb=keyb..\"r\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 5 then\n    keyb=keyb..\"t\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 6 then\n    keyb=keyb..\"y\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 7 then\n    keyb=keyb..\"u\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 8 then\n    keyb=keyb..\"i\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 9 then\n    keyb=keyb..\"o\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 10 then\n    keyb=keyb..\"p\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 11 then\n\n  elseif buttonNo == 12 then\n    keyb = \"\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 13 then\n    keyb=keyb..\"a\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 14 then\n    keyb=keyb..\"s\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 15 then\n    keyb=keyb..\"d\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 16 then\n    keyb=keyb..\"f\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 17 then\n    keyb=keyb..\"g\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 18 then\n    keyb=keyb..\"h\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 19 then\n    keyb=keyb..\"j\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 20 then\n    keyb=keyb..\"k\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 21 then\n    keyb=keyb..\"l\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 22 then\n    if keyb == password then\n    keyb=\"\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n    door.activate()\n    keyb=\"Access Granted\"\n    unit.setTimer(\"exit\",5)       \n    elseif keyb ~= password then \n    keyb=\"\"\n    keyb=\"Access DENIED\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n    unit.setTimer(\"exit\",1)\n    door.deactivate()\n    end\n  elseif buttonNo == 23 then\n    keyb=keyb..\"z\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 24 then\n    keyb=keyb..\"x\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 25 then\n    keyb=keyb..\"c\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 26 then\n    keyb=keyb..\"v\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 27 then\n    keyb=keyb..\"b\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 28 then\n    keyb=keyb..\"n\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 29 then\n    keyb=keyb..\"m\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 30 then\n    keyb=keyb..\".\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 31 then\n    startupnow = 1\n  elseif buttonNo == 32 then\n    keyb=keyb..\" \"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 33 then\n    startupnow = 1.2\n  elseif buttonNo == 34 then\n\n  elseif buttonNo == 35 then\n\n  end\nend\n\n\nif screen.getMouseState() == 1 then\n        mousecolclk = \"purple\"\n        else\n        mousecolclk = \"cyan\"\n        end\n\nif screen.getMouseState() == 1 and butselectclk1 == 1 then\n        butcolclk1 = \"purple\"\n        elseif screen.getMouseState() == 0 and butselectclk1 == 1 then\n        butcolclk1 = \"limegreen\"\n        butselectclk1 = 0 \n\nelseif screen.getMouseState() == 1 and butselectclk1 == 2 then\n        butcolclk2 = \"purple\"\n        elseif screen.getMouseState() == 0 and butselectclk1 == 2 then\n        butcolclk2 = \"limegreen\"\n        butselectclk2 = 0 \n        end\n    \n    \n  local page = [[\n<svg viewBox=\"0 0 1024 612\">\n<g>\n<title>background</title>\n<rect x=\"-1\" y=\"-1\" width=\"1026\" height=\"614\"/>\n<g display=\"none\">\n<rect width=\"100%\" height=\"100%\" fill=\"url(#gridpattern)\" stroke-width=\"0\"/>\n</g>\n</g>\n<g>\n<title>Layer 1</title>\n<rect x=\"7\" y=\"5\" width=\"1012\" height=\"290\" rx=\"20\" fill=\"#007f7f\" stroke=\"#0f0\" stroke-width=\"5\"/>\n\n<rect x=\"1\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"14.997276\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">q</text>\n<rect x=\"80\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"90\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">w</text>\n<rect x=\"160\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"178\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">e</text>\n<rect x=\"240\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"255\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">r</text>\n<rect x=\"320\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"337\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">t</text>\n<rect x=\"400\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"417\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">y</text>\n<rect x=\"480\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"496\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">u</text>\n<rect x=\"560\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"586\" y=\"361.00001\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">i</text>\n<rect x=\"640\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"654\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">o</text>\n<rect x=\"720\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"740\" y=\"360.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">p</text>\n<rect x=\"880\" y=\"306\" width=\"140\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"895\" y=\"350\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">CLEAR</text>\n<rect x=\"800\" y=\"306\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"802\" y=\"350\" cursor=\"move\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\"></text>\n<rect x=\"41\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"59\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">a</text>\n<rect x=\"121\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"136\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">s</text>\n<rect x=\"201\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"218\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">d</text>\n<rect x=\"281\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"298\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">f</text>\n<rect x=\"361\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"377\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">g</text>\n<rect x=\"441\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"455\" y=\"440.00001\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">h</text>\n<rect x=\"521\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"540\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">j</text>\n<rect x=\"601\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"619\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">k</text>\n<rect x=\"761\" y=\"385\" width=\"140\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"785\" y=\"430\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" font-style=\"italic\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">Enter</text>\n<rect x=\"681\" y=\"385\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"700\" y=\"439.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">l</text>\n<rect x=\"86\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"101\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">z</text>\n<rect x=\"166\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"183\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">x</text>\n<rect x=\"246\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"263\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">c</text>\n<rect x=\"326\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"342\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">v</text>\n<rect x=\"406\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"420\" y=\"521.00001\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">b</text>\n<rect x=\"486\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"500\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">n</text>\n<rect x=\"566\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"578\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">m</text>\n<rect x=\"646\" y=\"466\" width=\"70\" height=\"70\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n\n<rect x=\"306\" y=\"545\" width=\"300\" height=\"55\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<rect x=\"726\" y=\"466\" width=\"140\" height=\"70\" rx=\"10\" fill=\"#00bfbf\" stroke=\"#00ff00\" stroke-width=\"5\"/>\n<text x=\"750\" y=\"510\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">SHIFT</text>\n<rect x=\"650\" y=\"545\" width=\"140\" height=\"55\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"690\" y=\"585\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"28\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">?123</text>\n<rect x=\"880\" y=\"545\" width=\"140\" height=\"55\" rx=\"10\" fill=\"#56ffff\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<text x=\"882\" y=\"585\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"30\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\"></text>\n<text x=\"674\" y=\"520.999996\" fill=\"#bf0000\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"55\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">.</text>\n\n<text x=\"50\" y=\"280\" fill=\"#0000ff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"25\" font-style=\"italic\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">]]..keyb..[[</text>\n</g>\n\n\n<text stroke=\"null\" fill=\"]]..mousecolclk..[[\" stroke-width=\"10\" x=\"]]..(screen.getMouseX()*(1024)-35)..[[\" y=\"]]..(screen.getMouseY()*(612)+40)..[[\" id=\"svg_6\" font-size=\"100\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\" font-style=\"italic\">+</text>\n\n    </svg>]] \n    local buttonNo = evaluateButtons()\n    if PWMouseDown then\n      PWMouseX = screen.getMouseX()\n      PWMouseY = screen.getMouseY()\n      if buttonNo ~= PWButtonSelected or PWMouseX < 0.05 or PWMouseX > 0.95 or PWMouseY < 0.05 or PWMouseY > 0.95 then\n        if PWButtonSelected > 0 then\n          onButtonUp(PWButtonSelected)\n        end\n        PWButtonSelected = 0\n      end        \n    end\n\n\n\n    page = page .. [[</div></body></html>]]\n    screen.setHTML(page)\n\n\n\n\nelseif startupnow == 1.2 then    ----- emitter end\n               tablex.clear(PWButtons, button)\n      for i = 1,1 do\n   local button = {id = (\"b\"..1), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=1/100, right=6.5/100}\n    table.insert(PWButtons, button)\nend\n  for i = 2,2 do\n   local button = {id = (\"b\"..2), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=8/100, right=14/100}\n    table.insert(PWButtons, button)\nend\n    for i = 3,3 do\n    local button = {id = (\"b\"..3), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=15/100, right=22/100}\n      table.insert(PWButtons, button)\nend\n    for i = 4,4 do   \n    local button = {id = (\"b\"..4), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=23/100, right=30/100}\n      table.insert(PWButtons, button)\nend\n    for i = 5,5 do   \n    local button = {id = (\"b\"..5), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=31/100, right=38/100}\n      table.insert(PWButtons, button)\nend\n    for i = 6,6 do   \n    local button = {id = (\"b\"..6), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=39/100, right=46/100}\n      table.insert(PWButtons, button)\nend\n    for i = 7,7 do   \n    local button = {id = (\"b\"..7), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=47/100, right=53/100}\n      table.insert(PWButtons, button)\nend\n    for i = 8,8 do   \n    local button = {id = (\"b\"..8), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=54/100, right=61/100}\n      table.insert(PWButtons, button)\nend\n    for i = 9,9 do   \n    local button = {id = (\"b\"..9), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=62/100, right=69/100}\n      table.insert(PWButtons, button)\nend\n    for i = 10,10 do   \n    local button = {id = (\"b\"..10), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=70/100, right=77/100}\n      table.insert(PWButtons, button)\nend\n    for i = 11,11 do   \n    local button = {id = (\"b\"..11), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=78/100, right=85/100}\n      table.insert(PWButtons, button)\nend\n    for i = 12,12 do   \n    local button = {id = (\"b\"..12), enabled=true, td=\"<td>\", top=49/100, bottom=60/100, left=86/100, right=93/100}\n      table.insert(PWButtons, button)\nend\n\n\n\n    for i = 13,13 do   \n    local button = {id = (\"b\"..13), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=4/100, right=10/100}\n    table.insert(PWButtons, button)\nend\n      for i = 14,14 do\n   local button = {id = (\"b\"..14), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=11.5/100, right=18/100}\n    table.insert(PWButtons, button)\nend\n  for i = 15,15 do\n   local button = {id = (\"b\"..15), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=19/100, right=26/100}\n    table.insert(PWButtons, button)\nend\n    for i = 16,16 do\n    local button = {id = (\"b\"..16), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=27/100, right=34/100}\n      table.insert(PWButtons, button)\nend\n    for i = 17,17 do   \n    local button = {id = (\"b\"..17), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=35/100, right=42/100}\n      table.insert(PWButtons, button)\nend\n    for i = 18,18 do   \n    local button = {id = (\"b\"..18), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=43/100, right=50/100}\n      table.insert(PWButtons, button)\nend\n    for i = 19,19 do   \n    local button = {id = (\"b\"..19), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=51/100, right=58/100}\n      table.insert(PWButtons, button)\nend\n    for i = 20,20 do   \n    local button = {id = (\"b\"..20), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=59/100, right=65/100}\n      table.insert(PWButtons, button)\nend\n    for i = 21,21 do\n   local button = {id = (\"b\"..21), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=66.5/100, right=73/100}\n    table.insert(PWButtons, button)\nend\n  for i = 22,22 do\n   local button = {id = (\"b\"..22), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=74/100, right=82/100}\n    table.insert(PWButtons, button)\nend\n  for i = 23,23 do\n   local button = {id = (\"b\"..23), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=82.5/100, right=90/100}\n    table.insert(PWButtons, button)\nend\n  for i = 24,24 do\n   local button = {id = (\"b\"..24), enabled=true, td=\"<td>\", top=62/100, bottom=73/100, left=90/100, right=97/100}\n    table.insert(PWButtons, button)\nend\n\n\n    for i = 25,25 do\n    local button = {id = (\"b\"..23), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=8/100, right=15/100}\n      table.insert(PWButtons, button)\nend\n    for i = 26,26 do   \n    local button = {id = (\"b\"..26), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=16/100, right=23/100}\n      table.insert(PWButtons, button)\nend\n    for i = 27,27 do   \n    local button = {id = (\"b\"..27), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=24/100, right=31/100}\n      table.insert(PWButtons, button)\nend\n    for i = 28,28 do   \n    local button = {id = (\"b\"..28), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=32/100, right=39/100}\n      table.insert(PWButtons, button)\nend\n    for i = 29,29 do   \n    local button = {id = (\"b\"..29), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=40/100, right=46/100}\n      table.insert(PWButtons, button)\nend\n    for i = 30,30 do   \n    local button = {id = (\"b\"..30), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=47/100, right=54/100}\n      table.insert(PWButtons, button)\nend\n    for i = 31,31 do   \n    local button = {id = (\"b\"..31), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=55/100, right=62/100}\n      table.insert(PWButtons, button)\nend\n    for i = 32,32 do   \n    local button = {id = (\"b\"..32), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=63/100, right=70/100}\n      table.insert(PWButtons, button)\nend\n    for i = 33,33 do   \n    local button = {id = (\"b\"..33), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=71/100, right=78/100}\n      table.insert(PWButtons, button)\nend\n    for i = 34,34 do   \n    local button = {id = (\"b\"..34), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=79/100, right=86/100}\n      table.insert(PWButtons, button)\nend\n    for i = 35,35 do   \n    local button = {id = (\"b\"..35), enabled=true, td=\"<td>\", top=75/100, bottom=87/100, left=86.5/100, right=94/100}\n      table.insert(PWButtons, button)\nend\n\n    for i = 36,36 do   \n    local button = {id = (\"b\"..36), enabled=true, td=\"<td>\", top=88/100, bottom=98/100, left=30/100, right=59/100}\n      table.insert(PWButtons, button)\nend\n    for i = 37,37 do   \n    local button = {id = (\"b\"..37), enabled=true, td=\"<td>\", top=88/100, bottom=98/100, left=63/100, right=77/100}\n    table.insert(PWButtons, button)\nend\n      for i = 38,38 do\n   local button = {id = (\"b\"..38), enabled=true, td=\"<td>\", top=88/100, bottom=98/100, left=85/100, right=100/100}\n    table.insert(PWButtons, button)\nend\n    for i = 39,39 do   \n    local button = {id = (\"b\"..39), enabled=true, td=\"<td>\", top=90/100, bottom=100/100, left=1/100, right=18/100}\n    table.insert(PWButtons, button)\nend\nfunction evaluateButtons()\n  local selected = 0\n  \n  if #PWButtons >= 1 then\n\n\n         -- Set button styles\n       for i, button in ipairs(PWButtons) do\n            if button.left < PWMouseX and PWMouseX < button.right and button.top < PWMouseY and PWMouseY < button.bottom then\n                if PWMouseDown and PWButtonSelected == i then\n                end\n                selected = i\n            end\n            if not button.enabled then\n            end\n\n        end\n  end\n  return selected\nend\n\n\nfunction onButtonDown(buttonNo)\n  local button = PWButtons[buttonNo]    \n  if not button or not button.enabled then\n\treturn\n  end\nend\nfunction onButtonUp(buttonNo)\n  local button = PWButtons[buttonNo]    \n  if not button or not button.enabled then\n    return\n  end\n        \n\nfunction onClick(buttonNo)\n  local button = PWButtons[buttonNo]    \n  if not button or not button.enabled then\n    return\n  end\nend\n  if buttonNo == 1 then\n    keyb=keyb..\"1\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 2 then\n    keyb=keyb..\"2\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 3 then\n    keyb=keyb..\"3\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 4 then\n    keyb=keyb..\"4\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 5 then\n    keyb=keyb..\"5\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n\t\thint(1, 5)\n  elseif buttonNo == 6 then\n    keyb=keyb..\"6\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 7 then\n    keyb=keyb..\"7\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 8 then\n    keyb=keyb..\"8\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 9 then\n    keyb=keyb..\"9\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 10 then\n    keyb=keyb..\"0\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 11 then\n    keyb=keyb..\",\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 12 then\n    keyb=keyb..\"?\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 13 then\n    keyb=keyb..\"!\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 14 then\n    keyb=keyb..\"@\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 15 then\n    keyb=keyb..\"#\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 16 then\n    keyb=keyb..\"$\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 17 then\n    keyb=keyb..\"%\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 18 then\n    keyb=keyb..\"^\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 19 then\n    keyb=keyb..\"&\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 20 then\n    keyb=keyb..\"*\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 21 then\n    keyb=keyb..\"~\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 22 then\n    keyb=keyb..\";\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 23 then\n    keyb=keyb..\":\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 24 then\n    keyb=keyb..\"'\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 25 then\n    keyb=keyb..\"(\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 26 then\n    keyb=keyb..\")\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 27 then\n    keyb=keyb..\"[\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 28 then\n    keyb=keyb..\"]\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 29 then\n    keyb=keyb..\"{\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 30 then\n    keyb=keyb..\"}\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 31 then\n    keyb=keyb..\"<\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 32 then\n    keyb=keyb..\">\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 33 then\n    keyb=keyb..\"+\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 34 then\n    keyb=\"-\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 35 then\n    keyb=keyb..\"=\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 36 then\n    keyb=keyb..\" \"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 37 then\n    startupnow = 1\n  elseif buttonNo == 38 then\n    keyb=\"\"\n    screen.setText(30,10,7,keyb)\n    consta=string.len(keyb)\n  elseif buttonNo == 39 then\n\n\n  end\nend\n\nif screen.getMouseState() == 1 then\n        mousecolclk = \"purple\"\n        else\n        mousecolclk = \"cyan\"\n        end\n\nif screen.getMouseState() == 1 and butselectclk1 == 1 then\n        butcolclk1 = \"purple\"\n        elseif screen.getMouseState() == 0 and butselectclk1 == 1 then\n        butcolclk1 = \"limegreen\"\n        butselectclk1 = 0 \n\nelseif screen.getMouseState() == 1 and butselectclk1 == 2 then\n        butcolclk2 = \"purple\"\n        elseif screen.getMouseState() == 0 and butselectclk1 == 2 then\n        butcolclk2 = \"limegreen\"\n        butselectclk2 = 0 \n        end\n    \n    \n  local page = [[\n<svg viewBox=\"0 0 1024 612\">\n<g>\n<title>background</title>\n<rect x=\"-1\" y=\"-1\" width=\"1026\" height=\"614\"/>\n<g display=\"none\">\n<rect width=\"100%\" height=\"100%\" fill=\"url(#gridpattern)\" stroke-width=\"0\"/>\n</g>\n</g>\n<g>\n<title>Layer 1</title>\n<rect x=\"7\" y=\"5\" width=\"1012\" height=\"290\" rx=\"20\" fill=\"#007f7f\" stroke=\"#0f0\" stroke-width=\"5\"/>\n<g fill=\"#ffff00\" fill-opacity=\"null\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"20\" font-weight=\"bold\" stroke=\"#00ff00\" stroke-width=\"0\">\n\n<text x=\"50\" y=\"280\" fill=\"#0000ff\" font-family=\"Helvetica, Arial, sans-serif\" font-size=\"25\" font-style=\"italic\" font-weight=\"bold\" stroke-width=\"0\" xml:space=\"preserve\">]]..keyb..[[</text>\n</g>\n  <g id=\"svg_47\">\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"1\" y=\"305.999996\" width=\"70\" height=\"70\" id=\"svg_1\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"20\" y=\"360.999996\" id=\"svg_3\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">1</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"80\" y=\"305.999996\" width=\"70\" height=\"70\" id=\"svg_8\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"100\" y=\"360.999996\" id=\"svg_9\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">2</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"160\" y=\"305.999996\" width=\"70\" height=\"70\" id=\"svg_11\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"180\" y=\"360.999996\" id=\"svg_12\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">3</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"240\" y=\"305.999996\" width=\"70\" height=\"70\" id=\"svg_14\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"260\" y=\"360.999996\" id=\"svg_15\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">4</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"320\" y=\"305.999996\" width=\"70\" height=\"70\" id=\"svg_17\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"340\" y=\"360.999996\" id=\"svg_18\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">5</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"400\" y=\"305.999996\" width=\"70\" height=\"70\" id=\"svg_20\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"420\" y=\"360.999996\" id=\"svg_21\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">6</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"480\" y=\"305.999996\" width=\"70\" height=\"70\" id=\"svg_23\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"500\" y=\"360.999996\" id=\"svg_24\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">7</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"560\" y=\"306.00001\" width=\"70\" height=\"70\" id=\"svg_26\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"580\" y=\"361.00001\" id=\"svg_27\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">8</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"640\" y=\"305.999996\" width=\"70\" height=\"70\" id=\"svg_29\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"660\" y=\"360.999996\" id=\"svg_30\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">9</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"720\" y=\"305.999996\" width=\"70\" height=\"70\" id=\"svg_32\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"740\" y=\"360.999996\" id=\"svg_33\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">0</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"800\" y=\"305.999996\" width=\"70\" height=\"70\" id=\"svg_35\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"825\" y=\"350\" id=\"svg_36\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">,</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"880\" y=\"305.999996\" width=\"70\" height=\"70\" id=\"svg_38\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"900\" y=\"360\" id=\"svg_39\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">?</text>\n  </g>\n  <g id=\"svg_108\">\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"41\" y=\"384.999996\" width=\"70\" height=\"70\" id=\"svg_10\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"65\" y=\"439.999996\" id=\"svg_13\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">!</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"121\" y=\"384.999996\" width=\"70\" height=\"70\" id=\"svg_16\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"127\" y=\"439.999996\" id=\"svg_19\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">@</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"201\" y=\"384.999996\" width=\"70\" height=\"70\" id=\"svg_22\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"220\" y=\"439.999996\" id=\"svg_25\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">#</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"281\" y=\"384.999996\" width=\"70\" height=\"70\" id=\"svg_28\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"300\" y=\"439.999996\" id=\"svg_31\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">$</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"361\" y=\"384.999996\" width=\"70\" height=\"70\" id=\"svg_34\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"371\" y=\"439.999996\" id=\"svg_37\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">%</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"441\" y=\"385.00001\" width=\"70\" height=\"70\" id=\"svg_40\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"460\" y=\"440.00001\" id=\"svg_41\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">^</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"521\" y=\"384.999996\" width=\"70\" height=\"70\" id=\"svg_42\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"535\" y=\"439.999996\" id=\"svg_43\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">&amp;</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"601\" y=\"384.999996\" width=\"70\" height=\"70\" id=\"svg_44\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"625\" y=\"439.999996\" id=\"svg_45\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">*</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"681\" y=\"384.999996\" width=\"70\" height=\"70\" id=\"svg_48\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"700\" y=\"439.999996\" id=\"svg_49\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">~</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"761\" y=\"384.999996\" width=\"70\" height=\"70\" id=\"svg_118\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"785\" y=\"439.999996\" id=\"svg_119\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">;</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"841\" y=\"384.999996\" width=\"70\" height=\"70\" id=\"svg_121\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"865\" y=\"439.999996\" id=\"svg_122\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">:</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"921\" y=\"384.999996\" width=\"70\" height=\"70\" id=\"svg_127\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"950\" y=\"439.999996\" id=\"svg_128\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">'</text>\n  </g>\n  <g id=\"svg_112\">\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"86\" y=\"465.999996\" width=\"70\" height=\"70\" id=\"svg_52\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"110\" y=\"520.999996\" id=\"svg_53\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">(</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"166\" y=\"465.999996\" width=\"70\" height=\"70\" id=\"svg_54\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"195\" y=\"520.999996\" id=\"svg_55\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">)</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"246\" y=\"465.999996\" width=\"70\" height=\"70\" id=\"svg_56\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"270\" y=\"520.999996\" id=\"svg_57\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">[</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"326\" y=\"465.999996\" width=\"70\" height=\"70\" id=\"svg_58\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"350\" y=\"520.999996\" id=\"svg_59\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">]</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"406\" y=\"466.00001\" width=\"70\" height=\"70\" id=\"svg_60\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"430\" y=\"521.00001\" id=\"svg_61\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">{</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"486\" y=\"465.999996\" width=\"70\" height=\"70\" id=\"svg_62\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"515\" y=\"520.999996\" id=\"svg_63\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">}</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"566\" y=\"465.999996\" width=\"70\" height=\"70\" id=\"svg_64\" rx=\"10\"/>\n   <text style=\"cursor: move;\" fill=\"#bf0000\" stroke-width=\"0\" x=\"585\" y=\"520.999996\" id=\"svg_65\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">&lt;</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"646\" y=\"465.999996\" width=\"70\" height=\"70\" id=\"svg_68\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"656\" y=\"520.999996\" id=\"svg_69\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\"/>\n   <text style=\"cursor: move;\" fill=\"#bf0000\" stroke-width=\"0\" x=\"665\" y=\"520.999996\" id=\"svg_78\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">&gt;</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"726\" y=\"465.999996\" width=\"70\" height=\"70\" id=\"svg_66\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"736\" y=\"520.999996\" id=\"svg_67\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"755\" y=\"520.999996\" id=\"svg_107\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">+</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"806\" y=\"465.999996\" width=\"70\" height=\"70\" id=\"svg_109\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"816\" y=\"520.999996\" id=\"svg_110\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"830\" y=\"520.999996\" id=\"svg_111\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">-</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"886\" y=\"465.999996\" width=\"70\" height=\"70\" id=\"svg_113\" rx=\"10\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"896\" y=\"520.999996\" id=\"svg_114\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\"/>\n   <text fill=\"#bf0000\" stroke-width=\"0\" x=\"908\" y=\"520.999996\" id=\"svg_115\" font-size=\"55\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">=</text>\n   <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"306\" y=\"545\" width=\"300\" height=\"55\" id=\"svg_71\" rx=\"10\"/>\n  <rect fill=\"#00bfbf\" stroke=\"#ffff00\" stroke-width=\"5\" x=\"650\" y=\"544.999996\" width=\"140\" height=\"55\" id=\"svg_73\" rx=\"10\"/>\n  <text style=\"cursor: move;\" fill=\"#ffff00\" stroke-width=\"0\" x=\"690\" y=\"585\" id=\"svg_74\" font-size=\"28\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">?123</text>\n  <rect fill=\"#56ffff\" stroke=\"#00ff00\" stroke-width=\"5\" x=\"880\" y=\"545\" width=\"140\" height=\"55\" id=\"svg_76\" rx=\"10\"/>\n  <text fill=\"#bf0000\" stroke-width=\"0\" x=\"900\" y=\"585\" id=\"svg_77\" font-size=\"30\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\">CLEAR</text>\n        </g>\n\n<text stroke=\"null\" fill=\"]]..mousecolclk..[[\" stroke-width=\"10\" x=\"]]..(screen.getMouseX()*(1024)-35)..[[\" y=\"]]..(screen.getMouseY()*(612)+40)..[[\" id=\"svg_6\" font-size=\"100\" font-family=\"Helvetica, Arial, sans-serif\" text-anchor=\"start\" xml:space=\"preserve\" font-weight=\"bold\" font-style=\"italic\">+</text>\n\n    </svg>]] \n    local buttonNo = evaluateButtons()\n    if PWMouseDown then\n      PWMouseX = screen.getMouseX()\n      PWMouseY = screen.getMouseY()\n      if buttonNo ~= PWButtonSelected or PWMouseX < 0.05 or PWMouseX > 0.95 or PWMouseY < 0.05 or PWMouseY > 0.95 then\n        if PWButtonSelected > 0 then\n          onButtonUp(PWButtonSelected)\n        end\n        PWButtonSelected = 0\n      end        \n    end\n\n\n\n    page = page .. [[</div></body></html>]]\n    screen.setHTML(page)\n       \nend\nend\n\n\n\n\n\n\n\n\n","filter":{"args":[],"signature":"start()","slotKey":"-2"},"key":"3"},{"code":"updateScreen()\n","filter":{"args":[],"signature":"update()","slotKey":"-2"},"key":"4"},{"code":"page = [[<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1024 600\"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:red;}</style></defs><rect class=\"cls-1\" width=\"1024\" height=\"600\"/><rect class=\"cls-2\" width=\"1024\" height=\"281\"/><path class=\"cls-1\" d=\"M164.05,122.19V50.61h36.87q10.25,0,15.67,1.76a16.65,16.65,0,0,1,8.74,6.52,19.78,19.78,0,0,1,3.32,11.59,19.14,19.14,0,0,1-9.53,17.29,26.73,26.73,0,0,1-7.76,2.83,22,22,0,0,1,5.75,2.64A22,22,0,0,1,220.65,97a28.24,28.24,0,0,1,3.1,4.45l10.71,20.74h-25l-11.83-21.87c-1.49-2.83-2.83-4.67-4-5.52a9.24,9.24,0,0,0-5.42-1.66h-1.95v29.05Zm22.22-42.57h9.32a33.44,33.44,0,0,0,5.86-1A5.81,5.81,0,0,0,205,76.39a7.26,7.26,0,0,0-.8-9.47Q202,65.06,196,65.06h-9.71Z\"/><path class=\"cls-1\" d=\"M241.49,50.61h59.28V65.89H263.66V77.27h34.42v14.6H263.66V106h38.18v16.21H241.49Z\"/><path class=\"cls-1\" d=\"M309.9,98.51,331,97.19a16,16,0,0,0,2.78,7.82q3.42,4.33,9.76,4.34,4.74,0,7.3-2.22a6.66,6.66,0,0,0,2.57-5.15,6.58,6.58,0,0,0-2.44-5q-2.44-2.2-11.33-4.15Q325,89.58,318.84,84.16a17.48,17.48,0,0,1-6.25-13.82,18.79,18.79,0,0,1,3.19-10.43,21.25,21.25,0,0,1,9.62-7.71q6.42-2.81,17.61-2.81,13.71,0,20.92,5.1t8.57,16.24L351.65,72c-.56-3.22-1.72-5.57-3.49-7a11.21,11.21,0,0,0-7.35-2.2q-3.85,0-5.81,1.64a5,5,0,0,0-2,4,4,4,0,0,0,1.62,3.07q1.56,1.43,7.42,2.64,14.51,3.12,20.77,6.32A21.84,21.84,0,0,1,372,88.31a20.13,20.13,0,0,1,2.85,10.59A22.72,22.72,0,0,1,371,111.6a23.81,23.81,0,0,1-10.64,8.81q-6.84,3-17.24,3-18.25,0-25.29-7A27.7,27.7,0,0,1,309.9,98.51Z\"/><path class=\"cls-1\" d=\"M381,50.61h67.23V68.29H425.62v53.9H403.5V68.29H381Z\"/><path class=\"cls-1\" d=\"M458.48,122.19V50.61h36.87q10.26,0,15.67,1.76a16.61,16.61,0,0,1,8.74,6.52,19.71,19.71,0,0,1,3.32,11.59,19.16,19.16,0,0,1-9.52,17.29,26.81,26.81,0,0,1-7.77,2.83,22.21,22.21,0,0,1,5.76,2.64A22.46,22.46,0,0,1,515.08,97a28.24,28.24,0,0,1,3.1,4.45l10.71,20.74h-25l-11.82-21.87c-1.5-2.83-2.83-4.67-4-5.52a9.24,9.24,0,0,0-5.42-1.66H480.7v29.05ZM480.7,79.62H490a33.58,33.58,0,0,0,5.86-1,5.84,5.84,0,0,0,3.59-2.25,7.25,7.25,0,0,0-.81-9.47c-1.46-1.24-4.22-1.86-8.25-1.86H480.7Z\"/><path class=\"cls-1\" d=\"M536.85,50.61H559v71.58H536.85Z\"/><path class=\"cls-1\" d=\"M622.55,92.9l19.38,5.86a35.76,35.76,0,0,1-6.15,13.62,26.72,26.72,0,0,1-10.43,8.25q-6.23,2.79-15.84,2.78-11.67,0-19.07-3.39t-12.77-11.93q-5.37-8.53-5.37-21.86,0-17.76,9.45-27.3t26.73-9.54q13.53,0,21.27,5.47t11.5,16.8L621.72,76a16.85,16.85,0,0,0-2.15-4.78A12.68,12.68,0,0,0,615,67.31,14,14,0,0,0,597.5,72q-3,4.49-3,14.09,0,11.91,3.61,16.32t10.16,4.41q6.35,0,9.59-3.56T622.55,92.9Z\"/><path class=\"cls-1\" d=\"M647.64,50.61h67.24V68.29H692.32v53.9H670.2V68.29H647.64Z\"/><path class=\"cls-1\" d=\"M724.84,50.61h59.28V65.89H747V77.27h34.42v14.6H747V106h38.18v16.21H724.84Z\"/><path class=\"cls-1\" d=\"M797.4,50.61h32.86q9.72,0,15.7,2.64a25.56,25.56,0,0,1,9.89,7.57,31.3,31.3,0,0,1,5.66,11.47,53.35,53.35,0,0,1,1.76,13.87q0,11.48-2.61,17.8a29.51,29.51,0,0,1-7.25,10.59,23.69,23.69,0,0,1-10,5.69,51.48,51.48,0,0,1-13.19,2H797.4Zm22.12,16.21v39.11h5.42q6.93,0,9.86-1.53A10.39,10.39,0,0,0,839.39,99q1.67-3.83,1.66-12.42,0-11.38-3.71-15.58T825,66.82Z\"/><path class=\"cls-1\" d=\"M410.55,230.38H385.44L382,242.19H359.36l26.91-71.58h24.12l26.9,71.58H414.13ZM406,214.9l-7.9-25.73-7.82,25.73Z\"/><path class=\"cls-1\" d=\"M444.62,242.19V170.61h36.86q10.26,0,15.68,1.76a16.69,16.69,0,0,1,8.74,6.52,20.21,20.21,0,0,1-6.21,28.88,26.81,26.81,0,0,1-7.77,2.83,21.89,21.89,0,0,1,5.76,2.64,22.82,22.82,0,0,1,3.54,3.76,29,29,0,0,1,3.1,4.45L515,242.19H490l-11.82-21.87q-2.25-4.24-4-5.52a9.26,9.26,0,0,0-5.42-1.66h-2v29.05Zm22.21-42.57h9.33a33.58,33.58,0,0,0,5.86-1,5.84,5.84,0,0,0,3.59-2.25,7.25,7.25,0,0,0-.81-9.47q-2.19-1.86-8.25-1.86h-9.72Z\"/><path class=\"cls-1\" d=\"M522.06,170.61h59.28v15.28H544.23v11.38h34.42v14.6H544.23V226h38.18v16.21H522.06Z\"/><path class=\"cls-1\" d=\"M638.33,230.38H613.22l-3.49,11.81H587.15l26.9-71.58h24.13l26.9,71.58H641.91Zm-4.59-15.48-7.9-25.73L618,214.9Z\"/><path d=\"M77.59,318.57H94.11l21.56,31.68V318.57h16.68v57.27H115.67L94.23,344.4v31.44H77.59Z\"/><path d=\"M141.88,347.25q0-14,7.82-21.84t21.75-7.81q14.3,0,22,7.67t7.74,21.51q0,10-3.38,16.46a24,24,0,0,1-9.77,10q-6.37,3.57-15.91,3.58-9.69,0-16-3.09A24.13,24.13,0,0,1,145.83,364Q141.89,357.29,141.88,347.25Zm17.7.07q0,8.67,3.22,12.46a10.9,10.9,0,0,0,8.77,3.79q5.7,0,8.83-3.71t3.12-13.32q0-8.09-3.26-11.81a11.13,11.13,0,0,0-8.85-3.73,10.76,10.76,0,0,0-8.59,3.78Q159.58,338.58,159.58,347.32Z\"/><path d=\"M274.7,318.57h17.65v34.12a28.82,28.82,0,0,1-1.58,9.58,20.77,20.77,0,0,1-5,7.89,19.8,19.8,0,0,1-7.09,4.74,35.58,35.58,0,0,1-12.38,1.92,78.23,78.23,0,0,1-9.13-.59,23.88,23.88,0,0,1-8.26-2.32,20.74,20.74,0,0,1-6.07-4.94,18.05,18.05,0,0,1-3.77-6.6,34.3,34.3,0,0,1-1.64-9.68V318.57h17.66V353.5a10,10,0,0,0,2.59,7.32,11.18,11.18,0,0,0,14.38,0q2.59-2.6,2.6-7.36Z\"/><path d=\"M304.19,318.57h16.52l21.56,31.68V318.57H359v57.27H342.27L320.83,344.4v31.44H304.19Z\"/><path d=\"M405.14,366.39H385.05l-2.8,9.45H364.19l21.52-57.27H405l21.52,57.27H408ZM401.47,354l-6.33-20.58L388.89,354Z\"/><path d=\"M466.69,318.57h17.65v34.12a28.57,28.57,0,0,1-1.58,9.58,20.65,20.65,0,0,1-5,7.89,19.8,19.8,0,0,1-7.09,4.74,35.54,35.54,0,0,1-12.38,1.92,77.93,77.93,0,0,1-9.12-.59,23.75,23.75,0,0,1-8.26-2.32,20.78,20.78,0,0,1-6.08-4.94,18.2,18.2,0,0,1-3.77-6.6,34.3,34.3,0,0,1-1.64-9.68V318.57h17.66V353.5a10,10,0,0,0,2.59,7.32,11.18,11.18,0,0,0,14.38,0q2.6-2.6,2.6-7.36Z\"/><path d=\"M492,318.57h53.79v14.14H527.78v43.13H510.09V332.71H492Z\"/><path d=\"M553.91,318.57h17.7v20H591v-20h17.77v57.27H591V352.67H571.61v23.17h-17.7Z\"/><path d=\"M618.25,347.25q0-14,7.81-21.84t21.76-7.81q14.29,0,22,7.67t7.74,21.51q0,10-3.38,16.46a24.08,24.08,0,0,1-9.77,10q-6.39,3.57-15.92,3.58-9.69,0-16-3.09A24.13,24.13,0,0,1,622.2,364Q618.24,357.29,618.25,347.25Zm17.7.07q0,8.67,3.22,12.46a10.9,10.9,0,0,0,8.77,3.79q5.7,0,8.83-3.71t3.12-13.32q0-8.09-3.26-11.81a11.16,11.16,0,0,0-8.85-3.73,10.75,10.75,0,0,0-8.59,3.78Q635.95,338.58,636,347.32Z\"/><path d=\"M687.35,375.84V318.57h29.49q8.2,0,12.54,1.41a13.46,13.46,0,0,1,7,5.21,16.18,16.18,0,0,1-5,23.11,21.45,21.45,0,0,1-6.21,2.27,17.31,17.31,0,0,1,4.6,2.11,17.56,17.56,0,0,1,2.83,3,22.32,22.32,0,0,1,2.48,3.56l8.57,16.59h-20l-9.46-17.5a13.35,13.35,0,0,0-3.21-4.42,7.43,7.43,0,0,0-4.33-1.32h-1.56v23.24Zm17.78-34.06h7.46a26.65,26.65,0,0,0,4.68-.78,4.69,4.69,0,0,0,2.87-1.8,5.79,5.79,0,0,0-.64-7.58q-1.75-1.49-6.6-1.48h-7.77Z\"/><path d=\"M750.05,318.57h17.73v57.27H750.05Z\"/><path d=\"M779,318.57h50.08V330L797,363.53h33.32v12.31H776V364l31.8-33.16H779Z\"/><path d=\"M838.21,318.57h47.42V330.8H856v9.1h27.53v11.68H856v11.29h30.54v13H838.21Z\"/><path d=\"M896.26,318.57h26.29q7.77,0,12.56,2.11a20.52,20.52,0,0,1,7.91,6.06,25.15,25.15,0,0,1,4.53,9.18A42.44,42.44,0,0,1,949,347q0,9.18-2.09,14.24a23.5,23.5,0,0,1-5.8,8.48,19,19,0,0,1-8,4.55,41.07,41.07,0,0,1-10.54,1.56H896.26Zm17.69,13v31.29h4.34q5.55,0,7.89-1.23a8.31,8.31,0,0,0,3.67-4.3q1.33-3.06,1.33-9.94,0-9.11-3-12.46t-9.84-3.36Z\"/><path d=\"M244.48,414.57h29.41q9.62,0,14.4,4.57t4.78,13q0,8.67-5.21,13.56t-15.92,4.88h-9.69v21.25H244.48ZM262.25,439h4.34q5.12,0,7.19-1.78a5.72,5.72,0,0,0,2.07-4.55,6.35,6.35,0,0,0-1.8-4.57q-1.8-1.87-6.76-1.88h-5Z\"/><path d=\"M302.29,414.57h47.42V426.8H320v9.1h27.54v11.68H320v11.29h30.54v13H302.29Z\"/><path d=\"M360.34,471.84V414.57h29.49q8.21,0,12.54,1.41a13.4,13.4,0,0,1,7,5.21,16.17,16.17,0,0,1-5,23.11,21.41,21.41,0,0,1-6.22,2.27,17.25,17.25,0,0,1,4.61,2.11,18,18,0,0,1,2.83,3,22.32,22.32,0,0,1,2.48,3.56l8.57,16.59h-20l-9.46-17.5a13.22,13.22,0,0,0-3.2-4.42,7.43,7.43,0,0,0-4.33-1.32h-1.57v23.24Zm17.77-34.06h7.46a26.71,26.71,0,0,0,4.69-.78,4.72,4.72,0,0,0,2.87-1.8,5.79,5.79,0,0,0-.64-7.58q-1.75-1.49-6.6-1.48h-7.78Z\"/><path d=\"M419.25,452.89l16.83-1.05a12.9,12.9,0,0,0,2.23,6.25,9.35,9.35,0,0,0,7.81,3.48,8.67,8.67,0,0,0,5.84-1.78,5.32,5.32,0,0,0,2.05-4.12,5.26,5.26,0,0,0-1.95-4q-1.95-1.76-9.06-3.32-11.64-2.61-16.61-6.95a14,14,0,0,1-5-11.06A15.08,15.08,0,0,1,424,422a17,17,0,0,1,7.7-6.17q5.13-2.23,14.08-2.24,11,0,16.74,4.08t6.85,13l-16.68,1a7.79,7.79,0,0,0-8.67-7.38,7.14,7.14,0,0,0-4.65,1.31,4,4,0,0,0-1.56,3.18,3.16,3.16,0,0,0,1.29,2.46q1.24,1.14,5.94,2.11,11.6,2.51,16.62,5.06a17.42,17.42,0,0,1,7.3,6.35,16,16,0,0,1,2.29,8.48,18.16,18.16,0,0,1-3.05,10.15,19.06,19.06,0,0,1-8.51,7.05,34.47,34.47,0,0,1-13.79,2.41q-14.61,0-20.24-5.63A22.17,22.17,0,0,1,419.25,452.89Z\"/><path d=\"M477.88,443.25q0-14,7.81-21.84t21.76-7.81q14.3,0,22,7.67t7.73,21.51q0,10-3.37,16.46a24.08,24.08,0,0,1-9.77,10q-6.39,3.57-15.92,3.58-9.69,0-16-3.09a24.1,24.1,0,0,1-10.3-9.77Q477.88,453.29,477.88,443.25Zm17.69.07q0,8.67,3.23,12.46a10.9,10.9,0,0,0,8.77,3.79q5.7,0,8.82-3.71t3.13-13.32q0-8.09-3.26-11.81a11.16,11.16,0,0,0-8.85-3.73,10.75,10.75,0,0,0-8.59,3.78Q495.56,434.58,495.57,443.32Z\"/><path d=\"M546.86,414.57h16.53L585,446.25V414.57h16.68v57.27H585L563.5,440.4v31.44H546.86Z\"/><path d=\"M613.5,414.57H630l21.56,31.68V414.57h16.68v57.27H651.59L630.14,440.4v31.44H613.5Z\"/><path d=\"M680,414.57h47.42V426.8H697.72v9.1h27.54v11.68H697.72v11.29h30.55v13H680Z\"/><path d=\"M737.8,414.57h17.7v43.17h27.61v14.1H737.8Z\"/><path d=\"M58.11,510.57H91.24q8.28,0,12.71,4.1a13.28,13.28,0,0,1,4.44,10.16,12.8,12.8,0,0,1-3.17,8.71,14,14,0,0,1-6.17,3.83q6.18,1.49,9.08,5.1a14,14,0,0,1,2.91,9.08,15.62,15.62,0,0,1-2.07,8,15.26,15.26,0,0,1-5.66,5.62,18.73,18.73,0,0,1-6.72,1.88,77.57,77.57,0,0,1-7.93.78H58.11ZM76,533h7.7q4.14,0,5.76-1.42A5.2,5.2,0,0,0,91,527.49a4.91,4.91,0,0,0-1.62-3.91q-1.62-1.41-5.64-1.41H76Zm0,22.5h9c3.05,0,5.19-.54,6.44-1.62a5.46,5.46,0,0,0,1.88-4.35,5,5,0,0,0-1.86-4.08q-1.85-1.54-6.5-1.55H76Z\"/><path d=\"M120.26,510.57h47.42V522.8H138v9.1h27.54v11.68H138v11.29h30.54v13H120.26Z\"/><path d=\"M172.29,510.57H192l11.54,19.32,11.56-19.32H234.6l-22.27,33.28v24H194.6v-24Z\"/><path d=\"M233.27,539.25q0-14,7.81-21.84t21.76-7.81q14.3,0,22,7.67t7.74,21.51q0,10-3.38,16.46a24.08,24.08,0,0,1-9.77,10q-6.39,3.57-15.92,3.58-9.69,0-16-3.09a24.15,24.15,0,0,1-10.3-9.77Q233.27,549.29,233.27,539.25Zm17.69.07q0,8.67,3.23,12.46a10.9,10.9,0,0,0,8.77,3.79q5.7,0,8.83-3.71t3.12-13.32q0-8.09-3.26-11.81A11.16,11.16,0,0,0,262.8,523a10.75,10.75,0,0,0-8.59,3.78Q251,530.57,251,539.32Z\"/><path d=\"M302.25,510.57h16.53l21.56,31.68V510.57H357v57.27H340.34L318.89,536.4v31.44H302.25Z\"/><path d=\"M369,510.57H395.3q7.77,0,12.56,2.11a20.44,20.44,0,0,1,7.91,6.06,25.15,25.15,0,0,1,4.53,9.18A42.44,42.44,0,0,1,421.71,539q0,9.18-2.09,14.24a23.75,23.75,0,0,1-5.8,8.48,19.1,19.1,0,0,1-8,4.55,41.14,41.14,0,0,1-10.55,1.56H369Zm17.7,13v31.29H391q5.55,0,7.89-1.23a8.33,8.33,0,0,0,3.68-4.3q1.32-3.06,1.32-9.94,0-9.11-3-12.46c-2-2.24-5.26-3.36-9.84-3.36Z\"/><path d=\"M453.66,510.57h53.79v14.14H489.4v43.13H471.71V524.71h-18Z\"/><path d=\"M515.54,510.57h17.69v20h19.34v-20h17.77v57.27H552.57V544.67H533.23v23.17H515.54Z\"/><path d=\"M582.8,510.57h17.74v57.27H582.8Z\"/><path d=\"M610.14,548.89l16.84-1a12.8,12.8,0,0,0,2.23,6.25,9.34,9.34,0,0,0,7.81,3.48,8.69,8.69,0,0,0,5.84-1.78,5.32,5.32,0,0,0,2-4.12,5.26,5.26,0,0,0-1.95-4q-2-1.75-9.07-3.32-11.64-2.61-16.6-7a14,14,0,0,1-5-11.06,15.08,15.08,0,0,1,2.56-8.34,17,17,0,0,1,7.7-6.17q5.13-2.23,14.08-2.24,11,0,16.74,4.08t6.85,13l-16.68,1a7.79,7.79,0,0,0-8.67-7.38,7.1,7.1,0,0,0-4.65,1.31,4,4,0,0,0-1.56,3.18,3.16,3.16,0,0,0,1.29,2.46q1.24,1.14,5.94,2.11,11.6,2.5,16.62,5.06a17.48,17.48,0,0,1,7.3,6.35,16,16,0,0,1,2.29,8.48,18.16,18.16,0,0,1-3.05,10.15,19.06,19.06,0,0,1-8.51,7,34.47,34.47,0,0,1-13.79,2.41q-14.61,0-20.24-5.63A22.23,22.23,0,0,1,610.14,548.89Z\"/><path d=\"M697.61,510.57H727q9.62,0,14.39,4.57t4.79,13q0,8.67-5.22,13.56t-15.91,4.88h-9.69v21.25H697.61ZM715.38,535h4.33c3.42,0,5.81-.59,7.19-1.78a5.72,5.72,0,0,0,2.07-4.55,6.38,6.38,0,0,0-1.79-4.57c-1.2-1.25-3.46-1.88-6.76-1.88h-5Z\"/><path d=\"M753.23,539.25q0-14,7.81-21.84t21.76-7.81q14.3,0,22,7.67t7.74,21.51q0,10-3.38,16.46a24.08,24.08,0,0,1-9.77,10q-6.39,3.57-15.92,3.58-9.69,0-16-3.09A24.13,24.13,0,0,1,757.18,556Q753.22,549.29,753.23,539.25Zm17.7.07q0,8.67,3.22,12.46a10.9,10.9,0,0,0,8.77,3.79q5.7,0,8.83-3.71t3.12-13.32q0-8.09-3.26-11.81a11.15,11.15,0,0,0-8.85-3.73,10.75,10.75,0,0,0-8.59,3.78Q770.93,530.57,770.93,539.32Z\"/><path d=\"M822.8,510.57h17.74v57.27H822.8Z\"/><path d=\"M853.35,510.57h16.52l21.56,31.68V510.57h16.68v57.27H891.43L870,536.4v31.44H853.35Z\"/><path d=\"M915.85,510.57h53.79v14.14h-18v43.13H933.9V524.71h-18Z\"/></svg>]]\nscreen.setHTML(page)\ndoor.deactivate()","filter":{"args":[],"signature":"stop()","slotKey":"-2"},"key":"5"}],"methods":[],"events":[]}

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...