{
  "information": {
    "Title": "LOL Energy Diagram Master Template to generate ALL other LOL scenarios. Make your own LOL energy diagram here https://iwant2study.org/ospsg/index.php/1199",
    "Author": [
      "lookang",
      "Coco",
      "Paco",
      "Felix"
    ],
    "AuthorLogo": [
      "./Settings/1authorlookangphoto5050.png",
      "./Settings/zedd.png",
      "./Settings/01authorPacoEsquembre2011.png",
      "./Settings/01authorFelix_J_Garcia_Clemente.png"
    ],
    "Password": "",
    "Keywords": "",
    "Abstract": "",
    "Copyright": "",
    "Level": "",
    "Language": "",
    "Logo": [
      "./Settings/SimLogo.png"
    ],
    "RunAlways": "true",
    "ModelTab": "",
    "ModelTabTitle": "",
    "ModelName": "",
    "FixedNavigationBar": "false",
    "CSSFile": "",
    "DetectedFiles": [
      "./Settings/01authorFelix_J_Garcia_Clemente.png",
      "./Settings/01authorPacoEsquembre2011.png",
      "./Settings/1authorlookangphoto5050.png",
      "./Settings/SimLogo.png",
      "./Settings/zedd.png"
    ],
    "AuxiliaryFiles": [
      "./Settings/",
      "./lib/"
    ],
    "HTMLHead": "\n\n<script async=\"true\" src=\"https://www.googletagmanager.com/gtag/js?id=G-S9EWRY1CPJ\"></script>\n<script>\n  window.dataLayer = window.dataLayer || [];\n  function gtag(){dataLayer.push(arguments);}\n  gtag('js', new Date());\n\n  gtag('config', 'G-S9EWRY1CPJ');\n</script>\n\n<script data-ad-client=\"ca-pub-0121577198857509\" async=\"true\" src=\"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js\"></script>\n",
    "SaveInXMLFormat": "false",
    "IncludeSource": "true",
    "IncludeLibrary": "true",
    "UglifyJS": "false",
    "PreviewFullModel": "false",
    "UseInterpreter": "true",
    "UseDeltaForODE": "false"
  },
  "description": {
    "pages": []
  },
  "model": {
    "variables": {
      "pages": [
        {
          "Name": "toEdit",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "title",
              "Value": "\"<b>Scenario 1</b>: A Moving Toy Car\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "systemText2",
              "Value": "\"Toy car\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "initialState",
              "Value": "\"<b>Initial State:</b> \"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "initialState2",
              "Value": "\"A toy car was moving at constant speed along a smooth horizontal surface.\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finalState",
              "Value": "\"<b>Final State: </b>\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finalState2",
              "Value": "\"The toy car moved at a higher constant speed after a child pushed it.\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "remarks2",
              "Value": "\"Nil\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "layout",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "Width",
              "Value": "(_isEPub)?\"400\":\"100%\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "Height",
              "Value": "(_isEPub)?\"500\":\"100%\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "Width1",
              "Value": "\"100%\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "For :// plottingPanel / simulation panel",
              "Domain": "public"
            },
            {
              "Name": "Width2",
              "Value": "\"50%\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "debuggg",
              "Value": "\"\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "To be placed at Top Left corner of plotting panel",
              "Domain": "public"
            },
            {
              "Name": "debugggTR",
              "Value": "\"\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "To be placed at Top Right corner of plotting panel",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "settings",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "editing",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "physicsonly",
              "Value": "true",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "versions",
              "Value": "editing?[\"Blank Version\",\"Scenario 1\",\"---To Add On---\"]:[\"User Set\"]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "revealRadioButton",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "\"----- check 2 -----\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "isC",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "isE",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "isG",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "isI",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "isK",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "isN",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "ignoreEnergyLst",
              "Value": "[]",
              "Type": "double",
              "Dimension": "",
              "Comment": "0-C; 1-E; 2-G; 3-I; 4-K; 5-N",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "\"----- check 3&4 -----\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "check3a",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "check3b",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "check4a",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "check4b",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "check3aEnergy",
              "Value": "\"mechanically\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "\"electrically\" , \"through heating\", \"mechanically\", \"through propagation of waves\",\"chemically\" \u2192 :/HtmlView/ check3 / buttons",
              "Domain": "public"
            },
            {
              "Name": "check3bEnergy",
              "Value": "\"\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "\"electrically\" , \"through heating\", \"mechanically\", \"through propagation of waves\",\"chemically\" \u2192 :/HtmlView/ check4 / buttons",
              "Domain": "public"
            },
            {
              "Name": "check4aEnergy",
              "Value": "\"\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "\"electrically\" , \"through heating\", \"mechanically\", \"through propagation of waves\",\"chemically\" \u2192 :/HtmlView/ check4 / buttons",
              "Domain": "public"
            },
            {
              "Name": "check4bEnergy",
              "Value": "\"\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "\"electrically\" , \"through heating\", \"mechanically\", \"through propagation of waves\" ,\"chemically\"\u2192 :/HtmlView/ check4 / buttons",
              "Domain": "public"
            },
            {
              "Name": "check3aReason",
              "Value": "\"the work done by the child on the car.\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "\"electrically\" , \"through heating\", \"mechanically\", \"through propagation of waves\" \u2192 :/HtmlView/ check4 / buttons",
              "Domain": "public"
            },
            {
              "Name": "check3bReason",
              "Value": "\"\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "check4aReason",
              "Value": "\"\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "check4bReason",
              "Value": "\"\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "\"----- check 5 -----\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "iniC",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "iniE",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "iniG",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "iniI",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "iniK",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "iniN",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "\"----- check 6 -----\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finC",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finE",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finG",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finI",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finK",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finN",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "\"----- check 7 -----\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "check7a",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "if true, edit userPlay under Initialisation",
              "Domain": "public"
            },
            {
              "Name": "operators",
              "Value": "[\"\ufe65\",\"\u2265\",\"\u00d72=\",\"=\",\"=2\u00d7\",\"\uff1c\",\"\u2264\"]",
              "Type": "double",
              "Dimension": "",
              "Comment": "[\"\ufe65\",\"\u2265\",\"\u00d72=\",\"=\",\"=2\u00d7\",\"\uff1c\",\"\u2264\"] \u21d2 cannot use keyboard \">\" and \"<\" \u21d2 NOT USED",
              "Domain": "public"
            },
            {
              "Name": "finalC",
              "Value": "fC",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finalE",
              "Value": "fE",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finalG",
              "Value": "fG",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finalI",
              "Value": "fI",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finalK",
              "Value": "fK",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finalN",
              "Value": "fN",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "passfail",
              "Value": "[]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "inequalityCheckLst",
              "Value": "[]",
              "Type": "double",
              "Dimension": "",
              "Comment": "'' \u21d2nothing || true \u21d2correct || false \u21d2 wrong inequality",
              "Domain": "public"
            },
            {
              "Name": "userPlay",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "\"----- check 1 -----\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "displayChemical",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "displayElastic",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "displayGravitational",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "displayInternal",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "displayKinetic",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "displayNuclear",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "PropagationofWaves",
              "Value": "\"Propagation of Waves\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "Mechanically",
              "Value": "\"Mechanically\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "Electrically",
              "Value": "\"Electrically\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "Var Table",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "nEnergy",
              "Value": "6",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "C",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "Chemical Energy, measured with Y axis",
              "Domain": "public"
            },
            {
              "Name": "E",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "Elastic Energy, measured with Y axis",
              "Domain": "public"
            },
            {
              "Name": "G",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "Gravitational Potential Energy, measured with Y axis",
              "Domain": "public"
            },
            {
              "Name": "I",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "Internal Energy, measured with Y axis",
              "Domain": "public"
            },
            {
              "Name": "K",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "Kinetic Energy, measured with Y axis",
              "Domain": "public"
            },
            {
              "Name": "N",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "Nuclear Energy, measured with Y axis",
              "Domain": "public"
            },
            {
              "Name": "iniTotalEnergy",
              "Value": "[C,E,G,I,K,N]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "fC",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "Final Chemical Energy, measured with Y axis",
              "Domain": "public"
            },
            {
              "Name": "fE",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "Final Elastic Energy, measured with Y axis",
              "Domain": "public"
            },
            {
              "Name": "fG",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "Final Gravitational Potential Energy, measured with Y axis",
              "Domain": "public"
            },
            {
              "Name": "fI",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "Final Internal Energy, measured with Y axis",
              "Domain": "public"
            },
            {
              "Name": "fK",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "Final Kinetic Energy, measured with Y axis",
              "Domain": "public"
            },
            {
              "Name": "fN",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "Final Nuclear Energy, measured with Y axis",
              "Domain": "public"
            },
            {
              "Name": "finTotalEnergy",
              "Value": "[fC,fE,fG,fI,fK,fN]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "updateTransIN",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "ID to lst: [ 1 is waves, 2 is \"Mechanically\", 3 is \"Heating\", 4 is \"Electrically\", 5 is \"Chemically\" ]",
              "Domain": "public"
            },
            {
              "Name": "transIN",
              "Value": "[\"- Tin\u2081 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\"]",
              "Type": "String",
              "Dimension": "[5]",
              "Comment": "unused after 20240624 by lookang[\"- Tin\u2081 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\", \"Chemically\" ]",
              "Domain": "public"
            },
            {
              "Name": "updateTransOUT",
              "Value": "updateTransIN",
              "Type": "double",
              "Dimension": "",
              "Comment": "ID to lst: [ 1 is waves, 2 is \"Mechanically\", 3 is \"Heating\", 4 is \"Electrically\", 5 is \"Chemically\" ]",
              "Domain": "public"
            },
            {
              "Name": "transOUT",
              "Value": "[\"- Tout\u2081 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\"]",
              "Type": "double",
              "Dimension": "",
              "Comment": "[\"- Tout\u2081 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\" ]",
              "Domain": "public"
            },
            {
              "Name": "EtransIN",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "variable to calc",
              "Domain": "public"
            },
            {
              "Name": "EtransOUT",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "variable to calc",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "transIN2",
              "Value": "[\"- Tin\u2082 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\"]",
              "Type": "String",
              "Dimension": "[5]",
              "Comment": "[\"- Tout\u2082 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\" ]",
              "Domain": "public"
            },
            {
              "Name": "transOUT2",
              "Value": "[\"- Tout\u2082 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\"]",
              "Type": "double",
              "Dimension": "",
              "Comment": "[\"- Tin\u2082 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\" ]",
              "Domain": "public"
            },
            {
              "Name": "updateTransIN2",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "ID to lst2: [ 1 is waves, 2 is \"Mechanically\", 3 is \"Heating\", 4 is \"Electrically\", 5 is \"Chemically\" ]",
              "Domain": "public"
            },
            {
              "Name": "updateTransOUT2",
              "Value": "updateTransIN2",
              "Type": "double",
              "Dimension": "",
              "Comment": "ID to lst2: [ 1 is waves, 2 is \"Mechanically\", 3 is \"Heating\", 4 is \"Electrically\", 5 is \"Chemically\" ]",
              "Domain": "public"
            },
            {
              "Name": "EtransIN2",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "variable to calc",
              "Domain": "public"
            },
            {
              "Name": "EtransOUT2",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "variable to calc",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "draw_L",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "energyXpos",
              "Value": "[]",
              "Type": "double",
              "Dimension": "",
              "Comment": "X positions --> :// initialization",
              "Domain": "public"
            },
            {
              "Name": "interactPrompt1",
              "Value": "false",
              "Type": "double",
              "Dimension": "[nEnergy]",
              "Comment": "array instead of a single variable by lookang",
              "Domain": "public"
            },
            {
              "Name": "interactPrompt2",
              "Value": "false",
              "Type": "double",
              "Dimension": "[nEnergy]",
              "Comment": "array instead of a single variable by lookang",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "show3D",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "for the cube pictures",
              "Domain": "public"
            },
            {
              "Name": "show2D",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "size2DX",
              "Value": "0.85",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "size2DY",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "size3DX",
              "Value": "size2DX",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "size3DY",
              "Value": "1.2",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "energyColour",
              "Value": "\"rgba(0,200,255,1.0)\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "blue",
              "Domain": "public"
            },
            {
              "Name": "promptLineColour",
              "Value": "\"rgba(0,255,255,0.2)\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "light blue",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "draw_O",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "pi",
              "Value": "Math.PI",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "imgIN",
              "Value": "[\"./Settings/qnmark.png\",\"./Settings/Propagation of waves.png\",\"./Settings/Mechanically.png\",\"./Settings/Heating.png\",\"./Settings/Electrically.png\",\"./Settings/Chemically.png\"]",
              "Type": "double",
              "Dimension": "",
              "Comment": "[\"./Settings/qnmark.png\",\"./Settings/Propagation of waves.png\",\"./Settings/Mechanically.png\",\"./Settings/Heating.png\",\"./Settings/Electrically.png\"]",
              "Domain": "public"
            },
            {
              "Name": "imgOUT",
              "Value": "imgIN",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "imgIN2",
              "Value": "imgIN",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "imgOUT2",
              "Value": "imgIN",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "imgSIZE",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "4",
              "Domain": "public"
            },
            {
              "Name": "imgIconSIZE",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "energyWidth",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "2",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "updateAnswer",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "0 for unbalanced, 1 for balanced",
              "Domain": "public"
            },
            {
              "Name": "answer",
              "Value": "[\"Unbalanced\",\"Balanced\"]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "answerY",
              "Value": "-5",
              "Type": "double",
              "Dimension": "",
              "Comment": "12",
              "Domain": "public"
            },
            {
              "Name": "answerColour",
              "Value": "[\"Red\",\"Green\"]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "showAnswer",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "showHint",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "not used yet. currently tied up with \"showAnswer\"",
              "Domain": "public"
            },
            {
              "Name": "hintY",
              "Value": "-4.5",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "hint",
              "Value": "\"-\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "hintFont",
              "Value": "",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "INimgX",
              "Value": "energyInArrowX-1",
              "Type": "double",
              "Dimension": "",
              "Comment": "-10",
              "Domain": "public"
            },
            {
              "Name": "INimgY",
              "Value": "energyInArrowY+1",
              "Type": "double",
              "Dimension": "",
              "Comment": "10",
              "Domain": "public"
            },
            {
              "Name": "INenergyX",
              "Value": "-5",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "INenergyY",
              "Value": "-5",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "INtextX",
              "Value": "INenergyX",
              "Type": "double",
              "Dimension": "",
              "Comment": "-6*2",
              "Domain": "public"
            },
            {
              "Name": "INtextY",
              "Value": "INenergyY -0.25",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "INinteract",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "IN2imgX",
              "Value": "energyIn2ArrowX-1",
              "Type": "double",
              "Dimension": "",
              "Comment": "-10",
              "Domain": "public"
            },
            {
              "Name": "IN2imgY",
              "Value": "energyIn2ArrowY-1",
              "Type": "double",
              "Dimension": "",
              "Comment": "10",
              "Domain": "public"
            },
            {
              "Name": "IN2energyX",
              "Value": "-4",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "IN2energyY",
              "Value": "-5",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "IN2textX",
              "Value": "IN2energyX",
              "Type": "double",
              "Dimension": "",
              "Comment": "-6*2",
              "Domain": "public"
            },
            {
              "Name": "IN2textY",
              "Value": "IN2energyY -0.25",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "IN2interact",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "T\u2081",
              "Domain": "public"
            },
            {
              "Name": "OUTimgX",
              "Value": "energyOutArrowX+1.1",
              "Type": "double",
              "Dimension": "",
              "Comment": "follows energyOutArrowX with drag + radius 1",
              "Domain": "public"
            },
            {
              "Name": "OUTimgY",
              "Value": "energyOutArrowY+1.1",
              "Type": "double",
              "Dimension": "",
              "Comment": "follows energyOutArrowY with drag + radius 1",
              "Domain": "public"
            },
            {
              "Name": "OUTenergyX",
              "Value": "-IN2energyX",
              "Type": "double",
              "Dimension": "",
              "Comment": "in relative to the positioning for INenergyX \u2192 T\u2081",
              "Domain": "public"
            },
            {
              "Name": "OUTenergyY",
              "Value": "IN2energyY",
              "Type": "double",
              "Dimension": "",
              "Comment": "in relative to the positioning for INenergyY \u2192 T\u2081",
              "Domain": "public"
            },
            {
              "Name": "OUTtextX",
              "Value": "OUTenergyX",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "OUTtextY",
              "Value": "OUTenergyY -0.25",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "OUTinteract",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "T\u2082",
              "Domain": "public"
            },
            {
              "Name": "OUT2imgX",
              "Value": "energyOut2ArrowX+1",
              "Type": "double",
              "Dimension": "",
              "Comment": "follows energyOut2ArrowX with drag + radius 1",
              "Domain": "public"
            },
            {
              "Name": "OUT2imgY",
              "Value": "energyOut2ArrowY-1",
              "Type": "double",
              "Dimension": "",
              "Comment": "follows energyOut2ArrowY with drag + radius 1",
              "Domain": "public"
            },
            {
              "Name": "OUT2energyX",
              "Value": "-INenergyX",
              "Type": "double",
              "Dimension": "",
              "Comment": "in relative to the positioning for INenergyX \u2192 T\u2082",
              "Domain": "public"
            },
            {
              "Name": "OUT2energyY",
              "Value": "INenergyY",
              "Type": "double",
              "Dimension": "",
              "Comment": "in relative to the positioning for IN2energyY \u2192 T\u2082",
              "Domain": "public"
            },
            {
              "Name": "OUT2textX",
              "Value": "OUT2energyX",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "OUT2textY",
              "Value": "OUT2energyY -0.25",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "OUT2interact",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "lookang",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "fillColorforDrag",
              "Value": "\"rgba(0,0,255,0.1)\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragSizeY",
              "Value": "1.5",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "editBackgroundColor",
              "Value": "\"LightGray\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "systemText",
              "Value": "\"<b>System:</b>\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "elementInteracted",
              "Value": "-1",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "remarks",
              "Value": "\"<b>Remarks: </b>\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "font",
              "Value": "\"normal normal 1vw\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "arrowLength",
              "Value": "2",
              "Type": "double",
              "Dimension": "",
              "Comment": "3",
              "Domain": "public"
            },
            {
              "Name": "energyInArrowX",
              "Value": "-2",
              "Type": "double",
              "Dimension": "",
              "Comment": "-4*2",
              "Domain": "public"
            },
            {
              "Name": "energyInArrowY",
              "Value": "2",
              "Type": "double",
              "Dimension": "",
              "Comment": "4*2",
              "Domain": "public"
            },
            {
              "Name": "angleIN",
              "Value": "Math.atan2(energyInArrowY, energyInArrowX)",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "angleOUT",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "energyOutArrowX",
              "Value": "-energyInArrowX",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "energyOutArrowY",
              "Value": "energyInArrowY",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "energyIn2ArrowX",
              "Value": "energyInArrowX",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "energyIn2ArrowY",
              "Value": "-energyInArrowY",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "energyOut2ArrowX",
              "Value": "energyOutArrowX",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "energyOut2ArrowY",
              "Value": "-energyOutArrowY",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragCY",
              "Value": "iniTotalEnergy[0]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragEY",
              "Value": "iniTotalEnergy[1]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragGY",
              "Value": "iniTotalEnergy[2]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragIY",
              "Value": "iniTotalEnergy[3]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragKY",
              "Value": "iniTotalEnergy[4]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragNY",
              "Value": "iniTotalEnergy[5]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragC2Y",
              "Value": "finTotalEnergy[0]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragE2Y",
              "Value": "finTotalEnergy[1]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragG2Y",
              "Value": "finTotalEnergy[2]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragI2Y",
              "Value": "finTotalEnergy[3]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragK2Y",
              "Value": "finTotalEnergy[4]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragN2Y",
              "Value": "finTotalEnergy[5]",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragEtransIN",
              "Value": "EtransIN",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragEtransIN2",
              "Value": "EtransIN2",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragEtransOUT",
              "Value": "EtransOUT",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragEtransOUT2",
              "Value": "EtransOUT2",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "iniEnergiesLst",
              "Value": "[iniC, iniE, iniG, iniI, iniK, iniN]",
              "Type": "double",
              "Dimension": "[6]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "finEnergiesLst",
              "Value": "[finC, finE, finG, finI, finK, finN]",
              "Type": "double",
              "Dimension": "[6]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragEnergiesLst",
              "Value": "[dragCY, dragEY, dragGY, dragIY, dragKY, dragNY]",
              "Type": "double",
              "Dimension": "[6]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "dragEnergies2Lst",
              "Value": "[dragC2Y, dragE2Y, dragG2Y, dragI2Y, dragK2Y, dragN2Y]",
              "Type": "double",
              "Dimension": "[6]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "customOrder",
              "Value": "[1, 2, 3, 4,5,6]",
              "Type": "double",
              "Dimension": "[6]",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "description",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "refer to  .// Model / Initialization to read the wordings",
          "Variables": [
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "formulaText",
              "Value": "\"\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "refer to  .// Model / Initialization",
              "Domain": "public"
            },
            {
              "Name": "legendText",
              "Value": "\"\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "eTooltip",
              "Value": "\"\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "hTooltip",
              "Value": "\"\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "mTooltip",
              "Value": "\"\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "pTooltip",
              "Value": "\"\"",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "",
              "Domain": "public"
            }
          ]
        }
      ]
    },
    "initialization": {
      "pages": [
        {
          "Name": "initial",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "/*\n// draw X positions of the energy: //\nfor (let i=1; i<= iniTotalEnergy.length; i++){\n  energyXpos.push(i);  // gives [1,2,3,4,5,6]\n  }\n  */\n // let customOrder = [1, 2, 5, 4, 6, 3];  // Your desired order\n//pushCustomOrder(customOrder, energyXpos);\nenergyXpos[0] = 1  //C\nenergyXpos[1] = 2 // E\nenergyXpos[2] = 6 //G\nenergyXpos[3] = 4 //I\nenergyXpos[4] = 3 //K\nenergyXpos[5] = 5 // N to acheive Desired order CEGIKN\n//customOrder = [1, 2, 6, 4, 3, 5];  // Desired order CEKING\ncustomOrder = [1, 2, 3, 4, 5, 6];  // Desired order CEGIKN\n//customOrder = [5, 6, 4, 2, 1, 3]  // Desired order KINGCE\n\n\n\n// writing here cuz there's space to read //\nformulaText = \"Initial Energy of the System <b>+</b> Energy Transferred Into the System \"\nformulaText += \"<b>=</b> Energy Transferred Out of the System <b>+</b> Final Energy of the System\"\n\nlegendText = \"<b><u>Legend</u>:</b>\"\nlegendText += \"\\nC - Chemical || \"\nlegendText += \"\\nE - Elastic || \"\nlegendText += \"\\nG - Gravitational || \"\nlegendText += \"\\nI - Internal || \"\nlegendText += \"\\nK - Kinetic || \"\nlegendText += \"\\nN - Nuclear \"\n\neTooltip = \"Electrically: \\nTransfer of energy from the chemical store of a power supply to the kinetic store of a fan motor.\"\neTooltip+= \"\\nE.g. switching on a fan.\"\nhTooltip = \"Heating: \\nTransfer of energy from the internal store of a heating element to the internal store of water molecules.\"\nhTooltip+= \"\\nE.g. Boiling water in a kettle.\"\nmTooltip = \"Mechanically: \\nTransfer of energy from the chemical store of a person to the kinetic store of a trolley.\"\nmTooltip+= \"\\nE.g. Pushing a trolley.\"\npTooltip = \"Propogation of waves: \\nTransfer of energy from the chemical store of a power supply to the kinetic store of a fan motor.\"\npTooltip+= \"\\nE.g. Switching on a fan.\"\n"
        },
        {
          "Name": "userPlay",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "(fC,fE,fG,fI,fK,fN)   ",
          "Code": "var userPlay =\n\"// Pls ENSURE that the above checks have been gone through before proceeding in this check, especially in the initial & final state.\\n\"+\n\"// initial energy variables are \u21d2 C, E, G, I, K, N\\n\"+\n\"// final energy variables are   \u21d2 finalC, finalE, finalG, finalI, finalK, finalN\\n\"+\n\"// To edit the following codes, please remove the comments '//' to implement the line of the code.\\n\"+\n\"// Edit the following codes (Change magnitude) to get desired conditions:\\n\\n\"+\n\"//finalC = 0.5 * C\\n\"+\n\"//finalE = 2 * E\\n\"+\n\"//finalG = 1 * G\\n\"+\n\"//finalI = 1 * I\\n\"+\n\"//finalK = 1 * K\\n\"+\n\"//finalN = 1 * N\\n\\n\"+\n\n\"// Final energy variables becomes \u21d2 fC, fE, fG, fI, fK, fN\\n\"+\n\"// Edit the following INEQUALITY formulas & the operators in the brackets () to get desired conditions: uncomment '//' for required formulas \\n\\n\"+\n\n\"//if (fC < C){inequalityCheckLst += true} else{inequalityCheckLst += false}\\n\"+\n\"//if (fE <= E){inequalityCheckLst += true} else{inequalityCheckLst += false}\\n\"+\n\"//if (fG > G) {inequalityCheckLst += true} else{inequalityCheckLst += false}\\n\"+\n\"//if (fI > I) {inequalityCheckLst += true} else{inequalityCheckLst += false}\\n\"+\n\"//if (fK >= K){inequalityCheckLst += true} else{inequalityCheckLst += false}\\n\"+\n\"//if (fN >= N){inequalityCheckLst += true} else{inequalityCheckLst += false}\\n\"+\n\n\"//customOrder = [1, 2, 3, 4, 5, 6];  // Desired alphabetic order CEGIKN \\n\"+\n\"//customOrder = [1, 2, 6, 4, 3, 5];  // Desired easy to recall order CEKING \\n\"+\n\"//customOrder = [5, 6, 4, 2, 1, 3]  // Desired easy to recall order KINGCE \\n\"\n\n\n_view.userCode.setValue(userPlay);\n// var userPlay = _view.userCode.getValue(); // \u21d2 to be included \n\n///////////////\n// REFERENCE //\n///////////////\n/*\n\" M = [ [1,2,3,4], //M matrix is declared globally\\n\"+\n\"          [5,6,7,8], \\n\"+\n\"          [9,1,2,3],  \\n\"+\n\"          [4,5,9,7] ]; \\n\"+\n\"function det(M) { \\n\"+\n\"    if (M.length==1) { return (M[0][0]);} // handle case M is 1x1 \\n\"+\n\"if (M.length==2) { return (M[0][0]*M[1][1])-(M[0][1]*M[1][0]); } // handle case M is 2x2\\n\"+\n\"    var answer = 0; \\n\"+\n\"    for (var i=0; i< M.length; i++) { answer += Math.pow(-1,i)*M[0][i]*det(deleteRowAndColumn(M,i)); } // handle case M >= 3x3\\n\"+\n\"    return answer;\\n\"+\n\"}\\n\"+\n\"function deleteRowAndColumn(M,index) { \\n\"+\n\"    var temp = []; // copy the array first \\n\"+\n\"    for (var i=0; i<M.length; i++) {  \\n\"+\n\"temp.push(M[i].slice(0));  } \\n\"+\n\"    temp.splice(0,1);   // delete the first row  \\n\"+\n\"    for (var i=0; i<temp.length; i++) {  \\n\"+\n\"       temp[i].splice(index,1); } // delete the column at the index specified \\n\"+\n\"    return temp;   \\n\"+\n\"} \\n\"\n*/\n"
        },
        {
          "Name": "import",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (!editing) {\n  //if (!newsim) {\n    attemptLoadGraph().then(function(data) {\n      //alert( \"loading new values\")\n      ////////////////////////////////////////////\n      // data to be loaded into export & import //\n      ////////////////////////////////////////////\n      // Setting: // \n      systemText2 = data.systemText2;\n      initialState2 = data.initialState2;\n      finalState2 = data.finalState2;\n      remarks2 = data.remarks2;\n      show2D = data.show2D;\n      show3D = data.show3D;\n      revealRadioButton = data.revealRadioButton;\n      \n      \n      //check 1\n      displayChemical = data.displayChemical;\n      displayElastic = data.displayElastic;\n      displayGravitational= data.displayGravitational;\n      displayInternal= data.displayInternal;\n      displayKinetic = data.displayKinetic;\n      displayNuclear = data.displayNuclear;\n      \n      \n      // check2 - ignoring of energy: //\n      isC = data.isC;\n      isE = data.isE;\n      isG = data.isG;\n      isI = data.isI;\n      isK = data.isK;\n      isN = data.isN;\n      ignoreEnergyLst = data.ignoreEnergyLst;\n      \n      // check3/4 - Transferable Energy: //\n      check3a = data.check3a;  \n      check3b = data.check3b;\n      check4a = data.check4a;\n      check4b = data.check4b;\n      \n      check3aEnergy = data.check3aEnergy;\n      check3bEnergy = data.check3bEnergy;\n      check4aEnergy = data.check4aEnergy;\n      check4bEnergy = data.check4bEnergy;\n      \n      check3aReason = data.check3aReason;\n      check3bReason = data.check3bReason;\n      check4aReason = data.check4aReason;\n      check4bReason = data.check4bReason;\n      \n      // check5 - avail energy initially: //\n      iniC = data.iniC;\n      iniE = data.iniE;\n      iniG = data.iniG;\n      iniI = data.iniI;\n      iniK = data.iniK;\n      iniN = data.iniN;\n      \n      // check6 - final state energy: //\n      finC = data.finC;\n      finE = data.finE;\n      finG = data.finG;\n      finI = data.finI;\n      finK = data.finK;\n      finN = data.finN;\n      \n      // check7 - formula: //\n      check7a = data.check7a;\n      finalC = data.finalC;\n      finalE = data.finalE;\n      finalG = data.finalG;\n      finalI = data.finalI;\n      finalK = data.finalK;\n      finalN = data.finalN;\n      passfail = data.passfail;\n      inequalityCheckLst = data.inequalityCheckLst;\n      userPlay = data.userPlay;\n      \n      // ... to be continued if necessary ...\n      \n      //_view._addInteraction(function(){}  ,\"Q1\",{\"property\":\"value\", \"element\":\"question\"}); // use to detect beginning of Q1\n      //alert( \"add interaction\")\n      \n      _update();\n      //alert( not working if use \"_view._update\")\n    } );\n\n\n  }"
        }
      ]
    },
    "evolution": {
      "information": {
        "FPS": "20",
        "SPD": "1",
        "RealTimeVariable": "",
        "Autoplay": "true"
      },
      "pages": []
    },
    "fixed_relations": {
      "pages": [
        {
          "Name": "scaleWrestrictions_INITIAL",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "\nfor (let i=0; i< iniTotalEnergy.length; i++){\n  // 0 <= Boundary limits <=10 //\n  if (iniTotalEnergy[i] >10){\n    iniTotalEnergy[i] = 10;\n    }\n  else if (iniTotalEnergy[i] <0){\n    if (i!=2){\n      iniTotalEnergy[i] = 0;\n      }\n    else if (i==2 && iniTotalEnergy[i] < -10) {iniTotalEnergy[i] =-10}\n    }\n  // update number of pictures w Y position //\n  //chemicalY = numberedLst( iniTotalEnergy[i] );\n  /*\n  for (let j=0; j < Math.round(iniTotalEnergy[i]); j++){\n    chemicalY.push(j);  // gives [0,1,2, ... ]\n    }\n  */\n  // Restrict numbers to integers --> Makes dragging difficult --> fixed by moving to OnRelease //\n  /*\n  iniTotalEnergy[i] =  Math.round(iniTotalEnergy[i]);\n  */\n  \n  }\n\n// Restrict EtransIN at O diagram //\nif (EtransIN < 0){EtransIN = 0}\n  else if (EtransIN > 10){EtransIN = 10}\nif (dragEtransIN < 0){dragEtransIN = 0}\n  else if (dragEtransIN > 10){dragEtransIN = 10}\n\n// Restrict EtransIN2 at O diagram //\nif (EtransIN2 < 0){EtransIN2 = 0}\n  else if (EtransIN2 > 10){EtransIN2 = 10}\nif (dragEtransIN2 < 0){dragEtransIN2 = 0}\n  else if (dragEtransIN2 > 10){dragEtransIN2 = 10}\n\n// Restrict dragHelpers at L diagram // \nif (dragCY < 0){dragCY = 0}\nelse if (dragCY > 10){dragCY = 10}\n\nif (dragEY < 0){dragEY = 0}\nelse if (dragEY > 10){dragEY = 10}\n\n//if (dragGY < -10){dragGY = -10}    // G can go -ve till -10\nif (dragGY < 0){dragGY = 0}   \nelse if (dragGY > 10){dragGY = 10}\n\nif (dragIY < 0){dragIY = 0}\nelse if (dragIY > 10){dragIY = 10}\n\nif (dragKY < 0){dragKY = 0}\nelse if (dragKY > 10){dragKY = 10}\n\nif (dragNY < 0){dragNY = 0}\nelse if (dragNY > 10){dragNY = 10}\n\n\n"
        },
        {
          "Name": "scaleWrestrictions_FINAL",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "\nfor (let i=0; i< finTotalEnergy.length; i++){\n  // 0 <= Boundary limits <=10 //\n  if (finTotalEnergy[i] >10){\n    finTotalEnergy[i] = 10;\n    }\n  else if (finTotalEnergy[i] <0){\n    if (i!=2){\n      finTotalEnergy[i] = 0;\n      }\n    else if (i==2 && finTotalEnergy[i] < -10) {finTotalEnergy[i] =-10}\n    }\n  }\n\n// Restrict EtransOUT at O diagram //\nif (EtransOUT < 0){EtransOUT = 0}\n  else if (EtransOUT > 10){EtransOUT = 10}\nif (dragEtransOUT < 0){dragEtransOUT = 0}\n  else if (dragEtransOUT > 10){dragEtransOUT = 10}\n\n// Restrict EtransOUT2 at O diagram //\nif (EtransOUT2 < 0){EtransOUT2 = 0}\n  else if (EtransOUT2 > 10){EtransOUT2 = 10}\nif (dragEtransOUT2 < 0){dragEtransOUT2 = 0}\n  else if (dragEtransOUT2 > 10){dragEtransOUT2 = 10}\n\n// Restrict dragHelpers at L diagram // \nif (dragC2Y < 0){dragC2Y = 0}\nelse if (dragC2Y > 10){dragC2Y = 10}\n\nif (dragE2Y < 0){dragE2Y = 0}\nelse if (dragE2Y > 10){dragE2Y = 10}\n\n//if (dragG2Y < -10){dragG2Y = -10}  // G can go -ve till -10\nif (dragG2Y < 0){dragG2Y = 0} \nelse if (dragG2Y > 10){dragG2Y = 10}\n\nif (dragI2Y < 0){dragI2Y = 0}\nelse if (dragI2Y > 10){dragI2Y = 10}\n\nif (dragK2Y < 0){dragK2Y = 0}\nelse if (dragK2Y > 10){dragK2Y = 10}\n\nif (dragN2Y < 0){dragN2Y = 0}\nelse if (dragN2Y > 10){dragN2Y = 10}\n"
        },
        {
          "Name": "answer",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "C = iniTotalEnergy[0];\nE = iniTotalEnergy[1];\nG = iniTotalEnergy[2];\nI = iniTotalEnergy[3];\nK = iniTotalEnergy[4];\nN = iniTotalEnergy[5];\n\nfC = finTotalEnergy[0];\nfE = finTotalEnergy[1];\nfG = finTotalEnergy[2];\nfI = finTotalEnergy[3];\nfK = finTotalEnergy[4];\nfN = finTotalEnergy[5];\n\nanswers1 ();\n//myOwnCode ()\n\n\n"
        },
        {
          "Name": "EnableToDebug",
          "Active": "false",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "////////////////////////////////////////////////////////\n// To include Variables on PlottingPanel TR/TLMessage //\n////////////////////////////////////////////////////////\n\n//debuggg = \"\";\ndebugggTR = \"\";\n\ndebugggTR += \"EtransIN= \"+EtransIN;\ndebugggTR += \"\\nEtransIN2= \"+EtransIN2;\ndebugggTR += \"\\nEtransOUT= \"+EtransOUT;\ndebugggTR += \"\\nEtransOUT2= \"+EtransOUT2;\ndebugggTR += \"\\ndragCY= \"+dragCY;\n//debugggTR += \"\\ncheck3aEnergy= \"+check3aEnergy;\n//debugggTR += \"\\ncheck3bEnergy= \"+check3bEnergy;\n//debugggTR += \"\\nupdateTransIN= \" + updateTransIN;\n//debugggTR += \"\\nupdateTransIN2= \" + updateTransIN2;\n//debugggTR += \"\\nINenergyY= \"+INenergyY;\n\n//debugggTR += \"\\niniEnergiesLst= \"+ [iniC, iniE, iniG, iniI, iniK, iniN];\n//debugggTR += \"\\niniTotalEnergy= \"+iniTotalEnergy;\n//debugggTR += \"\\nfinTotalEnergy= \"+finTotalEnergy;\n//debugggTR += \"\\nfinalC= \"+finalC;\n//debugggTR += \"\\nfC= \"+fC;\n//debugggTR += \"\\ndisplayChemical= \"+displayChemical;\n//debugggTR += \"\\nisG= \"+isG;\n\n//debugggTR += \"\\nMath.ceil(Math.random() * 10)= \"+ Math.ceil(Math.random() * 10);\n\n\n\n\n\n"
        },
        {
          "Name": "reOrder",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "for (let i = 0; i < customOrder.length; i++) {\n  energyXpos[i] = customOrder[i];\n}"
        }
      ]
    },
    "custom": {
      "pages": [
        {
          "Name": "toEdit_AnswerTemplate",
          "Active": "false",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "Template to copy & paste --> Previous version",
          "Code": "function answers1 () {    // depends on SCENARIO, need to include in Fixed relations. \n  var LHS = 0;\n  var RHS = 0;\n  for (let i=0; i< iniTotalEnergy.length; i++){\n    LHS += iniTotalEnergy[i];\n    RHS += finTotalEnergy[i];\n    }\n  // (1) Total initial + transferred in = total final + transferred out\n  if (LHS+EtransIN == RHS+EtransOUT){\n    // (2) Zero C, E, G, I and N in the initial and final amount \u2192 only has kinetic \u2192 depends on SCENARIO\n    if (zeroExceptEnergy(false,false,false,false,true,false) ){  // (C,E,G,I,K,N)\n      // (3) Zero transfer out \n      if (EtransOUT ==0){\n        // (4) Some transfer in mechanically --> depends on SCENARIO\n        if (updateTransIN == 2 && EtransIN > 0){    \n          // (5) Initial state only has K --> depends on SCENARIO\n          if (iniTotalEnergy[4] >= 1){\n            // (6) Final state K > initial state K --> depends on SCENARIO\n            if ( finTotalEnergy[4] >= 1 && (finTotalEnergy[4] > iniTotalEnergy[4])  ){\n              updateAnswer = 1;\n              hint = '';\n              }\n            // (6) is wrong\n            else {\n              updateAnswer = 0;\n              hint = \"There should be more energy in the kinetic\\nstore in the final state of the system.\";\n              }\n            }\n          // (5) is wrong\n          else {\n            updateAnswer = 0;\n            hint = \"There should only be energy in the kinetic\\nstore in the initial state of the system.\";\n            }\n          }\n        // (4) is wrong\n        else {\n          updateAnswer = 0;\n          hint = \"There should be some energy transferred\\n into the system mechanically due to the \\nwork done by the child on the car. \"; // --> depends on SCENARIO\n          }\n        }\n      // (3) is wrong\n      else {\n        updateAnswer = 0;\n        hint = \"The energy transferred out of the \\nsystem should be zero.\"\n        }\n      }\n    // (2) is wrong\n    else {\n      updateAnswer = 0;\n      hint = \"The amount of energy in the chemical,\\nelastic, gravitational, internal and nuclear\\nstores should be zero.\";\n      }\n    }\n  // (1) is wrong\n  else {\n    updateAnswer = 0;\n    hint = \"Total energy in the initial state of the system \\n+ the energy transferred into the system should be\\n = to the total energy in the final state of the system \\n+ the energy transferred out of the system.\";\n    }\n  \n  }"
        },
        {
          "Name": "generalAnswer",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "Template",
          "Code": "function answers1 () {    // depends on SCENARIO, need to include in Fixed relations. \n  var LHS = 0;\n  var RHS = 0;\n  for (let i=0; i< iniTotalEnergy.length; i++){\n    LHS += iniTotalEnergy[i];\n    RHS += finTotalEnergy[i];\n    }\n  debuggg = \"LHS +EtransIN+EtransIN2: \"+LHS +EtransIN+EtransIN2+ \"\\nRHS: \"+RHS +EtransOUT+EtransOUT2;\n  // (1) Total initial + transferred in = total final + transferred out\n  if (LHS + EtransIN + EtransIN2 == RHS + EtransOUT + EtransOUT2){\n    // (2) Zero C, E, G, I and N in the initial and final amount \u2192 only has kinetic\n    if (zeroExceptEnergy(isC,isE,isG,isI,isK,isN) ||true){  // (C,E,G,I,K,N) || true to skip check\n      ignoreEnergyLst = energyToIgnore(isC,isE,isG,isI,isK,isN);\n      // (3) identify energy being transferred IN\n      if ( check3assistant() ){\n        // (4) identify energy being transferred OUT\n        if ( check4assistant() ){    \n          // (5) Initial state only has check5 energies (iniC,iniE,iniG,iniI,iniK,iniN) \u2192 T/F\n          if ( check5n6assistant(iniC,iniE,iniG,iniI,iniK,iniN, iniTotalEnergy, \"INITIAL\") ){\n            // (6)  Final state only has check6 energies (finC,finE,finG,finI,finK,finN)\u2192 T/F\n            if ( check5n6assistant(finC,finE,finG,finI,finK,finN, finTotalEnergy, \"FINAL\")  ){\n              // (7) Other criteria: Final state K > initial state K\n              if ( (check7a==false) || (check7a==true && check7assistant() ) ){ \n                updateAnswer = 1;\n                hint = '';\n                debuggg = '';\n                }\n              else {\n                updateAnswer = 0;\n                debuggg += \"\\nDid not pass check 7\"\n                }\n              }\n            // (6) is wrong\n            else {\n              updateAnswer = 0;\n              //debuggg = \"Did not pass check 6\";\n              }\n            }\n          // (5) is wrong\n          else {\n            updateAnswer = 0;\n            //debuggg = \"Did not pass check 5\";\n            }\n          }\n        // (4) is wrong\n        else {\n          updateAnswer = 0;\n          // hints kept w the assistant\n          }\n        }\n      // (3) is wrong\n      else {\n        updateAnswer = 0;\n        // hints kept w the assistant\n        debuggg = \"Did not pass check 3\";\n        }\n      }\n    // (2) is wrong\n    else {\n      updateAnswer = 0;\n      hint = \"The amount of energy in the \\n\";\n      if (isC == false){hint += \"chemical, \"}\n      if (isE == false){hint += \"elastic, \"}\n      if (isG == false){hint += \"gravitational, \"}\n      if (isI == false){hint += \"internal, \"}\n      if (isK == false){hint += \"kinetic, \"}\n      if (isN == false){hint += \"nuclear \"}\n      hint += \"\\nstores should be zero.\";\n      }\n    }\n  // (1) is wrong\n  else {\n    updateAnswer = 0;\n    hint = \"Total energy in the initial state of the system \\n+ the energy transferred into the system should be\\n = to the total energy in the final state of the system \\n+ the energy transferred out of the system.\";\n    hint = \"Total energy in the initial state of the system + the energy transferred into\\nthe system should be = to the total energy in the final state of the system\\n+ the energy transferred out of the system.\";\n    }\n  \n  }"
        },
        {
          "Name": "answerAssistants",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "//////////////////////////////////////\n// 1) Energy displayed / considered //  ** Affects checks and displays\n//////////////////////////////////////\n\nfunction isLastEnergyDisplayed(){\n  displayEnergiesLst = [displayChemical, displayElastic, displayGravitational,\n                        displayInternal, displayKinetic, displayNuclear];\n  let trueCount = displayEnergiesLst.filter(item => item === true).length;\n  if (trueCount==1){\n    alert(\"At least one energy should be considered to play the simulation!\");\n    // narrow down to that energy and disable it. \n    if (displayChemical==true){document.getElementById(\"displayChemical\").disabled = true;}\n    else if (displayElastic==true){document.getElementById(\"displayElastic\").disabled = true;}\n    else if (displayGravitational==true){document.getElementById(\"displayGravitational\").disabled = true;}\n    else if (displayInternal==true){document.getElementById(\"displayInternal\").disabled = true;}\n    else if (displayKinetic==true){document.getElementById(\"displayKinetic\").disabled = true;}\n    else if (displayNuclear==true){document.getElementById(\"displayNuclear\").disabled = true;}\n    }\n  else{\n    document.getElementById(\"displayChemical\").disabled = false;\n    document.getElementById(\"displayElastic\").disabled = false;\n    document.getElementById(\"displayGravitational\").disabled = false;\n    document.getElementById(\"displayInternal\").disabled = false;\n    document.getElementById(\"displayKinetic\").disabled = false;\n    document.getElementById(\"displayNuclear\").disabled = false;\n    }\n  }\n  \nfunction updateVariables(){\n  displayEnergiesLst = [displayChemical, displayElastic, displayGravitational,\n                        displayInternal, displayKinetic, displayNuclear];\n  // ID is same as iniTotalEnergy and finTotalEnergy //\n  for (let i=0; i < iniTotalEnergy.length; i++){\n    if (displayEnergiesLst[i] == false){\n      iniTotalEnergy[i] = 0;    // Update iniTotalEnergy\n      finTotalEnergy[i] = 0;    // Update finTotalEnergy\n      }\n    }\n  // update check2, check 5 and check6 by restarting them to false //\n  if (displayChemical==false)     {isC =false; iniC =false; finC =false;}\n  if (displayElastic==false)      {isE =false; iniE =false; finE =false;}\n  if (displayGravitational==false){isG =false; iniG =false; finG =false;}\n  if (displayInternal==false)     {isI =false; iniI =false; finI =false;}\n  if (displayKinetic==false)      {isK =false; iniK =false; finK =false;}\n  if (displayNuclear==false)      {isN =false; iniN =false; finN =false;}\n  }\n\n\n///////////////////////////////////////////////\n// 2) Check what energy to ignore its amount //  ** Affects check 5 and 6\n///////////////////////////////////////////////  returns a list ID to ignore\n\nfunction energyToIgnore(C,E,G,I,K,N){\n  let checkLst = [C,E,G,I,K,N];  // lst contains T/F\n  let indexLst = [];\n  for (let i=0; i < checkLst.length; i++){\n    if (checkLst[i]==true){indexLst.push(i);}\n    }\n  return indexLst\n  }\n\nfunction zeroExceptEnergy(C,E,G,I,K,N){  // Scenario 1: (false, false, false, false, TRUE, false)\n  // check which index gives false from the argument --> index to check //\n  let indexLst = [];\n  if (C==false){indexLst.push(0)}\n  if (E==false){indexLst.push(1)}\n  if (G==false){indexLst.push(2)}\n  if (I==false){indexLst.push(3)}\n  if (K==false){indexLst.push(4)}\n  if (N==false){indexLst.push(5)}\n  // checking process: //\n  for (let i=0; i< iniTotalEnergy.length; i++){\n    // Skip any energy that is true, so to check for 0 //\n    for (let j=0; j < indexLst.length; j++){\n      if ( (indexLst[j] ==i) && ( (iniTotalEnergy[i] !=0)||(finTotalEnergy[i] !=0)  ) ){\n        return false\n        }\n      }\n    }\n  return true\n  }\n  \n/////////////////////////////////////////////////\n// 3) Check what energy is being transfered IN // (O)\n/////////////////////////////////////////////////\nfunction check3assistant(){  \n  // check3b is true, means confirm 2 types of energy are transferred\n  if (check3b){\n    // \u2192 if 2, need check IN correct, followed by IN2 and vice versa. \n    if (check3a && (EtransIN >0 && EtransIN2 >0) ){ \n      if ((updateTransIN == 1 && check3aEnergy == \"through propagation of waves\") || \n          (updateTransIN == 2 && check3aEnergy == \"mechanically\") || \n          (updateTransIN == 3 && check3aEnergy == \"through heating\") || \n          (updateTransIN == 4 && check3aEnergy == \"electrically\") || \n          (updateTransIN == 5 && check3aEnergy == \"chemically\") ){\n        if (updateTransIN2 == 1 && check3bEnergy == \"through propagation of waves\"){return true}\n        else if (updateTransIN2 == 2 && check3bEnergy == \"mechanically\"){return true}\n        else if (updateTransIN2 == 3 && check3bEnergy == \"through heating\"){return true}\n        else if (updateTransIN2 == 4 && check3bEnergy == \"electrically\"){return true}\n        else if (updateTransIN2 == 5 && check3bEnergy == \"chemically\"){return true}\n        else{\n          hint = \"There should be some energy transferred into\\nthe system \"+check3bEnergy+\" due to \\n\"+check3bReason;\n          return false\n          }\n        }\n      else if ((updateTransIN2 == 1 && check3aEnergy == \"through propagation of waves\") || \n          (updateTransIN2 == 2 && check3aEnergy == \"mechanically\") || \n          (updateTransIN2 == 3 && check3aEnergy == \"through heating\") || \n          (updateTransIN2 == 4 && check3aEnergy == \"electrically\") ||\n          (updateTransIN2 == 5 && check3aEnergy == \"chemically\") ){\n        if (updateTransIN == 1 && check3bEnergy == \"through propagation of waves\"){return true}\n        else if (updateTransIN == 2 && check3bEnergy == \"mechanically\"){return true}\n        else if (updateTransIN == 3 && check3bEnergy == \"through heating\"){return true}\n        else if (updateTransIN == 4 && check3bEnergy == \"electrically\"){return true}\n        else if (updateTransIN == 5 && check3bEnergy == \"chemically\"){return true}\n        else{\n          hint = \"There should be some energy transferred\\ninto the system \"+check3bEnergy+\" due to \\n\"+check3bReason;\n          return false\n          }\n        }\n      else{\n        hint = \"There should be some energy transferred\\ninto the system \"+check3aEnergy+\" due to \\n\"+check3aReason;\n        return false\n        }\n      }\n    else{\n      hint = \"There should have some energy\\ntransferred into the system\\n\"+check3aEnergy+\" and \"+check3bEnergy+\".\";\n      }\n    }\n  // check3a is true, means there can be 1 or 2 types of energy transferred \u2192 no need check for 2 cuz check3b wldve been T\n  else if (check3a){\n    // \u2192 if only 1, just need to check whether the IN or IN2 is correctly identified\n    if (EtransIN >0 && EtransIN2 ==0){\n      if (updateTransIN == 1 && check3aEnergy == \"through propagation of waves\"){return true}\n      if (updateTransIN == 2 && check3aEnergy == \"mechanically\"){return true}\n      if (updateTransIN == 3 && check3aEnergy == \"through heating\"){return true}\n      if (updateTransIN == 4 && check3aEnergy == \"electrically\"){return true}\n      if (updateTransIN == 5 && check3aEnergy == \"chemically\"){return true}\n      }\n    else if (EtransIN ==0 && EtransIN2 >0){\n      if (updateTransIN2 == 1 && check3aEnergy == \"through propagation of waves\"){return true}\n      if (updateTransIN2 == 2 && check3aEnergy == \"mechanically\"){return true}\n      if (updateTransIN2 == 3 && check3aEnergy == \"through heating\"){return true}\n      if (updateTransIN2 == 4 && check3aEnergy == \"electrically\"){return true}\n      if (updateTransIN2 == 5 && check3aEnergy == \"chemically\"){return true}\n      }\n    else if (EtransIN >0 && EtransIN2 >0){\n      if (updateTransIN == 1 && updateTransIN2 == 1 && check3aEnergy == \"through propagation of waves\"){return true}\n      if (updateTransIN == 2 && updateTransIN2 == 2 && check3aEnergy == \"mechanically\"){return true}\n      if (updateTransIN == 3 && updateTransIN2 == 3 && check3aEnergy == \"through heating\"){return true}\n      if (updateTransIN == 4 && updateTransIN2 == 4 && check3aEnergy == \"electrically\"){return true}\n      if (updateTransIN == 5 && updateTransIN2 == 5 && check3aEnergy == \"chemically\"){return true}\n      hint = \"There should only be some energy transferred\\ninto the system \"+ check3aEnergy+\".\";\n      return false\n      }\n    /*\n    else{\n      hint = \"There should be some energy transferred\\ninto the system \"+check3aEnergy+\" due to \\n\"+check3aReason;\n      return false\n      }\n    */\n    hint = \"There should be some energy transferred\\ninto the system \"+check3aEnergy+\" due to \\n\"+check3aReason;\n    return false\n    }\n  else if (check3a ==false && check3b ==false){\n    if (EtransIN ==0 && EtransIN2 ==0){return true}\n    else{\n      hint = \"The energy transferred into\\nthe system should be zero.\";\n      return false\n      }\n    }\n  else{\n    debuggg=\"smth wrong at check3 :( \";\n    return true\n    }\n  }\n  \n//////////////////////////////////////////////////////////\n// 5,6) Check what energy is present in both L diagrams //\n//////////////////////////////////////////////////////////\n\nfunction check5n6assistant(C,E,G,I,K,N,energyLst,stateWord){\n  // works similarly to zeroExceptEnergy() where it checks arguments for FALSE\n  // C is either (iniC) or (finC), which give T or F \u2192 same goes for the other variables\n  // energyLst - [iniTotalEnergy] or [finTotalEnergy]\n  // stateWord - \"initial\" or \"final\" strings to put in the hint\n  ///////////////////////////////////////////////////////////////////////////////////////\n  \n  // Setting up: //\n  let checkLst = [C,E,G,I,K,N]    // lst contains T / F\n  let wordings = [\"Chemical\",\"Elastic\",\"Gravitational\",\"Internal\",\"Kinetic\",\"Nuclear\"]\n  \n  // checking process: //\n  for (let i=0; i< energyLst.length; i++){\n    if ( (checkLst[i] ==false) && ( energyLst[i] !=0) && (!ignoreEnergyLst.includes(i)) ){\n      // Hint to wrong energy stored //\n      hint = \"\"\n      for (let wordID=0; wordID < wordings.length; wordID++){\n        if (i==wordID){hint += wordings[wordID]}\n        }\n      hint += \" energy should NOT be\\nstored in the \"+stateWord+\" state of the system.\"\n      return false\n      }\n    else if ( (checkLst[i] ==true) && (energyLst[i] ==0) ){\n      // Hint to store correct energy //\n      hint = \"\"\n      for (let wordID=0; wordID < wordings.length; wordID++){\n        if (i==wordID){hint += wordings[wordID]}\n        }\n      hint += \" energy should be\\nstored in the \"+stateWord+\" state of the system.\"\n      return false\n      }\n    }\n  return true\n  }\n  \n//////////////////////////////////////////////////////////\n// 7) Check the amount of energy with the formula given //\n//////////////////////////////////////////////////////////\n\nfunction check7assistant(){\n  let wordings = [\"chemical\",\"elastic\",\"gravitational potential\",\"internal\",\"kinetic\",\"nuclear\"]\n  // load formula from userCode //\n  finalC=999; finalE=999; finalG=999; finalI=999; finalK=999; finalN=999; // to check whether user edited var\n  inequalityCheckLst = []  // final judgement\n  runUserCode(\"Error in code, please review code again.\");\n  // checking process: //\n  passfail = []; // final judgement\n  let finalLst = [finalC, finalE, finalG, finalI, finalK, finalN];\n  //let finalLst = [fC,fE, fG, fI, fK, fN]; // = this is finTotalEnergy\n  let checkLst = [finC,finE,finG,finI,finK,finN];    // lst contains T/F\n  debuggg = finalLst+\"\\ncheckLst: \"+checkLst+\"\\ninequalityCheckLst: \"+inequalityCheckLst;\n  // check for the correct energy present in the initial state before checking condition // \n  for (let i=0; i < finTotalEnergy.length ; i++){\n    if ( checkLst[i] ==true && finalLst[i]!=999 ) {\n      if (finalLst[i] == finTotalEnergy[i]) {\n        passfail += true\n        }\n      else{\n        //alert(\"wrong\")\n        hint = \"The amount of \"+wordings[i]+\" energy in the final state is wrong\"\n        passfail += false\n        }\n      }\n    }\n  // Final judgement: //\n  debuggg += \"\\npassfail: \"+passfail;  // Equality formulas\n  if ( !inequalityCheckLst.includes(false) ){  // check inequality formula(s) if any\n    if ( allFalseLst(checkLst) ){  // highly unlikely this will occur\n      hint = \"There should be no energy\\npresent in the FINAL state.\";\n      return false\n      }\n    if ( !passfail.includes(false) ){return true}  // check equality formula(s) if any\n    if ( passfail.includes(false) ){return false} \n    return true  \n    }\n  else if ( inequalityCheckLst.includes(false) ){\n    hint = \"The amount of energy in the final state is wrong.\";\n    return false\n    }\n  }\n"
        },
        {
          "Name": "check4assistant",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "\n//////////////////////////////////////////////////\n// 4) Check what energy is being transfered OUT //\n//////////////////////////////////////////////////\n\nfunction check4assistant(){\n  if (check4b){    // \u2192 confirm 2 types of energy are transferred\n    if (check4b && (EtransOUT >0 && EtransOUT2 >0) ){ \n      if ((updateTransOUT == 1 && check4aEnergy == \"through propagation of waves\") || \n          (updateTransOUT == 2 && check4aEnergy == \"mechanically\") || \n          (updateTransOUT == 3 && check4aEnergy == \"through heating\") || \n          (updateTransOUT == 4 && check4aEnergy == \"electrically\") ||\n          (updateTransOUT == 5 && check4aEnergy == \"chemically\") ){\n        if (updateTransOUT2 == 1 && check4bEnergy == \"through propagation of waves\"){return true}\n        else if (updateTransOUT2 == 2 && check4bEnergy == \"mechanically\"){return true}\n        else if (updateTransOUT2 == 3 && check4bEnergy == \"through heating\"){return true}\n        else if (updateTransOUT2 == 4 && check4bEnergy == \"electrically\"){return true}\n        else if (updateTransOUT2 == 5 && check4bEnergy == \"chemically\"){return true}\n        else{\n          hint = \"There should be some energy transferred out\\nof the system \"+check4bEnergy+\" due to \\n\"+check4bReason;\n          return false\n          }\n        }\n      else if ((updateTransOUT2 == 1 && check4aEnergy == \"through propagation of waves\") || \n          (updateTransOUT2 == 2 && check4aEnergy == \"mechanically\") || \n          (updateTransOUT2 == 3 && check4aEnergy == \"through heating\") ||  \n          (updateTransOUT2 == 4 && check4aEnergy == \"electrically\") ||\n          (updateTransOUT2 == 5 && check4aEnergy == \"chemically\") ){\n        if (updateTransOUT == 1 && check4bEnergy == \"through propagation of waves\"){return true}\n        else if (updateTransOUT == 2 && check4bEnergy == \"mechanically\"){return true}\n        else if (updateTransOUT == 3 && check4bEnergy == \"through heating\"){return true}\n        else if (updateTransOUT == 4 && check4bEnergy == \"electrically\"){return true}\n        else if (updateTransOUT == 5 && check4bEnergy == \"chemically\"){return true}\n        else{\n          hint = \"There should be some energy transferred\\nout of the system \"+check4bEnergy+\" due to \\n\"+check4bReason;\n          return false\n          }\n        }\n      else{\n        hint = \"There should be some energy transferred\\nout of the system \"+check4aEnergy+\" due to \\n\"+check4aReason;\n        return false\n        }\n      }\n    else{\n      hint = \"There should have some energy\\ntransferred out of the system\\n\"+check4aEnergy+\" and \"+check4bEnergy+\".\";\n      }\n    }\n  else if (check4a){\n    if (EtransOUT >0 && EtransOUT2 ==0){\n      if (updateTransOUT == 1 && check4aEnergy == \"through propagation of waves\"){return true}\n      if (updateTransOUT == 2 && check4aEnergy == \"mechanically\"){return true}\n      if (updateTransOUT == 3 && check4aEnergy == \"through heating\"){return true}\n      if (updateTransOUT == 4 && check4aEnergy == \"electrically\"){return true}\n      if (updateTransOUT == 5 && check4aEnergy == \"chemically\"){return true}\n      }\n    else if (EtransOUT ==0 && EtransOUT2 >0){\n      if (updateTransOUT2 == 1 && check4aEnergy == \"through propagation of waves\"){return true}\n      if (updateTransOUT2 == 2 && check4aEnergy == \"mechanically\"){return true}\n      if (updateTransOUT2 == 3 && check4aEnergy == \"through heating\"){return true}\n      if (updateTransOUT2 == 4 && check4aEnergy == \"electrically\"){return true}\n      if (updateTransOUT2 == 5 && check4aEnergy == \"chemically\"){return true}\n      }\n    else if (EtransOUT >0 && EtransOUT2 >0){\n      if (updateTransOUT == 1 && updateTransOUT2 == 1 && check4aEnergy == \"through propagation of waves\"){return true}\n      if (updateTransOUT == 2 && updateTransOUT2 == 2 && check4aEnergy == \"mechanically\"){return true}\n      if (updateTransOUT == 3 && updateTransOUT2 == 3 && check4aEnergy == \"through heating\"){return true}\n      if (updateTransOUT == 4 && updateTransOUT2 == 4 && check4aEnergy == \"electrically\"){return true}\n      if (updateTransOUT == 5 && updateTransOUT2 == 5 && check4aEnergy == \"chemically\"){return true}\n      hint = \"There should only be some energy transferred\\nout of the system \"+ check4aEnergy+\".\";\n      return false\n      }\n    hint = \"There should be some energy transferred\\nout of the system \"+check4aEnergy+\" due to \\n\"+check4aReason;\n    return false\n    }\n  else if (check4a ==false && check4b ==false){\n    if (EtransOUT ==0 && EtransOUT2 ==0){return true}\n    else{\n      hint = \"The energy transferred out\\nof the system should be zero.\";\n      return false\n      }\n    }\n  else{\n    debuggg=\"smth wrong at check4 :( \";\n    return true\n    }\n  }"
        },
        {
          "Name": "fullscreen",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "//https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode\n// does not work for iOS \n/*jslint browser:true */\nfunction toggleFullScreen() {\n  if (!document.fullscreenElement &&    // alternative standard method\n      !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) {  // current working methods\n    if (document.documentElement.requestFullscreen) {\n      document.documentElement.requestFullscreen();\n    } else if (document.documentElement.msRequestFullscreen) {\n      document.documentElement.msRequestFullscreen();\n    } else if (document.documentElement.mozRequestFullScreen) {\n      document.documentElement.mozRequestFullScreen();\n    } else if (document.documentElement.webkitRequestFullscreen) {\n      document.documentElement.webkitRequestFullscreen();\n    }\n  } else {\n    if (document.exitFullscreen) {\n      document.exitFullscreen();\n    } else if (document.msExitFullscreen) {\n      document.msExitFullscreen();\n    } else if (document.mozCancelFullScreen) {\n      document.mozCancelFullScreen();\n    } else if (document.webkitExitFullscreen) {\n      document.webkitExitFullscreen();\n    }\n  }\n}"
        },
        {
          "Name": "changeOrientation",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "// code to be copied to EJSS source code under Custom and used in drawingPanel3D and plottingPanel2D\n// address the problem is height difference is iOS app , epub, and Firefox\n// user need to change only k and kepub\n// copy %changeOrientation()% into the Height Field of drawingPanel3D and plottingPanel2D\nfunction changeOrientation() {\n \nvar k =0.90 ; // k control height 1 is for full screen, 0.9 shorten etc\nvar kapple =0.90 // control apple app height\nvar kepub =0.90 ;\n// check platform for Apps\ntry { // allow code to run in Student Learning Space \n  var iOSapp =  (typeof parent.device != 'undefined' && parent.device.platform == \"iOS\");\n  var Androidapp = (typeof parent.device != 'undefined' && parent.device.platform == \"Android\");\n} catch(e) {\n  var iOSapp = false;\n  var Androidapp = false;\n}\n// check platform for web browsers\nvar iOS =/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\nvar iPad =/iPad/.test(navigator.userAgent) && !window.MSStream;\nvar iPhone = /iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\nvar Android= /Android|android/i.test(navigator.userAgent);\n\n//navigator\nvar Firefox = navigator.userAgent.indexOf(\"Firefox\") != -1;\n \nswitch (window.orientation) { // using window.orientation as deciding factor\n  case 0:\n  case 180:\n    this.screenOrientation = 'portrait';\n    if (iOSapp){ // does not seems to work\n      \n      return window.screen.height*kapple;  //0.1 for app and 0.1 for nonfullscreenapp  \n    \n    }\n    else if (_isEPub){ // does not seems to work\n      //   return Math.max(window.screen.width,window.screen.height)*0.9;\n      return window.innerHeight*kepub;  //0.1 for app and 0.1 for nonfullscreenapp  \n      // return window.screen.height;\n      //  return window.innerHeight;\n      // return document.documentElement.clientHeight;\n    }\n   \n    else {\n     \n      return 100*k+\"vh\";\n    }\n    break;\n  case 90:\n  case -90:\n    this.screenOrientation = 'landscape';\n \n    if (iOSapp){ // App\n      return window.screen.width*kapple;  \n      // return window.screen.height;\n      //  return window.innerHeight;\n      //  return document.documentElement.clientHeight;\n    }\n    else if (_isEPub){ // does not seems to work\n      //   return Math.max(window.screen.width,window.screen.height)*0.9;\n      return window.innerHeight*kepub;  //0.1 for app and 0.1 for nonfullscreenapp  \n      // return window.screen.height;\n      //  return window.innerHeight;\n      // return document.documentElement.clientHeight;\n    }\n   \n    else {\n      return 100*k+\"vh\";\n      }\n    break;\n  default:\n    this.screenOrientation = 'unknown';\n    //       return (iPad)?\"\"+(window.screen.width+window.screen.height)*0.4:((iPhone)?\"\"+window.screen.width:_view._format(window.innerHeight*0.9,\"0\"));\n     if (Firefox){\n      return window.innerHeight*k;// number as of 20180831 Firefox does not support vh yet so need a separate line to handle\n      }\n   //   else if (iOS&&(window.orientation==0)||(window.orientation==180)){\n   //   return  window.screen.height*k;// number as of 20180831 Firefox does not support vh yet so need a separate line to handle\n   //   }\n    //  else if (iOS&&(window.orientation==90)||(window.orientation==-90)){\n   //   return  window.screen.width*k;// number as of 20180831 Firefox does not support vh yet so need a separate line to handle\n   //   }\n      else {\n      //alert();\n      // return 100*k+\"%\"; // work on fullscreen works in EJSS6.0beta\n        //  works in EjsS_5.3_180131\n      return  window.innerHeight*k; // work on panel \n       \n}\n\n}\n \n}"
        },
        {
          "Name": "speech",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "// copy this custom function\n// in iOS need to add speech to the play button as On iOS the API works but must be triggered by a user action callback, like a response to a tap event, to provide a better experience to users and avoid unexpected sounds out of your phone\nfunction speech (option) {\n\n\ntry { // allow code to run in Student Learning Space \nvar isCordova = (!!this.parent.cordova || !!window.cordova);\nif(isCordova) { // check it is running in Android or iOS\n       // parent.TTS.speak({text:option,locale:'zh-CN'});\n\tparent.TTS.speak({text:option,locale:'us-EN'});\n\t// parent.TTS.speak({text:option,locale:'en-US'});\n\t// parent.TTS.speak({text:option,locale:'id-ID'});\n} \n} \ncatch(e) {\n  var isCordova = false;\n  }\n  \n   var msg = new SpeechSynthesisUtterance(option);\n\n  //https://stackoverflow.com/questions/43983845/speechsynthesis-api-for-chinese-firefox\n  // Set the text.\n\t//msg.text = option; \n\t//https://forums.developer.apple.com/message/323564#323564\n\t// comment out the next 2 lines for english\n//msg.voice = speechSynthesis.getVoices().filter(function(voice) { return voice.name == 'Ting-Ting'; })[0];\n//msg.lang = 'zh-CH'; // need for android?\n//msg.lang = 'id-ID'; // need for android?\nmsg.lang = 'us-EN'; // need for android?\n\n//https://flaviocopes.com/speech-synthesis-api/\n//debug\n//console.log(`Voices #: ${speechSynthesis.getVoices().length}`)\n//speechSynthesis.getVoices().forEach(voice => {\n// console.log(voice.name, voice.lang)\n//})\n//debug\n\n// Queue this utterance.\nwindow.speechSynthesis.speak(msg);\n\n\n\n \n\n}"
        },
        {
          "Name": "css",
          "Active": "false",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "Using the space to explore the use of CSS. - ROUGH WORK TO DISABLE -",
          "Code": "function css () {\n  \n  \"position\": \"absolute\",\n  \"display\":\"flex\",\n    \"flex-direction\":\"column\",\n    \"justify-content\":\"center\",\n    \"align-items\":\"center\",\n  \n\n  \n}"
        },
        {
          "Name": "runUserCode",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function runUserCode (errorMsg) {\n  var userPlay = _view.userCode.getValue();\n  try {\n    eval(userPlay);\n    }\n  catch(error){\n    _tools.showOkDialog(errorMsg);\n    }\n}"
        },
        {
          "Name": "revealSol",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function revealSolution () {    // used in the reveal button\n  // to handle infinite loops causing page timeout\n  let loopCount = 0;\n  let maxIterations = 1000000;  \n  // Read through the checks for answer --> Update var in control of displaying the answers //\n  while (true){\n    // Read through check 3 //\n    if (true){\n      if (check3aEnergy == \"through propagation of waves\"){updateTransIN =1; EtransIN =Math.ceil( Math.random()*10 );_view.energyTypeIN.setSelectedOptions([\"Propagation of waves\"]);\n      }\n      else if (check3aEnergy == \"mechanically\")           {updateTransIN =2;EtransIN =Math.ceil( Math.random()*10 );_view.energyTypeIN.setSelectedOptions([\"Mechanically\"]);\n      }\n      else if (check3aEnergy == \"through heating\")        {updateTransIN =3; EtransIN =Math.ceil( Math.random()*10 );_view.energyTypeIN.setSelectedOptions([\"Heating\"]);\n      }\n      else if (check3aEnergy == \"electrically\")           {updateTransIN =4; EtransIN =Math.ceil( Math.random()*10 );_view.energyTypeIN.setSelectedOptions([\"Electrically\"]);\n      }\n      else if (check3aEnergy == \"chemically\")             {updateTransIN =5; EtransIN =Math.ceil( Math.random()*10 );_view.energyTypeIN.setSelectedOptions([\"Chemically\"]);\n      }\n      else{  updateTransIN =0; EtransIN =0;}\n      // Correctly set the combobox\n      \n      //_view.energyTypeIN.setSelectedOptions([\"Mechanically\"];\n      //alert(check3aEnergy)\n      dragEtransIN =EtransIN;\n      }\n    if (true){\n      if (check3bEnergy == \"through propagation of waves\"){updateTransIN2 =1; EtransIN2 =Math.ceil( Math.random()*10 );_view.energyTypeIN2.setSelectedOptions([\"Propagation of waves\"])\n      }\n      else if (check3bEnergy == \"mechanically\")           {updateTransIN2 =2; EtransIN2 =Math.ceil( Math.random()*10 );_view.energyTypeIN2.setSelectedOptions([\"Mechanically\"])\n      }\n      else if (check3bEnergy == \"through heating\")        {updateTransIN2 =3; EtransIN2 =Math.ceil( Math.random()*10 );_view.energyTypeIN2.setSelectedOptions([\"Heating\"])\n      }\n      else if (check3bEnergy == \"electrically\")           {updateTransIN2 =4; EtransIN2 =Math.ceil( Math.random()*10 );_view.energyTypeIN2.setSelectedOptions([\"Electrically\"])\n      }\n      else if (check3bEnergy == \"chemically\")             {updateTransIN2 =5; EtransIN2 =Math.ceil( Math.random()*10 );_view.energyTypeIN2.setSelectedOptions([\"Chemically\"])\n      }\n      else{  updateTransIN2 =0; EtransIN2 =0;}\n      dragEtransIN2 =EtransIN2;\n      }\n    // Read through check 4 //\n    if (true){\n      if (check4aEnergy == \"through propagation of waves\"){updateTransOUT =1; EtransOUT =Math.ceil( Math.random()*10 );_view.energyTypeOUT.setSelectedOptions([\"Propagation of waves\"])\n      }\n      else if (check4aEnergy == \"mechanically\")           {updateTransOUT =2; EtransOUT =Math.ceil( Math.random()*10 );_view.energyTypeOUT.setSelectedOptions([\"Mechanically\"]);\n      }\n      else if (check4aEnergy == \"through heating\")        {updateTransOUT =3; EtransOUT =Math.ceil( Math.random()*10 );_view.energyTypeOUT.setSelectedOptions([\"Heating\"]);\n      }\n      else if (check4aEnergy == \"electrically\")           {updateTransOUT =4; EtransOUT =Math.ceil( Math.random()*10 );_view.energyTypeOUT.setSelectedOptions([\"Electrically\"])\n      }\n      else if (check4aEnergy == \"chemically\")             {updateTransOUT =5; EtransOUT =Math.ceil( Math.random()*10 );_view.energyTypeOUT.setSelectedOptions([\"Chemically\"])\n      }\n      else{  updateTransOUT =0; EtransOUT =0;}\n      dragEtransOUT =EtransOUT;\n      }\n    if (true){\n      if (check4bEnergy == \"through propagation of waves\"){updateTransOUT2 =1; EtransOUT2 =Math.ceil( Math.random()*10 );_view.energyTypeOUT2.setSelectedOptions([\"Propagation of waves\"])\n      }\n      else if (check4bEnergy == \"mechanically\")           {updateTransOUT2 =2; EtransOUT2 =Math.ceil( Math.random()*10 );_view.energyTypeOUT2.setSelectedOptions([\"Mechanically\"]);\n      }\n      else if (check4bEnergy == \"through heating\")        {updateTransOUT2 =3; EtransOUT2 =Math.ceil( Math.random()*10 );_view.energyTypeOUT2.setSelectedOptions([\"Heating\"]);\n      }\n      else if (check4bEnergy == \"electrically\")           {updateTransOUT2 =4; EtransOUT2 =Math.ceil( Math.random()*10 );_view.energyTypeOUT2.setSelectedOptions([\"Electrically\"])\n      }\n      else if (check4bEnergy == \"chemically\")             {updateTransOUT2 =5; EtransOUT2 =Math.ceil( Math.random()*10 );_view.energyTypeOUT2.setSelectedOptions([\"Chemically\"])\n      }\n      else{  updateTransOUT2 =0; EtransOUT2 =0;}\n      dragEtransOUT2 =EtransOUT2;\n      }\n    // Read through check 5n6 //\n\n \n     iniEnergiesLst = [iniC, iniE, iniG, iniI, iniK, iniN];\n     finEnergiesLst = [finC, finE, finG, finI, finK, finN];\n     dragEnergiesLst = [dragCY, dragEY, dragGY, dragIY, dragKY, dragNY];\n     dragEnergies2Lst = [dragC2Y, dragE2Y, dragG2Y, dragI2Y, dragK2Y, dragN2Y];\n    for (let i=0; i < iniEnergiesLst.length; i++){  // ID is same as iniTotalEnergy and finTotalEnergy\n      if (iniEnergiesLst[i] == true){\n        iniTotalEnergy[i] =dragEnergiesLst[i] = Math.ceil( Math.random()*10 );\n        //dragEnergiesLst[i] = iniTotalEnergy[i];\n       // alert(dragEnergiesLst[4])\n       // alert(\"dragKY =\"+ dragKY)\n        } // fixed by lookang dragEnergiesLst\n      else if (iniEnergiesLst[i] == false){ \n      iniTotalEnergy[i] =0;\n      dragEnergiesLst[i] = iniTotalEnergy[i];\n      }\n      \n      if (finEnergiesLst[i] == true){\n        finTotalEnergy[i]  = Math.ceil( Math.random()*10 );\n        dragEnergies2Lst[i] = finTotalEnergy[i];\n        } // fixed by lookang dragEnergies2Lst\n      else{ \n      finTotalEnergy[i] =0;\n      dragEnergies2Lst[i] = finTotalEnergy[i];\n      }\n      //update dragYs after loop fix by lookang 20240624\n      dragCY = dragEnergiesLst[0];\n      dragEY = dragEnergiesLst[1]\n      dragGY = dragEnergiesLst[2]\n      dragIY = dragEnergiesLst[3]\n      dragKY = dragEnergiesLst[4];\n      dragNY = dragEnergiesLst[5]\n      dragC2Y = dragEnergies2Lst[0];\n      dragE2Y = dragEnergies2Lst[1]\n      dragG2Y = dragEnergies2Lst[2]\n      dragI2Y = dragEnergies2Lst[3]\n      dragK2Y = dragEnergies2Lst[4];\n      dragN2Y = dragEnergies2Lst[5]\n      \n  \n\n      }\n\n\n    \n    // Read through check 7 //\n    if (check7a==true){ maxIterations = 5000000;    // let it load longer\n      _update();\n      let equalityEnergies = [finalC, finalE, finalG, finalI, finalK, finalN];\n      for (let i=0; i < equalityEnergies; i++){  // ID is same as finTotalEnergy\n        finTotalEnergy[i] = Math.round( equalityEnergies[i] );\n        }\n      }\n    // Check if all variables meet the criteria\n    try{\n      answers1();\n      loopCount++;\n      if (loopCount >= maxIterations) {throw new Error(\"Maximum iteration limit reached, exiting loop.\");}\n      if (updateAnswer ==1)  {break;}\n      } catch (error){alert(\"Error in generating answer key. Please refresh browser and try again.\");break;}\n\n    }\n  }"
        },
        {
          "Name": "roundTheLst",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "Modifying elements in list makes easy here",
          "Code": "function roundTheLst(lst){\n  for (let i=0; i<lst.length; i++){\n    lst[i] = Math.round(lst[i]);\n    }\n  return lst\n}\n\nfunction oneTrueLst(lst,element){         // used on interactPrompt lst \n  for (let i=0; i<lst.length; i++){\n    lst[i] = false;\n    if (i==element){  lst[i] = true  };\n    }\n  }\n\nfunction numberedLst(number) {\n  let lst = [];\n\n  // Populate the list with negative numbers if number is negative\n  if (number < 0) {\n    for (let i = -1; i >= number; i--) {\n      lst.push(i);\n    }\n  }\n\n  // Append positive numbers starting from 1 up to the absolute value of the input number\n  for (let i = 0; i < Math.floor(number); i++) {\n    lst.push(i);\n  }\n\n  return lst;\n}\n\n\n/*\nfunction numberedLst(number){          // used in iconsPicts (L)\n  lst = [];\n  for (let i=0; i < Math.floor(number); i++){\n    lst.push(i);\n    }\n  //alert(lst);\n  return lst    // return [0,1,2, ...]\n  }\n*/\nfunction numberedLstFromX(number,X){  // used in iconsPicts (O)\n  lst = numberedLst(number);\n  for (let i=0; i < lst.length; i++){\n    lst[i] = lst[i] + X; \n    }\n  //alert(lst)\n  return lst    // return [X,X+1, ...]\n  }\n  \nfunction allFalseLst(lst){          // used the check7 for checkLst\n  for (let i=0; i<lst.length; i++){\n    if (lst[i] == true){return false}\n    }\n  debuggg += \"\\ninside allFalseLst\"\n  return true\n  }\n  \n/////////////////////////////////////  Function serves to label the\n// specifically for trans_Text (O) //  trans_Text where ID=0 gives \n/////////////////////////////////////  textLst[0] but img otherwise\n// ERROR: (Text != ImageUrl)  \u2192\u2192\u2192 FUNCTION NOT USED, IDEA DECLINED  \u2192\u2192\u2192  just (T\u2081) will do\n\n// :/ HtmlView / transIN_text / Text \u2192 % transIN[updateTransIN] %\n// \u2192 % textToImgLst(transIN, imgIN, updateTransIN) %\nfunction textToImgLst(textLst, imgLst, updateID){  \n  if (updateID==0){return textLst[updateID]}\n  else  {return imgLst[updateID]}\n  }\n"
        },
        {
          "Name": "FileSaver",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EXTERNAL_EDITOR",
          "Comment": "",
          "Code": ""
        },
        {
          "Name": "jszip",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EXTERNAL_EDITOR",
          "Comment": "",
          "Code": ""
        },
        {
          "Name": "import",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "//written by ryan451\n//copy to custom function of ejss\n\n//version 2\n/**\n * @async\n * @function attemptLoadGraph\n * @returns {Promise<object>} Promise resolved: an object representing the data that was loaded\n */\n\nasync function attemptLoadGraph() {\n  const graphResponse = await fetch(\"records.json\");\n  const graphSettings = await graphResponse.json();\n  return graphSettings;\n}\n/*\nUse like this:\n\nattemptLoadGraph().then(function(data) {\n  uiVariable1 = data.uiVariable1;\n  buttonText = data.buttonText;\n  _view.update();\n});\n\n*/"
        },
        {
          "Name": "export",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "async function exportGraph(exportObject, filename=\"export.zip\") {\n  // Get the zipped export template\n  const exportTemplatePath = \"export-template.zip\";\n  const graphFileName = \"records.json\";\n\n  //const IS_TESTING_EXPORT = true;\n\n  let exportZip;\n  //if (IS_TESTING_EXPORT) {\n   // exportZip = new JSZip();\n  //} else {\n    exportZip = await getZipFromPath(exportTemplatePath);\n  //}\n\n  exportZip.file(graphFileName, JSON.stringify(exportObject));\n\n  exportZip.generateAsync({type: \"blob\"}).then(blob => saveAs(blob, filename));\n}\n\nfunction onGraphExportComplete() {\n  alert(\"Export complete\");\n}\n\nasync function getZipFromPath(path) {\n  return await JSZip.loadAsync(await (await fetch(path)).blob());\n}\n\nfunction saveBlob(blob, filename) {\n  var elem = window.document.createElement(\"a\");\n  var objectUrl = window.URL.createObjectURL(blob);\n  elem.href = objectUrl;\n  elem.download = filename;\n  elem.click();\n  \n  // Cleanup allocated objects to avoid memory leaks\n  // These objects do not get GCed\n  setTimeout(function(elem, objectUrl) {\n    elem.remove();\n    window.URL.revokeObjectURL(objectUrl);\n  }, 1_000, elem, objectUrl);\n}\n"
        },
        {
          "Name": "onFileUpload",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "// onFileUpload\n\nfunction onFileUpload(event) {\n  const file = event.target.files[0]; // Get the selected file\n  if (file && file.type === 'application/json') {\n    const reader = new FileReader();\n    \n    reader.onload = function(e) {\n      try {\n        const data = JSON.parse(e.target.result); // Parse JSON content\n        console.log(data); // Log the contents\n        \n          //alert( \"loading new values\")\n          ////////////////////////////////////////////\n          // data to be loaded into export & import //\n          ////////////////////////////////////////////\n          // Setting: // \n          systemText2 = data.systemText2;\n          initialState2 = data.initialState2;\n          finalState2 = data.finalState2;\n          remarks2 = data.remarks2;\n          show2D = data.show2D;\n          show3D = data.show3D;\n          revealRadioButton = data.revealRadioButton;\n          \n          \n          //check 1\n          displayChemical = data.displayChemical;\n          displayElastic = data.displayElastic;\n          displayGravitational= data.displayGravitational;\n          displayInternal= data.displayInternal;\n          displayKinetic = data.displayKinetic;\n          displayNuclear = data.displayNuclear;\n          \n          \n          // check2 - ignoring of energy: //\n          isC = data.isC;\n          isE = data.isE;\n          isG = data.isG;\n          isI = data.isI;\n          isK = data.isK;\n          isN = data.isN;\n          ignoreEnergyLst = data.ignoreEnergyLst;\n          \n          // check3/4 - Transferable Energy: //\n          check3a = data.check3a;  \n          check3b = data.check3b;\n          check4a = data.check4a;\n          check4b = data.check4b;\n          \n          check3aEnergy = data.check3aEnergy;\n          check3bEnergy = data.check3bEnergy;\n          check4aEnergy = data.check4aEnergy;\n          check4bEnergy = data.check4bEnergy;\n          \n          check3aReason = data.check3aReason;\n          check3bReason = data.check3bReason;\n          check4aReason = data.check4aReason;\n          check4bReason = data.check4bReason;\n          \n          // check5 - avail energy initially: //\n          iniC = data.iniC;\n          iniE = data.iniE;\n          iniG = data.iniG;\n          iniI = data.iniI;\n          iniK = data.iniK;\n          iniN = data.iniN;\n          \n          // check6 - final state energy: //\n          finC = data.finC;\n          finE = data.finE;\n          finG = data.finG;\n          finI = data.finI;\n          finK = data.finK;\n          finN = data.finN;\n          \n          // check7 - formula: //\n          check7a = data.check7a;\n          finalC = data.finalC;\n          finalE = data.finalE;\n          finalG = data.finalG;\n          finalI = data.finalI;\n          finalK = data.finalK;\n          finalN = data.finalN;\n          passfail = data.passfail;\n          inequalityCheckLst = data.inequalityCheckLst;\n          userPlay = data.userPlay;\n          \n          // ... to be continued if necessary ...\n          \n          //_view._addInteraction(function(){}  ,\"Q1\",{\"property\":\"value\", \"element\":\"question\"}); // use to detect beginning of Q1\n          //alert( \"add interaction\")\n          \n          _update();\n          //alert( not working if use \"_view._update\")\n      } catch (error) {\n        console.error('Invalid JSON format', error);\n      }\n    };\n\n    reader.onerror = function() {\n      console.error('Error reading file', reader.error);\n    };\n\n    reader.readAsText(file); // Read file as text\n  } else {\n    console.error('Please upload a valid JSON file.');\n  }\n}"
        }
      ]
    },
    "elements": {
      "list": []
    }
  },
  "view": {
    "Tree": [
      {
        "Name": "fullscreen",
        "Type": "Panel",
        "Expanded": "true",
        "Properties": [
          {
            "name": "Width",
            "value": "\"100%\""
          },
          {
            "name": "Font",
            "value": "%font%"
          },
          {
            "name": "Display",
            "value": "\"inlne-block\""
          }
        ],
        "Children": [
          {
            "Name": "answersTOEDIT",
            "Type": "Panel",
            "Expanded": "true",
            "Properties": [
              {
                "name": "CSS",
                "value": "{   \"padding\": \"5px\",\n\"vertical-align\": \"top\"\n}"
              },
              {
                "name": "Background",
                "value": "%editBackgroundColor%"
              },
              {
                "name": "Tooltip",
                "value": "\"change all the text in Grey color on the Master Template and click Download the Simulation\""
              },
              {
                "name": "BorderColor",
                "value": "\"Black\""
              },
              {
                "name": "Html",
                "value": "<p><b> Checks </b> </p>"
              },
              {
                "name": "BorderWidth",
                "value": "2"
              },
              {
                "name": "Width",
                "value": "\"25%\""
              },
              {
                "name": "Font",
                "value": "%font%"
              },
              {
                "name": "Display",
                "value": "editing ?\"inline-block\":\"none\""
              }
            ],
            "Children": [
              {
                "Name": "fileUpload",
                "Type": "FileUpload",
                "Properties": [
                  {
                    "name": "Tooltip",
                    "value": "\"you can find this file in the EJS model\""
                  },
                  {
                    "name": "Text",
                    "value": "\"records.json FileUpload\""
                  },
                  {
                    "name": "OnChange",
                    "value": "onFileUpload(event)"
                  }
                ]
              },
              {
                "Name": "check1",
                "Type": "Panel",
                "Expanded": "true",
                "Properties": [],
                "Children": [
                  {
                    "Name": "check1words",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "TextAlign",
                        "value": "\"left\""
                      },
                      {
                        "name": "Tooltip",
                        "value": "\"Hide Unnecessary Energy Stores:  Identify any energy forms that are not relevant or do not contribute significantly to the understanding of the context. Ensure these irrelevant energy forms or stores are not displayed to avoid confusion or clutter.\""
                      },
                      {
                        "name": "Text",
                        "value": "\"Check 1) What energy stores to show? Hide unnecessary stores\""
                      }
                    ]
                  },
                  {
                    "Name": "panel22",
                    "Type": "Panel",
                    "Expanded": "false",
                    "Properties": [],
                    "Children": [
                      {
                        "Name": "displayChemical",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "%displayChemical%"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "displayChemical = false;"
                          },
                          {
                            "name": "OnChange",
                            "value": "isLastEnergyDisplayed();\nupdateVariables();\n"
                          },
                          {
                            "name": "Text",
                            "value": "\"C\""
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "displayChemical = true;"
                          }
                        ]
                      },
                      {
                        "Name": "displayElastic",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "%displayElastic%"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "displayElastic = false;"
                          },
                          {
                            "name": "OnChange",
                            "value": "isLastEnergyDisplayed();\nupdateVariables();"
                          },
                          {
                            "name": "Text",
                            "value": "\"E\""
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "displayElastic = true;"
                          }
                        ]
                      },
                      {
                        "Name": "displayGravitational",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "%displayGravitational%"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "displayGravitational = false;"
                          },
                          {
                            "name": "OnChange",
                            "value": "isLastEnergyDisplayed();\nupdateVariables();"
                          },
                          {
                            "name": "Text",
                            "value": "\"G\""
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "displayGravitational = true;"
                          }
                        ]
                      },
                      {
                        "Name": "displayInternal",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "%displayInternal%"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "displayInternal = false;"
                          },
                          {
                            "name": "OnChange",
                            "value": "isLastEnergyDisplayed();\nupdateVariables();"
                          },
                          {
                            "name": "Text",
                            "value": "\"I\""
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "displayInternal = true;"
                          }
                        ]
                      },
                      {
                        "Name": "displayKinetic",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "%displayKinetic%"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "displayKinetic = false;"
                          },
                          {
                            "name": "OnChange",
                            "value": "isLastEnergyDisplayed();\nupdateVariables();"
                          },
                          {
                            "name": "Text",
                            "value": "\"K\""
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "displayKinetic = true;"
                          }
                        ]
                      },
                      {
                        "Name": "displayNuclear",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "%displayNuclear%"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "displayNuclear = false;"
                          },
                          {
                            "name": "OnChange",
                            "value": "isLastEnergyDisplayed();\nupdateVariables();"
                          },
                          {
                            "name": "Text",
                            "value": "\"N\""
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "displayNuclear = true;"
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "check2",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Tooltip",
                    "value": "\"Some energy may be ignored in check 5 and 6 as it does not affect the system.\""
                  }
                ],
                "Children": [
                  {
                    "Name": "check2words",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "TextAlign",
                        "value": "\"left\""
                      },
                      {
                        "name": "Tooltip",
                        "value": "\"Identify which forms of energy can be non-zero, such as gravitational potential energy (GPE)\""
                      },
                      {
                        "name": "Text",
                        "value": "\"Check 2) What energy can be non-zero, like GPE?\""
                      }
                    ]
                  },
                  {
                    "Name": "panel2",
                    "Type": "Panel",
                    "Expanded": "false",
                    "Properties": [],
                    "Children": [
                      {
                        "Name": "isC",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "%isC%"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "isC = false;"
                          },
                          {
                            "name": "Text",
                            "value": "\"C\""
                          },
                          {
                            "name": "Disabled",
                            "value": "physicsonly"
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "isC = true;"
                          },
                          {
                            "name": "Display",
                            "value": "displayChemical? \"inline\":\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "isE",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "%isE%"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "isE = false;"
                          },
                          {
                            "name": "Text",
                            "value": "\"E\""
                          },
                          {
                            "name": "Disabled",
                            "value": "physicsonly"
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "isE = true;"
                          },
                          {
                            "name": "Display",
                            "value": "displayElastic? \"inline\":\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "isG",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "%isG%"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "isG = false;"
                          },
                          {
                            "name": "Text",
                            "value": "\"G\""
                          },
                          {
                            "name": "Disabled",
                            "value": "physicsonly"
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "isG = true;"
                          },
                          {
                            "name": "Display",
                            "value": "displayGravitational? \"inline\":\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "isI",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "%isI%"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "isI = false;"
                          },
                          {
                            "name": "Text",
                            "value": "\"I\""
                          },
                          {
                            "name": "Disabled",
                            "value": "physicsonly"
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "isI = true;"
                          },
                          {
                            "name": "Display",
                            "value": "displayInternal? \"inline\":\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "isK",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "%isK%"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "isK = false;"
                          },
                          {
                            "name": "Text",
                            "value": "\"K\""
                          },
                          {
                            "name": "Disabled",
                            "value": "physicsonly"
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "isK = true;"
                          },
                          {
                            "name": "Display",
                            "value": "displayKinetic? \"inline\":\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "isN",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "%isN%"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "isN = false;"
                          },
                          {
                            "name": "Text",
                            "value": "\"N\""
                          },
                          {
                            "name": "Disabled",
                            "value": "physicsonly"
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "isN = true;"
                          },
                          {
                            "name": "Display",
                            "value": "displayNuclear? \"inline\":\"none\""
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "check3",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Background",
                    "value": "\"rgba(222,222,222,1)\""
                  }
                ],
                "Children": [
                  {
                    "Name": "check3words",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Tooltip",
                        "value": "\"Determine how many types of energy are being transferred in.\""
                      },
                      {
                        "name": "Text",
                        "value": "\"Check 3) How many type(s) of energy is/are transferred IN?\""
                      }
                    ]
                  },
                  {
                    "Name": "zeroIN",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "(check3a==false && check3b==false) ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "\"0\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3a = false;\ncheck3aEnergy = \"\";\n\ncheck3b = false;\ncheck3bEnergy = \"\";"
                      }
                    ]
                  },
                  {
                    "Name": "oneIN",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "(check3a==true && check3b==false) ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "\"1\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3a = true;\ncheck3b = false;\ncheck3bEnergy = \"\";\n"
                      }
                    ]
                  },
                  {
                    "Name": "twoIN",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "(check3a==true && check3b==true) ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "\"2\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3a = true;\ncheck3b = true;\n"
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "check3a",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Background",
                    "value": "\"rgba(222,222,222,1)\""
                  },
                  {
                    "name": "Display",
                    "value": "check3a ? \"\":\"none\""
                  }
                ],
                "Children": [
                  {
                    "Name": "check3Awords",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Tooltip",
                        "value": "\"Identify which types of energy are being transferred in\""
                      },
                      {
                        "name": "Text",
                        "value": "\"Check 3a) What type of energy is transferred in?\""
                      }
                    ]
                  },
                  {
                    "Name": "isPropagationIN",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check3aEnergy == \"through propagation of waves\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "%PropagationofWaves%"
                      },
                      {
                        "name": "Disabled",
                        "value": "check3bEnergy==\"through propagation of waves\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3aEnergy = \"through propagation of waves\""
                      }
                    ]
                  },
                  {
                    "Name": "isMechanicIN",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check3aEnergy == \"mechanically\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "%Mechanically%"
                      },
                      {
                        "name": "Disabled",
                        "value": "check3bEnergy==\"mechanically\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3aEnergy = \"mechanically\""
                      }
                    ]
                  },
                  {
                    "Name": "isHeatingIN",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check3aEnergy == \"through heating\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "\"Heating\""
                      },
                      {
                        "name": "Disabled",
                        "value": "check3bEnergy==\"through heating\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3aEnergy = \"through heating\""
                      }
                    ]
                  },
                  {
                    "Name": "isElectricIN",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check3aEnergy == \"electrically\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "%Electrically%"
                      },
                      {
                        "name": "Disabled",
                        "value": "check3bEnergy==\"electrically\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3aEnergy= \"electrically\""
                      }
                    ]
                  },
                  {
                    "Name": "isChemicalIN",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check3aEnergy == \"chemically\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "physicsonly?\"\":\"Chemically\""
                      },
                      {
                        "name": "Disabled",
                        "value": "check3bEnergy==\"chemically\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3aEnergy= \"chemically\""
                      },
                      {
                        "name": "Display",
                        "value": "physicsonly?\"none\":\"inline-block\""
                      }
                    ]
                  },
                  {
                    "Name": "check3Areaonss",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\", due to \""
                      }
                    ]
                  },
                  {
                    "Name": "check3Areason",
                    "Type": "TextField",
                    "Properties": [
                      {
                        "name": "Tooltip",
                        "value": "\"Reasoning for type of energy being transfered.\""
                      },
                      {
                        "name": "Value",
                        "value": "%check3aReason%"
                      },
                      {
                        "name": "Height",
                        "value": "\"2vh\""
                      },
                      {
                        "name": "Width",
                        "value": "\"90%\""
                      },
                      {
                        "name": "Font",
                        "value": "%font%"
                      },
                      {
                        "name": "Display",
                        "value": "\"inline\""
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "check3b",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Background",
                    "value": "\"rgba(222,222,222,1)\""
                  },
                  {
                    "name": "Display",
                    "value": "check3b ? \"\":\"none\""
                  }
                ],
                "Children": [
                  {
                    "Name": "check3Bwords",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\"Check 3b) What type of energy is transferred in?\""
                      }
                    ]
                  },
                  {
                    "Name": "isPropagationIN2",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check3bEnergy == \"through propagation of waves\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "%PropagationofWaves%"
                      },
                      {
                        "name": "Disabled",
                        "value": "check3aEnergy==\"through propagation of waves\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3bEnergy = \"through propagation of waves\""
                      }
                    ]
                  },
                  {
                    "Name": "isMechanicIN2",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check3bEnergy == \"mechanically\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "%Mechanically%"
                      },
                      {
                        "name": "Disabled",
                        "value": "check3aEnergy==\"mechanically\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3bEnergy = \"mechanically\""
                      }
                    ]
                  },
                  {
                    "Name": "isHeatingIN2",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check3bEnergy == \"through heating\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "\"Heating\""
                      },
                      {
                        "name": "Disabled",
                        "value": "check3aEnergy==\"through heating\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3bEnergy = \"through heating\""
                      }
                    ]
                  },
                  {
                    "Name": "isElectricIN2",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "(check3b && check3bEnergy!=\"electrically\") ? false:true"
                      },
                      {
                        "name": "Text",
                        "value": "%Electrically%"
                      },
                      {
                        "name": "Disabled",
                        "value": "check3aEnergy==\"electrically\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3bEnergy = \"electrically\"\n//(check3aEnergy==\"electrically\") ?\"true\":\"false\"\n"
                      }
                    ]
                  },
                  {
                    "Name": "isChemicalIN2",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "(check3b && check3bEnergy!=\"chemically\") ? false:true"
                      },
                      {
                        "name": "Text",
                        "value": "physicsonly?\"\":\"Chemically\""
                      },
                      {
                        "name": "Disabled",
                        "value": "check3aEnergy==\"chemically\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check3bEnergy = \"chemically\"\n//(check3aEnergy==\"electrically\") ?\"true\":\"false\"\n"
                      },
                      {
                        "name": "Display",
                        "value": "physicsonly?\"none\":\"inline-block\""
                      }
                    ]
                  },
                  {
                    "Name": "check3Areaonss2",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\", due to \""
                      }
                    ]
                  },
                  {
                    "Name": "check3Breason",
                    "Type": "TextField",
                    "Properties": [
                      {
                        "name": "Tooltip",
                        "value": "\"Reasoning for type of energy being transfered.\""
                      },
                      {
                        "name": "Value",
                        "value": "%check3bReason%"
                      },
                      {
                        "name": "Height",
                        "value": "\"2vh\""
                      },
                      {
                        "name": "Width",
                        "value": "\"90%\""
                      },
                      {
                        "name": "Font",
                        "value": "font"
                      },
                      {
                        "name": "Display",
                        "value": "\"inline\""
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "check4",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [],
                "Children": [
                  {
                    "Name": "check4words",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Tooltip",
                        "value": "\"Determine how many types of energy are being transferred out\""
                      },
                      {
                        "name": "Text",
                        "value": "\"Check 4) How many type(s) of energy is/are transferred OUT?\""
                      }
                    ]
                  },
                  {
                    "Name": "zeroOUT",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "(check4a==false && check4b==false) ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "\"0\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4a = false;\ncheck4aEnergy = \"\";\ncheck4b = false;\ncheck4bEnergy = \"\";\n"
                      }
                    ]
                  },
                  {
                    "Name": "oneOUT",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "(check4a==true && check4b==false) ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "\"1\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4a = true;\ncheck4b = false;\ncheck4bEnergy = \"\";\n"
                      }
                    ]
                  },
                  {
                    "Name": "twoOUT",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "(check4a==true && check4b==true) ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "\"2\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4a = true;\ncheck4b = true;\n"
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "check4a",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Display",
                    "value": "check4a ? \"\":\"none\""
                  }
                ],
                "Children": [
                  {
                    "Name": "check4Awords",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\"Check 4a) What type of energy is transferred out?\""
                      }
                    ]
                  },
                  {
                    "Name": "isPropagationOUT",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check4aEnergy == \"through propagation of waves\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "%PropagationofWaves%"
                      },
                      {
                        "name": "Disabled",
                        "value": "check4bEnergy==\"through propagation of waves\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4aEnergy = \"through propagation of waves\""
                      }
                    ]
                  },
                  {
                    "Name": "isMechanicOUT",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check4aEnergy == \"mechanically\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "%Mechanically%"
                      },
                      {
                        "name": "Disabled",
                        "value": "check4bEnergy==\"mechanically\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4aEnergy = \"mechanically\""
                      }
                    ]
                  },
                  {
                    "Name": "isHeatingOUT",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check4aEnergy == \"through heating\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "\"Heating\""
                      },
                      {
                        "name": "Disabled",
                        "value": "check4bEnergy==\"through heating\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4aEnergy = \"through heating\""
                      }
                    ]
                  },
                  {
                    "Name": "isElectricOUT",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check4aEnergy == \"electrically\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "%Electrically%"
                      },
                      {
                        "name": "Disabled",
                        "value": "check4bEnergy==\"electrically\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4aEnergy = \"electrically\""
                      }
                    ]
                  },
                  {
                    "Name": "isChemicalOUT",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check4aEnergy == \"chemically\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "physicsonly?\"\":\"Chemically\""
                      },
                      {
                        "name": "Disabled",
                        "value": "check4bEnergy==\"chemically\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4aEnergy = \"chemically\""
                      },
                      {
                        "name": "Display",
                        "value": "physicsonly?\"none\":\"inline-block\""
                      }
                    ]
                  },
                  {
                    "Name": "check3Areaonss3",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\", due to \""
                      }
                    ]
                  },
                  {
                    "Name": "check4Areason",
                    "Type": "TextField",
                    "Properties": [
                      {
                        "name": "Tooltip",
                        "value": "\"Reasoning for type of energy being transfered.\""
                      },
                      {
                        "name": "Value",
                        "value": "%check4aReason%"
                      },
                      {
                        "name": "Height",
                        "value": "\"2vh\""
                      },
                      {
                        "name": "Width",
                        "value": "\"90%\""
                      },
                      {
                        "name": "Font",
                        "value": "font"
                      },
                      {
                        "name": "Display",
                        "value": "\"inline\""
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "check4b",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Display",
                    "value": "check4b ? \"\":\"none\""
                  }
                ],
                "Children": [
                  {
                    "Name": "check4Bwords",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\"Check 4b) What type of energy is transferred out?\""
                      }
                    ]
                  },
                  {
                    "Name": "isPropagationOUT2",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check4bEnergy == \"through propagation of waves\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "%PropagationofWaves%"
                      },
                      {
                        "name": "Disabled",
                        "value": "check4aEnergy==\"through propagation of waves\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4bEnergy = \"through propagation of waves\""
                      }
                    ]
                  },
                  {
                    "Name": "isMechanicOUT2",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check4bEnergy == \"mechanically\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "%Mechanically%"
                      },
                      {
                        "name": "Disabled",
                        "value": "check4aEnergy==\"mechanically\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4bEnergy = \"mechanically\""
                      }
                    ]
                  },
                  {
                    "Name": "isHeatingOUT2",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check4bEnergy == \"through heating\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "\"Heating\""
                      },
                      {
                        "name": "Disabled",
                        "value": "check4aEnergy==\"through heating\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4bEnergy = \"through heating\""
                      }
                    ]
                  },
                  {
                    "Name": "isElectricOUT2",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "(check4b && check4bEnergy!=\"electrically\") ? false:true"
                      },
                      {
                        "name": "Text",
                        "value": "%Electrically%"
                      },
                      {
                        "name": "Disabled",
                        "value": "check4aEnergy==\"electrically\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4bEnergy = \"electrically\""
                      }
                    ]
                  },
                  {
                    "Name": "isChemicalOUT2",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check4bEnergy == \"chemically\" ? true:false"
                      },
                      {
                        "name": "Text",
                        "value": "physicsonly?\"\":\"Chemically\""
                      },
                      {
                        "name": "Disabled",
                        "value": "check4aEnergy==\"chemically\" ?true:false"
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check4bEnergy = \"chemically\""
                      },
                      {
                        "name": "Display",
                        "value": "physicsonly?\"none\":\"inline-block\""
                      }
                    ]
                  },
                  {
                    "Name": "check3Areaonss32",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\", due to \""
                      }
                    ]
                  },
                  {
                    "Name": "check4Breason",
                    "Type": "TextField",
                    "Properties": [
                      {
                        "name": "Tooltip",
                        "value": "\"Reasoning for type of energy being transfered.\""
                      },
                      {
                        "name": "Value",
                        "value": "%check4bReason%"
                      },
                      {
                        "name": "Height",
                        "value": "\"2vh\""
                      },
                      {
                        "name": "Width",
                        "value": "\"90%\""
                      },
                      {
                        "name": "Display",
                        "value": "\"inline\""
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "check5",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Background",
                    "value": "\"rgba(222,222,222,1)\""
                  }
                ],
                "Children": [
                  {
                    "Name": "check2words2",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Tooltip",
                        "value": "\"Identify the types of energy present in the initial state.\""
                      },
                      {
                        "name": "Text",
                        "value": "\"Check 5) What energy(ies) is/are present, ie.>0 in the INITIAL state?\""
                      }
                    ]
                  },
                  {
                    "Name": "iniC",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "%iniC%"
                      },
                      {
                        "name": "OnCheckOff",
                        "value": "iniC = false;"
                      },
                      {
                        "name": "Text",
                        "value": "\"C\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "iniC = true;"
                      },
                      {
                        "name": "Display",
                        "value": "displayChemical? \"inline\":\"none\""
                      }
                    ]
                  },
                  {
                    "Name": "iniE",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "%iniE%"
                      },
                      {
                        "name": "OnCheckOff",
                        "value": "iniE = false;"
                      },
                      {
                        "name": "Text",
                        "value": "\"E\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "iniE = true;"
                      },
                      {
                        "name": "Display",
                        "value": "displayElastic? \"inline\":\"none\""
                      }
                    ]
                  },
                  {
                    "Name": "iniG",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "%iniG%"
                      },
                      {
                        "name": "OnCheckOff",
                        "value": "iniG = false;"
                      },
                      {
                        "name": "Text",
                        "value": "\"G\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "iniG = true;"
                      },
                      {
                        "name": "Display",
                        "value": "displayGravitational? \"inline\":\"none\""
                      }
                    ]
                  },
                  {
                    "Name": "iniI",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "%iniI%"
                      },
                      {
                        "name": "OnCheckOff",
                        "value": "iniI = false;"
                      },
                      {
                        "name": "Text",
                        "value": "\"I\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "iniI = true;"
                      },
                      {
                        "name": "Display",
                        "value": "displayInternal? \"inline\":\"none\""
                      }
                    ]
                  },
                  {
                    "Name": "iniK",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "%iniK%"
                      },
                      {
                        "name": "OnCheckOff",
                        "value": "iniK = false;"
                      },
                      {
                        "name": "Text",
                        "value": "\"K\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "iniK = true;"
                      },
                      {
                        "name": "Display",
                        "value": "displayKinetic? \"inline\":\"none\""
                      }
                    ]
                  },
                  {
                    "Name": "iniN",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "%iniN%"
                      },
                      {
                        "name": "OnCheckOff",
                        "value": "iniN = false;"
                      },
                      {
                        "name": "Text",
                        "value": "\"N\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "iniN = true;"
                      },
                      {
                        "name": "Display",
                        "value": "displayNuclear? \"inline\":\"none\""
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "check6",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [],
                "Children": [
                  {
                    "Name": "check2words22",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\"Check 6) What energy(ies) is/are present, ie>0 in the FINAL state?\""
                      }
                    ]
                  },
                  {
                    "Name": "finC",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "%finC%"
                      },
                      {
                        "name": "OnCheckOff",
                        "value": "finC = false;"
                      },
                      {
                        "name": "Text",
                        "value": "\"C\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "finC = true;"
                      },
                      {
                        "name": "Display",
                        "value": "displayChemical? \"inline\":\"none\""
                      }
                    ]
                  },
                  {
                    "Name": "finE",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "%finE%"
                      },
                      {
                        "name": "OnCheckOff",
                        "value": "finE = false;"
                      },
                      {
                        "name": "Text",
                        "value": "\"E\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "finE = true;"
                      },
                      {
                        "name": "Display",
                        "value": "displayElastic? \"inline\":\"none\""
                      }
                    ]
                  },
                  {
                    "Name": "finG",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "%finG%"
                      },
                      {
                        "name": "OnCheckOff",
                        "value": "finG = false;"
                      },
                      {
                        "name": "Text",
                        "value": "\"G\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "finG = true;"
                      },
                      {
                        "name": "Display",
                        "value": "displayGravitational? \"inline\":\"none\""
                      }
                    ]
                  },
                  {
                    "Name": "finI",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "%finI%"
                      },
                      {
                        "name": "OnCheckOff",
                        "value": "finI = false;"
                      },
                      {
                        "name": "Text",
                        "value": "\"I\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "finI = true;"
                      },
                      {
                        "name": "Display",
                        "value": "displayInternal? \"inline\":\"none\""
                      }
                    ]
                  },
                  {
                    "Name": "finK",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "%finK%"
                      },
                      {
                        "name": "OnCheckOff",
                        "value": "finK = false;"
                      },
                      {
                        "name": "Text",
                        "value": "\"K\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "finK = true;"
                      },
                      {
                        "name": "Display",
                        "value": "displayKinetic? \"inline\":\"none\""
                      }
                    ]
                  },
                  {
                    "Name": "finN",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "%finN%"
                      },
                      {
                        "name": "OnCheckOff",
                        "value": "finN = false;"
                      },
                      {
                        "name": "Text",
                        "value": "\"N\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "finN = true;"
                      },
                      {
                        "name": "Display",
                        "value": "displayNuclear? \"inline\":\"none\""
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "check7_conditions",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Background",
                    "value": "\"rgba(222,222,222,1)\""
                  }
                ],
                "Children": [
                  {
                    "Name": "check7words",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\"Check 7) Code other conditions?\""
                      },
                      {
                        "name": "OnClick",
                        "value": "// (<, >, 2\u00d7=, =2\u00d7)"
                      }
                    ]
                  },
                  {
                    "Name": "No",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "!check7a"
                      },
                      {
                        "name": "Text",
                        "value": "\"No\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check7a = false;\n"
                      }
                    ]
                  },
                  {
                    "Name": "Yes",
                    "Type": "RadioButton",
                    "Properties": [
                      {
                        "name": "Checked",
                        "value": "check7a"
                      },
                      {
                        "name": "Text",
                        "value": "\"Yes\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "check7a = true;"
                      }
                    ]
                  },
                  {
                    "Name": "runCodeButton",
                    "Type": "Button",
                    "Properties": [
                      {
                        "name": "Tooltip",
                        "value": "\"Please check your code.\""
                      },
                      {
                        "name": "TextAlign",
                        "value": "\"center\""
                      },
                      {
                        "name": "Foreground",
                        "value": "\"rgba(0,192,192,1)\""
                      },
                      {
                        "name": "Text",
                        "value": "\"\u2713 Apply Code\""
                      },
                      {
                        "name": "OnClick",
                        "value": "runUserCode(\"Error in code, please check.\\nRefresh the page if you need to restart.\");\n"
                      },
                      {
                        "name": "Display",
                        "value": "check7a ?\"inline-block\":\"none\""
                      }
                    ]
                  },
                  {
                    "Name": "check7a",
                    "Type": "Panel",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Display",
                        "value": "check7a ?\"\":\"none\""
                      }
                    ],
                    "Children": [
                      {
                        "Name": "userCode",
                        "Type": "TextArea",
                        "Properties": [
                          {
                            "name": "OnChange",
                            "value": "runUserCode(\"Error in code, please check.\");\n\n///////////////\n// REFERENCE //\n///////////////\n/*\nvar userPlay = _view.autoplayTextAreaMgeneral.getValue();\n try {\n eval(userPlay);\n //xgeneral=numeric.dot(matrix_invert(Mgeneral),bgeneral);\ndet(M);\n}\ncatch(error) {\n  _tools.showOkCancelDialog(\"you can define your own variables. There should be an output for the solution I, or that could be some error in code, try again!\");\n  }\n*/\n"
                          },
                          {
                            "name": "Height",
                            "value": "\"30vh\""
                          },
                          {
                            "name": "Width",
                            "value": "\"90%\""
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "download",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [],
                "Children": [
                  {
                    "Name": "downloadButton",
                    "Type": "Button",
                    "Properties": [
                      {
                        "name": "Tooltip",
                        "value": "\"only works on server\""
                      },
                      {
                        "name": "Text",
                        "value": "\"\u230a\u21a7\u230b Download the simulation\""
                      },
                      {
                        "name": "OnClick",
                        "value": "var records = {};\n\n////////////////////////////////////////////\n// data to be loaded into export & import //\n////////////////////////////////////////////\n// Setting: //\nrecords['systemText2'] = systemText2\nrecords['initialState2'] = initialState2\nrecords['finalState2'] = finalState2\nrecords['remarks2'] = remarks2\nrecords['show2D']= show2D //lookang\nrecords['show3D']= show3D //lookang\nrecords['revealRadioButton'] = revealRadioButton //lookang\n\n//check 1 fixed by lookang 20240624\nrecords['displayChemical'] = displayChemical\nrecords['displayElastic'] = displayElastic\nrecords['displayGravitational'] = displayGravitational\nrecords['displayInternal'] = displayInternal\nrecords['displayKinetic'] = displayKinetic\nrecords['displayNuclear'] = displayNuclear\n\n\n// check2 - ignoring of energy: //\nrecords['isC'] = isC\nrecords['isE'] = isE\nrecords['isG'] = isG\nrecords['isI'] = isI\nrecords['isK'] = isK\nrecords['isN'] = isN\nrecords['ignoreEnergyLst'] = ignoreEnergyLst\n\n// check3/4 - Transferable Energy: //\nrecords['check3a'] = check3a\nrecords['check3b'] = check3b\nrecords['check4a'] = check4a\nrecords['check4b'] = check4b\n\nrecords['check3aEnergy'] = check3aEnergy\nrecords['check3bEnergy'] = check3bEnergy\nrecords['check4aEnergy'] = check4aEnergy\nrecords['check4bEnergy'] = check4bEnergy\n\nrecords['check3aReason'] = check3aReason\nrecords['check3bReason'] = check3bReason\nrecords['check4aReason'] = check4aReason\nrecords['check4bReason'] = check4bReason\n\n// check5 - initial state energy: //\nrecords['iniC'] = iniC\nrecords['iniE'] = iniE\nrecords['iniG'] = iniG\nrecords['iniI'] = iniI\nrecords['iniK'] = iniK\nrecords['iniN'] = iniN\n\n// check6 - final state energy: //\nrecords['finC'] = finC\nrecords['finE'] = finE\nrecords['finG'] = finG\nrecords['finI'] = finI\nrecords['finK'] = finK\nrecords['finN'] = finN\n\n// check7 - formula: //\nrecords['check7a'] = check7a\nrecords['finalC'] = finalC\nrecords['finalE'] = finalE\nrecords['finalG'] = finalG\nrecords['finalI'] = finalI\nrecords['finalK'] = finalK\nrecords['finalN'] = finalN\nrecords['passfail'] = passfail\nrecords['inequalityCheckLst'] = inequalityCheckLst\nrecords['userPlay'] = userPlay\n\n// ... to be continued ...\n\n\nexportGraph(records).then(onGraphExportComplete);"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "Name": "masterPanel",
            "Type": "Panel",
            "Expanded": "true",
            "Properties": [
              {
                "name": "Width",
                "value": "editing ?\"65%\":\"100%\""
              },
              {
                "name": "Display",
                "value": "\"inline-block\""
              }
            ],
            "Children": [
              {
                "Name": "setting",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Width",
                    "value": "\"100%\""
                  },
                  {
                    "name": "Font",
                    "value": "%font%"
                  }
                ],
                "Children": [
                  {
                    "Name": "Titlepanel2",
                    "Type": "Panel",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Width",
                        "value": "\"100%\""
                      }
                    ],
                    "Children": [
                      {
                        "Name": "MAster",
                        "Type": "Label",
                        "Properties": [
                          {
                            "name": "Text",
                            "value": "\"Master Template for all LOL diagrams\""
                          },
                          {
                            "name": "Display",
                            "value": "editing?\"inline-block\":\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "showNone",
                        "Type": "RadioButton",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "false"
                          },
                          {
                            "name": "Background",
                            "value": "\"Pink\""
                          },
                          {
                            "name": "Text",
                            "value": "\"Show Bar\""
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "show2D = false;\nshow3D = false;\nenergyColour=\"rgba(0,200,255,1.0)\";"
                          },
                          {
                            "name": "Display",
                            "value": "editing?\"inline-block\":\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "show2D",
                        "Type": "RadioButton",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "show2D"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "/*\nshow2D = false;\nshow3D = true;\n*/"
                          },
                          {
                            "name": "Background",
                            "value": "\"Pink\""
                          },
                          {
                            "name": "Text",
                            "value": "\"Show Squares\""
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "show2D = true;\nshow3D = false;\nenergyColour=\"rgba(0,200,255,1.0)\";"
                          },
                          {
                            "name": "Display",
                            "value": "editing?\"inline-block\":\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "show3D",
                        "Type": "RadioButton",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "show3D"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "/*\nshow3D = false;\nshow2D = true;\n*/"
                          },
                          {
                            "name": "Background",
                            "value": "\"Pink\""
                          },
                          {
                            "name": "Text",
                            "value": "\"Show Cubes\""
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "show3D = true;\nshow2D = false;\n//energyColour = \"White\";\nenergyColour=\"rgba(255,150,0,1.0)\";  // orange\n"
                          },
                          {
                            "name": "Display",
                            "value": "editing?\"inline-block\":\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "title",
                        "Type": "Label",
                        "Properties": [
                          {
                            "name": "Text",
                            "value": "%title%"
                          },
                          {
                            "name": "Width",
                            "value": "\"50%\""
                          },
                          {
                            "name": "Display",
                            "value": "\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "scenarios",
                        "Type": "ComboBox",
                        "Properties": [
                          {
                            "name": "Options",
                            "value": "%versions%"
                          },
                          {
                            "name": "OnChange",
                            "value": "// versions = [\"Blank Version\",  \"Scenario 1\",  \"---To Add On---\"]\nvar opts = _view.scenarios.getProperty(\"SelectedOptions\");  // array of options\nvar option = (opts.length > 0)? opts[0]:\"\"; // selected option \n    \n// use option == \"\"\n\nif (option==\"Blank Version\"){\n  editing = true;\n  }\n  \nif (option==\"Scenario 1\"){\n  editing = false;\n  }\n"
                          },
                          {
                            "name": "Display",
                            "value": "\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "showAnswer",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "true"
                          },
                          {
                            "name": "OnCheckOff",
                            "value": "showAnswer = false;"
                          },
                          {
                            "name": "Background",
                            "value": "\"Pink\""
                          },
                          {
                            "name": "Text",
                            "value": "\"Show Answer\""
                          },
                          {
                            "name": "Disabled",
                            "value": "editing"
                          },
                          {
                            "name": "OnCheckOn",
                            "value": "showAnswer = true;\n\n\n\n"
                          },
                          {
                            "name": "Display",
                            "value": "\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "EditAnswer",
                        "Type": "TwoStateButton",
                        "Properties": [
                          {
                            "name": "OffClick",
                            "value": "editing = false"
                          },
                          {
                            "name": "TextOn",
                            "value": "\"\u270e Edit Answer Key\""
                          },
                          {
                            "name": "State",
                            "value": "!editing"
                          },
                          {
                            "name": "TextOff",
                            "value": "\"\u2713 Save Edits\""
                          },
                          {
                            "name": "OnClick",
                            "value": "editing = true\nalert(\"Scroll down to see the conditions to get the answers!\")\n"
                          },
                          {
                            "name": "Display",
                            "value": "\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "checkBox",
                        "Type": "CheckBox",
                        "Properties": [
                          {
                            "name": "Checked",
                            "value": "revealRadioButton"
                          },
                          {
                            "name": "Background",
                            "value": "%editBackgroundColor%"
                          },
                          {
                            "name": "Display",
                            "value": "editing?\"inline-block\":\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "revealBtn",
                        "Type": "Button",
                        "Properties": [
                          {
                            "name": "Tooltip",
                            "value": "\"Reveal a possible solution\""
                          },
                          {
                            "name": "Text",
                            "value": "\"Reveal \ud83d\udcd6\""
                          },
                          {
                            "name": "OnClick",
                            "value": "EJSS_INTERFACE.BoxPanel.showOkCancelDialog(\"\u26a0\ufe0fWarning! Your work will be erased and a possible solution will be shown.\u26a0\ufe0fSimulation loads longer when there are too many of external conditions applied.\u26a0\ufe0fProceed or Cancel?\",\n  function()  {// User click OK  \n    revealSolution();\n    _update();\n    },\n\n  function(){  // User click Cancel\n    // Nothing happens :)\n    });\n\n\n//revealSolution();"
                          },
                          {
                            "name": "Display",
                            "value": "revealRadioButton?\"inline-block\":\"none\""
                          }
                        ]
                      },
                      {
                        "Name": "hintButton",
                        "Type": "Button",
                        "Properties": [
                          {
                            "name": "Background",
                            "value": "\"Pink\""
                          },
                          {
                            "name": "Text",
                            "value": "\"Hint \ud83d\udd0d\""
                          },
                          {
                            "name": "OnPress",
                            "value": "alert(\"Hint1:\\nConsider the principle of conservation of energy.\");"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "systemWords",
                    "Type": "Panel",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Width",
                        "value": "\"100%\""
                      },
                      {
                        "name": "Display",
                        "value": "\"inline-block\""
                      }
                    ],
                    "Children": [
                      {
                        "Name": "system_panel",
                        "Type": "Panel",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "CSS",
                            "value": "{\"float\": \"left\"}"
                          },
                          {
                            "name": "BorderColor",
                            "value": "\"rgba(225,0,0,0.5)\""
                          },
                          {
                            "name": "BorderWidth",
                            "value": "2"
                          },
                          {
                            "name": "Width",
                            "value": "\"45%\""
                          },
                          {
                            "name": "Display",
                            "value": "\"inline-block\""
                          }
                        ],
                        "Children": [
                          {
                            "Name": "systemBolded",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "TextAlign",
                                "value": "\"left\""
                              },
                              {
                                "name": "Text",
                                "value": "systemText"
                              },
                              {
                                "name": "Display",
                                "value": "\"inline-block\""
                              }
                            ]
                          },
                          {
                            "Name": "system2",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "TextAlign",
                                "value": "\"left\""
                              },
                              {
                                "name": "Text",
                                "value": "systemText2"
                              },
                              {
                                "name": "Display",
                                "value": "editing ?\"none\":\"inline-block\""
                              }
                            ]
                          },
                          {
                            "Name": "system_textField",
                            "Type": "TextField",
                            "Properties": [
                              {
                                "name": "Background",
                                "value": "%editBackgroundColor%"
                              },
                              {
                                "name": "Tooltip",
                                "value": "\"System\""
                              },
                              {
                                "name": "Value",
                                "value": "%systemText2%"
                              },
                              {
                                "name": "Height",
                                "value": "\"2vh\""
                              },
                              {
                                "name": "Width",
                                "value": "\"70%\""
                              },
                              {
                                "name": "Font",
                                "value": "%font%"
                              },
                              {
                                "name": "Display",
                                "value": "editing ?\"inline-block\":\"none\""
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "remarks_panel",
                        "Type": "Panel",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "CSS",
                            "value": "{\"float\": \"left\"}"
                          },
                          {
                            "name": "BorderColor",
                            "value": "\"rgba(225,0,0,0.5)\""
                          },
                          {
                            "name": "BorderWidth",
                            "value": "2"
                          },
                          {
                            "name": "Width",
                            "value": "\"45%\""
                          },
                          {
                            "name": "Display",
                            "value": "\"inline-block\""
                          }
                        ],
                        "Children": [
                          {
                            "Name": "remarks",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "TextAlign",
                                "value": "\"left\""
                              },
                              {
                                "name": "Text",
                                "value": "remarks"
                              },
                              {
                                "name": "Display",
                                "value": "\"inline-block\""
                              }
                            ]
                          },
                          {
                            "Name": "finalState22",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "TextAlign",
                                "value": "\"left\""
                              },
                              {
                                "name": "Text",
                                "value": "remarks2"
                              },
                              {
                                "name": "Display",
                                "value": "editing ?\"none\":\"inline-block\""
                              }
                            ]
                          },
                          {
                            "Name": "remarks_textField",
                            "Type": "TextField",
                            "Properties": [
                              {
                                "name": "Background",
                                "value": "%editBackgroundColor%"
                              },
                              {
                                "name": "Tooltip",
                                "value": "\"Remarks\""
                              },
                              {
                                "name": "Value",
                                "value": "%remarks2%"
                              },
                              {
                                "name": "Height",
                                "value": "\"2vh\""
                              },
                              {
                                "name": "Width",
                                "value": "\"70%\""
                              },
                              {
                                "name": "Font",
                                "value": "%font%"
                              },
                              {
                                "name": "Display",
                                "value": "editing ?\"inline-block\":\"none\""
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "stateWords",
                    "Type": "Panel",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Width",
                        "value": "\"100%\""
                      },
                      {
                        "name": "Display",
                        "value": "\"block\""
                      }
                    ],
                    "Children": [
                      {
                        "Name": "initialState_panel",
                        "Type": "Panel",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "BorderColor",
                            "value": "\"rgba(225,0,0,0.5)\""
                          },
                          {
                            "name": "BorderWidth",
                            "value": "2"
                          },
                          {
                            "name": "Width",
                            "value": "\"90%\""
                          },
                          {
                            "name": "Display",
                            "value": "\"inline-block\""
                          }
                        ],
                        "Children": [
                          {
                            "Name": "initialState",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "TextAlign",
                                "value": "\"left\""
                              },
                              {
                                "name": "Text",
                                "value": "initialState"
                              },
                              {
                                "name": "Display",
                                "value": "\"inline-block\""
                              }
                            ]
                          },
                          {
                            "Name": "initialState2",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "TextAlign",
                                "value": "\"left\""
                              },
                              {
                                "name": "Text",
                                "value": "initialState2"
                              },
                              {
                                "name": "Display",
                                "value": "editing ?\"none\":\"block\""
                              }
                            ]
                          },
                          {
                            "Name": "initialState_textField",
                            "Type": "TextField",
                            "Properties": [
                              {
                                "name": "Background",
                                "value": "%editBackgroundColor%"
                              },
                              {
                                "name": "Tooltip",
                                "value": "\"Initial State\""
                              },
                              {
                                "name": "Value",
                                "value": "%initialState2%"
                              },
                              {
                                "name": "Height",
                                "value": "\"2vh\""
                              },
                              {
                                "name": "Width",
                                "value": "\"80%\""
                              },
                              {
                                "name": "Font",
                                "value": "%font%"
                              },
                              {
                                "name": "Display",
                                "value": "editing ?\"inline-block\":\"none\""
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "finalState_panel",
                        "Type": "Panel",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "BorderColor",
                            "value": "\"rgba(225,0,0,0.5)\""
                          },
                          {
                            "name": "BorderWidth",
                            "value": "2"
                          },
                          {
                            "name": "Width",
                            "value": "\"90%\""
                          },
                          {
                            "name": "Display",
                            "value": "\"inline-block\""
                          }
                        ],
                        "Children": [
                          {
                            "Name": "finalState",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "TextAlign",
                                "value": "\"left\""
                              },
                              {
                                "name": "Text",
                                "value": "finalState"
                              },
                              {
                                "name": "Display",
                                "value": "\"inline-block\""
                              }
                            ]
                          },
                          {
                            "Name": "finalState2",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "TextAlign",
                                "value": "\"left\""
                              },
                              {
                                "name": "Text",
                                "value": "finalState2"
                              },
                              {
                                "name": "Display",
                                "value": "editing ?\"none\":\"block\""
                              }
                            ]
                          },
                          {
                            "Name": "finalState_textField",
                            "Type": "TextField",
                            "Properties": [
                              {
                                "name": "Background",
                                "value": "%editBackgroundColor%"
                              },
                              {
                                "name": "Tooltip",
                                "value": "\"Final State\""
                              },
                              {
                                "name": "Value",
                                "value": "%finalState2%"
                              },
                              {
                                "name": "Height",
                                "value": "\"2vh\""
                              },
                              {
                                "name": "Width",
                                "value": "\"80%\""
                              },
                              {
                                "name": "Font",
                                "value": "%font%"
                              },
                              {
                                "name": "Display",
                                "value": "editing ?\"inline-block\":\"none\""
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "energyTransferONE",
                    "Type": "Panel",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Width",
                        "value": "\"100%\""
                      },
                      {
                        "name": "Display",
                        "value": "\"inline-block\""
                      }
                    ],
                    "Children": [
                      {
                        "Name": "IN",
                        "Type": "Panel",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Background",
                            "value": "\"rgba(0,150,255,1.0)\""
                          },
                          {
                            "name": "Display",
                            "value": "check3a?\"inline-block\":\"none\""
                          }
                        ],
                        "Children": [
                          {
                            "Name": "energyIN",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "Text",
                                "value": "\"<b>Energy Transfer In: </b>\""
                              }
                            ]
                          },
                          {
                            "Name": "energyTypeIN",
                            "Type": "ComboBox",
                            "Properties": [
                              {
                                "name": "Options",
                                "value": "physicsonly?[\"- Tin\u2081 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\"]:[\"- Tin\u2081 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\"]"
                              },
                              {
                                "name": "OnChange",
                                "value": "var opts = _view.energyTypeIN.getProperty(\"SelectedOptions\");  // array of options\n    var option = (opts.length > 0)? opts[0]:\"\"; // selected option \n    \n//transIN == [\"- Tin\u2081 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\"]\n\nif (option == \"- Tin\u2081 -\"){updateTransIN = 0};\nif (option == \"Propagation of waves\"){updateTransIN = 1};\nif (option == \"Mechanically\"){updateTransIN = 2};\nif (option == \"Heating\"){updateTransIN = 3};\nif (option == \"Electrically\"){updateTransIN = 4};\nif (option == \"Chemically\"){updateTransIN = 5};"
                              },
                              {
                                "name": "Font",
                                "value": "%font%"
                              }
                            ]
                          },
                          {
                            "Name": "field",
                            "Type": "ParsedField",
                            "Properties": [
                              {
                                "name": "Format",
                                "value": "\"1\""
                              },
                              {
                                "name": "Tooltip",
                                "value": "\"EtransIN\""
                              },
                              {
                                "name": "Value",
                                "value": "EtransIN"
                              },
                              {
                                "name": "Width",
                                "value": "\"3vw\""
                              },
                              {
                                "name": "Font",
                                "value": "%font%"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "OUT",
                        "Type": "Panel",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Background",
                            "value": "\"rgba(0,150,255,1.0)\""
                          },
                          {
                            "name": "Display",
                            "value": "check4a?\"inline-block\":\"none\""
                          }
                        ],
                        "Children": [
                          {
                            "Name": "energyOUT",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "TextAlign",
                                "value": "\"right\""
                              },
                              {
                                "name": "Text",
                                "value": "\"<b>Energy Transfer Out: </b>\""
                              }
                            ]
                          },
                          {
                            "Name": "energyTypeOUT",
                            "Type": "ComboBox",
                            "Properties": [
                              {
                                "name": "Options",
                                "value": "physicsonly?[\"- Tout\u2081 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\"]:[\"- Tout\u2081 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\"]"
                              },
                              {
                                "name": "OnChange",
                                "value": "var opts = _view.energyTypeOUT.getProperty(\"SelectedOptions\");  // array of options\n    var option = (opts.length > 0)? opts[0]:\"\"; // selected option \n    \n//updateTransOUT == [\"- Tout\u2081 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\"]\n\nif (option == \"- Tout\u2081 -\"){updateTransOUT = 0};\nif (option == \"Propagation of waves\"){updateTransOUT = 1};\nif (option == \"Mechanically\"){updateTransOUT = 2};\nif (option == \"Heating\"){updateTransOUT = 3};\nif (option == \"Electrically\"){updateTransOUT = 4};\nif (option == \"Chemically\"){updateTransOUT = 5};\n"
                              },
                              {
                                "name": "Font",
                                "value": "%font%"
                              }
                            ]
                          },
                          {
                            "Name": "field2",
                            "Type": "ParsedField",
                            "Properties": [
                              {
                                "name": "Format",
                                "value": "\"1\""
                              },
                              {
                                "name": "Tooltip",
                                "value": "\"EtransOUT\""
                              },
                              {
                                "name": "Value",
                                "value": "EtransOUT"
                              },
                              {
                                "name": "Width",
                                "value": "\"3vw\""
                              },
                              {
                                "name": "Font",
                                "value": "%font%"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "energyTransferTWO",
                    "Type": "Panel",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Width",
                        "value": "\"100%\""
                      },
                      {
                        "name": "Display",
                        "value": "\"inline-block\""
                      }
                    ],
                    "Children": [
                      {
                        "Name": "IN2",
                        "Type": "Panel",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Background",
                            "value": "\"rgba(0,255,255,1.0)\""
                          },
                          {
                            "name": "Display",
                            "value": "check3b?\"inline-block\":\"none\""
                          }
                        ],
                        "Children": [
                          {
                            "Name": "energyIN3",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "Text",
                                "value": "\"<b>Energy Transfer In: </b>\""
                              }
                            ]
                          },
                          {
                            "Name": "energyTypeIN2",
                            "Type": "ComboBox",
                            "Properties": [
                              {
                                "name": "Options",
                                "value": "physicsonly?[\"- Tin\u2082 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\"]:[\"- Tin\u2082 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\"]"
                              },
                              {
                                "name": "OnChange",
                                "value": "var opts = _view.energyTypeIN2.getProperty(\"SelectedOptions\");  // array of options\n    var option = (opts.length > 0)? opts[0]:\"\"; // selected option \n    \n//transIN2 == [\"- Tin\u2082 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\"]\n\nif (option == \"- Tin\u2082 -\"){updateTransIN2 = 0};\nif (option == \"Propagation of waves\"){updateTransIN2 = 1};\nif (option == \"Mechanically\"){updateTransIN2 = 2};\nif (option == \"Heating\"){updateTransIN2 = 3};\nif (option == \"Electrically\"){updateTransIN2 = 4};\nif (option == \"Chemically\"){updateTransIN2 = 5};\n"
                              },
                              {
                                "name": "Font",
                                "value": "%font%"
                              }
                            ]
                          },
                          {
                            "Name": "field3",
                            "Type": "ParsedField",
                            "Properties": [
                              {
                                "name": "Format",
                                "value": "\"1\""
                              },
                              {
                                "name": "Tooltip",
                                "value": "\"EtransIN2\""
                              },
                              {
                                "name": "Value",
                                "value": "EtransIN2"
                              },
                              {
                                "name": "Width",
                                "value": "\"3vw\""
                              },
                              {
                                "name": "Font",
                                "value": "%font%"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "OUT2",
                        "Type": "Panel",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Background",
                            "value": "\"rgba(0,255,255,1)\""
                          },
                          {
                            "name": "Display",
                            "value": "check4b?\"inline-block\":\"none\""
                          }
                        ],
                        "Children": [
                          {
                            "Name": "energyOUT3",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "TextAlign",
                                "value": "\"right\""
                              },
                              {
                                "name": "Text",
                                "value": "\"<b>Energy Transfer Out: </b>\""
                              }
                            ]
                          },
                          {
                            "Name": "energyTypeOUT2",
                            "Type": "ComboBox",
                            "Properties": [
                              {
                                "name": "Options",
                                "value": "physicsonly?[\"- Tout\u2082 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\"]:[\"- Tout\u2082 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\"]"
                              },
                              {
                                "name": "OnChange",
                                "value": "var opts = _view.energyTypeOUT2.getProperty(\"SelectedOptions\");  // array of options\n    var option = (opts.length > 0)? opts[0]:\"\"; // selected option \n    \n//updateTransOUT == [\"- Tout\u2082 -\",\"Propagation of waves\",\"Mechanically\",\"Heating\",\"Electrically\",\"Chemically\"]\n\nif (option == \"- Tout\u2082 -\"){updateTransOUT2 = 0};\nif (option == \"Propagation of waves\"){updateTransOUT2 = 1};\nif (option == \"Mechanically\"){updateTransOUT2 = 2};\nif (option == \"Heating\"){updateTransOUT2 = 3};\nif (option == \"Electrically\"){updateTransOUT2 = 4};\nif (option == \"Chemically\"){updateTransOUT2 = 5};\n\n"
                              },
                              {
                                "name": "Font",
                                "value": "%font%"
                              }
                            ]
                          },
                          {
                            "Name": "field22",
                            "Type": "ParsedField",
                            "Properties": [
                              {
                                "name": "Format",
                                "value": "\"1\""
                              },
                              {
                                "name": "Tooltip",
                                "value": "\"EtransOUT2\""
                              },
                              {
                                "name": "Value",
                                "value": "EtransOUT2"
                              },
                              {
                                "name": "Width",
                                "value": "\"3vw\""
                              },
                              {
                                "name": "Font",
                                "value": "%font%"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "panel",
                "Type": "Panel",
                "Expanded": "true",
                "Properties": [],
                "Children": [
                  {
                    "Name": "L",
                    "Type": "PlottingPanel",
                    "Expanded": "true",
                    "Properties": [
                      {
                        "name": "ShowAreaRectangle",
                        "value": "false"
                      },
                      {
                        "name": "Gutters",
                        "value": "[50,50,0,50]"
                      },
                      {
                        "name": "YScalePrecision",
                        "value": "0"
                      },
                      {
                        "name": "XFixedTick",
                        "value": "0"
                      },
                      {
                        "name": "AxisXShow",
                        "value": "false"
                      },
                      {
                        "name": "YFixedTick",
                        "value": "0"
                      },
                      {
                        "name": "AxisYLineWidth",
                        "value": "2"
                      },
                      {
                        "name": "TRMessage",
                        "value": "%debugggTR%"
                      },
                      {
                        "name": "XTickStep",
                        "value": "1"
                      },
                      {
                        "name": "YTickStep",
                        "value": "1"
                      },
                      {
                        "name": "XAutoTicks",
                        "value": "false"
                      },
                      {
                        "name": "Width",
                        "value": "\"33%\""
                      },
                      {
                        "name": "TitleYFont",
                        "value": "font"
                      },
                      {
                        "name": "TitleXFont",
                        "value": "font"
                      },
                      {
                        "name": "Title",
                        "value": "\"Initial Amount of Energy of the System\""
                      },
                      {
                        "name": "Enabled",
                        "value": "true"
                      },
                      {
                        "name": "MaximumY",
                        "value": "11"
                      },
                      {
                        "name": "MaximumX",
                        "value": "7"
                      },
                      {
                        "name": "YAutoTicks",
                        "value": "false"
                      },
                      {
                        "name": "MinimumX",
                        "value": "0"
                      },
                      {
                        "name": "MinimumY",
                        "value": "-2"
                      },
                      {
                        "name": "TitleY",
                        "value": "\"Energy / Units\""
                      },
                      {
                        "name": "TitleX",
                        "value": "\"Energy\""
                      },
                      {
                        "name": "AutoScaleY",
                        "value": "true"
                      },
                      {
                        "name": "TitleFont",
                        "value": "font"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "xAxis",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "6.5"
                          },
                          {
                            "name": "X",
                            "value": "0"
                          },
                          {
                            "name": "Y",
                            "value": "0"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "LineWidth",
                            "value": "2"
                          }
                        ]
                      },
                      {
                        "Name": "interactPROMPT",
                        "Type": "ShapeSet2D",
                        "Properties": [
                          {
                            "name": "NumberOfElements",
                            "value": "6"
                          },
                          {
                            "name": "FillColor",
                            "value": "\"White\""
                          },
                          {
                            "name": "SizeX",
                            "value": "1"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"SOUTH\""
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"ROUND_RECTANGLE\""
                          },
                          {
                            "name": "X",
                            "value": "energyXpos"
                          },
                          {
                            "name": "LineColor",
                            "value": "%promptLineColour%"
                          },
                          {
                            "name": "Y",
                            "value": "0"
                          },
                          {
                            "name": "Visibility",
                            "value": "interactPrompt1"
                          },
                          {
                            "name": "SizeY",
                            "value": "iniTotalEnergy"
                          },
                          {
                            "name": "LineWidth",
                            "value": "10"
                          }
                        ]
                      },
                      {
                        "Name": "shapeSet",
                        "Type": "ShapeSet2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "%energyColour%"
                          },
                          {
                            "name": "OnExit",
                            "value": "interactPrompt1[elementInteracted] = false;\n\n"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"SOUTH\""
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"RECTANGLE\""
                          },
                          {
                            "name": "ElementInteracted",
                            "value": "elementInteracted"
                          },
                          {
                            "name": "NumberOfElements",
                            "value": "6"
                          },
                          {
                            "name": "OnRelease",
                            "value": "// Restrict numbers to integers //\nfor (let i=0; i< iniTotalEnergy.length; i++){\n  iniTotalEnergy[i] = Math.round(iniTotalEnergy[i]);\n  }\n"
                          },
                          {
                            "name": "Sensitivity",
                            "value": "30"
                          },
                          {
                            "name": "SizeX",
                            "value": "0.8"
                          },
                          {
                            "name": "EnabledSize",
                            "value": "\"ENABLED_NONE\""
                          },
                          {
                            "name": "X",
                            "value": "energyXpos"
                          },
                          {
                            "name": "OnEnter",
                            "value": "//interactPrompt[elementInteracted]= true;\n\n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\noneTrueLst(interactPrompt1, elementInteracted);\n"
                          },
                          {
                            "name": "Y",
                            "value": "0"
                          },
                          {
                            "name": "Visibility",
                            "value": "[displayChemical, displayElastic, displayGravitational, displayInternal, displayKinetic, displayNuclear]"
                          },
                          {
                            "name": "SizeY",
                            "value": "iniTotalEnergy"
                          },
                          {
                            "name": "LineWidth",
                            "value": "1"
                          }
                        ]
                      },
                      {
                        "Name": "xlabel",
                        "Type": "TextSet2D",
                        "Properties": [
                          {
                            "name": "NumberOfElements",
                            "value": "6"
                          },
                          {
                            "name": "X",
                            "value": "energyXpos"
                          },
                          {
                            "name": "Y",
                            "value": "-0.5"
                          },
                          {
                            "name": "Text",
                            "value": "[\"C\",\"E\",\"G\",\"I\",\"K\",\"N\"]"
                          },
                          {
                            "name": "Visibility",
                            "value": "[displayChemical, displayElastic, displayGravitational, displayInternal, displayKinetic, displayNuclear]"
                          }
                        ]
                      },
                      {
                        "Name": "offsety",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Y",
                            "value": "0.2"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "amt",
                            "Type": "TextSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "6"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos"
                              },
                              {
                                "name": "Y",
                                "value": "iniTotalEnergy"
                              },
                              {
                                "name": "Text",
                                "value": "%roundTheLst(iniTotalEnergy)%"
                              },
                              {
                                "name": "Visibility",
                                "value": "[displayChemical, displayElastic, displayGravitational, displayInternal, displayKinetic, displayNuclear]"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "dragHelper",
                        "Type": "Group2D",
                        "Expanded": "true",
                        "Properties": [],
                        "Children": [
                          {
                            "Name": "dragC",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%fillColorforDrag%"
                              },
                              {
                                "name": "OnExit",
                                "value": "elementInteracted = 0 \ninteractPrompt1[elementInteracted] = false;\n\n"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "//interactPrompt[elementInteracted]= true;\nelementInteracted = 0 \n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\noneTrueLst(interactPrompt1, elementInteracted);\n\n //iniTotalEnergy[elementInteracted] = dragCY\n\n\n  //iniTotalEnergy[elementInteracted] = Math.round(iniTotalEnergy[elementInteracted]);"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//for (let i=0; i< iniTotalEnergy.length; i++){\n  elementInteracted = 0 \n  iniTotalEnergy[elementInteracted] = Math.round(dragCY);\n  //}\n"
                              },
                              {
                                "name": "Sensitivity",
                                "value": "0"
                              },
                              {
                                "name": "SizeX",
                                "value": "0.8"
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[0]"
                              },
                              {
                                "name": "Y",
                                "value": "dragCY"
                              },
                              {
                                "name": "Visibility",
                                "value": "displayChemical"
                              },
                              {
                                "name": "SizeY",
                                "value": "dragSizeY"
                              },
                              {
                                "name": "LineWidth",
                                "value": "0"
                              },
                              {
                                "name": "EnabledPosition",
                                "value": "\"ENABLED_Y\""
                              }
                            ]
                          },
                          {
                            "Name": "dragE",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%fillColorforDrag%"
                              },
                              {
                                "name": "OnExit",
                                "value": "elementInteracted = 1\ninteractPrompt1[elementInteracted] = false;\n\n"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "//interactPrompt[elementInteracted]= true;\n\n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\nelementInteracted = 1 \noneTrueLst(interactPrompt1, elementInteracted);\n\n //iniTotalEnergy[elementInteracted] = Math.round(dragEY)"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//for (let i=0; i< iniTotalEnergy.length; i++){\n  elementInteracted = 1 \n  iniTotalEnergy[elementInteracted] = Math.round(dragEY);\n  //}\n"
                              },
                              {
                                "name": "Sensitivity",
                                "value": "0"
                              },
                              {
                                "name": "SizeX",
                                "value": "0.8"
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[1]"
                              },
                              {
                                "name": "Y",
                                "value": "dragEY"
                              },
                              {
                                "name": "Visibility",
                                "value": "displayElastic"
                              },
                              {
                                "name": "SizeY",
                                "value": "dragSizeY"
                              },
                              {
                                "name": "LineWidth",
                                "value": "0"
                              },
                              {
                                "name": "EnabledPosition",
                                "value": "\"ENABLED_Y\""
                              }
                            ]
                          },
                          {
                            "Name": "dragG",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%fillColorforDrag%"
                              },
                              {
                                "name": "OnExit",
                                "value": "elementInteracted = 2\ninteractPrompt1[elementInteracted] = false;\n\n"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "//interactPrompt[elementInteracted]= true;\n\n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\nelementInteracted = 2 \noneTrueLst(interactPrompt1, elementInteracted);\n\n //iniTotalEnergy[elementInteracted] = Math.round(dragGY)"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//for (let i=0; i< iniTotalEnergy.length; i++){\n  elementInteracted = 2\n  iniTotalEnergy[elementInteracted] = Math.round(dragGY);\n  //}\n"
                              },
                              {
                                "name": "Sensitivity",
                                "value": "0"
                              },
                              {
                                "name": "SizeX",
                                "value": "0.8"
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[2]"
                              },
                              {
                                "name": "LineColor",
                                "value": "\"Red\""
                              },
                              {
                                "name": "Y",
                                "value": "dragGY"
                              },
                              {
                                "name": "Visibility",
                                "value": "displayGravitational"
                              },
                              {
                                "name": "SizeY",
                                "value": "dragSizeY"
                              },
                              {
                                "name": "LineWidth",
                                "value": "0"
                              },
                              {
                                "name": "EnabledPosition",
                                "value": "\"ENABLED_Y\""
                              }
                            ]
                          },
                          {
                            "Name": "dragI",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%fillColorforDrag%"
                              },
                              {
                                "name": "OnExit",
                                "value": "elementInteracted = 3 \ninteractPrompt1[elementInteracted] = false;\n\n"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "//interactPrompt[elementInteracted]= true;\nelementInteracted = 3 \n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\noneTrueLst(interactPrompt1, elementInteracted);\n\n //iniTotalEnergy[elementInteracted] = Math.round(dragIY)"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//for (let i=0; i< iniTotalEnergy.length; i++){\n  elementInteracted = 3 \n  iniTotalEnergy[elementInteracted] = Math.round(dragIY);\n  //}\n"
                              },
                              {
                                "name": "Sensitivity",
                                "value": "0"
                              },
                              {
                                "name": "SizeX",
                                "value": "0.8"
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[3]"
                              },
                              {
                                "name": "Y",
                                "value": "dragIY"
                              },
                              {
                                "name": "Visibility",
                                "value": "displayInternal"
                              },
                              {
                                "name": "SizeY",
                                "value": "dragSizeY"
                              },
                              {
                                "name": "LineWidth",
                                "value": "0"
                              },
                              {
                                "name": "EnabledPosition",
                                "value": "\"ENABLED_Y\""
                              }
                            ]
                          },
                          {
                            "Name": "dragK",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%fillColorforDrag%"
                              },
                              {
                                "name": "OnExit",
                                "value": "elementInteracted = 4 \ninteractPrompt1[elementInteracted] = false;\n\n"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "//interactPrompt[elementInteracted]= true;\nelementInteracted = 4 \n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\noneTrueLst(interactPrompt1, elementInteracted);\n\n //iniTotalEnergy[elementInteracted] = Math.round(dragKY)"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//for (let i=0; i< iniTotalEnergy.length; i++){\n  elementInteracted = 4 \n  iniTotalEnergy[elementInteracted] = Math.round(dragKY);\n  //}\n"
                              },
                              {
                                "name": "Sensitivity",
                                "value": "0"
                              },
                              {
                                "name": "SizeX",
                                "value": "0.8"
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[4]"
                              },
                              {
                                "name": "Y",
                                "value": "dragKY"
                              },
                              {
                                "name": "Visibility",
                                "value": "displayKinetic"
                              },
                              {
                                "name": "SizeY",
                                "value": "dragSizeY"
                              },
                              {
                                "name": "LineWidth",
                                "value": "0"
                              },
                              {
                                "name": "EnabledPosition",
                                "value": "\"ENABLED_Y\""
                              }
                            ]
                          },
                          {
                            "Name": "dragN",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%fillColorforDrag%"
                              },
                              {
                                "name": "OnExit",
                                "value": "elementInteracted = 5 \ninteractPrompt1[elementInteracted] = false;\n\n"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "//interactPrompt[elementInteracted]= true;\nelementInteracted = 5 \n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\noneTrueLst(interactPrompt1, elementInteracted);\n\n //iniTotalEnergy[elementInteracted] = Math.round(dragNY)\n //iniTotalEnergy[elementInteracted] = Math.round(_info.point[1])\n"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//for (let i=0; i< iniTotalEnergy.length; i++){\n  elementInteracted = 5 \n  iniTotalEnergy[elementInteracted] = Math.round(dragNY);\n  //}\n"
                              },
                              {
                                "name": "Sensitivity",
                                "value": "0"
                              },
                              {
                                "name": "SizeX",
                                "value": "0.8"
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[5]"
                              },
                              {
                                "name": "Y",
                                "value": "dragNY"
                              },
                              {
                                "name": "Visibility",
                                "value": "displayNuclear"
                              },
                              {
                                "name": "SizeY",
                                "value": "dragSizeY"
                              },
                              {
                                "name": "LineWidth",
                                "value": "0"
                              },
                              {
                                "name": "EnabledPosition",
                                "value": "\"ENABLED_Y\""
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "images",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Visibility",
                            "value": "show2D"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "chemical",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(iniTotalEnergy[0])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size2DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[0]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/chemical.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( iniTotalEnergy[0] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "iniTotalEnergy[0]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size2DY"
                              }
                            ]
                          },
                          {
                            "Name": "elastic",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(iniTotalEnergy[1])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size2DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[1]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/elestic.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( iniTotalEnergy[1] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "iniTotalEnergy[1]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size2DY"
                              }
                            ]
                          },
                          {
                            "Name": "gravity",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.abs(Math.round(iniTotalEnergy[2]))"
                              },
                              {
                                "name": "SizeX",
                                "value": "size2DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[2]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/gravity.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( iniTotalEnergy[2] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "Math.abs(iniTotalEnergy[2])>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size2DY"
                              }
                            ]
                          },
                          {
                            "Name": "internal",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(iniTotalEnergy[3])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size2DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[3]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/internal.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( iniTotalEnergy[3] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "iniTotalEnergy[3]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size2DY"
                              }
                            ]
                          },
                          {
                            "Name": "kinetic",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(iniTotalEnergy[4])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size2DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[4]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/kinetic.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( iniTotalEnergy[4] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "iniTotalEnergy[4]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size2DY"
                              }
                            ]
                          },
                          {
                            "Name": "nuclear",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(iniTotalEnergy[5])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size2DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[5]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/nuclear.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( iniTotalEnergy[5] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "iniTotalEnergy[5]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size2DY"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "images3D",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Visibility",
                            "value": "show3D"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "chemical3",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(iniTotalEnergy[0])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size3DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[0]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/chemical3D.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( iniTotalEnergy[0] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "iniTotalEnergy[0]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size3DY"
                              }
                            ]
                          },
                          {
                            "Name": "elastic3",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(iniTotalEnergy[1])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size3DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[1]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/elestic3D.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( iniTotalEnergy[1] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "iniTotalEnergy[1]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size3DY"
                              }
                            ]
                          },
                          {
                            "Name": "gravity3",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.abs(Math.round(iniTotalEnergy[2]))"
                              },
                              {
                                "name": "SizeX",
                                "value": "size3DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[2]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/gravity3D.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( iniTotalEnergy[2] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "Math.abs(iniTotalEnergy[2])>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size3DY"
                              }
                            ]
                          },
                          {
                            "Name": "internal3",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(iniTotalEnergy[3])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size3DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[3]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/internal3D.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( iniTotalEnergy[3] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "iniTotalEnergy[3]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size3DY"
                              }
                            ]
                          },
                          {
                            "Name": "kinetic3",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(iniTotalEnergy[4])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size3DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[4]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/kinetic3D.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( iniTotalEnergy[4] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "iniTotalEnergy[4]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size3DY"
                              }
                            ]
                          },
                          {
                            "Name": "nuclear3",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(iniTotalEnergy[5])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size3DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[5]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/nuclear3D.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( iniTotalEnergy[5] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "iniTotalEnergy[5]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size3DY"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "O",
                    "Type": "PlottingPanel",
                    "Expanded": "true",
                    "Properties": [
                      {
                        "name": "Gutters",
                        "value": "[0,50,0,50]"
                      },
                      {
                        "name": "ShowAreaRectangle",
                        "value": "false"
                      },
                      {
                        "name": "YScalePrecision",
                        "value": "0"
                      },
                      {
                        "name": "XFixedTick",
                        "value": "-6"
                      },
                      {
                        "name": "Title",
                        "value": "\"System\""
                      },
                      {
                        "name": "Enabled",
                        "value": "true"
                      },
                      {
                        "name": "AxisXShow",
                        "value": "false"
                      },
                      {
                        "name": "MaximumY",
                        "value": "6"
                      },
                      {
                        "name": "MaximumX",
                        "value": "6"
                      },
                      {
                        "name": "YFixedTick",
                        "value": "-6"
                      },
                      {
                        "name": "YAutoTicks",
                        "value": "false"
                      },
                      {
                        "name": "MinimumX",
                        "value": "-6"
                      },
                      {
                        "name": "MinimumY",
                        "value": "-6"
                      },
                      {
                        "name": "XTickStep",
                        "value": "12"
                      },
                      {
                        "name": "AxisYShow",
                        "value": "false"
                      },
                      {
                        "name": "YTickStep",
                        "value": "12"
                      },
                      {
                        "name": "TitleX",
                        "value": "%hint%"
                      },
                      {
                        "name": "XAutoTicks",
                        "value": "false"
                      },
                      {
                        "name": "TitleFont",
                        "value": "font"
                      },
                      {
                        "name": "XScalePrecision",
                        "value": "0"
                      },
                      {
                        "name": "Width",
                        "value": "\"33%\""
                      }
                    ],
                    "Children": [
                      {
                        "Name": "Closed_System",
                        "Type": "Shape2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "\"White\""
                          },
                          {
                            "name": "SizeX",
                            "value": "4"
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"ELLIPSE\""
                          },
                          {
                            "name": "LineColor",
                            "value": "\"Black\""
                          },
                          {
                            "name": "X",
                            "value": "0"
                          },
                          {
                            "name": "Attributes",
                            "value": "{ \"stroke-dasharray\":\"8 8 8 8\" } "
                          },
                          {
                            "name": "Y",
                            "value": "0"
                          },
                          {
                            "name": "SizeY",
                            "value": "4"
                          },
                          {
                            "name": "LineWidth",
                            "value": "2"
                          }
                        ]
                      },
                      {
                        "Name": "textObject",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "X",
                            "value": "0"
                          },
                          {
                            "name": "Y",
                            "value": "0"
                          },
                          {
                            "name": "Text",
                            "value": "%systemText2%"
                          }
                        ]
                      },
                      {
                        "Name": "arrowIN",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "Sensitivity",
                            "value": "50"
                          },
                          {
                            "name": "SizeX",
                            "value": "-arrowLength"
                          },
                          {
                            "name": "Rotate",
                            "value": "Math.atan2(energyInArrowY, energyInArrowX)"
                          },
                          {
                            "name": "X",
                            "value": "energyInArrowX"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"rgba(0,150,255,1.0)\""
                          },
                          {
                            "name": "Y",
                            "value": "energyInArrowY"
                          },
                          {
                            "name": "Visibility",
                            "value": "check3a"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "LineWidth",
                            "value": "5"
                          },
                          {
                            "name": "EnabledPosition",
                            "value": "\"ENABLED_ANY\""
                          },
                          {
                            "name": "OnDrag",
                            "value": "// Calculate the magnitude of the vector\nvar magnitude = Math.sqrt(energyInArrowX * energyInArrowX + energyInArrowY * energyInArrowY);\nvar angle = Math.atan2(energyInArrowY, energyInArrowX)\nvar minDistance = 3;\nvar maxDistance = 9;\nvar radius = 2.5\nenergyInArrowX = radius * Math.cos(angle);\nenergyInArrowY = radius * Math.sin(angle);\n\n// update the image positions\nradius += 2;\nINimgX = radius * Math.cos(angle);\nINimgY = radius * Math.sin(angle);\n  \n   /*\n   // If magnitude exceeds maxDistance, scale down the vector\n    if (magnitude > maxDistance) {\n        var scaleFactor = maxDistance / magnitude;\n        energyInArrowX *= scaleFactor;\n        energyInArrowY *= scaleFactor;\n    }\n    else if (magnitude < minDistance) {\n        var scaleFactor = maxDistance / magnitude;\n        energyInArrowX *= scaleFactor;\n        energyInArrowY *= scaleFactor;\n    }\n*/"
                          },
                          {
                            "name": "Offset",
                            "value": "\"CENTERED\""
                          }
                        ]
                      },
                      {
                        "Name": "arrowIN2",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "Sensitivity",
                            "value": "50"
                          },
                          {
                            "name": "SizeX",
                            "value": "-arrowLength"
                          },
                          {
                            "name": "Rotate",
                            "value": "Math.atan2(energyIn2ArrowY, energyIn2ArrowX)"
                          },
                          {
                            "name": "X",
                            "value": "energyIn2ArrowX"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"rgba(0,255,255,1.0)\""
                          },
                          {
                            "name": "Y",
                            "value": "energyIn2ArrowY"
                          },
                          {
                            "name": "Visibility",
                            "value": "check3b"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "LineWidth",
                            "value": "5"
                          },
                          {
                            "name": "EnabledPosition",
                            "value": "\"ENABLED_ANY\""
                          },
                          {
                            "name": "OnDrag",
                            "value": "// Calculate the magnitude of the vector\nvar magnitude = Math.sqrt(energyIn2ArrowX * energyIn2ArrowX + energyIn2ArrowY * energyIn2ArrowY);\nvar angle = Math.atan2(energyIn2ArrowY, energyIn2ArrowX)\nvar minDistance = 3;\nvar maxDistance = 9;\nvar radius = 2.5\nenergyIn2ArrowX = radius * Math.cos(angle);\nenergyIn2ArrowY = radius * Math.sin(angle);\n\n// update the image positions\nradius += 2;\nIN2imgX = radius * Math.cos(angle);\nIN2imgY = radius * Math.sin(angle);\n  \n"
                          },
                          {
                            "name": "Offset",
                            "value": "\"CENTERED\""
                          }
                        ]
                      },
                      {
                        "Name": "arrowOUT",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "Sensitivity",
                            "value": "50"
                          },
                          {
                            "name": "SizeX",
                            "value": "arrowLength"
                          },
                          {
                            "name": "Rotate",
                            "value": "Math.atan2(energyOutArrowY, energyOutArrowX)"
                          },
                          {
                            "name": "X",
                            "value": "energyOutArrowX"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"rgba(0,150,255,1.0)\""
                          },
                          {
                            "name": "Y",
                            "value": "energyOutArrowY"
                          },
                          {
                            "name": "Visibility",
                            "value": "check4a"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "LineWidth",
                            "value": "5"
                          },
                          {
                            "name": "EnabledPosition",
                            "value": "\"ENABLED_ANY\""
                          },
                          {
                            "name": "OnDrag",
                            "value": "// Calculate the magnitude of the vector\nvar magnitude = Math.sqrt(energyOutArrowX * energyOutArrowX + energyOutArrowY * energyOutArrowY);\nvar angle = Math.atan2(energyOutArrowY, energyOutArrowX)\nvar minDistance = 3;\nvar maxDistance = 9;\nvar radius = 2.5\nenergyOutArrowX = radius * Math.cos(angle);\nenergyOutArrowY = radius * Math.sin(angle);\n\n// Update the image positions\nradius += 2;\nOUTimgX = radius * Math.cos(angle);\nOUTimgY = radius * Math.sin(angle);\n"
                          },
                          {
                            "name": "Offset",
                            "value": "\"CENTERED\""
                          }
                        ]
                      },
                      {
                        "Name": "arrowOUT2",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "Sensitivity",
                            "value": "50"
                          },
                          {
                            "name": "SizeX",
                            "value": "arrowLength"
                          },
                          {
                            "name": "Rotate",
                            "value": "Math.atan2(energyOut2ArrowY, energyOut2ArrowX)"
                          },
                          {
                            "name": "X",
                            "value": "energyOut2ArrowX"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"rgba(0,255,255,1.0)\""
                          },
                          {
                            "name": "Y",
                            "value": "energyOut2ArrowY"
                          },
                          {
                            "name": "Visibility",
                            "value": "check4b"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "LineWidth",
                            "value": "5"
                          },
                          {
                            "name": "EnabledPosition",
                            "value": "\"ENABLED_ANY\""
                          },
                          {
                            "name": "OnDrag",
                            "value": "// Calculate the magnitude of the vector\nvar magnitude = Math.sqrt(energyOut2ArrowX * energyOut2ArrowX + energyOut2ArrowY * energyOut2ArrowY);\nvar angle = Math.atan2(energyOut2ArrowY, energyOut2ArrowX)\nvar minDistance = 3;\nvar maxDistance = 9;\nvar radius = 2.5\nenergyOut2ArrowX = radius * Math.cos(angle);\nenergyOut2ArrowY = radius * Math.sin(angle);\n\n// Update the image positions\nradius += 2;\nOUT2imgX = radius * Math.cos(angle);\nOUT2imgY = radius * Math.sin(angle);\n"
                          },
                          {
                            "name": "Offset",
                            "value": "\"CENTERED\""
                          }
                        ]
                      },
                      {
                        "Name": "groupIN",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Y",
                            "value": "0.9"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "imageIN",
                            "Type": "Image2D",
                            "Properties": [
                              {
                                "name": "SizeX",
                                "value": "imgSIZE"
                              },
                              {
                                "name": "X",
                                "value": "INimgX"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "%imgIN[updateTransIN]%"
                              },
                              {
                                "name": "Y",
                                "value": "INimgY"
                              },
                              {
                                "name": "Visibility",
                                "value": "check3a"
                              },
                              {
                                "name": "SizeY",
                                "value": "imgSIZE"
                              }
                            ]
                          },
                          {
                            "Name": "interactPrompt",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "\"White\""
                              },
                              {
                                "name": "SizeX",
                                "value": "energyWidth+0.1"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"ROUND_RECTANGLE\""
                              },
                              {
                                "name": "LineColor",
                                "value": "%promptLineColour%"
                              },
                              {
                                "name": "X",
                                "value": "INenergyX"
                              },
                              {
                                "name": "Y",
                                "value": "INenergyY"
                              },
                              {
                                "name": "Visibility",
                                "value": "INinteract"
                              },
                              {
                                "name": "SizeY",
                                "value": "EtransIN+0.1"
                              },
                              {
                                "name": "LineWidth",
                                "value": "10"
                              }
                            ]
                          },
                          {
                            "Name": "energyIN2",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%energyColour%"
                              },
                              {
                                "name": "OnExit",
                                "value": "INinteract = false;"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "// Restrict numbers to integers //\n//EtransIN = Math.round(EtransIN);\n//EtransIN = Math.round(EtransIN)\n\n"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//EtransIN = Math.round(EtransIN);\nEtransIN = Math.round(EtransIN)"
                              },
                              {
                                "name": "SizeX",
                                "value": "energyWidth"
                              },
                              {
                                "name": "EnabledSize",
                                "value": "\"ENABLED_NONE\""
                              },
                              {
                                "name": "X",
                                "value": "INenergyX"
                              },
                              {
                                "name": "OnEnter",
                                "value": "INinteract = true;"
                              },
                              {
                                "name": "Y",
                                "value": "INenergyY"
                              },
                              {
                                "name": "OnPress",
                                "value": "INinteract = true;"
                              },
                              {
                                "name": "SizeY",
                                "value": "EtransIN"
                              },
                              {
                                "name": "LineWidth",
                                "value": "1"
                              }
                            ]
                          },
                          {
                            "Name": "transIN_text",
                            "Type": "Text2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "\"rgba(0,150,255,1.0)\""
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"NORTH\""
                              },
                              {
                                "name": "X",
                                "value": "INtextX"
                              },
                              {
                                "name": "Y",
                                "value": "INtextY"
                              },
                              {
                                "name": "Text",
                                "value": "\"Tin\u2081\""
                              },
                              {
                                "name": "Visibility",
                                "value": "check3a"
                              }
                            ]
                          },
                          {
                            "Name": "iconINamt",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(EtransIN)"
                              },
                              {
                                "name": "SizeX",
                                "value": "imgIconSIZE"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "INenergyX"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "%imgIN[updateTransIN]%"
                              },
                              {
                                "name": "Y",
                                "value": "numberedLstFromX(EtransIN,INenergyY)"
                              },
                              {
                                "name": "Visibility",
                                "value": "EtransIN>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "imgIconSIZE"
                              }
                            ]
                          },
                          {
                            "Name": "amtIN",
                            "Type": "Text2D",
                            "Properties": [
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "INenergyX"
                              },
                              {
                                "name": "Y",
                                "value": "INenergyY+EtransIN+0.2"
                              },
                              {
                                "name": "Text",
                                "value": "%Math.round(EtransIN)%"
                              },
                              {
                                "name": "Visibility",
                                "value": "check3a"
                              }
                            ]
                          },
                          {
                            "Name": "drag3Helper",
                            "Type": "Group2D",
                            "Expanded": "false",
                            "Properties": [
                              {
                                "name": "Y",
                                "value": "INenergyY"
                              }
                            ],
                            "Children": [
                              {
                                "Name": "dragTin1",
                                "Type": "Shape2D",
                                "Properties": [
                                  {
                                    "name": "FillColor",
                                    "value": "%fillColorforDrag%"
                                  },
                                  {
                                    "name": "OnExit",
                                    "value": "INinteract = false;"
                                  },
                                  {
                                    "name": "ShapeType",
                                    "value": "\"RECTANGLE\""
                                  },
                                  {
                                    "name": "OnDrag",
                                    "value": "INinteract = true;\n\n"
                                  },
                                  {
                                    "name": "OnRelease",
                                    "value": "// Restrict numbers to integers //\n  //EtransIN = Math.round(EtransIN);    // \u2192 restrict movements in Ipad Pro :(\n  //EtransIN = Math.round(_info.point[1]);\n\nEtransIN = Math.round(dragEtransIN);\nINinteract = false;\n"
                                  },
                                  {
                                    "name": "Sensitivity",
                                    "value": "0"
                                  },
                                  {
                                    "name": "SizeX",
                                    "value": "0.8"
                                  },
                                  {
                                    "name": "X",
                                    "value": "INenergyX"
                                  },
                                  {
                                    "name": "LineColor",
                                    "value": "\"Pink\""
                                  },
                                  {
                                    "name": "OnEnter",
                                    "value": "INinteract = true;"
                                  },
                                  {
                                    "name": "Y",
                                    "value": "dragEtransIN"
                                  },
                                  {
                                    "name": "Visibility",
                                    "value": "check3a"
                                  },
                                  {
                                    "name": "SizeY",
                                    "value": "dragSizeY"
                                  },
                                  {
                                    "name": "LineWidth",
                                    "value": "0"
                                  },
                                  {
                                    "name": "EnabledPosition",
                                    "value": "\"ENABLED_Y\""
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "groupIN2",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Y",
                            "value": "0.9"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "drag4Helper",
                            "Type": "Group2D",
                            "Expanded": "false",
                            "Properties": [
                              {
                                "name": "Y",
                                "value": "IN2energyY"
                              }
                            ],
                            "Children": [
                              {
                                "Name": "dragTin2",
                                "Type": "Shape2D",
                                "Properties": [
                                  {
                                    "name": "FillColor",
                                    "value": "%fillColorforDrag%"
                                  },
                                  {
                                    "name": "OnExit",
                                    "value": "IN2interact = false;"
                                  },
                                  {
                                    "name": "ShapeType",
                                    "value": "\"RECTANGLE\""
                                  },
                                  {
                                    "name": "OnDrag",
                                    "value": "IN2interact = true;"
                                  },
                                  {
                                    "name": "OnRelease",
                                    "value": "// Restrict numbers to integers //\n  //EtransIN2 = Math.round(EtransIN2);  // \u2192 restrict movements in Ipad Pro\nEtransIN2 = Math.round(dragEtransIN2); \nIN2interact = false;\n"
                                  },
                                  {
                                    "name": "Sensitivity",
                                    "value": "0"
                                  },
                                  {
                                    "name": "SizeX",
                                    "value": "0.8"
                                  },
                                  {
                                    "name": "X",
                                    "value": "IN2energyX"
                                  },
                                  {
                                    "name": "OnEnter",
                                    "value": "IN2interact = true;"
                                  },
                                  {
                                    "name": "Y",
                                    "value": "dragEtransIN2"
                                  },
                                  {
                                    "name": "Visibility",
                                    "value": "check3b"
                                  },
                                  {
                                    "name": "SizeY",
                                    "value": "dragSizeY"
                                  },
                                  {
                                    "name": "LineWidth",
                                    "value": "0"
                                  },
                                  {
                                    "name": "EnabledPosition",
                                    "value": "\"ENABLED_Y\""
                                  }
                                ]
                              }
                            ]
                          },
                          {
                            "Name": "imageIN2",
                            "Type": "Image2D",
                            "Properties": [
                              {
                                "name": "SizeX",
                                "value": "imgSIZE"
                              },
                              {
                                "name": "X",
                                "value": "IN2imgX"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "%imgIN2[updateTransIN2]%"
                              },
                              {
                                "name": "Y",
                                "value": "IN2imgY"
                              },
                              {
                                "name": "Visibility",
                                "value": "check3b"
                              },
                              {
                                "name": "SizeY",
                                "value": "imgSIZE"
                              }
                            ]
                          },
                          {
                            "Name": "interactPrompt3",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "\"White\""
                              },
                              {
                                "name": "SizeX",
                                "value": "energyWidth+0.1"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"ROUND_RECTANGLE\""
                              },
                              {
                                "name": "LineColor",
                                "value": "%promptLineColour%"
                              },
                              {
                                "name": "X",
                                "value": "IN2energyX"
                              },
                              {
                                "name": "Y",
                                "value": "IN2energyY"
                              },
                              {
                                "name": "Visibility",
                                "value": "IN2interact"
                              },
                              {
                                "name": "SizeY",
                                "value": "EtransIN2+0.1"
                              },
                              {
                                "name": "LineWidth",
                                "value": "10"
                              }
                            ]
                          },
                          {
                            "Name": "energyIN22",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\nEtransIN2 = Math.round(EtransIN2);"
                              },
                              {
                                "name": "FillColor",
                                "value": "%energyColour%"
                              },
                              {
                                "name": "OnExit",
                                "value": "IN2interact = false;"
                              },
                              {
                                "name": "SizeX",
                                "value": "energyWidth"
                              },
                              {
                                "name": "EnabledSize",
                                "value": "\"ENABLED_NONE\""
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "X",
                                "value": "IN2energyX"
                              },
                              {
                                "name": "OnEnter",
                                "value": "IN2interact = true;"
                              },
                              {
                                "name": "Y",
                                "value": "IN2energyY"
                              },
                              {
                                "name": "SizeY",
                                "value": "EtransIN2"
                              },
                              {
                                "name": "LineWidth",
                                "value": "1"
                              }
                            ]
                          },
                          {
                            "Name": "transIN_text2",
                            "Type": "Text2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "\"rgba(0,200,255,1.0)\""
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"NORTH\""
                              },
                              {
                                "name": "X",
                                "value": "IN2textX"
                              },
                              {
                                "name": "Y",
                                "value": "IN2textY"
                              },
                              {
                                "name": "Text",
                                "value": "\"Tin\u2082\""
                              },
                              {
                                "name": "Visibility",
                                "value": "check3b"
                              }
                            ]
                          },
                          {
                            "Name": "iconINamt2",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(EtransIN2)"
                              },
                              {
                                "name": "SizeX",
                                "value": "imgIconSIZE"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "IN2energyX"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "%imgIN2[updateTransIN2]%"
                              },
                              {
                                "name": "Y",
                                "value": "numberedLstFromX(EtransIN2,IN2energyY)"
                              },
                              {
                                "name": "Visibility",
                                "value": "EtransIN2>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "imgIconSIZE"
                              }
                            ]
                          },
                          {
                            "Name": "amtIN2",
                            "Type": "Text2D",
                            "Properties": [
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "IN2energyX"
                              },
                              {
                                "name": "Y",
                                "value": "IN2energyY+EtransIN2+0.2"
                              },
                              {
                                "name": "Text",
                                "value": "%Math.round(EtransIN2)%"
                              },
                              {
                                "name": "Visibility",
                                "value": "check3b"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "groupOUT",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Y",
                            "value": "0.9"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "imageOUT",
                            "Type": "Image2D",
                            "Properties": [
                              {
                                "name": "SizeX",
                                "value": "imgSIZE"
                              },
                              {
                                "name": "X",
                                "value": "OUTimgX"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "%imgOUT[updateTransOUT]%"
                              },
                              {
                                "name": "Y",
                                "value": "OUTimgY"
                              },
                              {
                                "name": "Visibility",
                                "value": "check4a"
                              },
                              {
                                "name": "SizeY",
                                "value": "imgSIZE"
                              }
                            ]
                          },
                          {
                            "Name": "interactPrompt2",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "\"White\""
                              },
                              {
                                "name": "SizeX",
                                "value": "energyWidth+0.1"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"ROUND_RECTANGLE\""
                              },
                              {
                                "name": "LineColor",
                                "value": "%promptLineColour%"
                              },
                              {
                                "name": "X",
                                "value": "OUTenergyX"
                              },
                              {
                                "name": "Y",
                                "value": "OUTenergyY"
                              },
                              {
                                "name": "Visibility",
                                "value": "OUTinteract"
                              },
                              {
                                "name": "SizeY",
                                "value": "EtransOUT+0.1"
                              },
                              {
                                "name": "LineWidth",
                                "value": "10"
                              }
                            ]
                          },
                          {
                            "Name": "energyOUT2",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\nEtransOUT = Math.round(EtransOUT);"
                              },
                              {
                                "name": "FillColor",
                                "value": "%energyColour%"
                              },
                              {
                                "name": "OnExit",
                                "value": "OUTinteract = false;"
                              },
                              {
                                "name": "SizeX",
                                "value": "energyWidth"
                              },
                              {
                                "name": "EnabledSize",
                                "value": "\"ENABLED_NONE\""
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "X",
                                "value": "OUTenergyX"
                              },
                              {
                                "name": "OnEnter",
                                "value": "OUTinteract = true;"
                              },
                              {
                                "name": "Y",
                                "value": "OUTenergyY"
                              },
                              {
                                "name": "SizeY",
                                "value": "EtransOUT"
                              },
                              {
                                "name": "LineWidth",
                                "value": "1"
                              }
                            ]
                          },
                          {
                            "Name": "out_text",
                            "Type": "Text2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "\"rgba(0,150,255,1.0)\""
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"NORTH\""
                              },
                              {
                                "name": "X",
                                "value": "OUTtextX"
                              },
                              {
                                "name": "Y",
                                "value": "OUTtextY"
                              },
                              {
                                "name": "Text",
                                "value": "\"Tout\u2081\""
                              },
                              {
                                "name": "Visibility",
                                "value": "check4a"
                              }
                            ]
                          },
                          {
                            "Name": "amtOUT",
                            "Type": "Text2D",
                            "Properties": [
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "OUTenergyX"
                              },
                              {
                                "name": "Y",
                                "value": "OUTenergyY + EtransOUT+0.2"
                              },
                              {
                                "name": "Text",
                                "value": "%Math.round(EtransOUT)%"
                              },
                              {
                                "name": "Visibility",
                                "value": "check4a"
                              }
                            ]
                          },
                          {
                            "Name": "iconOUTamt",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(EtransOUT)"
                              },
                              {
                                "name": "SizeX",
                                "value": "imgIconSIZE"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "OUTenergyX"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "%imgOUT[updateTransOUT]%"
                              },
                              {
                                "name": "Y",
                                "value": "numberedLstFromX(EtransOUT,OUTenergyY)"
                              },
                              {
                                "name": "Visibility",
                                "value": "EtransOUT>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "imgIconSIZE"
                              }
                            ]
                          },
                          {
                            "Name": "drag5Helper",
                            "Type": "Group2D",
                            "Expanded": "false",
                            "Properties": [
                              {
                                "name": "Y",
                                "value": "OUTenergyY"
                              }
                            ],
                            "Children": [
                              {
                                "Name": "dragTout1",
                                "Type": "Shape2D",
                                "Properties": [
                                  {
                                    "name": "FillColor",
                                    "value": "%fillColorforDrag%"
                                  },
                                  {
                                    "name": "OnExit",
                                    "value": "OUTinteract = false;"
                                  },
                                  {
                                    "name": "ShapeType",
                                    "value": "\"RECTANGLE\""
                                  },
                                  {
                                    "name": "OnDrag",
                                    "value": "OUTinteract = true;\n"
                                  },
                                  {
                                    "name": "OnRelease",
                                    "value": "// Restrict numbers to integers //\n  //EtransOUT = Math.round(EtransOUT);  // \u2192 restrict movements in Ipad Pro\n  \nEtransOUT = Math.round(dragEtransOUT);\nOUTinteract = false;"
                                  },
                                  {
                                    "name": "Sensitivity",
                                    "value": "0"
                                  },
                                  {
                                    "name": "SizeX",
                                    "value": "0.8"
                                  },
                                  {
                                    "name": "X",
                                    "value": "OUTenergyX"
                                  },
                                  {
                                    "name": "OnEnter",
                                    "value": "OUTinteract = true;"
                                  },
                                  {
                                    "name": "Y",
                                    "value": "dragEtransOUT"
                                  },
                                  {
                                    "name": "Visibility",
                                    "value": "check4a"
                                  },
                                  {
                                    "name": "SizeY",
                                    "value": "dragSizeY"
                                  },
                                  {
                                    "name": "DrawLines",
                                    "value": "0"
                                  },
                                  {
                                    "name": "EnabledPosition",
                                    "value": "\"ENABLED_Y\""
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "groupOUT2",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Y",
                            "value": "0.9"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "imageOUT2",
                            "Type": "Image2D",
                            "Properties": [
                              {
                                "name": "SizeX",
                                "value": "imgSIZE"
                              },
                              {
                                "name": "X",
                                "value": "OUT2imgX"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "%imgOUT2[updateTransOUT2]%"
                              },
                              {
                                "name": "Y",
                                "value": "OUT2imgY"
                              },
                              {
                                "name": "Visibility",
                                "value": "check4b"
                              },
                              {
                                "name": "SizeY",
                                "value": "imgSIZE"
                              }
                            ]
                          },
                          {
                            "Name": "interactPrompt22",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "\"White\""
                              },
                              {
                                "name": "SizeX",
                                "value": "energyWidth+0.1"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"ROUND_RECTANGLE\""
                              },
                              {
                                "name": "LineColor",
                                "value": "%promptLineColour%"
                              },
                              {
                                "name": "X",
                                "value": "OUT2energyX"
                              },
                              {
                                "name": "Y",
                                "value": "OUT2energyY"
                              },
                              {
                                "name": "Visibility",
                                "value": "OUT2interact"
                              },
                              {
                                "name": "SizeY",
                                "value": "EtransOUT2 + 0.1"
                              },
                              {
                                "name": "LineWidth",
                                "value": "10"
                              }
                            ]
                          },
                          {
                            "Name": "energyOUT22",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\nEtransOUT2 = Math.round(EtransOUT2);\n//EtransOUT2 = Math.round(_info.point[0]);\n"
                              },
                              {
                                "name": "FillColor",
                                "value": "%energyColour%"
                              },
                              {
                                "name": "OnExit",
                                "value": "OUT2interact = false;"
                              },
                              {
                                "name": "SizeX",
                                "value": "energyWidth"
                              },
                              {
                                "name": "EnabledSize",
                                "value": "\"ENABLED_NONE\""
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "X",
                                "value": "OUT2energyX"
                              },
                              {
                                "name": "OnEnter",
                                "value": "OUT2interact = true;"
                              },
                              {
                                "name": "Y",
                                "value": "OUT2energyY"
                              },
                              {
                                "name": "SizeY",
                                "value": "EtransOUT2"
                              },
                              {
                                "name": "LineWidth",
                                "value": "1"
                              }
                            ]
                          },
                          {
                            "Name": "out_text2",
                            "Type": "Text2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "\"rgba(0,200,255,1.0)\""
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"NORTH\""
                              },
                              {
                                "name": "X",
                                "value": "OUT2textX"
                              },
                              {
                                "name": "Y",
                                "value": "OUT2textY"
                              },
                              {
                                "name": "Text",
                                "value": "\"Tout\u2082\""
                              },
                              {
                                "name": "Visibility",
                                "value": "check4b"
                              }
                            ]
                          },
                          {
                            "Name": "amtOUT2",
                            "Type": "Text2D",
                            "Properties": [
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "OUT2energyX"
                              },
                              {
                                "name": "Y",
                                "value": "OUT2energyY + EtransOUT2+0.2"
                              },
                              {
                                "name": "Text",
                                "value": "%Math.round(EtransOUT2)%"
                              },
                              {
                                "name": "Visibility",
                                "value": "check4b"
                              }
                            ]
                          },
                          {
                            "Name": "iconOUTamt2",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(EtransOUT2)"
                              },
                              {
                                "name": "SizeX",
                                "value": "imgIconSIZE"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "OUT2energyX"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "%imgOUT2[updateTransOUT2]%"
                              },
                              {
                                "name": "Y",
                                "value": "numberedLstFromX(EtransOUT2,OUT2energyY)"
                              },
                              {
                                "name": "Visibility",
                                "value": "EtransOUT2>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "imgIconSIZE"
                              }
                            ]
                          },
                          {
                            "Name": "drag6Helper",
                            "Type": "Group2D",
                            "Expanded": "false",
                            "Properties": [
                              {
                                "name": "Y",
                                "value": "OUT2energyY"
                              }
                            ],
                            "Children": [
                              {
                                "Name": "dragTout2",
                                "Type": "Shape2D",
                                "Properties": [
                                  {
                                    "name": "FillColor",
                                    "value": "%fillColorforDrag%"
                                  },
                                  {
                                    "name": "OnExit",
                                    "value": "OUT2interact = false;"
                                  },
                                  {
                                    "name": "ShapeType",
                                    "value": "\"RECTANGLE\""
                                  },
                                  {
                                    "name": "OnDrag",
                                    "value": "OUT2interact = true;"
                                  },
                                  {
                                    "name": "OnRelease",
                                    "value": "// Restrict numbers to integers //\n  //EtransOUT2 = Math.round(EtransOUT2);  // \u2192 restrict movements in Ipad Pro\n  EtransOUT2 = Math.round(dragEtransOUT2);\n  OUT2interact = false;"
                                  },
                                  {
                                    "name": "Sensitivity",
                                    "value": "0"
                                  },
                                  {
                                    "name": "SizeX",
                                    "value": "0.8"
                                  },
                                  {
                                    "name": "X",
                                    "value": "OUT2energyX"
                                  },
                                  {
                                    "name": "OnEnter",
                                    "value": "OUT2interact = true;"
                                  },
                                  {
                                    "name": "Y",
                                    "value": "dragEtransOUT2"
                                  },
                                  {
                                    "name": "Visibility",
                                    "value": "check4b"
                                  },
                                  {
                                    "name": "SizeY",
                                    "value": "dragSizeY"
                                  },
                                  {
                                    "name": "DrawLines",
                                    "value": "0"
                                  },
                                  {
                                    "name": "EnabledPosition",
                                    "value": "\"ENABLED_Y\""
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "answer",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "%answerColour[updateAnswer]%"
                          },
                          {
                            "name": "Y",
                            "value": "answerY"
                          },
                          {
                            "name": "Text",
                            "value": "%answer[updateAnswer]%"
                          },
                          {
                            "name": "Visibility",
                            "value": "showAnswer"
                          }
                        ]
                      },
                      {
                        "Name": "answerHint",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "OutlineColor",
                            "value": "\"DarkGray\""
                          },
                          {
                            "name": "Y",
                            "value": "hintY"
                          },
                          {
                            "name": "Text",
                            "value": "%hint%"
                          },
                          {
                            "name": "Visibility",
                            "value": "false"
                          },
                          {
                            "name": "Font",
                            "value": "\"normal normal 13px Georgia, serif\""
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "L2",
                    "Type": "PlottingPanel",
                    "Expanded": "true",
                    "Properties": [
                      {
                        "name": "ShowAreaRectangle",
                        "value": "false"
                      },
                      {
                        "name": "Gutters",
                        "value": "[50,50,0,50]"
                      },
                      {
                        "name": "ShowCoordinates",
                        "value": "false"
                      },
                      {
                        "name": "TitleYFont",
                        "value": "font"
                      },
                      {
                        "name": "YScalePrecision",
                        "value": "0"
                      },
                      {
                        "name": "TitleXFont",
                        "value": "font"
                      },
                      {
                        "name": "Title",
                        "value": "\"Final Amount of Energy of the System\""
                      },
                      {
                        "name": "Enabled",
                        "value": "true"
                      },
                      {
                        "name": "AxisXShow",
                        "value": "false"
                      },
                      {
                        "name": "MaximumY",
                        "value": "11"
                      },
                      {
                        "name": "MaximumX",
                        "value": "7"
                      },
                      {
                        "name": "YFixedTick",
                        "value": "0"
                      },
                      {
                        "name": "AxisYLineWidth",
                        "value": "2"
                      },
                      {
                        "name": "YAutoTicks",
                        "value": "false"
                      },
                      {
                        "name": "MinimumX",
                        "value": "0"
                      },
                      {
                        "name": "MinimumY",
                        "value": "-2"
                      },
                      {
                        "name": "TitleY",
                        "value": "\"Energy / Units\""
                      },
                      {
                        "name": "YTickStep",
                        "value": "1"
                      },
                      {
                        "name": "TitleX",
                        "value": "\"Energy\""
                      },
                      {
                        "name": "AutoScaleY",
                        "value": "true"
                      },
                      {
                        "name": "TitleFont",
                        "value": "font"
                      },
                      {
                        "name": "Width",
                        "value": "\"33%\""
                      }
                    ],
                    "Children": [
                      {
                        "Name": "xAxis2",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "6.5"
                          },
                          {
                            "name": "X",
                            "value": "0"
                          },
                          {
                            "name": "Y",
                            "value": "0"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "LineWidth",
                            "value": "2"
                          }
                        ]
                      },
                      {
                        "Name": "interactPROMPT2",
                        "Type": "ShapeSet2D",
                        "Properties": [
                          {
                            "name": "NumberOfElements",
                            "value": "6"
                          },
                          {
                            "name": "FillColor",
                            "value": "\"White\""
                          },
                          {
                            "name": "SizeX",
                            "value": "1"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"SOUTH\""
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"ROUND_RECTANGLE\""
                          },
                          {
                            "name": "X",
                            "value": "energyXpos"
                          },
                          {
                            "name": "LineColor",
                            "value": "%promptLineColour%"
                          },
                          {
                            "name": "Y",
                            "value": "0"
                          },
                          {
                            "name": "Visibility",
                            "value": "interactPrompt2"
                          },
                          {
                            "name": "SizeY",
                            "value": "finTotalEnergy"
                          },
                          {
                            "name": "LineWidth",
                            "value": "10"
                          }
                        ]
                      },
                      {
                        "Name": "shapeSet2",
                        "Type": "ShapeSet2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "%energyColour%"
                          },
                          {
                            "name": "OnExit",
                            "value": "interactPrompt2[elementInteracted] = false;"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"SOUTH\""
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"RECTANGLE\""
                          },
                          {
                            "name": "ElementInteracted",
                            "value": "elementInteracted"
                          },
                          {
                            "name": "NumberOfElements",
                            "value": "6"
                          },
                          {
                            "name": "OnRelease",
                            "value": "// Restrict numbers to integers //\nfor (let i=0; i< finTotalEnergy.length; i++){\n  finTotalEnergy[i] = Math.round(finTotalEnergy[i]);\n  }\n"
                          },
                          {
                            "name": "SizeX",
                            "value": "0.8"
                          },
                          {
                            "name": "EnabledSize",
                            "value": "\"ENABLED_NO_MOVE\""
                          },
                          {
                            "name": "X",
                            "value": "energyXpos"
                          },
                          {
                            "name": "OnEnter",
                            "value": "//interactPrompt = true;\n\n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\noneTrueLst(interactPrompt2, elementInteracted);\n\n"
                          },
                          {
                            "name": "Y",
                            "value": "0"
                          },
                          {
                            "name": "Visibility",
                            "value": "[displayChemical, displayElastic, displayGravitational, displayInternal, displayKinetic, displayNuclear]"
                          },
                          {
                            "name": "SizeY",
                            "value": "finTotalEnergy"
                          },
                          {
                            "name": "LineWidth",
                            "value": "1"
                          }
                        ]
                      },
                      {
                        "Name": "xlabel2",
                        "Type": "TextSet2D",
                        "Properties": [
                          {
                            "name": "NumberOfElements",
                            "value": "6"
                          },
                          {
                            "name": "X",
                            "value": "energyXpos"
                          },
                          {
                            "name": "Y",
                            "value": "-0.5"
                          },
                          {
                            "name": "Text",
                            "value": "[\"C\",\"E\",\"G\",\"I\",\"K\",\"N\"]"
                          },
                          {
                            "name": "Visibility",
                            "value": "[displayChemical, displayElastic, displayGravitational, displayInternal, displayKinetic, displayNuclear]"
                          }
                        ]
                      },
                      {
                        "Name": "offsety2",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Y",
                            "value": "0.2"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "amt2",
                            "Type": "TextSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "6"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos"
                              },
                              {
                                "name": "Y",
                                "value": "finTotalEnergy"
                              },
                              {
                                "name": "Text",
                                "value": "%roundTheLst(finTotalEnergy)%"
                              },
                              {
                                "name": "Visibility",
                                "value": "[displayChemical, displayElastic, displayGravitational, displayInternal, displayKinetic, displayNuclear]"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "images2D",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Visibility",
                            "value": "show2D"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "chemical2",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(finTotalEnergy[0])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size2DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[0]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/chemical.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( finTotalEnergy[0] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "finTotalEnergy[0]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size2DY"
                              }
                            ]
                          },
                          {
                            "Name": "elastic2",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(finTotalEnergy[1])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size2DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[1]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/elestic.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( finTotalEnergy[1] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "finTotalEnergy[1]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size2DY"
                              }
                            ]
                          },
                          {
                            "Name": "gravity2",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.abs(Math.round(finTotalEnergy[2]))"
                              },
                              {
                                "name": "SizeX",
                                "value": "size2DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[2]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/gravity.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( finTotalEnergy[2] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "Math.abs(finTotalEnergy[2])>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size2DY"
                              }
                            ]
                          },
                          {
                            "Name": "internal2",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(finTotalEnergy[3])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size2DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[3]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/internal.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( finTotalEnergy[3] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "finTotalEnergy[3]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size2DY"
                              }
                            ]
                          },
                          {
                            "Name": "kinetic2",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(finTotalEnergy[4])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size2DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[4]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/kinetic.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( finTotalEnergy[4] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "finTotalEnergy[4]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size2DY"
                              }
                            ]
                          },
                          {
                            "Name": "nuclear2",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(finTotalEnergy[5])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size2DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[5]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/nuclear.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( finTotalEnergy[5] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "finTotalEnergy[5]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size2DY"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "images3D2",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Visibility",
                            "value": "show3D"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "chemical22",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(finTotalEnergy[0])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size3DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[0]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/chemical3D.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( finTotalEnergy[0] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "finTotalEnergy[0]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size3DY"
                              }
                            ]
                          },
                          {
                            "Name": "elastic22",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(finTotalEnergy[1])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size3DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[1]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/elestic3D.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( finTotalEnergy[1] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "finTotalEnergy[1]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size3DY"
                              }
                            ]
                          },
                          {
                            "Name": "gravity22",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.abs(Math.round(finTotalEnergy[2]))"
                              },
                              {
                                "name": "SizeX",
                                "value": "size3DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[2]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/gravity3D.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( finTotalEnergy[2] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "Math.abs(finTotalEnergy[2])>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size3DY"
                              }
                            ]
                          },
                          {
                            "Name": "internal22",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(finTotalEnergy[3])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size3DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[3]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/internal3D.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( finTotalEnergy[3] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "finTotalEnergy[3]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size3DY"
                              }
                            ]
                          },
                          {
                            "Name": "kinetic22",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(finTotalEnergy[4])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size3DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[4]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/kinetic3D.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( finTotalEnergy[4] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "finTotalEnergy[4]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size3DY"
                              }
                            ]
                          },
                          {
                            "Name": "nuclear22",
                            "Type": "ImageSet2D",
                            "Properties": [
                              {
                                "name": "NumberOfElements",
                                "value": "Math.round(finTotalEnergy[5])"
                              },
                              {
                                "name": "SizeX",
                                "value": "size3DX"
                              },
                              {
                                "name": "RelativePosition",
                                "value": "\"SOUTH\""
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[5]"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/nuclear3D.png\""
                              },
                              {
                                "name": "Y",
                                "value": "numberedLst( finTotalEnergy[5] )"
                              },
                              {
                                "name": "Visibility",
                                "value": "finTotalEnergy[5]>0"
                              },
                              {
                                "name": "SizeY",
                                "value": "size3DY"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "drag2Helper",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [],
                        "Children": [
                          {
                            "Name": "dragC2",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%fillColorforDrag%"
                              },
                              {
                                "name": "OnExit",
                                "value": "elementInteracted = 0 \ninteractPrompt2[elementInteracted] = false;\n\n"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "//interactPrompt[elementInteracted]= true;\nelementInteracted = 0 \n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\noneTrueLst(interactPrompt2, elementInteracted);\n\n// finTotalEnergy[elementInteracted] = Math.round(dragC2Y)"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//for (let i=0; i< iniTotalEnergy.length; i++){\n  elementInteracted = 0 \n  finTotalEnergy[elementInteracted] = Math.round(dragC2Y);\n  //}\n"
                              },
                              {
                                "name": "Sensitivity",
                                "value": "0"
                              },
                              {
                                "name": "SizeX",
                                "value": "0.8"
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[0]"
                              },
                              {
                                "name": "Y",
                                "value": "dragC2Y"
                              },
                              {
                                "name": "Visibility",
                                "value": "displayChemical"
                              },
                              {
                                "name": "SizeY",
                                "value": "dragSizeY"
                              },
                              {
                                "name": "LineWidth",
                                "value": "0"
                              },
                              {
                                "name": "EnabledPosition",
                                "value": "\"ENABLED_Y\""
                              }
                            ]
                          },
                          {
                            "Name": "dragE2",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%fillColorforDrag%"
                              },
                              {
                                "name": "OnExit",
                                "value": "elementInteracted = 1\ninteractPrompt2[elementInteracted] = false;\n\n"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "//interactPrompt[elementInteracted]= true;\n\n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\nelementInteracted = 1 \noneTrueLst(interactPrompt2, elementInteracted);\n\n //finTotalEnergy[elementInteracted] = Math.round(dragE2Y)"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//for (let i=0; i< iniTotalEnergy.length; i++){\n  elementInteracted = 1 \n  finTotalEnergy[elementInteracted] = Math.round(dragE2Y);\n  //}\n"
                              },
                              {
                                "name": "Sensitivity",
                                "value": "0"
                              },
                              {
                                "name": "SizeX",
                                "value": "0.8"
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[1]"
                              },
                              {
                                "name": "Y",
                                "value": "dragE2Y"
                              },
                              {
                                "name": "Visibility",
                                "value": "displayElastic"
                              },
                              {
                                "name": "SizeY",
                                "value": "dragSizeY"
                              },
                              {
                                "name": "LineWidth",
                                "value": "0"
                              },
                              {
                                "name": "EnabledPosition",
                                "value": "\"ENABLED_Y\""
                              }
                            ]
                          },
                          {
                            "Name": "dragG2",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%fillColorforDrag%"
                              },
                              {
                                "name": "OnExit",
                                "value": "elementInteracted = 2\ninteractPrompt2[elementInteracted] = false;\n\n"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "//interactPrompt[elementInteracted]= true;\n\n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\nelementInteracted = 2 \noneTrueLst(interactPrompt2, elementInteracted);\n\n// finTotalEnergy[elementInteracted] = Math.round(dragG2Y)"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//for (let i=0; i< iniTotalEnergy.length; i++){\n  elementInteracted = 2\n  finTotalEnergy[elementInteracted] = Math.round(dragG2Y);\n  //}\n"
                              },
                              {
                                "name": "Sensitivity",
                                "value": "0"
                              },
                              {
                                "name": "SizeX",
                                "value": "0.8"
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[2]"
                              },
                              {
                                "name": "Y",
                                "value": "dragG2Y"
                              },
                              {
                                "name": "Visibility",
                                "value": "displayGravitational"
                              },
                              {
                                "name": "SizeY",
                                "value": "dragSizeY"
                              },
                              {
                                "name": "LineWidth",
                                "value": "0"
                              },
                              {
                                "name": "EnabledPosition",
                                "value": "\"ENABLED_Y\""
                              }
                            ]
                          },
                          {
                            "Name": "dragI2",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%fillColorforDrag%"
                              },
                              {
                                "name": "OnExit",
                                "value": "elementInteracted = 3 \ninteractPrompt2[elementInteracted] = false;\n\n"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "//interactPrompt[elementInteracted]= true;\nelementInteracted = 3 \n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\noneTrueLst(interactPrompt2, elementInteracted);\n\n //finTotalEnergy[elementInteracted] = Math.round(dragI2Y)"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//for (let i=0; i< iniTotalEnergy.length; i++){\n  elementInteracted = 3 \n  finTotalEnergy[elementInteracted] = Math.round(dragI2Y);\n  //}\n"
                              },
                              {
                                "name": "Sensitivity",
                                "value": "0"
                              },
                              {
                                "name": "SizeX",
                                "value": "0.8"
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[3]"
                              },
                              {
                                "name": "Y",
                                "value": "dragI2Y"
                              },
                              {
                                "name": "Visibility",
                                "value": "displayInternal"
                              },
                              {
                                "name": "SizeY",
                                "value": "dragSizeY"
                              },
                              {
                                "name": "LineWidth",
                                "value": "0"
                              },
                              {
                                "name": "EnabledPosition",
                                "value": "\"ENABLED_Y\""
                              }
                            ]
                          },
                          {
                            "Name": "dragK2",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%fillColorforDrag%"
                              },
                              {
                                "name": "OnExit",
                                "value": "elementInteracted = 4 \ninteractPrompt2[elementInteracted] = false;\n\n"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "//interactPrompt[elementInteracted]= true;\nelementInteracted = 4 \n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\noneTrueLst(interactPrompt2, elementInteracted);\n\n// finTotalEnergy[elementInteracted] = Math.round(dragK2Y)"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//for (let i=0; i< iniTotalEnergy.length; i++){\n  elementInteracted = 4 \n  finTotalEnergy[elementInteracted] = Math.round(dragK2Y);\n  //}\n"
                              },
                              {
                                "name": "Sensitivity",
                                "value": "0"
                              },
                              {
                                "name": "SizeX",
                                "value": "0.8"
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[4]"
                              },
                              {
                                "name": "Y",
                                "value": "dragK2Y"
                              },
                              {
                                "name": "Visibility",
                                "value": "displayKinetic"
                              },
                              {
                                "name": "SizeY",
                                "value": "dragSizeY"
                              },
                              {
                                "name": "LineWidth",
                                "value": "0"
                              },
                              {
                                "name": "EnabledPosition",
                                "value": "\"ENABLED_Y\""
                              }
                            ]
                          },
                          {
                            "Name": "dragN2",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "%fillColorforDrag%"
                              },
                              {
                                "name": "OnExit",
                                "value": "elementInteracted = 5 \ninteractPrompt2[elementInteracted] = false;\n\n"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"RECTANGLE\""
                              },
                              {
                                "name": "OnDrag",
                                "value": "//interactPrompt[elementInteracted]= true;\nelementInteracted = 5 \n// Fixed bug on element remaining true when moved to another part of the same ShapeSet: //\noneTrueLst(interactPrompt2, elementInteracted);\n\n// finTotalEnergy[elementInteracted] = Math.round(dragN2Y)"
                              },
                              {
                                "name": "OnRelease",
                                "value": "// Restrict numbers to integers //\n//for (let i=0; i< iniTotalEnergy.length; i++){\n  elementInteracted = 5 \n  finTotalEnergy[elementInteracted] = Math.round(dragN2Y);\n  //}\n"
                              },
                              {
                                "name": "Sensitivity",
                                "value": "0"
                              },
                              {
                                "name": "SizeX",
                                "value": "0.8"
                              },
                              {
                                "name": "X",
                                "value": "energyXpos[5]"
                              },
                              {
                                "name": "Y",
                                "value": "dragN2Y"
                              },
                              {
                                "name": "Visibility",
                                "value": "displayNuclear"
                              },
                              {
                                "name": "SizeY",
                                "value": "dragSizeY"
                              },
                              {
                                "name": "LineWidth",
                                "value": "0"
                              },
                              {
                                "name": "EnabledPosition",
                                "value": "\"ENABLED_Y\""
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "descriptions",
                "Type": "Panel",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Font",
                    "value": "%font%"
                  }
                ],
                "Children": [
                  {
                    "Name": "formula",
                    "Type": "Panel",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "CSS",
                        "value": "{\n  \"display\": \"inline-block\",\n  \"padding\": \"10px\",\n}"
                      },
                      {
                        "name": "Background",
                        "value": "\"Pink\""
                      },
                      {
                        "name": "BorderColor",
                        "value": "\"Black\""
                      },
                      {
                        "name": "BorderWidth",
                        "value": "2"
                      },
                      {
                        "name": "Width",
                        "value": "\"100%\""
                      },
                      {
                        "name": "Display",
                        "value": "\"inline-block\""
                      }
                    ],
                    "Children": [
                      {
                        "Name": "formulaText",
                        "Type": "Label",
                        "Properties": [
                          {
                            "name": "Text",
                            "value": "%formulaText%"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "legend",
                    "Type": "Panel",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Width",
                        "value": "\"100%\""
                      }
                    ],
                    "Children": [
                      {
                        "Name": "legendText",
                        "Type": "Label",
                        "Properties": [
                          {
                            "name": "Background",
                            "value": "\"rgba(255,200,0,0.5)\""
                          },
                          {
                            "name": "Text",
                            "value": "%legendText%"
                          }
                        ]
                      },
                      {
                        "Name": "transfer",
                        "Type": "Panel",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Width",
                            "value": "\"100%\""
                          }
                        ],
                        "Children": [
                          {
                            "Name": "label",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "Text",
                                "value": "\"<b><u>Legend for Transfers</u>:</b>\""
                              },
                              {
                                "name": "Width",
                                "value": "physicsonly?\"15%\":\"10%\""
                              }
                            ]
                          },
                          {
                            "Name": "waves",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "Background",
                                "value": "\"rgba(0,0,255,0.1)\""
                              },
                              {
                                "name": "Tooltip",
                                "value": "%pTooltip%"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/Propagation of waves.png\""
                              },
                              {
                                "name": "Text",
                                "value": "\"Propagation of waves\""
                              },
                              {
                                "name": "Width",
                                "value": "physicsonly?\"25%\":\"20%\""
                              },
                              {
                                "name": "Display",
                                "value": "\"inline-block\""
                              }
                            ]
                          },
                          {
                            "Name": "mechanic",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "Background",
                                "value": "\"rgba(0,0,255,0.2)\""
                              },
                              {
                                "name": "Tooltip",
                                "value": "%mTooltip%"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/Mechanically.png\""
                              },
                              {
                                "name": "Text",
                                "value": "\"Mechanically\""
                              },
                              {
                                "name": "Width",
                                "value": "physicsonly?\"20%\":\"15%\""
                              },
                              {
                                "name": "Display",
                                "value": "\"inline-block\""
                              }
                            ]
                          },
                          {
                            "Name": "fire",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "Background",
                                "value": "\"rgba(0,0,255,0.3)\""
                              },
                              {
                                "name": "Tooltip",
                                "value": "%hTooltip%"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/Heating.png\""
                              },
                              {
                                "name": "Text",
                                "value": "\"Heating\""
                              },
                              {
                                "name": "Width",
                                "value": "physicsonly?\"20%\":\"15%\""
                              },
                              {
                                "name": "Display",
                                "value": "\"inline-block\""
                              }
                            ]
                          },
                          {
                            "Name": "electric",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "Background",
                                "value": "\"rgba(0,0,255,0.4)\""
                              },
                              {
                                "name": "Tooltip",
                                "value": "%eTooltip%"
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/Electrically.png\""
                              },
                              {
                                "name": "Text",
                                "value": "\"Electrically\""
                              },
                              {
                                "name": "Width",
                                "value": "physicsonly?\"20%\":\"15%\""
                              },
                              {
                                "name": "Display",
                                "value": "\"inline-block\""
                              }
                            ]
                          },
                          {
                            "Name": "chemically",
                            "Type": "Label",
                            "Properties": [
                              {
                                "name": "Background",
                                "value": "\"rgba(0,0,255,0.4)\""
                              },
                              {
                                "name": "Tooltip",
                                "value": "\"Chemically\""
                              },
                              {
                                "name": "ImageUrl",
                                "value": "\"./Settings/Chemically.png\""
                              },
                              {
                                "name": "Text",
                                "value": "\"Chemically\""
                              },
                              {
                                "name": "Width",
                                "value": "\"15%\""
                              },
                              {
                                "name": "Display",
                                "value": "physicsonly?\"none\":\"inline-block\""
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "RootProperties": []
  },
  "metadata": {
    "APP": "WebEJS",
    "CreatedWith": "WebEJS : The web version of Easy JavaScript Simulations",
    "MoreInfo": "WebEJS 1.1",
    "version": "https://www.um.es/fem/wikis/webejs/"
  }
}