{
  "draw2d": [
    {
      "type": "shape_designer.figure.ExtPolygon",
      "id": "6e834d54-6700-ad9b-ab50-0faefeaea483",
      "x": 7987.5,
      "y": 7980,
      "width": 25,
      "height": 40,
      "alpha": 1,
      "selectable": true,
      "draggable": true,
      "angle": 0,
      "userData": {
        "baseClass": "draw2d.SetFigure",
        "code": "/**\n * Generated Code for the Draw2D touch HTML5 lib.\n * File will be generated if you save the *.shape file.\n *\n * by 'Draw2D Shape Designer'\n *\n * Custom JS code to tweak the standard behaviour of the generated\n * shape. add your custom code and event handler here.\n *\n * Looks disconcerting - extending my own class. But this is a good method to\n * merge basic code and override them with custom methods.\n */\ntestShape = testShape.extend({\n\n    init: function(attr, setter, getter){\n         this._super(attr, setter, getter);\n\n        this.attr({resizeable:false});\n        this.installEditPolicy(new draw2d.policy.figure.AntSelectionFeedbackPolicy());\n    },\n\n    /**\n     *  Called by the simulator for every calculation\n     *  loop\n     *  @param {Object} context context where objects can store or handover global variables to other objects.\n     *  @required\n     **/\n    calculate:function( context)\n    {\n        var i1 = this.getInputPort(0);\n        var i2 = this.getInputPort(1);\n        var o1 = this.getOutputPort(0);\n        \n        o1.setValue(i1.getValue() || i2.getValue());\n    },\n\n\n    /**\n     *  Called if the simulation mode is starting\n     *  @required\n     **/\n    onStart:function(context)\n    {\n    },\n\n    /**\n     *  Called if the simulation mode is stopping\n     *  @required\n     **/\n    onStop:function(context)\n    {\n    },\n\n    /**\n     * Get the simulator a hint which kind of hardware the shapes requires or supports\n     * This helps the simulator to bring up some dialogs and messages if any new hardware is connected/get lost\n     * and your are running a circuit which needs this kind of hardware...\n     **/\n    getRequiredHardware: function(){\n      return {\n        raspi: false,\n        arduino: false\n      }\n    }\n\n});",
        "markdown": "# OR Gate\n\n## Description\nThe `OR gate` is a digital logic gate that implements logical \ndisjunction - it behaves according to the truth table to the\n \n \n\n**Therefore, A `High` output results if one or both the \ninputs to the gate are `High`**\n\n## Logic table\n\n| INPUT 1   | INPUT   |  OUTPUT    |\n|:---------:|:-------:|:----------:|\n| Low       | Low     |  Low       |\n| `High`      | Low     |  `High`       |\n| Low       | `High`    |  `High`       |\n| `High`      | `High`    |  `High`    |\n\n",
        "name": "shape"
      },
      "cssClass": "shape_designer_figure_PolyCircle",
      "ports": [],
      "bgColor": "rgba(252,252,252,1)",
      "color": "rgba(27,27,27,1)",
      "stroke": 1,
      "radius": 0,
      "dasharray": null,
      "vertices": [
        {
          "x": 7987.5,
          "y": 8019.992866146254
        },
        {
          "x": 7987.601511537635,
          "y": 8020
        },
        {
          "x": 7991.925088685785,
          "y": 8019.696155060245
        },
        {
          "x": 7996.117296130125,
          "y": 8018.793852415718
        },
        {
          "x": 8000.050755768817,
          "y": 8017.320508075689
        },
        {
          "x": 8003.6059514211665,
          "y": 8015.320888862379
        },
        {
          "x": 8006.674860266292,
          "y": 8012.855752193731
        },
        {
          "x": 8009.164235061877,
          "y": 8010
        },
        {
          "x": 8010.998437414442,
          "y": 8006.840402866514
        },
        {
          "x": 8012.121736013657,
          "y": 8003.472963553339
        },
        {
          "x": 8012.5,
          "y": 8000
        },
        {
          "x": 8012.121736013657,
          "y": 7996.527036446661
        },
        {
          "x": 8010.998437414442,
          "y": 7993.159597133486
        },
        {
          "x": 8009.164235061877,
          "y": 7990
        },
        {
          "x": 8006.674860266292,
          "y": 7987.144247806269
        },
        {
          "x": 8003.6059514211665,
          "y": 7984.679111137621
        },
        {
          "x": 8000.050755768817,
          "y": 7982.679491924311
        },
        {
          "x": 7996.117296130125,
          "y": 7981.206147584282
        },
        {
          "x": 7991.925088685785,
          "y": 7980.303844939755
        },
        {
          "x": 7987.601511537635,
          "y": 7980
        },
        {
          "x": 7987.5,
          "y": 7980.007133853746
        },
        {
          "x": 7987.5,
          "y": 8019.992866146254
        }
      ],
      "blur": 0,
      "filters": [
        {
          "name": "shape_designer.filter.PositionFilter"
        },
        {
          "name": "shape_designer.filter.SizeFilter"
        },
        {
          "name": "shape_designer.filter.FillColorFilter"
        },
        {
          "name": "shape_designer.filter.StrokeFilter"
        }
      ]
    },
    {
      "type": "shape_designer.figure.ExtLine",
      "id": "324bc5bd-9b79-67f1-c45a-fb367513d4b4",
      "alpha": 1,
      "selectable": true,
      "draggable": true,
      "angle": 0,
      "userData": {
        "name": "Line"
      },
      "cssClass": "shape_designer_figure_ExtLine",
      "stroke": 1,
      "color": "rgba(0,0,0,1)",
      "outlineStroke": 0,
      "outlineColor": "rgba(0,0,0,0)",
      "policy": "draw2d.policy.line.VertexSelectionFeedbackPolicy",
      "vertex": [
        {
          "x": 8006.942399999999,
          "y": 8011.555299999987
        },
        {
          "x": 7988.247399999999,
          "y": 8011.555299999987
        }
      ],
      "router": "draw2d.layout.connection.VertexRouter",
      "radius": "",
      "filters": [
        {
          "name": "shape_designer.filter.StrokeFilter"
        }
      ]
    },
    {
      "type": "shape_designer.figure.ExtLine",
      "id": "5c1944ab-18cf-eafe-deaf-14e41e03157d",
      "alpha": 1,
      "selectable": true,
      "draggable": true,
      "angle": 0,
      "userData": {
        "name": "Line"
      },
      "cssClass": "shape_designer_figure_ExtLine",
      "stroke": 1,
      "color": "rgba(0,0,0,1)",
      "outlineStroke": 0,
      "outlineColor": "rgba(0,0,0,0)",
      "policy": "draw2d.policy.line.VertexSelectionFeedbackPolicy",
      "vertex": [
        {
          "x": 8007.207800000005,
          "y": 7988.138900000004
        },
        {
          "x": 7988.512800000005,
          "y": 7988.138900000004
        }
      ],
      "router": "draw2d.layout.connection.VertexRouter",
      "radius": "",
      "filters": [
        {
          "name": "shape_designer.filter.StrokeFilter"
        }
      ]
    },
    {
      "type": "shape_designer.figure.ExtPort",
      "id": "19fd1dcb-f9e4-190d-a717-7444122d9964",
      "x": 8007.0424,
      "y": 7995,
      "width": 10,
      "height": 10,
      "alpha": 1,
      "selectable": true,
      "draggable": true,
      "angle": 0,
      "userData": {
        "name": "output",
        "type": "Output",
        "direction": 1,
        "fanout": 20
      },
      "cssClass": "shape_designer_figure_ExtPort",
      "ports": [],
      "bgColor": "rgba(55,177,222,1)",
      "color": "rgba(27,27,27,1)",
      "stroke": 1,
      "dasharray": null,
      "filters": [
        {
          "name": "shape_designer.filter.PositionFilter"
        },
        {
          "name": "shape_designer.filter.FanoutFilter"
        },
        {
          "name": "shape_designer.filter.PortDirectionFilter"
        },
        {
          "name": "shape_designer.filter.PortTypeFilter"
        }
      ]
    },
    {
      "type": "shape_designer.figure.ExtPort",
      "id": "31c229c7-f64e-5b82-2349-767cb9cd57be",
      "x": 7982.3967999999995,
      "y": 8007,
      "width": 10,
      "height": 10,
      "alpha": 1,
      "selectable": true,
      "draggable": true,
      "angle": 0,
      "userData": {
        "name": "input1",
        "type": "Input",
        "direction": 3,
        "fanout": 20
      },
      "cssClass": "shape_designer_figure_ExtPort",
      "ports": [],
      "bgColor": "rgba(55,177,222,1)",
      "color": "rgba(27,27,27,1)",
      "stroke": 1,
      "dasharray": null,
      "filters": [
        {
          "name": "shape_designer.filter.PositionFilter"
        },
        {
          "name": "shape_designer.filter.FanoutFilter"
        },
        {
          "name": "shape_designer.filter.PortDirectionFilter"
        },
        {
          "name": "shape_designer.filter.PortTypeFilter"
        }
      ]
    },
    {
      "type": "shape_designer.figure.ExtPort",
      "id": "7297563e-896e-648c-d774-7e1a662d65a4",
      "x": 7982.3967999999995,
      "y": 7983.5,
      "width": 10,
      "height": 10,
      "alpha": 1,
      "selectable": true,
      "draggable": true,
      "angle": 0,
      "userData": {
        "name": "input0",
        "type": "Input",
        "direction": 3,
        "fanout": 20
      },
      "cssClass": "shape_designer_figure_ExtPort",
      "ports": [],
      "bgColor": "rgba(55,177,222,1)",
      "color": "rgba(27,27,27,1)",
      "stroke": 1,
      "dasharray": null,
      "filters": [
        {
          "name": "shape_designer.filter.PositionFilter"
        },
        {
          "name": "shape_designer.filter.FanoutFilter"
        },
        {
          "name": "shape_designer.filter.PortDirectionFilter"
        },
        {
          "name": "shape_designer.filter.PortTypeFilter"
        }
      ]
    }
  ],
  "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAA8CAYAAADykDOkAAAFhUlEQVRoQ+2ZW0gjVxjHv9GAF0xa3QuYBFpd9E27lKW0L7KwUOiT2gd9bKsPLksLpk8tXdDdKN2F9sUbG9lds4XdFa21FIlocdFNUeu2xl4w2WzWNNmd0RgzJpqJk5mTTDnBlKw0ZiaOl0AG5mnO+Z/f/Oc758z5PgIy8CIykBmy0Ef11bJOZ53ex4FseJyo8CgtLX2bIIh3CYJAALAJALQgCGQkEnnh8XiYo4KNjyMqPLRabVtVVdXViooKjqZp3uv1gsfjUTAMwysUihWE0C+hUMgKAPMkSS4d9kuIglar1e06na5Np9O9wuPz+WB5eRkWFxeR2WzmVlZW/CzLPmIYZgAh9OthfYUDQe911OVygclk4kZHR6NOp9Odm5vbtbGxcd/v9/vldF9W6DhYOByG+fl5obe3FxYWFsw5OTl6t9v9CACicsAfCnQcbGtrCyYmJrjBwUHa4XCM+P3+LpIk7QcFTwmt1Wqro9Foe11dXX1rayuUl5dLHtNisUBfXx+amZmZDIfDHSRJzkkWSeiwL7RGo/kIIaTjOO5NpVL52oULF6ClpQUuXbokeUwc1g8fPmQfPHjw1+bm5g2bzfaDZJHdDkmhtVrtOzzPt25vb38QCoVex+1LSkrg4sWLUFNTA8XFxWmNOTs7G5mamnIFg0H92tqaMR2R/ZxWqVSqNo7jPmdZNqZdVFQE1dXVUFZWls5Y//V5+fIlcrlcZp7ncajgCSrpkuT0mTNnoLm5GS5fvgxarVbSQImNd3Z2wGg0hg0GwxxN019TFDUpRezIYnovlMPhgK6urojJZPqGYZgOr9cbFAuecvXQaDRvCYLQVltbG1s9zp07J1Y7ZTuz2RwxGo1/LCws6K1W648pO6SaiIkCybZxsYMka8fzPBgMBr6vr+/e1tZW59ra2j9iNFM6jUUOCxprm0wmuHv3rtVut7cvLy8PZQR0MBiEnp4edOfOnXan09mZEdAYcmhoiDUYDIPPnj27SVGULRX4sYcHBhwfH4f+/n7n06dPr9nt9nsnHnpmZgaHB/4nFxBCvwHAdZIkx/YDP1anzWYz3L59GzA4RVGQn59PFxUVLSoUim6Kon5KBn6s0Ldu3QK9Xg/r6+sgCEKMUalURlQqVTtJkh1Z6FQTRezzeHhMT0/D6upqPDwsCoWi68SGB345HM/d3d1gsVgEnud/Jwji2omeiPEvknFLXnxz6e/vH7Tb7ZmxuSRs49ecTmfSFSNxnhzrkpeRP0wIodivaW9v73eBQKDT4/E4xaw8x+r048ePo0aj8c8nT55ct1qto2KAcZt9oXdzHp8CwIcajeZUY2MjNDQ04P9rsfpJ28WPW2NjY9/u7OzoZTlulZaWvpGTk/MlwzAfb29v5xUWFsLZs2fhypUrsYNtXl5e2uCJB1ufz3djdXV1QopYUqfVavX7LMteDQaD73Ecp8CiGLygoACi0WjsTvdSKpV8YWGhORwOd7pcLvlSCP8Hffr0aaivr4empiaorKxMi3l4eBgNDAz8HQgEOmw220g6Ikmd3g2PLxiG+SQeHjjvEQ+P/Px8SePtSYvdTBdY7ET8DADq1Wr1KTwJ8WTUaDSSgJeWlnACkp+env6ZZdlOiqJmJQnsaXyoSx5O9U5OTuJU7+bz58+/p2n6aFK9+CWlphA4joO5uTnsroCT6gRBdOwm1SMHcTjeV1ancfkCJ9FHRkZi5Qt8bGJZ9r7b7cYVMdmuA0HTNP1KocjhcARwoSgUCuFC0fyxF4rOnz//VWVlJefz+ZDX6xV2S3IoNzc3VpJjGAbnK+YoirLIZmkSIVFOJxQ/cUxuCoIQK34ihF5I2X7lehlR0HINJpdOFlouJ1PpZJ1O5ZBcz7NOy+VkKp2s06kckuv5v+EYfGq2P8r0AAAAAElFTkSuQmCC"
}