diff --git a/.gitignore b/.gitignore index fdbd599..99aa386 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ vimsession swarmlabdoc.js swarmlabdoc.asciidoc_config +package-lock.json # local env files diff --git a/package-lock.json b/package-lock.json index fd2eba2..362168f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@fortawesome/free-brands-svg-icons": "^5.15.1", "@fortawesome/free-solid-svg-icons": "^5.15.1", "@fortawesome/vue-fontawesome": "^2.0.0", + "asciidoctor": "^2.2.0", "axios": "^0.21.0", "bootstrap-vue": "^2.19.0", "express": "^4.17.1", @@ -33,7 +34,7 @@ "vue-template-compiler": "^2.6.12", "vue-wait": "^1.4.8", "vue2-datepicker": "^3.8.2", - "vuetable-2": "^1.7.5", + "vuetable-2": "^1.3.1", "vuex": "^3.6.0" }, "devDependencies": { @@ -41,35 +42,68 @@ "@vue/cli-service": "^4.5.7" } }, + "node_modules/@asciidoctor/cli": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@asciidoctor/cli/-/cli-3.4.0.tgz", + "integrity": "sha512-jOtxA0I6zB+6z+GGwm9+xhlmGTqCTkFPE902L6fauFlE6v7LxjhLYNxvjDVyn0zMrFLybvoSRcAnM3DcticNoQ==", + "dependencies": { + "yargs": "15.3.1" + }, + "bin": { + "asciidoctor": "bin/asciidoctor", + "asciidoctorjs": "bin/asciidoctor" + }, + "engines": { + "node": ">=8.11", + "npm": ">=5.0.0" + }, + "peerDependencies": { + "@asciidoctor/core": "^2.0.0-rc.1" + } + }, + "node_modules/@asciidoctor/core": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@asciidoctor/core/-/core-2.2.1.tgz", + "integrity": "sha512-wdVseZjCcBvFfWSsCGyyvJkSQJ9UmXDdTDKnL+HerM12XQq4eWtk7lniSIKO459ipqImcsrueib47EtkzzRjLw==", + "dependencies": { + "asciidoctor-opal-runtime": "0.3.0", + "unxhr": "1.0.1" + }, + "engines": { + "node": ">=8.11", + "npm": ">=5.0.0", + "yarn": ">=1.1.0" + } + }, "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, "dependencies": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "node_modules/@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.13.tgz", + "integrity": "sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg==", "dev": true }, "node_modules/@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.13.tgz", + "integrity": "sha512-BQKE9kXkPlXHPeqissfxo0lySWJcYdEP0hdtJOH/iJfDdhOCcgtNCjftCJg3qqauB4h+lz2N6ixM++b9DN1Tcw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helpers": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", @@ -87,43 +121,43 @@ } }, "node_modules/@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", "dev": true, "dependencies": { - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", - "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", "dev": true, "dependencies": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", + "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-explode-assignable-expression": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.13.tgz", + "integrity": "sha512-dXof20y/6wB5HnLOGyLh/gobsMvDNoekcC+8MCV2iaTd5JemhFkPD73QB+tK3iFC9P0xJC73B6MvKkyUfS9cCw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", + "@babel/compat-data": "^7.12.13", + "@babel/helper-validator-option": "^7.12.11", "browserslist": "^4.14.5", "semver": "^5.5.0" }, @@ -132,163 +166,152 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.13.tgz", + "integrity": "sha512-Vs/e9wv7rakKYeywsmEBSRC9KtmE7Px+YBlESekLeJOF0zbGUicGfXSNi3o+tfXSNS48U/7K9mIOOCR79Cl3+Q==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.13.tgz", + "integrity": "sha512-XC+kiA0J3at6E85dL5UnCYfVOcIZ834QcAY0TIpgUVnz0zDzg+0TtvZTnJ4g9L1dPRGe30Qi03XCIS4tYCLtqw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", "regexpu-core": "^4.7.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz", + "integrity": "sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw==", "dev": true, "dependencies": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "dev": true, "dependencies": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz", + "integrity": "sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw==", "dev": true, "dependencies": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz", + "integrity": "sha512-B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ==", "dev": true, "dependencies": { - "@babel/types": "^7.12.7" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", "dev": true, "dependencies": { - "@babel/types": "^7.12.5" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "lodash": "^4.17.19" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", "dev": true, "dependencies": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", "dev": true }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz", + "integrity": "sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-wrap-function": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", "dev": true, "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", "dev": true, "dependencies": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { @@ -301,12 +324,12 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "dev": true, "dependencies": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helper-validator-identifier": { @@ -322,43 +345,43 @@ "dev": true }, "node_modules/@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz", + "integrity": "sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz", + "integrity": "sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==", "dev": true, "dependencies": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "node_modules/@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -368,13 +391,13 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", - "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz", + "integrity": "sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-remap-async-to-generator": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.0" }, "peerDependencies": { @@ -382,27 +405,27 @@ } }, "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz", + "integrity": "sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz", - "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.13.tgz", + "integrity": "sha512-x2aOr5w4ARJoYHFKoG2iEUL/Xe99JAJXjAasHijXp3/KgaetJXGE62SmHgsW3Tia/XUT5AxF2YC0F+JyhPY/0Q==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-decorators": "^7.12.1" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-decorators": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -422,12 +445,12 @@ } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", + "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "peerDependencies": { @@ -435,12 +458,12 @@ } }, "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz", + "integrity": "sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-json-strings": "^7.8.0" }, "peerDependencies": { @@ -448,12 +471,12 @@ } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz", + "integrity": "sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "peerDependencies": { @@ -461,12 +484,12 @@ } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz", + "integrity": "sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" }, "peerDependencies": { @@ -474,12 +497,12 @@ } }, "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", + "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "peerDependencies": { @@ -487,26 +510,26 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz", + "integrity": "sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" + "@babel/plugin-transform-parameters": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz", + "integrity": "sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" }, "peerDependencies": { @@ -514,12 +537,12 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.13.tgz", + "integrity": "sha512-0ZwjGfTcnZqyV3y9DSD1Yk3ebp+sIUpT2YDqP8hovzaNZnQq2Kd7PEqa6iOIUDBXBt7Jl3P7YAcEIL5Pz8u09Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", "@babel/plugin-syntax-optional-chaining": "^7.8.0" }, @@ -528,26 +551,26 @@ } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz", + "integrity": "sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", + "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "engines": { "node": ">=4" @@ -569,24 +592,24 @@ } }, "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz", - "integrity": "sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz", + "integrity": "sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -629,12 +652,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", + "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -713,80 +736,79 @@ } }, "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz", + "integrity": "sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz", + "integrity": "sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-remap-async-to-generator": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", + "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.11.tgz", - "integrity": "sha512-atR1Rxc3hM+VPg/NvNvfYw0npQEAcHuJ+MGZnFn6h3bo+1U3BWXMdFMlvVRApBTWKQMX7SOwRJZA5FBF/JQbvA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", + "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz", + "integrity": "sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", "globals": "^11.1.0" }, "peerDependencies": { @@ -794,124 +816,124 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz", + "integrity": "sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz", + "integrity": "sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", + "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", + "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", + "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz", + "integrity": "sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", + "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", + "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", + "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz", + "integrity": "sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" }, "peerDependencies": { @@ -919,14 +941,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz", + "integrity": "sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" }, "peerDependencies": { @@ -934,15 +956,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz", + "integrity": "sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-hoist-variables": "^7.12.13", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", "babel-plugin-dynamic-import-node": "^2.3.3" }, "peerDependencies": { @@ -950,83 +972,83 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz", + "integrity": "sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", + "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" + "@babel/helper-create-regexp-features-plugin": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", + "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", + "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz", + "integrity": "sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", + "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", + "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", "dev": true, "dependencies": { "regenerator-transform": "^0.14.2" @@ -1036,25 +1058,25 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", + "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", - "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.15.tgz", + "integrity": "sha512-OwptMSRnRWJo+tJ9v9wgAf72ydXWfYSXWhnQjZing8nGZSDFqU1MBleKM3+DriKkcbv7RagA8gVeB0A1PNlNow==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "semver": "^5.5.1" }, "peerDependencies": { @@ -1062,24 +1084,24 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", + "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz", + "integrity": "sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" }, "peerDependencies": { @@ -1087,92 +1109,92 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", + "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz", + "integrity": "sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", - "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", + "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", + "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", + "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.13.tgz", + "integrity": "sha512-JUVlizG8SoFTz4LmVUL8++aVwzwxcvey3N0j1tRbMAXVEy95uQ/cnEkmEKHN00Bwq4voAV3imQGnQvpkLAxsrw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/compat-data": "^7.12.13", + "@babel/helper-compilation-targets": "^7.12.13", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-async-generator-functions": "^7.12.13", + "@babel/plugin-proposal-class-properties": "^7.12.13", "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.13", + "@babel/plugin-proposal-json-strings": "^7.12.13", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.13", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.13", + "@babel/plugin-proposal-numeric-separator": "^7.12.13", + "@babel/plugin-proposal-object-rest-spread": "^7.12.13", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.13", + "@babel/plugin-proposal-optional-chaining": "^7.12.13", + "@babel/plugin-proposal-private-methods": "^7.12.13", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-dynamic-import": "^7.8.0", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.0", @@ -1182,41 +1204,41 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/plugin-syntax-top-level-await": "^7.12.13", + "@babel/plugin-transform-arrow-functions": "^7.12.13", + "@babel/plugin-transform-async-to-generator": "^7.12.13", + "@babel/plugin-transform-block-scoped-functions": "^7.12.13", + "@babel/plugin-transform-block-scoping": "^7.12.13", + "@babel/plugin-transform-classes": "^7.12.13", + "@babel/plugin-transform-computed-properties": "^7.12.13", + "@babel/plugin-transform-destructuring": "^7.12.13", + "@babel/plugin-transform-dotall-regex": "^7.12.13", + "@babel/plugin-transform-duplicate-keys": "^7.12.13", + "@babel/plugin-transform-exponentiation-operator": "^7.12.13", + "@babel/plugin-transform-for-of": "^7.12.13", + "@babel/plugin-transform-function-name": "^7.12.13", + "@babel/plugin-transform-literals": "^7.12.13", + "@babel/plugin-transform-member-expression-literals": "^7.12.13", + "@babel/plugin-transform-modules-amd": "^7.12.13", + "@babel/plugin-transform-modules-commonjs": "^7.12.13", + "@babel/plugin-transform-modules-systemjs": "^7.12.13", + "@babel/plugin-transform-modules-umd": "^7.12.13", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", + "@babel/plugin-transform-new-target": "^7.12.13", + "@babel/plugin-transform-object-super": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.12.13", + "@babel/plugin-transform-property-literals": "^7.12.13", + "@babel/plugin-transform-regenerator": "^7.12.13", + "@babel/plugin-transform-reserved-words": "^7.12.13", + "@babel/plugin-transform-shorthand-properties": "^7.12.13", + "@babel/plugin-transform-spread": "^7.12.13", + "@babel/plugin-transform-sticky-regex": "^7.12.13", + "@babel/plugin-transform-template-literals": "^7.12.13", + "@babel/plugin-transform-typeof-symbol": "^7.12.13", + "@babel/plugin-transform-unicode-escapes": "^7.12.13", + "@babel/plugin-transform-unicode-regex": "^7.12.13", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "core-js-compat": "^3.8.0", "semver": "^5.5.0" }, @@ -1241,46 +1263,46 @@ } }, "node_modules/@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.13.tgz", + "integrity": "sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" } }, "node_modules/@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "node_modules/@babel/traverse": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", - "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.10", - "@babel/types": "^7.12.10", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.19" } }, "node_modules/@babel/types": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.11.tgz", - "integrity": "sha512-ukA9SQtKThINm++CX1CwmliMrE54J6nIYB5XTwL5f/CLFW9owfls+YSU8tVW15RQ2w+a3fSbPjC6HdQNtWZkiA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.12.11", @@ -1289,54 +1311,54 @@ } }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "0.2.32", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.32.tgz", - "integrity": "sha512-ux2EDjKMpcdHBVLi/eWZynnPxs0BtFVXJkgHIxXRl+9ZFaHPvYamAfCzeeQFqHRjuJtX90wVnMRaMQAAlctz3w==", + "version": "0.2.34", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.34.tgz", + "integrity": "sha512-XcIn3iYbTEzGIxD0/dY5+4f019jIcEIWBiHc3KrmK/ROahwxmZ/s+tdj97p/5K0klz4zZUiMfUlYP0ajhSJjmA==", "hasInstallScript": true, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "1.2.32", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.32.tgz", - "integrity": "sha512-XjqyeLCsR/c/usUpdWcOdVtWFVjPbDFBTQkn2fQRrWhhUoxriQohO2RWDxLyUM8XpD+Zzg5xwJ8gqTYGDLeGaQ==", + "version": "1.2.34", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.34.tgz", + "integrity": "sha512-0KNN0nc5eIzaJxlv43QcDmTkDY1CqeN6J7OCGSs+fwGPdtv0yOQqRjieopBCmw+yd7uD3N2HeNL3Zm5isDleLg==", "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.32" + "@fortawesome/fontawesome-common-types": "^0.2.34" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-brands-svg-icons": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.1.tgz", - "integrity": "sha512-pkTZIWn7iuliCCgV+huDfZmZb2UjslalXGDA2PcqOVUYJmYL11y6ooFiMJkJvUZu+xgAc1gZgQe+Px12mZF0CA==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.2.tgz", + "integrity": "sha512-YPlVjE1cEO+OJ9I9ay3TQ3I88+XkxMTYwnnddqAboxLhPNGncsHV0DjWOVLCyuAY66yPfyndWwVn4v7vuqsO1g==", "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.32" + "@fortawesome/fontawesome-common-types": "^0.2.34" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.1.tgz", - "integrity": "sha512-EFMuKtzRMNbvjab/SvJBaOOpaqJfdSap/Nl6hst7CgrJxwfORR1drdTV6q1Ib/JVzq4xObdTDcT6sqTaXMqfdg==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.2.tgz", + "integrity": "sha512-ZfCU+QjaFsdNZmOGmfqEWhzI3JOe37x5dF4kz9GeXvKn/sTxhqMtZ7mh3lBf76SvcYY5/GKFuyG7p1r4iWMQqw==", "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "^0.2.32" + "@fortawesome/fontawesome-common-types": "^0.2.34" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/vue-fontawesome": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.0.tgz", - "integrity": "sha512-N3VKw7KzRfOm8hShUVldpinlm13HpvLBQgT63QS+aCrIRLwjoEUXY5Rcmttbfb6HkzZaeqjLqd/aZCQ53UjQpg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.2.tgz", + "integrity": "sha512-ecpKSBUWXsxRJVi/dbOds4tkKwEcBQ1JSDZFzE2jTFpF8xIh3OgTX8POIor6bOltjibr3cdEyvnDjecMwUmxhQ==", "peerDependencies": { "@fortawesome/fontawesome-svg-core": ">= 1.2.0 < 1.3", "vue": "~2" @@ -1581,21 +1603,21 @@ } }, "node_modules/@types/express": { - "version": "4.17.9", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz", - "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==", + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", + "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==", "dev": true, "dependencies": { "@types/body-parser": "*", - "@types/express-serve-static-core": "*", + "@types/express-serve-static-core": "^4.17.18", "@types/qs": "*", "@types/serve-static": "*" } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz", - "integrity": "sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ==", + "version": "4.17.18", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz", + "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==", "dev": true, "dependencies": { "@types/node": "*", @@ -1614,9 +1636,9 @@ } }, "node_modules/@types/http-proxy": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.4.tgz", - "integrity": "sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q==", + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.5.tgz", + "integrity": "sha512-GNkDE7bTv6Sf8JbV2GksknKOsk7OznNYHSdrtvPJXO0qJ9odZig6IZKUi5RFGi6d1bf6dgIAe4uXi3DBc7069Q==", "dev": true, "dependencies": { "@types/node": "*" @@ -1634,14 +1656,14 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" }, "node_modules/@types/mime": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "node_modules/@types/minimatch": { @@ -1657,9 +1679,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "14.14.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.14.tgz", - "integrity": "sha512-UHnOPWVWV1z+VV8k6L1HhG7UbGBgIdghqF3l9Ny9ApPghbjICXkUJSd/b9gOgQfjM1r+37cipdw/HJ3F6ICEnQ==", + "version": "14.14.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz", + "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -1687,19 +1709,19 @@ "dev": true }, "node_modules/@types/serve-static": { - "version": "1.13.8", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz", - "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==", + "version": "1.13.9", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", + "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", "dev": true, "dependencies": { - "@types/mime": "*", + "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/socket.io-client": { - "version": "1.4.34", - "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.34.tgz", - "integrity": "sha512-Lzia5OTQFJZJ5R4HsEEldywiiqT9+W2rDbyHJiiTGqOcju89sCsQ8aUXDljY6Ls33wKZZGC0bfMhr/VpOyjtXg==" + "version": "1.4.35", + "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.35.tgz", + "integrity": "sha512-MI8YmxFS+jMkIziycT5ickBWK1sZwDwy16mgH/j99Mcom6zRG/NimNGQ3vJV0uX5G6g/hEw0FG3w3b3sT5OUGw==" }, "node_modules/@types/source-list-map": { "version": "0.1.2", @@ -1714,9 +1736,9 @@ "dev": true }, "node_modules/@types/uglify-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", - "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.12.0.tgz", + "integrity": "sha512-sYAF+CF9XZ5cvEBkI7RtrG9g2GtMBkviTnBxYYyq+8BWvO4QtXfwwR6a2LFwCi4evMKZfpv6U43ViYvv17Wz3Q==", "dev": true, "dependencies": { "source-map": "^0.6.1" @@ -1732,9 +1754,9 @@ } }, "node_modules/@types/webpack": { - "version": "4.41.25", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", - "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", + "version": "4.41.26", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", + "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", "dev": true, "dependencies": { "@types/anymatch": "*", @@ -1794,15 +1816,15 @@ "dev": true }, "node_modules/@vue/babel-helper-vue-transform-on": { - "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.0-rc.2.tgz", - "integrity": "sha512-1+7CwjQ0Kasml6rHoNQUmbISwqLNNfFVBUcZl6QBremUl296ZmLrVQPqJP5pyAAWjZke5bpI1hlj+LVVuT7Jcg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", "dev": true }, "node_modules/@vue/babel-plugin-jsx": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.0-rc.5.tgz", - "integrity": "sha512-IUxERGiEeX9i1Vt9UtBYqOtfPYjOwEP0sFyPRI8xjkXAhJpaAIwa8JdcYakOqzIlXwhk3XD+7VFdyr/v+rLLFw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.3.tgz", + "integrity": "sha512-+52ZQFmrM0yh61dQlgwQlfHZXmYbswbQEL25SOSt9QkjegAdfIGu87oELw0l8H6cuJYazZCiNjPR9eU++ZIbxg==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.0.0", @@ -1810,7 +1832,7 @@ "@babel/template": "^7.0.0", "@babel/traverse": "^7.0.0", "@babel/types": "^7.0.0", - "@vue/babel-helper-vue-transform-on": "^1.0.0-rc.2", + "@vue/babel-helper-vue-transform-on": "^1.0.2", "camelcase": "^6.0.0", "html-tags": "^3.1.0", "svg-tags": "^1.0.0" @@ -1843,9 +1865,9 @@ } }, "node_modules/@vue/babel-preset-app": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.9.tgz", - "integrity": "sha512-d2H4hFnJsGnZtJAAZIbo1dmQJ2SI1MYix1Tc9/etlnJtCDPRHeCNodCSeuLgDwnoAyT3unzyHmTtaO56KRDuOQ==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.11.tgz", + "integrity": "sha512-9VoFlm/9vhynKNGM+HA7qBsoQSUEnuG5i5kcFI9vTLLrh8A0fxrwUyVLLppO6T1sAZ6vrKdQFnEkjL+RkRAwWQ==", "dev": true, "dependencies": { "@babel/core": "^7.11.0", @@ -2014,20 +2036,20 @@ } }, "node_modules/@vue/cli-overlay": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.9.tgz", - "integrity": "sha512-E2PWv6tCdUz+eEDj2Th2oxiKmzMe02qi0PcxiNaO7oaqggmEOrp1rLgop7DWpiLDBiqUZk2x0vjK/q2Tz8z/eg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.11.tgz", + "integrity": "sha512-aDQNw+oGk5+KR0vL9TocjfzyYHTJxR2lS8iPbcL4lRglCs2dudOE7QWXypj5dM4rQus0jJ5fxJTS55o9uy9fcQ==", "dev": true }, "node_modules/@vue/cli-plugin-babel": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.9.tgz", - "integrity": "sha512-2tzaJU5yqAfXVhg1aYyd/Yfif6brv+tDZ49D1aOk7ZgMIwH5YUa0yo5HPcPOcmfpoVoNYcpqVYRfyT4EXIYSpg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.11.tgz", + "integrity": "sha512-ogUMeO2waDtghIWwmuAzMJAnnPdmqRdJlwJDca9u6BK9jX1bxNThBSFS/MN2VmlYzulOnqH4zAC87jTWNg/czg==", "dev": true, "dependencies": { "@babel/core": "^7.11.0", - "@vue/babel-preset-app": "^4.5.9", - "@vue/cli-shared-utils": "^4.5.9", + "@vue/babel-preset-app": "^4.5.11", + "@vue/cli-shared-utils": "^4.5.11", "babel-loader": "^8.1.0", "cache-loader": "^4.1.0", "thread-loader": "^2.1.3", @@ -2038,30 +2060,30 @@ } }, "node_modules/@vue/cli-plugin-router": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.9.tgz", - "integrity": "sha512-eBBfbZpQ1sJrdlx8i7iReFxSnuzwmrv+s2OCT3kjBd6uWRqGnD4VihpS4srC7vZLzDQrDplumSn0a93L9Qf3wQ==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.11.tgz", + "integrity": "sha512-09tzw3faOs48IUPwLutYaNC7eoyyL140fKruTwdFdXuBLDdSQVida57Brx0zj2UKXc5qF8hk4GoGrOshN0KfNg==", "dev": true, "dependencies": { - "@vue/cli-shared-utils": "^4.5.9" + "@vue/cli-shared-utils": "^4.5.11" }, "peerDependencies": { "@vue/cli-service": "^3.0.0 || ^4.0.0-0" } }, "node_modules/@vue/cli-plugin-vuex": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.9.tgz", - "integrity": "sha512-mFNIJhYiJjzCgytkDHX00ROy5Yzl7prkZpUbeDE0biwcLteMf2s3qZVbESOQl6GcviqcfEt2f3tHQQtLNa+OLg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.11.tgz", + "integrity": "sha512-JBPeZLubiSHbRkEKDj0tnLiU43AJ3vt6JULn4IKWH1XWZ6MFC8vElaP5/AA4O3Zko5caamDDBq3TRyxdA2ncUQ==", "dev": true, "peerDependencies": { "@vue/cli-service": "^3.0.0 || ^4.0.0-0" } }, "node_modules/@vue/cli-service": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.9.tgz", - "integrity": "sha512-E3XlfM0q+UnnjbC9rwLIWNo2umZCRwnlMJY0KOhY1hFvqisGIYzFmQQ4o01KGyTx2BZNMuQg7Kw+BZ5gyM1Wig==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.11.tgz", + "integrity": "sha512-FXeJh2o6B8q/njv2Ebhe9EsLXt9sPMXGDY5zVvcV5jgj9wkoej9yLfnmwWCau5kegNClP6bcM+BEHuMYxJ+ubQ==", "dev": true, "dependencies": { "@intervolga/optimize-cssnano-plugin": "^1.0.5", @@ -2070,10 +2092,10 @@ "@types/minimist": "^1.2.0", "@types/webpack": "^4.0.0", "@types/webpack-dev-server": "^3.11.0", - "@vue/cli-overlay": "^4.5.9", - "@vue/cli-plugin-router": "^4.5.9", - "@vue/cli-plugin-vuex": "^4.5.9", - "@vue/cli-shared-utils": "^4.5.9", + "@vue/cli-overlay": "^4.5.11", + "@vue/cli-plugin-router": "^4.5.11", + "@vue/cli-plugin-vuex": "^4.5.11", + "@vue/cli-shared-utils": "^4.5.11", "@vue/component-compiler-utils": "^3.1.2", "@vue/preload-webpack-plugin": "^1.1.0", "@vue/web-component-wrapper": "^1.2.0", @@ -2113,7 +2135,7 @@ "thread-loader": "^2.1.3", "url-loader": "^2.2.0", "vue-loader": "^15.9.2", - "vue-loader-v16": "npm:vue-loader@^16.0.0-beta.7", + "vue-loader-v16": "npm:vue-loader@^16.1.0", "vue-style-loader": "^4.1.2", "webpack": "^4.0.0", "webpack-bundle-analyzer": "^3.8.0", @@ -2128,7 +2150,7 @@ "node": ">=8" }, "optionalDependencies": { - "vue-loader-v16": "npm:vue-loader@^16.0.0-beta.7" + "vue-loader-v16": "npm:vue-loader@^16.1.0" }, "peerDependencies": { "@vue/compiler-sfc": "^3.0.0-beta.14", @@ -2159,9 +2181,9 @@ } }, "node_modules/@vue/cli-shared-utils": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.9.tgz", - "integrity": "sha512-anvsrv+rkQC+hgxaT2nQQxnSWSsIzyysZ36LO7qPjXvDRBvcvKLAAviFlUkYbZ+ntbV8puzJ3zw+gUhQw4SEVA==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.11.tgz", + "integrity": "sha512-+aaQ+ThQG3+WMexfSWNl0y6f43edqVqRNbguE53F3TIH81I7saS5S750ayqXhZs2r6STJJyqorQnKtAWfHo29A==", "dev": true, "dependencies": { "@hapi/joi": "^15.0.1", @@ -2689,6 +2711,36 @@ "node": ">=0.10.0" } }, + "node_modules/asciidoctor": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/asciidoctor/-/asciidoctor-2.2.1.tgz", + "integrity": "sha512-adH/pDPDZCd4eb1ku7N8WepN+O6Yl0lVQPWE/ep7+0BFkBm4P/Sx8DUqzZ+X+nG6WSZlma5Uu0gNuDgrc7etFg==", + "dependencies": { + "@asciidoctor/cli": "3.4.0", + "@asciidoctor/core": "2.2.1" + }, + "bin": { + "asciidoctor": "bin/asciidoctor", + "asciidoctorjs": "bin/asciidoctor" + }, + "engines": { + "node": ">=8.11", + "npm": ">=5.0.0", + "yarn": ">=1.1.0" + } + }, + "node_modules/asciidoctor-opal-runtime": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/asciidoctor-opal-runtime/-/asciidoctor-opal-runtime-0.3.0.tgz", + "integrity": "sha512-YapVwl2qbbs6sIe1dvAlMpBzQksFVTSa2HOduOKFNhZlE9bNmn+moDgGVvjWPbzMPo/g8gItyTHfWB2u7bQxag==", + "dependencies": { + "glob": "7.1.3", + "unxhr": "1.0.1" + }, + "engines": { + "node": ">=8.11" + } + }, "node_modules/asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -2829,9 +2881,9 @@ "dev": true }, "node_modules/axios": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.0.tgz", - "integrity": "sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "dependencies": { "follow-redirects": "^1.10.0" } @@ -2968,9 +3020,9 @@ } }, "node_modules/binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "engines": { "node": ">=8" } @@ -3054,9 +3106,9 @@ "dev": true }, "node_modules/bootstrap": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.3.tgz", - "integrity": "sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", "funding": { "type": "opencollective", "url": "https://opencollective.com/bootstrap" @@ -3067,9 +3119,9 @@ } }, "node_modules/bootstrap-vue": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.0.tgz", - "integrity": "sha512-R55XY83Ro3w8OfVEWn/eOyw8eayGDdZs0qYFuvG29eW4zVb9NtB4LwgskOhIaqF3Yzac/6ra/FqQUm+uVhDYfA==", + "version": "2.21.2", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.2.tgz", + "integrity": "sha512-0Exe+4MZysqhZNXIKf4TzkvXaupxh9EHsoCRez0o5Dc0J7rlafayOEwql63qXv74CgZO8E4U8ugRNJko1vMvNw==", "hasInstallScript": true, "dependencies": { "@nuxt/opencollective": "^0.3.2", @@ -3232,16 +3284,16 @@ } }, "node_modules/browserslist": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", - "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001165", + "caniuse-lite": "^1.0.30001181", "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.621", + "electron-to-chromium": "^1.3.649", "escalade": "^3.1.1", - "node-releases": "^1.1.67" + "node-releases": "^1.1.70" }, "bin": { "browserslist": "cli.js" @@ -3321,6 +3373,25 @@ "y18n": "^4.0.0" } }, + "node_modules/cacache/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/cacache/node_modules/ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", @@ -3369,13 +3440,13 @@ } }, "node_modules/call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "dependencies": { "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "get-intrinsic": "^1.0.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3455,9 +3526,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001168", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001168.tgz", - "integrity": "sha512-P2zmX7swIXKu+GMMR01TWa4csIKELTNnZKc+f1CjebmZJQtTAEXmpQSoKVJVVcvPGAA0TEYTOUp3VehavZSFPQ==", + "version": "1.0.30001185", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz", + "integrity": "sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg==", "dev": true }, "node_modules/case-sensitive-paths-webpack-plugin": { @@ -3496,13 +3567,13 @@ "dev": true }, "node_modules/chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -3513,7 +3584,7 @@ "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.1.2" + "fsevents": "~2.3.1" } }, "node_modules/chokidar/node_modules/braces": { @@ -3726,9 +3797,9 @@ } }, "node_modules/cli-highlight": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.9.tgz", - "integrity": "sha512-t8RNIZgiI24i/mslZ8XT8o660RUj5ZbUJpEZrZa/BNekTzdC2LfMRAnt0Y7sgzNM4FGW5tmWg/YnbTH8o1eIOQ==", + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.10.tgz", + "integrity": "sha512-CcPFD3JwdQ2oSzy+AMG6j3LRTkNjM82kzcSKzoVw6cLanDCJNlsLjeqVTOTfOfucnWv5F0rmBemVf1m9JiIasw==", "dev": true, "dependencies": { "chalk": "^4.0.0", @@ -3736,7 +3807,7 @@ "mz": "^2.4.0", "parse5": "^5.1.1", "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^15.0.0" + "yargs": "^16.0.0" }, "bin": { "highlight": "bin/highlight" @@ -3746,6 +3817,15 @@ "npm": ">=5.0.0" } }, + "node_modules/cli-highlight/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/cli-highlight/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -3777,6 +3857,17 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/cli-highlight/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, "node_modules/cli-highlight/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -3804,6 +3895,41 @@ "node": ">=8" } }, + "node_modules/cli-highlight/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cli-highlight/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -3816,6 +3942,59 @@ "node": ">=8" } }, + "node_modules/cli-highlight/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/cli-highlight/node_modules/y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-highlight/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-highlight/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/cli-spinners": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", @@ -3846,7 +4025,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -3857,7 +4035,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, "engines": { "node": ">=8" } @@ -3866,7 +4043,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -3875,7 +4051,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -3889,7 +4064,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.0" }, @@ -3921,9 +4095,9 @@ } }, "node_modules/codemirror": { - "version": "5.58.3", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.58.3.tgz", - "integrity": "sha512-KBhB+juiyOOgn0AqtRmWyAT3yoElkuvWTI6hsHa9E6GQrl6bk/fdAYcvuqW1/upO9T9rtEtapWdw4XYcNiVDEA==" + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.2.tgz", + "integrity": "sha512-/D5PcsKyzthtSy2NNKCyJi3b+htRkoKv3idswR/tR6UAvMNKA7SrmyZy6fOONJxSRs1JlUWEDAbxqfdArbK8iA==" }, "node_modules/collection-visit": { "version": "1.0.0", @@ -4009,11 +4183,6 @@ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, - "node_modules/component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" - }, "node_modules/component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", @@ -4102,9 +4271,9 @@ } }, "node_modules/consola": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz", - "integrity": "sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ==" + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, "node_modules/console-browserify": { "version": "1.2.0", @@ -4361,9 +4530,9 @@ } }, "node_modules/core-js": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.1.tgz", - "integrity": "sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", + "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", "dev": true, "hasInstallScript": true, "funding": { @@ -4372,12 +4541,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", - "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", + "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", "dev": true, "dependencies": { - "browserslist": "^4.15.0", + "browserslist": "^4.16.1", "semver": "7.0.0" }, "funding": { @@ -4562,15 +4731,15 @@ } }, "node_modules/css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", "dev": true, "dependencies": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" } }, "node_modules/css-select-base-adapter": { @@ -4602,12 +4771,15 @@ } }, "node_modules/css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "dev": true, "engines": { - "node": "*" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, "node_modules/cssesc": { @@ -4804,7 +4976,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -5230,9 +5401,9 @@ } }, "node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "dependencies": { "dom-serializer": "0", @@ -5318,23 +5489,23 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.3.627", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.627.tgz", - "integrity": "sha512-O5IVRS4sCxP2+vECAp7uHkaI8V+dKYpuCyBcLn+hqVAOy/RONd8zx+6eH7TuWSTBYs/oUrzBXkNMZuVsQd58kQ==", + "version": "1.3.657", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.657.tgz", + "integrity": "sha512-/9ROOyvEflEbaZFUeGofD+Tqs/WynbSTbNgNF+/TJJxH1ePD/e6VjZlDJpW3FFFd3nj5l3Hd8ki2vRwy+gyRFw==", "dev": true }, "node_modules/elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, "node_modules/elliptic/node_modules/bn.js": { @@ -5345,8 +5516,7 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/emojis-list": { "version": "3.0.0", @@ -5373,31 +5543,22 @@ } }, "node_modules/engine.io-client": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.0.5.tgz", - "integrity": "sha512-1lkn0QdekHQPMTcxUh8LqIuxQHNtKV5GvqkQzmZ1rYKAvB6puMm13U7K1ps3OQZ4joE46asQiAKrcdL9weNEVw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.1.tgz", + "integrity": "sha512-iYasV/EttP/2pLrdowe9G3zwlNIFhwny8VSIh+vPlMnYZqSzLsTzSLa9hFy015OrH1s4fzoYxeHjVkO8hSFKwg==", "dependencies": { "base64-arraybuffer": "0.1.4", "component-emitter": "~1.3.0", - "debug": "~4.1.0", + "debug": "~4.3.1", "engine.io-parser": "~4.0.1", "has-cors": "1.1.0", "parseqs": "0.0.6", "parseuri": "0.0.6", - "ws": "~7.2.1", + "ws": "~7.4.2", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" } }, - "node_modules/engine.io-client/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/engine.io-parser": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", @@ -5410,9 +5571,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dependencies": { "graceful-fs": "^4.1.2", "memory-fs": "^0.5.0", @@ -5435,18 +5596,18 @@ } }, "node_modules/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dependencies": { "prr": "~1.0.1" }, @@ -5473,23 +5634,25 @@ } }, "node_modules/es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", "dev": true, "dependencies": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", "has": "^1.0.3", "has-symbols": "^1.0.1", "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", + "is-negative-zero": "^2.0.1", "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", + "object-inspect": "^1.9.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -5950,15 +6113,15 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "dependencies": { "websocket-driver": ">=0.5.1" }, "engines": { - "node": ">=0.4.0" + "node": ">=0.8.0" } }, "node_modules/figgy-pudding": { @@ -6086,7 +6249,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -6105,9 +6267,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", + "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==", "funding": [ { "type": "individual", @@ -6233,10 +6395,9 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "deprecated": "Please update to v 2.2.x", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "hasInstallScript": true, "optional": true, "os": [ @@ -6265,15 +6426,14 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "dependencies": { "function-bind": "^1.1.1", @@ -6314,9 +6474,9 @@ } }, "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6327,9 +6487,6 @@ }, "engines": { "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { @@ -6389,9 +6546,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.5.tgz", + "integrity": "sha512-kBBSQbz2K0Nyn+31j/w36fUfxkBW9/gfwRWdUY1ULReH3iokVJgddZAFcD1D0xlgTmFxJCbUkUclAlc6/IDJkw==" }, "node_modules/gzip-size": { "version": "5.1.1", @@ -6584,9 +6741,9 @@ "dev": true }, "node_modules/highlight.js": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz", - "integrity": "sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.6.0.tgz", + "integrity": "sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ==", "dev": true, "engines": { "node": "*" @@ -6648,9 +6805,9 @@ "dev": true }, "node_modules/html-entities": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.3.tgz", - "integrity": "sha512-/VulV3SYni1taM7a4RMdceqzJWR39gpZHjBwUnsCFKWV/GJkD14CJ5F7eWcZozmHJK0/f/H5U3b3SiPkuvxMgg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", "dev": true }, "node_modules/html-minifier": { @@ -6803,6 +6960,12 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "node_modules/http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", @@ -7196,9 +7359,9 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true, "engines": { "node": ">= 0.4" @@ -7429,11 +7592,12 @@ } }, "node_modules/is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, "dependencies": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" }, "engines": { @@ -7675,9 +7839,9 @@ "dev": true }, "node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dependencies": { "minimist": "^1.2.5" }, @@ -7822,7 +7986,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, "dependencies": { "p-locate": "^4.1.0" }, @@ -8092,19 +8255,19 @@ } }, "node_modules/mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", "dependencies": { - "mime-db": "1.44.0" + "mime-db": "1.45.0" }, "engines": { "node": ">= 0.6" @@ -8455,9 +8618,9 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "node_modules/node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", "dev": true }, "node_modules/normalize-package-data": { @@ -8898,7 +9061,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, "dependencies": { "p-limit": "^2.2.0" }, @@ -9046,7 +9208,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, "engines": { "node": ">=8" } @@ -10160,9 +10321,9 @@ } }, "node_modules/read-pkg/node_modules/parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", @@ -10245,41 +10406,16 @@ }, "engines": { "node": ">=0.10.0" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags/node_modules/es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, "engines": { "node": ">= 0.4" @@ -10312,9 +10448,9 @@ "dev": true }, "node_modules/regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", + "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -10348,14 +10484,14 @@ "devOptional": true }, "node_modules/renderkid": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz", - "integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", + "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", "dev": true, "dependencies": { - "css-select": "^1.1.0", + "css-select": "^2.0.2", "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", + "htmlparser2": "^3.10.1", "lodash": "^4.17.20", "strip-ansi": "^3.0.0" } @@ -10442,7 +10578,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -10450,8 +10585,7 @@ "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, "node_modules/requires-port": { "version": "1.0.0", @@ -10588,9 +10722,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.30.0.tgz", - "integrity": "sha512-26EUhOXRLaUY7+mWuRFqGeGGNmhB1vblpTENO1Z7mAzzIZeVxZr9EZoaY1kyGLFWdSOZxRMAufiN2mkbO6dAlw==", + "version": "1.32.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.6.tgz", + "integrity": "sha512-1bcDHDcSqeFtMr0JXI3xc/CXX6c4p0wHHivJdru8W7waM7a1WjKMm4m/Z5sY7CbVw4Whi2Chpcw6DFfSWwGLzQ==", "dependencies": { "chokidar": ">=2.0.0 <4.0.0" }, @@ -10602,9 +10736,9 @@ } }, "node_modules/sass-loader": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.0.tgz", - "integrity": "sha512-ZCKAlczLBbFd3aGAhowpYEy69Te3Z68cg8bnHHl6WnSCvnKpbM6pQrz957HWMa8LKVuhnD9uMplmMAHwGQtHeg==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", + "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", "dependencies": { "klona": "^2.0.4", "loader-utils": "^2.0.0", @@ -10870,8 +11004,7 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "node_modules/set-immediate-shim": { "version": "1.0.1", @@ -10970,9 +11103,9 @@ "dev": true }, "node_modules/simple-git": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.31.0.tgz", - "integrity": "sha512-/+rmE7dYZMbRAfEmn8EUIOwlM2G7UdzpkC60KF86YAfXGnmGtsPrKsym0hKvLBdFLLW019C+aZld1+6iIVy5xA==", + "version": "2.34.2", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.34.2.tgz", + "integrity": "sha512-/EX4FtcpAj5L/Bs5zgaBGYDrnkrKflFVNppNLH9VXpIjZBLHx5cZ6/mOYJCoKXKlLRuk3iTvzrIsHo7v42zWHg==", "dependencies": { "@kwsites/file-exists": "^1.1.1", "@kwsites/promise-deferred": "^1.1.1", @@ -11176,77 +11309,58 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node_modules/socket.io-client": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.0.3.tgz", - "integrity": "sha512-kwCJAKb6JMqE9ZYXg78Dgt8rYLSwtJ/g/LJqpb/pOTFRZMSr1cKAsCaisHZ+IBwKHBY7DYOOkjtkHqseY3ZLpw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.1.1.tgz", + "integrity": "sha512-BLgIuCjI7Sf3mDHunKddX9zKR/pbkP7IACM3sJS3jha+zJ6/pGKRV6Fz5XSBHCfUs9YzT8kYIqNwOOuFNLtnYA==", "dependencies": { "@types/component-emitter": "^1.2.10", - "backo2": "1.0.2", - "component-bind": "1.0.0", + "backo2": "~1.0.2", "component-emitter": "~1.3.0", - "debug": "~4.1.0", - "engine.io-client": "~4.0.0", + "debug": "~4.3.1", + "engine.io-client": "~4.1.0", "parseuri": "0.0.6", - "socket.io-parser": "~4.0.1" + "socket.io-parser": "~4.0.4" }, "engines": { "node": ">=10.0.0" } }, - "node_modules/socket.io-client/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/socket.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.2.tgz", - "integrity": "sha512-Bs3IYHDivwf+bAAuW/8xwJgIiBNtlvnjYRc4PbXgniLmcP1BrakBoq/QhO24rgtgW7VZ7uAaswRGxutUnlAK7g==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", + "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", "dependencies": { "@types/component-emitter": "^1.2.10", "component-emitter": "~1.3.0", - "debug": "~4.1.0" + "debug": "~4.3.1" }, "engines": { "node": ">=10.0.0" } }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dependencies": { - "ms": "^2.1.1" - } - }, "node_modules/sockjs": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", - "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", "dev": true, "dependencies": { - "faye-websocket": "^0.10.0", + "faye-websocket": "^0.11.3", "uuid": "^3.4.0", - "websocket-driver": "0.6.5" + "websocket-driver": "^0.7.4" } }, "node_modules/sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", "dev": true, "dependencies": { - "debug": "^3.2.5", + "debug": "^3.2.6", "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.4.7" } }, "node_modules/sockjs-client/node_modules/debug": { @@ -11258,18 +11372,6 @@ "ms": "^2.1.1" } }, - "node_modules/sockjs-client/node_modules/faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/sort-keys": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", @@ -11325,9 +11427,9 @@ } }, "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" }, "node_modules/spdx-correct": { "version": "3.1.1", @@ -11783,44 +11885,10 @@ "node": ">=4.0.0" } }, - "node_modules/svgo/node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/svgo/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/svgo/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, "node_modules/sweetalert2": { - "version": "10.12.5", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-10.12.5.tgz", - "integrity": "sha512-AyHHvwIIkelpfTLAKb3RDdOJv5rXoKGfMzcWr9lx6EEK/PnRU3bZosvnJavXgf2f5Uaz+N3KlqtDOgLVdi33hA==", + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-10.14.0.tgz", + "integrity": "sha512-EBUh4k9qyRRsttm9X9j7WUhLExetvTJpcbp1VTMJCpuI2UwHLesXMIw9M+UeuqBywv0UjNMR5PKH7Qnv65m8rw==", "funding": { "url": "https://sweetalert2.github.io/#donations" } @@ -11905,6 +11973,26 @@ "node": ">= 8" } }, + "node_modules/terser-webpack-plugin/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/terser-webpack-plugin/node_modules/p-map": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", @@ -12360,6 +12448,14 @@ "node": ">=0.10.0" } }, + "node_modules/unxhr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unxhr/-/unxhr-1.0.1.tgz", + "integrity": "sha512-MAhukhVHyaLGDjyDYhy8gVjWJyhTECCdNsLwlMoGFoNJ3o79fpQhtQuzmAE4IxCMDwraF4cW8ZjpAV0m9CRQbg==", + "engines": { + "node": ">=8.11" + } + }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", @@ -12377,9 +12473,9 @@ "dev": true }, "node_modules/uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { "punycode": "^2.1.0" } @@ -12423,9 +12519,9 @@ } }, "node_modules/url-loader/node_modules/mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true, "bin": { "mime": "cli.js" @@ -12593,9 +12689,9 @@ "dev": true }, "node_modules/vue-loader": { - "version": "15.9.5", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.5.tgz", - "integrity": "sha512-oeMOs2b5o5gRqkxfds10bCx6JeXYTwivRgbb8hzOrcThD2z1+GqEKE3EX9A2SGbsYDf4rXwRg6D5n1w0jO5SwA==", + "version": "15.9.6", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.6.tgz", + "integrity": "sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==", "dev": true, "dependencies": { "@vue/component-compiler-utils": "^3.1.0", @@ -12619,9 +12715,9 @@ }, "node_modules/vue-loader-v16": { "name": "vue-loader", - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.1.tgz", - "integrity": "sha512-wz/+HFg/3SBayHWAlZXARcnDTl3VOChrfW9YnxvAweiuyKX/7IGx1ad/4yJHmwhgWlOVYMAbTiI7GV8G33PfGQ==", + "version": "16.1.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.2.tgz", + "integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==", "dev": true, "optional": true, "dependencies": { @@ -12728,11 +12824,11 @@ "dev": true }, "node_modules/vue-socket.io-extended": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/vue-socket.io-extended/-/vue-socket.io-extended-4.0.5.tgz", - "integrity": "sha512-7OUA76lpqHqVWD6+Qpc9UnEGBL4HzswDnaJSSOtd0TGwOLj+E2L59ExwLhHUuXB7QlLheFU/RzGJQ708YysABA==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/vue-socket.io-extended/-/vue-socket.io-extended-4.0.6.tgz", + "integrity": "sha512-fUt5ZxXntNTG0vkoHjUjpu8jKhao5MEfG4qj/zA2FOQMnbLVf/X/sLM2uypCtebowAyGPeoVXLq7U3GhguJhsg==", "dependencies": { - "@types/socket.io-client": "1.4.34" + "@types/socket.io-client": "1.4.35" } }, "node_modules/vue-style-loader": { @@ -12752,11 +12848,14 @@ "dev": true }, "node_modules/vue-sweetalert2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vue-sweetalert2/-/vue-sweetalert2-4.1.1.tgz", - "integrity": "sha512-9ytddeXkjixIGzUxgmVAVdIOrbPiWcjEPQuO3mEPq4zc8clbQbhOn192zvYUdcM0SbRPzbafyXTFx9mNMNJzQA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/vue-sweetalert2/-/vue-sweetalert2-4.2.0.tgz", + "integrity": "sha512-6D7sNEWiUek8eNUl4oHJJvQPiXFVKGrtoJnUaturyVxBY7+MYQF1C7YEiktSp2UtatUPdObt+ozU5dN1TnvD4w==", "dependencies": { "sweetalert2": "10.x" + }, + "peerDependencies": { + "vue": "*" } }, "node_modules/vue-template-compiler": { @@ -12783,9 +12882,9 @@ } }, "node_modules/vue2-datepicker": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.8.2.tgz", - "integrity": "sha512-GUoNLyzPl3Xi7ruSQFF59BzMXWuflxzP9yM3P4ARz9GfhzLLFgYVLAEkJi6DNQU7zozBMzz+VNIQDwPaDNMo6Q==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.9.0.tgz", + "integrity": "sha512-nRqIZx5Ks0TDHFyzyHYIlfmuszEsEvRhwJ6HGuGGHQpjOfrIgkJ9B0pnEEJaVS3LKX6IWCVQMUq0H7I2UKmHqA==", "dependencies": { "date-format-parse": "^0.2.6" }, @@ -12836,9 +12935,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node_modules/vuex": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.0.tgz", - "integrity": "sha512-W74OO2vCJPs9/YjNjW8lLbj+jzT24waTo2KShI8jLvJW8OaIkgb3wuAMA7D+ZiUxDOx3ubwSZTaJBip9G8a3aQ==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz", + "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==", "peerDependencies": { "vue": "^2.0.0" } @@ -12985,9 +13084,9 @@ } }, "node_modules/webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dependencies": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", @@ -12997,7 +13096,7 @@ "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", + "enhanced-resolve": "^4.5.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", @@ -13107,9 +13206,9 @@ } }, "node_modules/webpack-dev-middleware/node_modules/mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true, "bin": { "mime": "cli.js" @@ -13119,9 +13218,9 @@ } }, "node_modules/webpack-dev-server": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", - "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", "dev": true, "dependencies": { "ansi-html": "0.0.7", @@ -13144,11 +13243,11 @@ "p-retry": "^3.0.1", "portfinder": "^1.0.26", "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", + "selfsigned": "^1.10.8", "semver": "^6.3.0", "serve-index": "^1.9.1", - "sockjs": "0.3.20", - "sockjs-client": "1.4.0", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", "spdy": "^4.0.2", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", @@ -13718,15 +13817,17 @@ } }, "node_modules/websocket-driver": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" }, "engines": { - "node": ">=0.6.0" + "node": ">=0.8.0" } }, "node_modules/websocket-extensions": { @@ -13753,8 +13854,7 @@ "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "node_modules/wordwrap": { "version": "0.0.3", @@ -13776,7 +13876,6 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -13790,7 +13889,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, "engines": { "node": ">=8" } @@ -13799,7 +13897,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -13814,7 +13911,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -13825,14 +13921,12 @@ "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -13841,7 +13935,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13855,7 +13948,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.0" }, @@ -13869,9 +13961,9 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/ws": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.5.tgz", - "integrity": "sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA==", + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", + "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==", "engines": { "node": ">=8.3.0" }, @@ -13915,10 +14007,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -13930,7 +14021,7 @@ "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "yargs-parser": "^18.1.1" }, "engines": { "node": ">=8" @@ -13940,7 +14031,6 @@ "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -13953,7 +14043,6 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, "engines": { "node": ">=6" } @@ -13962,7 +14051,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true, "engines": { "node": ">=8" } @@ -13971,7 +14059,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -13980,7 +14067,6 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13994,7 +14080,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.0" }, @@ -14009,35 +14094,52 @@ } }, "dependencies": { + "@asciidoctor/cli": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@asciidoctor/cli/-/cli-3.4.0.tgz", + "integrity": "sha512-jOtxA0I6zB+6z+GGwm9+xhlmGTqCTkFPE902L6fauFlE6v7LxjhLYNxvjDVyn0zMrFLybvoSRcAnM3DcticNoQ==", + "requires": { + "yargs": "15.3.1" + } + }, + "@asciidoctor/core": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@asciidoctor/core/-/core-2.2.1.tgz", + "integrity": "sha512-wdVseZjCcBvFfWSsCGyyvJkSQJ9UmXDdTDKnL+HerM12XQq4eWtk7lniSIKO459ipqImcsrueib47EtkzzRjLw==", + "requires": { + "asciidoctor-opal-runtime": "0.3.0", + "unxhr": "1.0.1" + } + }, "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.13.tgz", + "integrity": "sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg==", "dev": true }, "@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.13.tgz", + "integrity": "sha512-BQKE9kXkPlXHPeqissfxo0lySWJcYdEP0hdtJOH/iJfDdhOCcgtNCjftCJg3qqauB4h+lz2N6ixM++b9DN1Tcw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helpers": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", @@ -14048,199 +14150,188 @@ } }, "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", "dev": true, "requires": { - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", - "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", + "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-explode-assignable-expression": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.13.tgz", + "integrity": "sha512-dXof20y/6wB5HnLOGyLh/gobsMvDNoekcC+8MCV2iaTd5JemhFkPD73QB+tK3iFC9P0xJC73B6MvKkyUfS9cCw==", "dev": true, "requires": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", + "@babel/compat-data": "^7.12.13", + "@babel/helper-validator-option": "^7.12.11", "browserslist": "^4.14.5", "semver": "^5.5.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.13.tgz", + "integrity": "sha512-Vs/e9wv7rakKYeywsmEBSRC9KtmE7Px+YBlESekLeJOF0zbGUicGfXSNi3o+tfXSNS48U/7K9mIOOCR79Cl3+Q==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.13.tgz", + "integrity": "sha512-XC+kiA0J3at6E85dL5UnCYfVOcIZ834QcAY0TIpgUVnz0zDzg+0TtvZTnJ4g9L1dPRGe30Qi03XCIS4tYCLtqw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", "regexpu-core": "^4.7.1" } }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, "@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz", + "integrity": "sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" } }, "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz", + "integrity": "sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz", + "integrity": "sha512-B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ==", "dev": true, "requires": { - "@babel/types": "^7.12.7" + "@babel/types": "^7.12.13" } }, "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", "dev": true, "requires": { - "@babel/types": "^7.12.5" + "@babel/types": "^7.12.13" } }, "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "lodash": "^4.17.19" } }, "@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", "dev": true, "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz", + "integrity": "sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-wrap-function": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -14253,12 +14344,12 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "dev": true, "requires": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { @@ -14274,75 +14365,75 @@ "dev": true }, "@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz", + "integrity": "sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz", + "integrity": "sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==", "dev": true, "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", - "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz", + "integrity": "sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-remap-async-to-generator": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.0" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz", + "integrity": "sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-proposal-decorators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz", - "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.13.tgz", + "integrity": "sha512-x2aOr5w4ARJoYHFKoG2iEUL/Xe99JAJXjAasHijXp3/KgaetJXGE62SmHgsW3Tia/XUT5AxF2YC0F+JyhPY/0Q==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-decorators": "^7.12.1" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/plugin-syntax-decorators": "^7.12.13" } }, "@babel/plugin-proposal-dynamic-import": { @@ -14356,105 +14447,105 @@ } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", + "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz", + "integrity": "sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-json-strings": "^7.8.0" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz", + "integrity": "sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz", + "integrity": "sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", + "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz", + "integrity": "sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" + "@babel/plugin-transform-parameters": "^7.12.13" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz", + "integrity": "sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.13.tgz", + "integrity": "sha512-0ZwjGfTcnZqyV3y9DSD1Yk3ebp+sIUpT2YDqP8hovzaNZnQq2Kd7PEqa6iOIUDBXBt7Jl3P7YAcEIL5Pz8u09Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz", + "integrity": "sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", + "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-async-generators": { @@ -14467,21 +14558,21 @@ } }, "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-decorators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz", - "integrity": "sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz", + "integrity": "sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-dynamic-import": { @@ -14512,12 +14603,12 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", + "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -14575,364 +14666,363 @@ } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz", + "integrity": "sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz", + "integrity": "sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-remap-async-to-generator": "^7.12.13" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", + "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.11.tgz", - "integrity": "sha512-atR1Rxc3hM+VPg/NvNvfYw0npQEAcHuJ+MGZnFn6h3bo+1U3BWXMdFMlvVRApBTWKQMX7SOwRJZA5FBF/JQbvA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", + "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz", + "integrity": "sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz", + "integrity": "sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz", + "integrity": "sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", + "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", + "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", + "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz", + "integrity": "sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", + "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", + "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", + "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz", + "integrity": "sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz", + "integrity": "sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz", + "integrity": "sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-hoist-variables": "^7.12.13", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz", + "integrity": "sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", + "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" + "@babel/helper-create-regexp-features-plugin": "^7.12.13" } }, "@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", + "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", + "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13" } }, "@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz", + "integrity": "sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", + "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", + "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", + "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-runtime": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", - "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.15.tgz", + "integrity": "sha512-OwptMSRnRWJo+tJ9v9wgAf72ydXWfYSXWhnQjZing8nGZSDFqU1MBleKM3+DriKkcbv7RagA8gVeB0A1PNlNow==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "semver": "^5.5.1" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", + "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz", + "integrity": "sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", + "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz", + "integrity": "sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", - "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", + "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", + "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", + "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.13.tgz", + "integrity": "sha512-JUVlizG8SoFTz4LmVUL8++aVwzwxcvey3N0j1tRbMAXVEy95uQ/cnEkmEKHN00Bwq4voAV3imQGnQvpkLAxsrw==", "dev": true, "requires": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/compat-data": "^7.12.13", + "@babel/helper-compilation-targets": "^7.12.13", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-async-generator-functions": "^7.12.13", + "@babel/plugin-proposal-class-properties": "^7.12.13", "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.13", + "@babel/plugin-proposal-json-strings": "^7.12.13", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.13", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.13", + "@babel/plugin-proposal-numeric-separator": "^7.12.13", + "@babel/plugin-proposal-object-rest-spread": "^7.12.13", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.13", + "@babel/plugin-proposal-optional-chaining": "^7.12.13", + "@babel/plugin-proposal-private-methods": "^7.12.13", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-dynamic-import": "^7.8.0", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.0", @@ -14942,41 +15032,41 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.0", "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/plugin-syntax-top-level-await": "^7.12.13", + "@babel/plugin-transform-arrow-functions": "^7.12.13", + "@babel/plugin-transform-async-to-generator": "^7.12.13", + "@babel/plugin-transform-block-scoped-functions": "^7.12.13", + "@babel/plugin-transform-block-scoping": "^7.12.13", + "@babel/plugin-transform-classes": "^7.12.13", + "@babel/plugin-transform-computed-properties": "^7.12.13", + "@babel/plugin-transform-destructuring": "^7.12.13", + "@babel/plugin-transform-dotall-regex": "^7.12.13", + "@babel/plugin-transform-duplicate-keys": "^7.12.13", + "@babel/plugin-transform-exponentiation-operator": "^7.12.13", + "@babel/plugin-transform-for-of": "^7.12.13", + "@babel/plugin-transform-function-name": "^7.12.13", + "@babel/plugin-transform-literals": "^7.12.13", + "@babel/plugin-transform-member-expression-literals": "^7.12.13", + "@babel/plugin-transform-modules-amd": "^7.12.13", + "@babel/plugin-transform-modules-commonjs": "^7.12.13", + "@babel/plugin-transform-modules-systemjs": "^7.12.13", + "@babel/plugin-transform-modules-umd": "^7.12.13", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", + "@babel/plugin-transform-new-target": "^7.12.13", + "@babel/plugin-transform-object-super": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.12.13", + "@babel/plugin-transform-property-literals": "^7.12.13", + "@babel/plugin-transform-regenerator": "^7.12.13", + "@babel/plugin-transform-reserved-words": "^7.12.13", + "@babel/plugin-transform-shorthand-properties": "^7.12.13", + "@babel/plugin-transform-spread": "^7.12.13", + "@babel/plugin-transform-sticky-regex": "^7.12.13", + "@babel/plugin-transform-template-literals": "^7.12.13", + "@babel/plugin-transform-typeof-symbol": "^7.12.13", + "@babel/plugin-transform-unicode-escapes": "^7.12.13", + "@babel/plugin-transform-unicode-regex": "^7.12.13", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "core-js-compat": "^3.8.0", "semver": "^5.5.0" } @@ -14995,46 +15085,46 @@ } }, "@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.13.tgz", + "integrity": "sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/traverse": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.10.tgz", - "integrity": "sha512-6aEtf0IeRgbYWzta29lePeYSk+YAFIC3kyqESeft8o5CkFlYIMX+EQDDWEiAQ9LHOA3d0oHdgrSsID/CKqXJlg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.10", - "@babel/types": "^7.12.10", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.19" } }, "@babel/types": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.11.tgz", - "integrity": "sha512-ukA9SQtKThINm++CX1CwmliMrE54J6nIYB5XTwL5f/CLFW9owfls+YSU8tVW15RQ2w+a3fSbPjC6HdQNtWZkiA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -15043,38 +15133,38 @@ } }, "@fortawesome/fontawesome-common-types": { - "version": "0.2.32", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.32.tgz", - "integrity": "sha512-ux2EDjKMpcdHBVLi/eWZynnPxs0BtFVXJkgHIxXRl+9ZFaHPvYamAfCzeeQFqHRjuJtX90wVnMRaMQAAlctz3w==" + "version": "0.2.34", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.34.tgz", + "integrity": "sha512-XcIn3iYbTEzGIxD0/dY5+4f019jIcEIWBiHc3KrmK/ROahwxmZ/s+tdj97p/5K0klz4zZUiMfUlYP0ajhSJjmA==" }, "@fortawesome/fontawesome-svg-core": { - "version": "1.2.32", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.32.tgz", - "integrity": "sha512-XjqyeLCsR/c/usUpdWcOdVtWFVjPbDFBTQkn2fQRrWhhUoxriQohO2RWDxLyUM8XpD+Zzg5xwJ8gqTYGDLeGaQ==", + "version": "1.2.34", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.34.tgz", + "integrity": "sha512-0KNN0nc5eIzaJxlv43QcDmTkDY1CqeN6J7OCGSs+fwGPdtv0yOQqRjieopBCmw+yd7uD3N2HeNL3Zm5isDleLg==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.32" + "@fortawesome/fontawesome-common-types": "^0.2.34" } }, "@fortawesome/free-brands-svg-icons": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.1.tgz", - "integrity": "sha512-pkTZIWn7iuliCCgV+huDfZmZb2UjslalXGDA2PcqOVUYJmYL11y6ooFiMJkJvUZu+xgAc1gZgQe+Px12mZF0CA==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.2.tgz", + "integrity": "sha512-YPlVjE1cEO+OJ9I9ay3TQ3I88+XkxMTYwnnddqAboxLhPNGncsHV0DjWOVLCyuAY66yPfyndWwVn4v7vuqsO1g==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.32" + "@fortawesome/fontawesome-common-types": "^0.2.34" } }, "@fortawesome/free-solid-svg-icons": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.1.tgz", - "integrity": "sha512-EFMuKtzRMNbvjab/SvJBaOOpaqJfdSap/Nl6hst7CgrJxwfORR1drdTV6q1Ib/JVzq4xObdTDcT6sqTaXMqfdg==", + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.2.tgz", + "integrity": "sha512-ZfCU+QjaFsdNZmOGmfqEWhzI3JOe37x5dF4kz9GeXvKn/sTxhqMtZ7mh3lBf76SvcYY5/GKFuyG7p1r4iWMQqw==", "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.32" + "@fortawesome/fontawesome-common-types": "^0.2.34" } }, "@fortawesome/vue-fontawesome": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.0.tgz", - "integrity": "sha512-N3VKw7KzRfOm8hShUVldpinlm13HpvLBQgT63QS+aCrIRLwjoEUXY5Rcmttbfb6HkzZaeqjLqd/aZCQ53UjQpg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.2.tgz", + "integrity": "sha512-ecpKSBUWXsxRJVi/dbOds4tkKwEcBQ1JSDZFzE2jTFpF8xIh3OgTX8POIor6bOltjibr3cdEyvnDjecMwUmxhQ==", "requires": {} }, "@hapi/address": { @@ -15270,21 +15360,21 @@ } }, "@types/express": { - "version": "4.17.9", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz", - "integrity": "sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw==", + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", + "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==", "dev": true, "requires": { "@types/body-parser": "*", - "@types/express-serve-static-core": "*", + "@types/express-serve-static-core": "^4.17.18", "@types/qs": "*", "@types/serve-static": "*" } }, "@types/express-serve-static-core": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz", - "integrity": "sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ==", + "version": "4.17.18", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz", + "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==", "dev": true, "requires": { "@types/node": "*", @@ -15303,9 +15393,9 @@ } }, "@types/http-proxy": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.4.tgz", - "integrity": "sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q==", + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.5.tgz", + "integrity": "sha512-GNkDE7bTv6Sf8JbV2GksknKOsk7OznNYHSdrtvPJXO0qJ9odZig6IZKUi5RFGi6d1bf6dgIAe4uXi3DBc7069Q==", "dev": true, "requires": { "@types/node": "*" @@ -15323,14 +15413,14 @@ } }, "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" }, "@types/mime": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "@types/minimatch": { @@ -15346,9 +15436,9 @@ "dev": true }, "@types/node": { - "version": "14.14.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.14.tgz", - "integrity": "sha512-UHnOPWVWV1z+VV8k6L1HhG7UbGBgIdghqF3l9Ny9ApPghbjICXkUJSd/b9gOgQfjM1r+37cipdw/HJ3F6ICEnQ==", + "version": "14.14.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz", + "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==", "dev": true }, "@types/normalize-package-data": { @@ -15376,19 +15466,19 @@ "dev": true }, "@types/serve-static": { - "version": "1.13.8", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.8.tgz", - "integrity": "sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA==", + "version": "1.13.9", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", + "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", "dev": true, "requires": { - "@types/mime": "*", + "@types/mime": "^1", "@types/node": "*" } }, "@types/socket.io-client": { - "version": "1.4.34", - "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.34.tgz", - "integrity": "sha512-Lzia5OTQFJZJ5R4HsEEldywiiqT9+W2rDbyHJiiTGqOcju89sCsQ8aUXDljY6Ls33wKZZGC0bfMhr/VpOyjtXg==" + "version": "1.4.35", + "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.35.tgz", + "integrity": "sha512-MI8YmxFS+jMkIziycT5ickBWK1sZwDwy16mgH/j99Mcom6zRG/NimNGQ3vJV0uX5G6g/hEw0FG3w3b3sT5OUGw==" }, "@types/source-list-map": { "version": "0.1.2", @@ -15403,9 +15493,9 @@ "dev": true }, "@types/uglify-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", - "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.12.0.tgz", + "integrity": "sha512-sYAF+CF9XZ5cvEBkI7RtrG9g2GtMBkviTnBxYYyq+8BWvO4QtXfwwR6a2LFwCi4evMKZfpv6U43ViYvv17Wz3Q==", "dev": true, "requires": { "source-map": "^0.6.1" @@ -15420,9 +15510,9 @@ } }, "@types/webpack": { - "version": "4.41.25", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", - "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", + "version": "4.41.26", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", + "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", "dev": true, "requires": { "@types/anymatch": "*", @@ -15480,15 +15570,15 @@ "dev": true }, "@vue/babel-helper-vue-transform-on": { - "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.0-rc.2.tgz", - "integrity": "sha512-1+7CwjQ0Kasml6rHoNQUmbISwqLNNfFVBUcZl6QBremUl296ZmLrVQPqJP5pyAAWjZke5bpI1hlj+LVVuT7Jcg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", "dev": true }, "@vue/babel-plugin-jsx": { - "version": "1.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.0-rc.5.tgz", - "integrity": "sha512-IUxERGiEeX9i1Vt9UtBYqOtfPYjOwEP0sFyPRI8xjkXAhJpaAIwa8JdcYakOqzIlXwhk3XD+7VFdyr/v+rLLFw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.3.tgz", + "integrity": "sha512-+52ZQFmrM0yh61dQlgwQlfHZXmYbswbQEL25SOSt9QkjegAdfIGu87oELw0l8H6cuJYazZCiNjPR9eU++ZIbxg==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", @@ -15496,7 +15586,7 @@ "@babel/template": "^7.0.0", "@babel/traverse": "^7.0.0", "@babel/types": "^7.0.0", - "@vue/babel-helper-vue-transform-on": "^1.0.0-rc.2", + "@vue/babel-helper-vue-transform-on": "^1.0.2", "camelcase": "^6.0.0", "html-tags": "^3.1.0", "svg-tags": "^1.0.0" @@ -15525,9 +15615,9 @@ } }, "@vue/babel-preset-app": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.9.tgz", - "integrity": "sha512-d2H4hFnJsGnZtJAAZIbo1dmQJ2SI1MYix1Tc9/etlnJtCDPRHeCNodCSeuLgDwnoAyT3unzyHmTtaO56KRDuOQ==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.11.tgz", + "integrity": "sha512-9VoFlm/9vhynKNGM+HA7qBsoQSUEnuG5i5kcFI9vTLLrh8A0fxrwUyVLLppO6T1sAZ6vrKdQFnEkjL+RkRAwWQ==", "dev": true, "requires": { "@babel/core": "^7.11.0", @@ -15656,20 +15746,20 @@ } }, "@vue/cli-overlay": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.9.tgz", - "integrity": "sha512-E2PWv6tCdUz+eEDj2Th2oxiKmzMe02qi0PcxiNaO7oaqggmEOrp1rLgop7DWpiLDBiqUZk2x0vjK/q2Tz8z/eg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.11.tgz", + "integrity": "sha512-aDQNw+oGk5+KR0vL9TocjfzyYHTJxR2lS8iPbcL4lRglCs2dudOE7QWXypj5dM4rQus0jJ5fxJTS55o9uy9fcQ==", "dev": true }, "@vue/cli-plugin-babel": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.9.tgz", - "integrity": "sha512-2tzaJU5yqAfXVhg1aYyd/Yfif6brv+tDZ49D1aOk7ZgMIwH5YUa0yo5HPcPOcmfpoVoNYcpqVYRfyT4EXIYSpg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.11.tgz", + "integrity": "sha512-ogUMeO2waDtghIWwmuAzMJAnnPdmqRdJlwJDca9u6BK9jX1bxNThBSFS/MN2VmlYzulOnqH4zAC87jTWNg/czg==", "dev": true, "requires": { "@babel/core": "^7.11.0", - "@vue/babel-preset-app": "^4.5.9", - "@vue/cli-shared-utils": "^4.5.9", + "@vue/babel-preset-app": "^4.5.11", + "@vue/cli-shared-utils": "^4.5.11", "babel-loader": "^8.1.0", "cache-loader": "^4.1.0", "thread-loader": "^2.1.3", @@ -15677,25 +15767,25 @@ } }, "@vue/cli-plugin-router": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.9.tgz", - "integrity": "sha512-eBBfbZpQ1sJrdlx8i7iReFxSnuzwmrv+s2OCT3kjBd6uWRqGnD4VihpS4srC7vZLzDQrDplumSn0a93L9Qf3wQ==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.11.tgz", + "integrity": "sha512-09tzw3faOs48IUPwLutYaNC7eoyyL140fKruTwdFdXuBLDdSQVida57Brx0zj2UKXc5qF8hk4GoGrOshN0KfNg==", "dev": true, "requires": { - "@vue/cli-shared-utils": "^4.5.9" + "@vue/cli-shared-utils": "^4.5.11" } }, "@vue/cli-plugin-vuex": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.9.tgz", - "integrity": "sha512-mFNIJhYiJjzCgytkDHX00ROy5Yzl7prkZpUbeDE0biwcLteMf2s3qZVbESOQl6GcviqcfEt2f3tHQQtLNa+OLg==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.11.tgz", + "integrity": "sha512-JBPeZLubiSHbRkEKDj0tnLiU43AJ3vt6JULn4IKWH1XWZ6MFC8vElaP5/AA4O3Zko5caamDDBq3TRyxdA2ncUQ==", "dev": true, "requires": {} }, "@vue/cli-service": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.9.tgz", - "integrity": "sha512-E3XlfM0q+UnnjbC9rwLIWNo2umZCRwnlMJY0KOhY1hFvqisGIYzFmQQ4o01KGyTx2BZNMuQg7Kw+BZ5gyM1Wig==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.11.tgz", + "integrity": "sha512-FXeJh2o6B8q/njv2Ebhe9EsLXt9sPMXGDY5zVvcV5jgj9wkoej9yLfnmwWCau5kegNClP6bcM+BEHuMYxJ+ubQ==", "dev": true, "requires": { "@intervolga/optimize-cssnano-plugin": "^1.0.5", @@ -15704,10 +15794,10 @@ "@types/minimist": "^1.2.0", "@types/webpack": "^4.0.0", "@types/webpack-dev-server": "^3.11.0", - "@vue/cli-overlay": "^4.5.9", - "@vue/cli-plugin-router": "^4.5.9", - "@vue/cli-plugin-vuex": "^4.5.9", - "@vue/cli-shared-utils": "^4.5.9", + "@vue/cli-overlay": "^4.5.11", + "@vue/cli-plugin-router": "^4.5.11", + "@vue/cli-plugin-vuex": "^4.5.11", + "@vue/cli-shared-utils": "^4.5.11", "@vue/component-compiler-utils": "^3.1.2", "@vue/preload-webpack-plugin": "^1.1.0", "@vue/web-component-wrapper": "^1.2.0", @@ -15747,7 +15837,7 @@ "thread-loader": "^2.1.3", "url-loader": "^2.2.0", "vue-loader": "^15.9.2", - "vue-loader-v16": "npm:vue-loader@^16.0.0-beta.7", + "vue-loader-v16": "npm:vue-loader@^16.1.0", "vue-style-loader": "^4.1.2", "webpack": "^4.0.0", "webpack-bundle-analyzer": "^3.8.0", @@ -15757,9 +15847,9 @@ } }, "@vue/cli-shared-utils": { - "version": "4.5.9", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.9.tgz", - "integrity": "sha512-anvsrv+rkQC+hgxaT2nQQxnSWSsIzyysZ36LO7qPjXvDRBvcvKLAAviFlUkYbZ+ntbV8puzJ3zw+gUhQw4SEVA==", + "version": "4.5.11", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.11.tgz", + "integrity": "sha512-+aaQ+ThQG3+WMexfSWNl0y6f43edqVqRNbguE53F3TIH81I7saS5S750ayqXhZs2r6STJJyqorQnKtAWfHo29A==", "dev": true, "requires": { "@hapi/joi": "^15.0.1", @@ -16194,6 +16284,24 @@ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, + "asciidoctor": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/asciidoctor/-/asciidoctor-2.2.1.tgz", + "integrity": "sha512-adH/pDPDZCd4eb1ku7N8WepN+O6Yl0lVQPWE/ep7+0BFkBm4P/Sx8DUqzZ+X+nG6WSZlma5Uu0gNuDgrc7etFg==", + "requires": { + "@asciidoctor/cli": "3.4.0", + "@asciidoctor/core": "2.2.1" + } + }, + "asciidoctor-opal-runtime": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/asciidoctor-opal-runtime/-/asciidoctor-opal-runtime-0.3.0.tgz", + "integrity": "sha512-YapVwl2qbbs6sIe1dvAlMpBzQksFVTSa2HOduOKFNhZlE9bNmn+moDgGVvjWPbzMPo/g8gItyTHfWB2u7bQxag==", + "requires": { + "glob": "7.1.3", + "unxhr": "1.0.1" + } + }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -16316,9 +16424,9 @@ "dev": true }, "axios": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.0.tgz", - "integrity": "sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "requires": { "follow-redirects": "^1.10.0" } @@ -16421,9 +16529,9 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "bindings": { "version": "1.5.0", @@ -16505,15 +16613,15 @@ "dev": true }, "bootstrap": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.3.tgz", - "integrity": "sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", "requires": {} }, "bootstrap-vue": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.0.tgz", - "integrity": "sha512-R55XY83Ro3w8OfVEWn/eOyw8eayGDdZs0qYFuvG29eW4zVb9NtB4LwgskOhIaqF3Yzac/6ra/FqQUm+uVhDYfA==", + "version": "2.21.2", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.2.tgz", + "integrity": "sha512-0Exe+4MZysqhZNXIKf4TzkvXaupxh9EHsoCRez0o5Dc0J7rlafayOEwql63qXv74CgZO8E4U8ugRNJko1vMvNw==", "requires": { "@nuxt/opencollective": "^0.3.2", "bootstrap": ">=4.5.3 <5.0.0", @@ -16653,16 +16761,16 @@ } }, "browserslist": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.0.tgz", - "integrity": "sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ==", + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001165", + "caniuse-lite": "^1.0.30001181", "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.621", + "electron-to-chromium": "^1.3.649", "escalade": "^3.1.1", - "node-releases": "^1.1.67" + "node-releases": "^1.1.70" } }, "buffer": { @@ -16729,6 +16837,19 @@ "y18n": "^4.0.0" }, "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "ssri": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", @@ -16770,13 +16891,13 @@ } }, "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "get-intrinsic": "^1.0.2" } }, "call-me-maybe": { @@ -16838,9 +16959,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001168", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001168.tgz", - "integrity": "sha512-P2zmX7swIXKu+GMMR01TWa4csIKELTNnZKc+f1CjebmZJQtTAEXmpQSoKVJVVcvPGAA0TEYTOUp3VehavZSFPQ==", + "version": "1.0.30001185", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz", + "integrity": "sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg==", "dev": true }, "case-sensitive-paths-webpack-plugin": { @@ -16873,13 +16994,13 @@ "dev": true }, "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -17053,9 +17174,9 @@ } }, "cli-highlight": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.9.tgz", - "integrity": "sha512-t8RNIZgiI24i/mslZ8XT8o660RUj5ZbUJpEZrZa/BNekTzdC2LfMRAnt0Y7sgzNM4FGW5tmWg/YnbTH8o1eIOQ==", + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.10.tgz", + "integrity": "sha512-CcPFD3JwdQ2oSzy+AMG6j3LRTkNjM82kzcSKzoVw6cLanDCJNlsLjeqVTOTfOfucnWv5F0rmBemVf1m9JiIasw==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -17063,9 +17184,15 @@ "mz": "^2.4.0", "parse5": "^5.1.1", "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^15.0.0" + "yargs": "^16.0.0" }, "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -17085,6 +17212,17 @@ "supports-color": "^7.1.0" } }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -17106,6 +17244,32 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -17114,6 +17278,44 @@ "requires": { "has-flag": "^4.0.0" } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true } } }, @@ -17138,7 +17340,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -17148,20 +17349,17 @@ "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -17172,7 +17370,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "requires": { "ansi-regex": "^5.0.0" } @@ -17197,9 +17394,9 @@ } }, "codemirror": { - "version": "5.58.3", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.58.3.tgz", - "integrity": "sha512-KBhB+juiyOOgn0AqtRmWyAT3yoElkuvWTI6hsHa9E6GQrl6bk/fdAYcvuqW1/upO9T9rtEtapWdw4XYcNiVDEA==" + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.2.tgz", + "integrity": "sha512-/D5PcsKyzthtSy2NNKCyJi3b+htRkoKv3idswR/tR6UAvMNKA7SrmyZy6fOONJxSRs1JlUWEDAbxqfdArbK8iA==" }, "collection-visit": { "version": "1.0.0", @@ -17279,11 +17476,6 @@ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" - }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", @@ -17359,9 +17551,9 @@ "dev": true }, "consola": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz", - "integrity": "sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ==" + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" }, "console-browserify": { "version": "1.2.0", @@ -17564,18 +17756,18 @@ } }, "core-js": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.1.tgz", - "integrity": "sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", + "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", "dev": true }, "core-js-compat": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz", - "integrity": "sha512-a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz", + "integrity": "sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog==", "dev": true, "requires": { - "browserslist": "^4.15.0", + "browserslist": "^4.16.1", "semver": "7.0.0" }, "dependencies": { @@ -17728,15 +17920,15 @@ } }, "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", "dev": true, "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" } }, "css-select-base-adapter": { @@ -17764,9 +17956,9 @@ } }, "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "dev": true }, "cssesc": { @@ -17920,8 +18112,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "decode-uri-component": { "version": "0.2.0", @@ -18263,9 +18454,9 @@ } }, "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "requires": { "dom-serializer": "0", @@ -18338,23 +18529,23 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.627", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.627.tgz", - "integrity": "sha512-O5IVRS4sCxP2+vECAp7uHkaI8V+dKYpuCyBcLn+hqVAOy/RONd8zx+6eH7TuWSTBYs/oUrzBXkNMZuVsQd58kQ==", + "version": "1.3.657", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.657.tgz", + "integrity": "sha512-/9ROOyvEflEbaZFUeGofD+Tqs/WynbSTbNgNF+/TJJxH1ePD/e6VjZlDJpW3FFFd3nj5l3Hd8ki2vRwy+gyRFw==", "dev": true }, "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" }, "dependencies": { "bn.js": { @@ -18367,8 +18558,7 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "emojis-list": { "version": "3.0.0", @@ -18389,30 +18579,20 @@ } }, "engine.io-client": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.0.5.tgz", - "integrity": "sha512-1lkn0QdekHQPMTcxUh8LqIuxQHNtKV5GvqkQzmZ1rYKAvB6puMm13U7K1ps3OQZ4joE46asQiAKrcdL9weNEVw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.1.tgz", + "integrity": "sha512-iYasV/EttP/2pLrdowe9G3zwlNIFhwny8VSIh+vPlMnYZqSzLsTzSLa9hFy015OrH1s4fzoYxeHjVkO8hSFKwg==", "requires": { "base64-arraybuffer": "0.1.4", "component-emitter": "~1.3.0", - "debug": "~4.1.0", + "debug": "~4.3.1", "engine.io-parser": "~4.0.1", "has-cors": "1.1.0", "parseqs": "0.0.6", "parseuri": "0.0.6", - "ws": "~7.2.1", + "ws": "~7.4.2", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - } } }, "engine.io-parser": { @@ -18424,9 +18604,9 @@ } }, "enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "requires": { "graceful-fs": "^4.1.2", "memory-fs": "^0.5.0", @@ -18445,15 +18625,15 @@ } }, "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true }, "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "requires": { "prr": "~1.0.1" } @@ -18477,23 +18657,25 @@ } }, "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", "dev": true, "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", "has": "^1.0.3", "has-symbols": "^1.0.1", "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", + "is-negative-zero": "^2.0.1", "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", + "object-inspect": "^1.9.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" } }, "es-to-primitive": { @@ -18857,9 +19039,9 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -18967,7 +19149,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -18983,9 +19164,9 @@ } }, "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", + "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==" }, "for-in": { "version": "1.0.2", @@ -19073,9 +19254,9 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "optional": true }, "function-bind": { @@ -19093,13 +19274,12 @@ "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -19131,9 +19311,9 @@ } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -19193,9 +19373,9 @@ } }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.5.tgz", + "integrity": "sha512-kBBSQbz2K0Nyn+31j/w36fUfxkBW9/gfwRWdUY1ULReH3iokVJgddZAFcD1D0xlgTmFxJCbUkUclAlc6/IDJkw==" }, "gzip-size": { "version": "5.1.1", @@ -19338,9 +19518,9 @@ "dev": true }, "highlight.js": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz", - "integrity": "sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.6.0.tgz", + "integrity": "sha512-8mlRcn5vk/r4+QcqerapwBYTe+iPL5ih6xrNylxrnBdHQiijDETfXX7VIxC3UiCRiINBJfANBAsPzAvRQj8RpQ==", "dev": true }, "hmac-drbg": { @@ -19396,9 +19576,9 @@ "dev": true }, "html-entities": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.3.tgz", - "integrity": "sha512-/VulV3SYni1taM7a4RMdceqzJWR39gpZHjBwUnsCFKWV/GJkD14CJ5F7eWcZozmHJK0/f/H5U3b3SiPkuvxMgg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", "dev": true }, "html-minifier": { @@ -19527,6 +19707,12 @@ } } }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, "http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", @@ -19819,9 +20005,9 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true }, "is-color-stop": { @@ -19979,11 +20165,12 @@ } }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, @@ -20176,9 +20363,9 @@ "dev": true }, "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "requires": { "minimist": "^1.2.5" } @@ -20298,7 +20485,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, "requires": { "p-locate": "^4.1.0" } @@ -20519,16 +20705,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==" }, "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", "requires": { - "mime-db": "1.44.0" + "mime-db": "1.45.0" } }, "mimic-fn": { @@ -20828,9 +21014,9 @@ } }, "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", "dev": true }, "normalize-package-data": { @@ -21168,7 +21354,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, "requires": { "p-limit": "^2.2.0" } @@ -21296,8 +21481,7 @@ "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, "path-is-absolute": { "version": "1.0.1", @@ -22241,9 +22425,9 @@ }, "dependencies": { "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -22316,34 +22500,13 @@ } }, "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "regexpu-core": { @@ -22367,9 +22530,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", + "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -22396,14 +22559,14 @@ "devOptional": true }, "renderkid": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.4.tgz", - "integrity": "sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", + "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", "dev": true, "requires": { - "css-select": "^1.1.0", + "css-select": "^2.0.2", "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", + "htmlparser2": "^3.10.1", "lodash": "^4.17.20", "strip-ansi": "^3.0.0" }, @@ -22474,14 +22637,12 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, "requires-port": { "version": "1.0.0", @@ -22596,17 +22757,17 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.30.0.tgz", - "integrity": "sha512-26EUhOXRLaUY7+mWuRFqGeGGNmhB1vblpTENO1Z7mAzzIZeVxZr9EZoaY1kyGLFWdSOZxRMAufiN2mkbO6dAlw==", + "version": "1.32.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.6.tgz", + "integrity": "sha512-1bcDHDcSqeFtMr0JXI3xc/CXX6c4p0wHHivJdru8W7waM7a1WjKMm4m/Z5sY7CbVw4Whi2Chpcw6DFfSWwGLzQ==", "requires": { "chokidar": ">=2.0.0 <4.0.0" } }, "sass-loader": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.0.tgz", - "integrity": "sha512-ZCKAlczLBbFd3aGAhowpYEy69Te3Z68cg8bnHHl6WnSCvnKpbM6pQrz957HWMa8LKVuhnD9uMplmMAHwGQtHeg==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", + "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", "requires": { "klona": "^2.0.4", "loader-utils": "^2.0.0", @@ -22815,8 +22976,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-immediate-shim": { "version": "1.0.1", @@ -22896,9 +23056,9 @@ "dev": true }, "simple-git": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.31.0.tgz", - "integrity": "sha512-/+rmE7dYZMbRAfEmn8EUIOwlM2G7UdzpkC60KF86YAfXGnmGtsPrKsym0hKvLBdFLLW019C+aZld1+6iIVy5xA==", + "version": "2.34.2", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.34.2.tgz", + "integrity": "sha512-/EX4FtcpAj5L/Bs5zgaBGYDrnkrKflFVNppNLH9VXpIjZBLHx5cZ6/mOYJCoKXKlLRuk3iTvzrIsHo7v42zWHg==", "requires": { "@kwsites/file-exists": "^1.1.1", "@kwsites/promise-deferred": "^1.1.1", @@ -23069,73 +23229,52 @@ } }, "socket.io-client": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.0.3.tgz", - "integrity": "sha512-kwCJAKb6JMqE9ZYXg78Dgt8rYLSwtJ/g/LJqpb/pOTFRZMSr1cKAsCaisHZ+IBwKHBY7DYOOkjtkHqseY3ZLpw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-3.1.1.tgz", + "integrity": "sha512-BLgIuCjI7Sf3mDHunKddX9zKR/pbkP7IACM3sJS3jha+zJ6/pGKRV6Fz5XSBHCfUs9YzT8kYIqNwOOuFNLtnYA==", "requires": { "@types/component-emitter": "^1.2.10", - "backo2": "1.0.2", - "component-bind": "1.0.0", + "backo2": "~1.0.2", "component-emitter": "~1.3.0", - "debug": "~4.1.0", - "engine.io-client": "~4.0.0", + "debug": "~4.3.1", + "engine.io-client": "~4.1.0", "parseuri": "0.0.6", - "socket.io-parser": "~4.0.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - } + "socket.io-parser": "~4.0.4" } }, "socket.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.2.tgz", - "integrity": "sha512-Bs3IYHDivwf+bAAuW/8xwJgIiBNtlvnjYRc4PbXgniLmcP1BrakBoq/QhO24rgtgW7VZ7uAaswRGxutUnlAK7g==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", + "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", "requires": { "@types/component-emitter": "^1.2.10", "component-emitter": "~1.3.0", - "debug": "~4.1.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - } + "debug": "~4.3.1" } }, "sockjs": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", - "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", "dev": true, "requires": { - "faye-websocket": "^0.10.0", + "faye-websocket": "^0.11.3", "uuid": "^3.4.0", - "websocket-driver": "0.6.5" + "websocket-driver": "^0.7.4" } }, "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", "dev": true, "requires": { - "debug": "^3.2.5", + "debug": "^3.2.6", "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.4.7" }, "dependencies": { "debug": { @@ -23146,15 +23285,6 @@ "requires": { "ms": "^2.1.1" } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } } } }, @@ -23206,9 +23336,9 @@ } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" }, "spdx-correct": { "version": "3.1.1", @@ -23585,42 +23715,12 @@ "stable": "^0.1.8", "unquote": "~1.1.1", "util.promisify": "~1.0.0" - }, - "dependencies": { - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - } } }, "sweetalert2": { - "version": "10.12.5", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-10.12.5.tgz", - "integrity": "sha512-AyHHvwIIkelpfTLAKb3RDdOJv5rXoKGfMzcWr9lx6EEK/PnRU3bZosvnJavXgf2f5Uaz+N3KlqtDOgLVdi33hA==" + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-10.14.0.tgz", + "integrity": "sha512-EBUh4k9qyRRsttm9X9j7WUhLExetvTJpcbp1VTMJCpuI2UwHLesXMIw9M+UeuqBywv0UjNMR5PKH7Qnv65m8rw==" }, "tapable": { "version": "1.1.3", @@ -23692,6 +23792,20 @@ "unique-filename": "^1.1.1" } }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "p-map": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", @@ -24045,6 +24159,11 @@ } } }, + "unxhr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unxhr/-/unxhr-1.0.1.tgz", + "integrity": "sha512-MAhukhVHyaLGDjyDYhy8gVjWJyhTECCdNsLwlMoGFoNJ3o79fpQhtQuzmAE4IxCMDwraF4cW8ZjpAV0m9CRQbg==" + }, "upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", @@ -24058,9 +24177,9 @@ "dev": true }, "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } @@ -24098,9 +24217,9 @@ }, "dependencies": { "mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true } } @@ -24236,9 +24355,9 @@ "dev": true }, "vue-loader": { - "version": "15.9.5", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.5.tgz", - "integrity": "sha512-oeMOs2b5o5gRqkxfds10bCx6JeXYTwivRgbb8hzOrcThD2z1+GqEKE3EX9A2SGbsYDf4rXwRg6D5n1w0jO5SwA==", + "version": "15.9.6", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.6.tgz", + "integrity": "sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==", "dev": true, "requires": { "@vue/component-compiler-utils": "^3.1.0", @@ -24257,9 +24376,9 @@ } }, "vue-loader-v16": { - "version": "npm:vue-loader@16.1.1", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.1.tgz", - "integrity": "sha512-wz/+HFg/3SBayHWAlZXARcnDTl3VOChrfW9YnxvAweiuyKX/7IGx1ad/4yJHmwhgWlOVYMAbTiI7GV8G33PfGQ==", + "version": "npm:vue-loader@16.1.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.2.tgz", + "integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==", "dev": true, "optional": true, "requires": { @@ -24338,11 +24457,11 @@ } }, "vue-socket.io-extended": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/vue-socket.io-extended/-/vue-socket.io-extended-4.0.5.tgz", - "integrity": "sha512-7OUA76lpqHqVWD6+Qpc9UnEGBL4HzswDnaJSSOtd0TGwOLj+E2L59ExwLhHUuXB7QlLheFU/RzGJQ708YysABA==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/vue-socket.io-extended/-/vue-socket.io-extended-4.0.6.tgz", + "integrity": "sha512-fUt5ZxXntNTG0vkoHjUjpu8jKhao5MEfG4qj/zA2FOQMnbLVf/X/sLM2uypCtebowAyGPeoVXLq7U3GhguJhsg==", "requires": { - "@types/socket.io-client": "1.4.34" + "@types/socket.io-client": "1.4.35" } }, "vue-style-loader": { @@ -24364,9 +24483,9 @@ } }, "vue-sweetalert2": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vue-sweetalert2/-/vue-sweetalert2-4.1.1.tgz", - "integrity": "sha512-9ytddeXkjixIGzUxgmVAVdIOrbPiWcjEPQuO3mEPq4zc8clbQbhOn192zvYUdcM0SbRPzbafyXTFx9mNMNJzQA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/vue-sweetalert2/-/vue-sweetalert2-4.2.0.tgz", + "integrity": "sha512-6D7sNEWiUek8eNUl4oHJJvQPiXFVKGrtoJnUaturyVxBY7+MYQF1C7YEiktSp2UtatUPdObt+ozU5dN1TnvD4w==", "requires": { "sweetalert2": "10.x" } @@ -24393,9 +24512,9 @@ "requires": {} }, "vue2-datepicker": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.8.2.tgz", - "integrity": "sha512-GUoNLyzPl3Xi7ruSQFF59BzMXWuflxzP9yM3P4ARz9GfhzLLFgYVLAEkJi6DNQU7zozBMzz+VNIQDwPaDNMo6Q==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.9.0.tgz", + "integrity": "sha512-nRqIZx5Ks0TDHFyzyHYIlfmuszEsEvRhwJ6HGuGGHQpjOfrIgkJ9B0pnEEJaVS3LKX6IWCVQMUq0H7I2UKmHqA==", "requires": { "date-format-parse": "^0.2.6" } @@ -24440,9 +24559,9 @@ } }, "vuex": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.0.tgz", - "integrity": "sha512-W74OO2vCJPs9/YjNjW8lLbj+jzT24waTo2KShI8jLvJW8OaIkgb3wuAMA7D+ZiUxDOx3ubwSZTaJBip9G8a3aQ==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz", + "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==", "requires": {} }, "watchpack": { @@ -24563,9 +24682,9 @@ } }, "webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", @@ -24575,7 +24694,7 @@ "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", + "enhanced-resolve": "^4.5.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", @@ -24754,17 +24873,17 @@ }, "dependencies": { "mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", "dev": true } } }, "webpack-dev-server": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", - "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -24787,11 +24906,11 @@ "p-retry": "^3.0.1", "portfinder": "^1.0.26", "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", + "selfsigned": "^1.10.8", "semver": "^6.3.0", "serve-index": "^1.9.1", - "sockjs": "0.3.20", - "sockjs-client": "1.4.0", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", "spdy": "^4.0.2", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", @@ -25132,11 +25251,13 @@ } }, "websocket-driver": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, @@ -25158,8 +25279,7 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "wordwrap": { "version": "0.0.3", @@ -25178,7 +25298,6 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -25188,14 +25307,12 @@ "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -25204,7 +25321,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -25212,20 +25328,17 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -25236,7 +25349,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "requires": { "ansi-regex": "^5.0.0" } @@ -25249,9 +25361,9 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.5.tgz", - "integrity": "sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA==", + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", + "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==", "requires": {} }, "xmlhttprequest-ssl": { @@ -25275,10 +25387,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", "requires": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -25290,26 +25401,23 @@ "string-width": "^4.2.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "yargs-parser": "^18.1.1" }, "dependencies": { "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -25320,7 +25428,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, "requires": { "ansi-regex": "^5.0.0" } @@ -25331,7 +25438,6 @@ "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -25340,8 +25446,7 @@ "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" } } }, diff --git a/package.json b/package.json index a1b3dcc..a692088 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@fortawesome/free-brands-svg-icons": "^5.15.1", "@fortawesome/free-solid-svg-icons": "^5.15.1", "@fortawesome/vue-fontawesome": "^2.0.0", + "asciidoctor": "^2.2.0", "axios": "^0.21.0", "bootstrap-vue": "^2.19.0", "express": "^4.17.1", @@ -35,7 +36,7 @@ "vue-template-compiler": "^2.6.12", "vue-wait": "^1.4.8", "vue2-datepicker": "^3.8.2", - "vuetable-2": "^1.7.5", + "vuetable-2": "^1.3.1", "vuex": "^3.6.0" }, "devDependencies": { diff --git a/src-local/LabLearningObject-hybrid b/src-local/LabLearningObject-hybrid new file mode 160000 index 0000000..67928e8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid @@ -0,0 +1 @@ +Subproject commit 67928e846526796d305c87e33ed2b88cad3834f6 diff --git a/src-local/LabLearningObject-hybrid-tmp/0ajszhq4ez8f.html b/src-local/LabLearningObject-hybrid-tmp/0ajszhq4ez8f.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/0ajszhq4ez8f.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/0hd24n8mvc5m.html b/src-local/LabLearningObject-hybrid-tmp/0hd24n8mvc5m.html new file mode 100644 index 0000000..e3cf597 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/0hd24n8mvc5m.html @@ -0,0 +1,328 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/0uidbgygmbl.html b/src-local/LabLearningObject-hybrid-tmp/0uidbgygmbl.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/0uidbgygmbl.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/19c9pc.html b/src-local/LabLearningObject-hybrid-tmp/19c9pc.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/19c9pc.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/19k5t7bavu.html b/src-local/LabLearningObject-hybrid-tmp/19k5t7bavu.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/19k5t7bavu.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/1afnbdhzmw2.html b/src-local/LabLearningObject-hybrid-tmp/1afnbdhzmw2.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/1afnbdhzmw2.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/1phnqpkvfry.html b/src-local/LabLearningObject-hybrid-tmp/1phnqpkvfry.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/1phnqpkvfry.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/1qxpjt.html b/src-local/LabLearningObject-hybrid-tmp/1qxpjt.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/1qxpjt.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/2rhwqkk4wrm.html b/src-local/LabLearningObject-hybrid-tmp/2rhwqkk4wrm.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/2rhwqkk4wrm.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/38lhb.html b/src-local/LabLearningObject-hybrid-tmp/38lhb.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/38lhb.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/3c8uxdoe3uu.html b/src-local/LabLearningObject-hybrid-tmp/3c8uxdoe3uu.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/3c8uxdoe3uu.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/3evffi.html b/src-local/LabLearningObject-hybrid-tmp/3evffi.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/3evffi.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/3rzj4jh6hoa.html b/src-local/LabLearningObject-hybrid-tmp/3rzj4jh6hoa.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/3rzj4jh6hoa.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/3te3bmpxzfl.html b/src-local/LabLearningObject-hybrid-tmp/3te3bmpxzfl.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/3te3bmpxzfl.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/3tkemg3auu4.html b/src-local/LabLearningObject-hybrid-tmp/3tkemg3auu4.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/3tkemg3auu4.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/4b7t3lv3jpx.html b/src-local/LabLearningObject-hybrid-tmp/4b7t3lv3jpx.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/4b7t3lv3jpx.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/4btap7h39qf.html b/src-local/LabLearningObject-hybrid-tmp/4btap7h39qf.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/4btap7h39qf.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/4x5g88x91hq.html b/src-local/LabLearningObject-hybrid-tmp/4x5g88x91hq.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/4x5g88x91hq.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/50t9m85xl7r.html b/src-local/LabLearningObject-hybrid-tmp/50t9m85xl7r.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/50t9m85xl7r.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/5khqgmlerke.html b/src-local/LabLearningObject-hybrid-tmp/5khqgmlerke.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/5khqgmlerke.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/5n1fhh.html b/src-local/LabLearningObject-hybrid-tmp/5n1fhh.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/5n1fhh.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/5qvy432j0ci.html b/src-local/LabLearningObject-hybrid-tmp/5qvy432j0ci.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/5qvy432j0ci.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/5u9f3j9feiw.html b/src-local/LabLearningObject-hybrid-tmp/5u9f3j9feiw.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/5u9f3j9feiw.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/5w8xro98amb.html b/src-local/LabLearningObject-hybrid-tmp/5w8xro98amb.html new file mode 100644 index 0000000..fa85fef --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/5w8xro98amb.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +
+
+
+
bash script
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it

+
+
+
bash script
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/6edtl.html b/src-local/LabLearningObject-hybrid-tmp/6edtl.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/6edtl.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/6glg6tyt9tb.html b/src-local/LabLearningObject-hybrid-tmp/6glg6tyt9tb.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/6glg6tyt9tb.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/6kupcd1kodm.html b/src-local/LabLearningObject-hybrid-tmp/6kupcd1kodm.html new file mode 100644 index 0000000..687ac48 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/6kupcd1kodm.html @@ -0,0 +1,719 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+ + + + + +
+ + +
NOTE
+
+

Assuming you’re already logged in

+
+
+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+
+
+
+
+

2. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+
+
+

3. Find and grep

+
+
+

3.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

3.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

3.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +.bash script +
+
+
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it +.bash script

+
+
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+
+
+
+

4. Managing software

+
+
+

4.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

4.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

4.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

4.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

4.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

4.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

4.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+ + + + + +
+ + +
Reminder
+
+

Caminante, no hay camino,
+se hace camino al andar.

+
+
+

Wanderer, there is no path,
+the path is made by walking.

+
+
+

Antonio Machado Campos de Castilla

+
+
+
+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/6tcftt.html b/src-local/LabLearningObject-hybrid-tmp/6tcftt.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/6tcftt.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/6thjb5rlbdu.html b/src-local/LabLearningObject-hybrid-tmp/6thjb5rlbdu.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/6thjb5rlbdu.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/75jkqov60ls.html b/src-local/LabLearningObject-hybrid-tmp/75jkqov60ls.html new file mode 100644 index 0000000..206ae57 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/75jkqov60ls.html @@ -0,0 +1,714 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+ + + + + +
+ + +
NOTE
+
+

Assuming you’re already logged in

+
+
+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+
+
+
+
+

2. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+
+
+

3. Find and grep

+
+
+

3.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

3.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

3.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +.bash script +
+
+
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it +.bash script

+
+
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+
+
+
+

4. Managing software

+
+
+

4.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

4.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

4.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

4.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

4.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

4.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

4.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+ + + + + +
+ + +
Reminder
+
+

Caminante, no hay camino,
+se hace camino al andar.

+
+
+

Wanderer, there is no path,
+the path is made by walking.

+
+
+

Antonio Machado Campos de Castilla

+
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/7aot7uvycir.html b/src-local/LabLearningObject-hybrid-tmp/7aot7uvycir.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/7aot7uvycir.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/7du1hqyyq1g.html b/src-local/LabLearningObject-hybrid-tmp/7du1hqyyq1g.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/7du1hqyyq1g.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/7svezi.html b/src-local/LabLearningObject-hybrid-tmp/7svezi.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/7svezi.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/7wyz2fc6rmv.html b/src-local/LabLearningObject-hybrid-tmp/7wyz2fc6rmv.html new file mode 100644 index 0000000..342b074 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/7wyz2fc6rmv.html @@ -0,0 +1,45 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Exercise

+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/83hh8g.html b/src-local/LabLearningObject-hybrid-tmp/83hh8g.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/83hh8g.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/87h7inxr9qg.html b/src-local/LabLearningObject-hybrid-tmp/87h7inxr9qg.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/87h7inxr9qg.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/8r36ab9nf5m.html b/src-local/LabLearningObject-hybrid-tmp/8r36ab9nf5m.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/8r36ab9nf5m.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/916plim6uu.html b/src-local/LabLearningObject-hybrid-tmp/916plim6uu.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/916plim6uu.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/93f5fugs1tb.html b/src-local/LabLearningObject-hybrid-tmp/93f5fugs1tb.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/93f5fugs1tb.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/98p2lr.html b/src-local/LabLearningObject-hybrid-tmp/98p2lr.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/98p2lr.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/99kzjb5x8m.html b/src-local/LabLearningObject-hybrid-tmp/99kzjb5x8m.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/99kzjb5x8m.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/9dddazn5zqm.html b/src-local/LabLearningObject-hybrid-tmp/9dddazn5zqm.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/9dddazn5zqm.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/9ev86wois4.html b/src-local/LabLearningObject-hybrid-tmp/9ev86wois4.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/9ev86wois4.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/9f51uydi5wd.html b/src-local/LabLearningObject-hybrid-tmp/9f51uydi5wd.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/9f51uydi5wd.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/9rkmk4um3bs.html b/src-local/LabLearningObject-hybrid-tmp/9rkmk4um3bs.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/9rkmk4um3bs.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/9s18a8.html b/src-local/LabLearningObject-hybrid-tmp/9s18a8.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/9s18a8.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/a1pe6qafxin.html b/src-local/LabLearningObject-hybrid-tmp/a1pe6qafxin.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/a1pe6qafxin.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/a2l6ys.html b/src-local/LabLearningObject-hybrid-tmp/a2l6ys.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/a2l6ys.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/aixf26djuxt.html b/src-local/LabLearningObject-hybrid-tmp/aixf26djuxt.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/aixf26djuxt.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/an1dho.html b/src-local/LabLearningObject-hybrid-tmp/an1dho.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/an1dho.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/asxh7xuhpqr.html b/src-local/LabLearningObject-hybrid-tmp/asxh7xuhpqr.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/asxh7xuhpqr.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/axcyus99gy.html b/src-local/LabLearningObject-hybrid-tmp/axcyus99gy.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/axcyus99gy.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/azh9w6ys9jn.html b/src-local/LabLearningObject-hybrid-tmp/azh9w6ys9jn.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/azh9w6ys9jn.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/b1500q27hm.html b/src-local/LabLearningObject-hybrid-tmp/b1500q27hm.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/b1500q27hm.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/b2r8fhdtzun.html b/src-local/LabLearningObject-hybrid-tmp/b2r8fhdtzun.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/b2r8fhdtzun.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/b9rbn.html b/src-local/LabLearningObject-hybrid-tmp/b9rbn.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/b9rbn.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/bbb8sb8gnb4.html b/src-local/LabLearningObject-hybrid-tmp/bbb8sb8gnb4.html new file mode 100644 index 0000000..fa85fef --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/bbb8sb8gnb4.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +
+
+
+
bash script
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it

+
+
+
bash script
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/bbrbcb4x489.html b/src-local/LabLearningObject-hybrid-tmp/bbrbcb4x489.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/bbrbcb4x489.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/bhcyj5rlxb8.html b/src-local/LabLearningObject-hybrid-tmp/bhcyj5rlxb8.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/bhcyj5rlxb8.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/bnaki4o9rs.html b/src-local/LabLearningObject-hybrid-tmp/bnaki4o9rs.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/bnaki4o9rs.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/buum6jtk4lf.html b/src-local/LabLearningObject-hybrid-tmp/buum6jtk4lf.html new file mode 100644 index 0000000..f2775b3 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/buum6jtk4lf.html @@ -0,0 +1,45 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Exercise answer

+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/bwmp2.html b/src-local/LabLearningObject-hybrid-tmp/bwmp2.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/bwmp2.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/bz4dsqp7eo5.html b/src-local/LabLearningObject-hybrid-tmp/bz4dsqp7eo5.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/bz4dsqp7eo5.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/c28zy8bemxd.html b/src-local/LabLearningObject-hybrid-tmp/c28zy8bemxd.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/c28zy8bemxd.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/c80kmq.html b/src-local/LabLearningObject-hybrid-tmp/c80kmq.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/c80kmq.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/c9g3860bb2v.html b/src-local/LabLearningObject-hybrid-tmp/c9g3860bb2v.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/c9g3860bb2v.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ca447s.html b/src-local/LabLearningObject-hybrid-tmp/ca447s.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ca447s.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ccdyjhwixp.html b/src-local/LabLearningObject-hybrid-tmp/ccdyjhwixp.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ccdyjhwixp.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ce22he.html b/src-local/LabLearningObject-hybrid-tmp/ce22he.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ce22he.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/cezsd2kfd2d.html b/src-local/LabLearningObject-hybrid-tmp/cezsd2kfd2d.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/cezsd2kfd2d.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/coqfzs7rkm9.html b/src-local/LabLearningObject-hybrid-tmp/coqfzs7rkm9.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/coqfzs7rkm9.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ctnlpr63i95.html b/src-local/LabLearningObject-hybrid-tmp/ctnlpr63i95.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ctnlpr63i95.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/d6ulqy.html b/src-local/LabLearningObject-hybrid-tmp/d6ulqy.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/d6ulqy.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/db7saktwcyu.html b/src-local/LabLearningObject-hybrid-tmp/db7saktwcyu.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/db7saktwcyu.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/dbmkimnsntc.html b/src-local/LabLearningObject-hybrid-tmp/dbmkimnsntc.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/dbmkimnsntc.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/dcjtuo.html b/src-local/LabLearningObject-hybrid-tmp/dcjtuo.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/dcjtuo.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ded0jk4zkri.html b/src-local/LabLearningObject-hybrid-tmp/ded0jk4zkri.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ded0jk4zkri.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/dhscge.html b/src-local/LabLearningObject-hybrid-tmp/dhscge.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/dhscge.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ds96dcjes6.html b/src-local/LabLearningObject-hybrid-tmp/ds96dcjes6.html new file mode 100644 index 0000000..f2775b3 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ds96dcjes6.html @@ -0,0 +1,45 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Exercise answer

+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/dss3ig3mpjj.html b/src-local/LabLearningObject-hybrid-tmp/dss3ig3mpjj.html new file mode 100644 index 0000000..c905b40 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/dss3ig3mpjj.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +.bash script +
+
+
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it +.bash script

+
+
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/dtniws.html b/src-local/LabLearningObject-hybrid-tmp/dtniws.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/dtniws.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/dtvjh.html b/src-local/LabLearningObject-hybrid-tmp/dtvjh.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/dtvjh.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/e0fnevbqns.html b/src-local/LabLearningObject-hybrid-tmp/e0fnevbqns.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/e0fnevbqns.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ea78da7efci.html b/src-local/LabLearningObject-hybrid-tmp/ea78da7efci.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ea78da7efci.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ei0i06um1zu.html b/src-local/LabLearningObject-hybrid-tmp/ei0i06um1zu.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ei0i06um1zu.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/eix9yu0eg5a.html b/src-local/LabLearningObject-hybrid-tmp/eix9yu0eg5a.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/eix9yu0eg5a.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/eknizlly6e.html b/src-local/LabLearningObject-hybrid-tmp/eknizlly6e.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/eknizlly6e.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/exv9ge57qvi.html b/src-local/LabLearningObject-hybrid-tmp/exv9ge57qvi.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/exv9ge57qvi.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/f0un7p.html b/src-local/LabLearningObject-hybrid-tmp/f0un7p.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/f0un7p.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/f8ni2.html b/src-local/LabLearningObject-hybrid-tmp/f8ni2.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/f8ni2.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/fcmqxjqkegr.html b/src-local/LabLearningObject-hybrid-tmp/fcmqxjqkegr.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/fcmqxjqkegr.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/file b/src-local/LabLearningObject-hybrid-tmp/file new file mode 100644 index 0000000..e69de29 diff --git a/src-local/LabLearningObject-hybrid-tmp/fjrbqu462l.html b/src-local/LabLearningObject-hybrid-tmp/fjrbqu462l.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/fjrbqu462l.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/fqhoq2ndiq7.html b/src-local/LabLearningObject-hybrid-tmp/fqhoq2ndiq7.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/fqhoq2ndiq7.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/fwuqtg.html b/src-local/LabLearningObject-hybrid-tmp/fwuqtg.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/fwuqtg.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/g59w7.html b/src-local/LabLearningObject-hybrid-tmp/g59w7.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/g59w7.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/g9ddd.html b/src-local/LabLearningObject-hybrid-tmp/g9ddd.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/g9ddd.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/g9v2rm0vcsw.html b/src-local/LabLearningObject-hybrid-tmp/g9v2rm0vcsw.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/g9v2rm0vcsw.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/gdci62z921.html b/src-local/LabLearningObject-hybrid-tmp/gdci62z921.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/gdci62z921.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/git1nx7lasp.html b/src-local/LabLearningObject-hybrid-tmp/git1nx7lasp.html new file mode 100644 index 0000000..206ae57 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/git1nx7lasp.html @@ -0,0 +1,714 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+ + + + + +
+ + +
NOTE
+
+

Assuming you’re already logged in

+
+
+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+
+
+
+
+

2. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+
+
+

3. Find and grep

+
+
+

3.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

3.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

3.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +.bash script +
+
+
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it +.bash script

+
+
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+
+
+
+

4. Managing software

+
+
+

4.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

4.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

4.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

4.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

4.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

4.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

4.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+ + + + + +
+ + +
Reminder
+
+

Caminante, no hay camino,
+se hace camino al andar.

+
+
+

Wanderer, there is no path,
+the path is made by walking.

+
+
+

Antonio Machado Campos de Castilla

+
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/h0046t19zd.html b/src-local/LabLearningObject-hybrid-tmp/h0046t19zd.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/h0046t19zd.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/h3b8t9ru2.html b/src-local/LabLearningObject-hybrid-tmp/h3b8t9ru2.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/h3b8t9ru2.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/h7shumxlsb.html b/src-local/LabLearningObject-hybrid-tmp/h7shumxlsb.html new file mode 100644 index 0000000..e3cf597 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/h7shumxlsb.html @@ -0,0 +1,328 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/haeuf7tl5iq.html b/src-local/LabLearningObject-hybrid-tmp/haeuf7tl5iq.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/haeuf7tl5iq.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/hc8am7z2w3.html b/src-local/LabLearningObject-hybrid-tmp/hc8am7z2w3.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/hc8am7z2w3.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/hejr75n7xoo.html b/src-local/LabLearningObject-hybrid-tmp/hejr75n7xoo.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/hejr75n7xoo.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/hig4m3.html b/src-local/LabLearningObject-hybrid-tmp/hig4m3.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/hig4m3.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/hl440wq3rnu.html b/src-local/LabLearningObject-hybrid-tmp/hl440wq3rnu.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/hl440wq3rnu.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/hqsh4.html b/src-local/LabLearningObject-hybrid-tmp/hqsh4.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/hqsh4.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ig3815wpakc.html b/src-local/LabLearningObject-hybrid-tmp/ig3815wpakc.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ig3815wpakc.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/imjwbntkj3d.html b/src-local/LabLearningObject-hybrid-tmp/imjwbntkj3d.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/imjwbntkj3d.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/iqun9ljkwqd.html b/src-local/LabLearningObject-hybrid-tmp/iqun9ljkwqd.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/iqun9ljkwqd.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/irms6yrg3xa.html b/src-local/LabLearningObject-hybrid-tmp/irms6yrg3xa.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/irms6yrg3xa.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/is7b5.html b/src-local/LabLearningObject-hybrid-tmp/is7b5.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/is7b5.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/j4zle1dnbqb.html b/src-local/LabLearningObject-hybrid-tmp/j4zle1dnbqb.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/j4zle1dnbqb.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/j60xh3p1crr.html b/src-local/LabLearningObject-hybrid-tmp/j60xh3p1crr.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/j60xh3p1crr.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/j79egukh06k.html b/src-local/LabLearningObject-hybrid-tmp/j79egukh06k.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/j79egukh06k.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/jbybog.html b/src-local/LabLearningObject-hybrid-tmp/jbybog.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/jbybog.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/jfvi9c.html b/src-local/LabLearningObject-hybrid-tmp/jfvi9c.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/jfvi9c.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/jjgf9.html b/src-local/LabLearningObject-hybrid-tmp/jjgf9.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/jjgf9.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/jpf352o0vt.html b/src-local/LabLearningObject-hybrid-tmp/jpf352o0vt.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/jpf352o0vt.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/jr3wferc76.html b/src-local/LabLearningObject-hybrid-tmp/jr3wferc76.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/jr3wferc76.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/jznztcyblum.html b/src-local/LabLearningObject-hybrid-tmp/jznztcyblum.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/jznztcyblum.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/k1o2fuzkjec.html b/src-local/LabLearningObject-hybrid-tmp/k1o2fuzkjec.html new file mode 100644 index 0000000..36d6f0a --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/k1o2fuzkjec.html @@ -0,0 +1,343 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+ + + + + +
+ + +
NOTE
+
+

Assuming you’re already logged in

+
+
+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/k85fav.html b/src-local/LabLearningObject-hybrid-tmp/k85fav.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/k85fav.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/kbqjb3card.html b/src-local/LabLearningObject-hybrid-tmp/kbqjb3card.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/kbqjb3card.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/kdsqpplmq6d.html b/src-local/LabLearningObject-hybrid-tmp/kdsqpplmq6d.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/kdsqpplmq6d.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/kn8pll65kk.html b/src-local/LabLearningObject-hybrid-tmp/kn8pll65kk.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/kn8pll65kk.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/kokznc.html b/src-local/LabLearningObject-hybrid-tmp/kokznc.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/kokznc.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ktdgb9.html b/src-local/LabLearningObject-hybrid-tmp/ktdgb9.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ktdgb9.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ku8q7e7f8g.html b/src-local/LabLearningObject-hybrid-tmp/ku8q7e7f8g.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ku8q7e7f8g.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/l5v5jo.html b/src-local/LabLearningObject-hybrid-tmp/l5v5jo.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/l5v5jo.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/l9dm7x0i89m.html b/src-local/LabLearningObject-hybrid-tmp/l9dm7x0i89m.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/l9dm7x0i89m.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/lozxt2.html b/src-local/LabLearningObject-hybrid-tmp/lozxt2.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/lozxt2.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/lreoyc08wc.html b/src-local/LabLearningObject-hybrid-tmp/lreoyc08wc.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/lreoyc08wc.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/luhlg.html b/src-local/LabLearningObject-hybrid-tmp/luhlg.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/luhlg.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/m0195j.html b/src-local/LabLearningObject-hybrid-tmp/m0195j.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/m0195j.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/m7zy5c65orm.html b/src-local/LabLearningObject-hybrid-tmp/m7zy5c65orm.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/m7zy5c65orm.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/mabj164260d.html b/src-local/LabLearningObject-hybrid-tmp/mabj164260d.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/mabj164260d.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/mdy44shp9ac.html b/src-local/LabLearningObject-hybrid-tmp/mdy44shp9ac.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/mdy44shp9ac.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/mmdy6eql0fp.html b/src-local/LabLearningObject-hybrid-tmp/mmdy6eql0fp.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/mmdy6eql0fp.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/mqduv4n9boj.html b/src-local/LabLearningObject-hybrid-tmp/mqduv4n9boj.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/mqduv4n9boj.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/mvslupi4n8.html b/src-local/LabLearningObject-hybrid-tmp/mvslupi4n8.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/mvslupi4n8.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/n2la4e2xulp.html b/src-local/LabLearningObject-hybrid-tmp/n2la4e2xulp.html new file mode 100644 index 0000000..e3cf597 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/n2la4e2xulp.html @@ -0,0 +1,328 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/nd3ewfddvso.html b/src-local/LabLearningObject-hybrid-tmp/nd3ewfddvso.html new file mode 100644 index 0000000..e3cf597 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/nd3ewfddvso.html @@ -0,0 +1,328 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/nkx54h9o4gi.html b/src-local/LabLearningObject-hybrid-tmp/nkx54h9o4gi.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/nkx54h9o4gi.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/nmc4bxl04tq.html b/src-local/LabLearningObject-hybrid-tmp/nmc4bxl04tq.html new file mode 100644 index 0000000..fa85fef --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/nmc4bxl04tq.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +
+
+
+
bash script
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it

+
+
+
bash script
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/nssqh89k4hs.html b/src-local/LabLearningObject-hybrid-tmp/nssqh89k4hs.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/nssqh89k4hs.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ny1rq14d6a.html b/src-local/LabLearningObject-hybrid-tmp/ny1rq14d6a.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ny1rq14d6a.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/nznnf5b0lcs.html b/src-local/LabLearningObject-hybrid-tmp/nznnf5b0lcs.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/nznnf5b0lcs.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/o1beq2qgezi.html b/src-local/LabLearningObject-hybrid-tmp/o1beq2qgezi.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/o1beq2qgezi.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/o9po9uvqi7h.html b/src-local/LabLearningObject-hybrid-tmp/o9po9uvqi7h.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/o9po9uvqi7h.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/oc5pj14rnh.html b/src-local/LabLearningObject-hybrid-tmp/oc5pj14rnh.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/oc5pj14rnh.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/oglq5azt71q.html b/src-local/LabLearningObject-hybrid-tmp/oglq5azt71q.html new file mode 100644 index 0000000..fa85fef --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/oglq5azt71q.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +
+
+
+
bash script
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it

+
+
+
bash script
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/p3vxnmwgkb.html b/src-local/LabLearningObject-hybrid-tmp/p3vxnmwgkb.html new file mode 100644 index 0000000..fa85fef --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/p3vxnmwgkb.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +
+
+
+
bash script
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it

+
+
+
bash script
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/p6hoq10bc8.html b/src-local/LabLearningObject-hybrid-tmp/p6hoq10bc8.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/p6hoq10bc8.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/pfq3jirfbvm.html b/src-local/LabLearningObject-hybrid-tmp/pfq3jirfbvm.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/pfq3jirfbvm.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/pi21kg3bkx.html b/src-local/LabLearningObject-hybrid-tmp/pi21kg3bkx.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/pi21kg3bkx.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/pp6wsi.html b/src-local/LabLearningObject-hybrid-tmp/pp6wsi.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/pp6wsi.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/pv1oyaxwx3n.html b/src-local/LabLearningObject-hybrid-tmp/pv1oyaxwx3n.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/pv1oyaxwx3n.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/q24kt.html b/src-local/LabLearningObject-hybrid-tmp/q24kt.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/q24kt.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/qbkn5hjp669.html b/src-local/LabLearningObject-hybrid-tmp/qbkn5hjp669.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/qbkn5hjp669.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/qgw58g2rluh.html b/src-local/LabLearningObject-hybrid-tmp/qgw58g2rluh.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/qgw58g2rluh.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/qhra43kqzuh.html b/src-local/LabLearningObject-hybrid-tmp/qhra43kqzuh.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/qhra43kqzuh.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/qm6rnzyx34.html b/src-local/LabLearningObject-hybrid-tmp/qm6rnzyx34.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/qm6rnzyx34.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/qs921xh55o.html b/src-local/LabLearningObject-hybrid-tmp/qs921xh55o.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/qs921xh55o.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/r109ayd06y.html b/src-local/LabLearningObject-hybrid-tmp/r109ayd06y.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/r109ayd06y.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/r7snzdnl2sk.html b/src-local/LabLearningObject-hybrid-tmp/r7snzdnl2sk.html new file mode 100644 index 0000000..cfdc196 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/r7snzdnl2sk.html @@ -0,0 +1,175 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +.bash script +
+
+
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it +.bash script

+
+
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rbnhnl1mxve.html b/src-local/LabLearningObject-hybrid-tmp/rbnhnl1mxve.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rbnhnl1mxve.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rj8jjo0pfeb.html b/src-local/LabLearningObject-hybrid-tmp/rj8jjo0pfeb.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rj8jjo0pfeb.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rkn3iv15dn.html b/src-local/LabLearningObject-hybrid-tmp/rkn3iv15dn.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rkn3iv15dn.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rkz3fq0kqga.html b/src-local/LabLearningObject-hybrid-tmp/rkz3fq0kqga.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rkz3fq0kqga.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rnaeiv6k8gi.html b/src-local/LabLearningObject-hybrid-tmp/rnaeiv6k8gi.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rnaeiv6k8gi.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rq1yvm97k6.html b/src-local/LabLearningObject-hybrid-tmp/rq1yvm97k6.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rq1yvm97k6.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rw1e3e.html b/src-local/LabLearningObject-hybrid-tmp/rw1e3e.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rw1e3e.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/rzize9.html b/src-local/LabLearningObject-hybrid-tmp/rzize9.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/rzize9.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/sgqlgbcsr2.html b/src-local/LabLearningObject-hybrid-tmp/sgqlgbcsr2.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/sgqlgbcsr2.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/sw161h.html b/src-local/LabLearningObject-hybrid-tmp/sw161h.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/sw161h.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/sxel8f.html b/src-local/LabLearningObject-hybrid-tmp/sxel8f.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/sxel8f.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/t7o40bsz5gj.html b/src-local/LabLearningObject-hybrid-tmp/t7o40bsz5gj.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/t7o40bsz5gj.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/tdrp8n2nvmk.html b/src-local/LabLearningObject-hybrid-tmp/tdrp8n2nvmk.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/tdrp8n2nvmk.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/tmpxn7p9wle.html b/src-local/LabLearningObject-hybrid-tmp/tmpxn7p9wle.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/tmpxn7p9wle.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/tu90u2ovrus.html b/src-local/LabLearningObject-hybrid-tmp/tu90u2ovrus.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/tu90u2ovrus.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/tz1gqo.html b/src-local/LabLearningObject-hybrid-tmp/tz1gqo.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/tz1gqo.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/u1mtre1ntye.html b/src-local/LabLearningObject-hybrid-tmp/u1mtre1ntye.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/u1mtre1ntye.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ubii0j.html b/src-local/LabLearningObject-hybrid-tmp/ubii0j.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ubii0j.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/uq5kqsx593.html b/src-local/LabLearningObject-hybrid-tmp/uq5kqsx593.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/uq5kqsx593.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/urn2fp1rqi.html b/src-local/LabLearningObject-hybrid-tmp/urn2fp1rqi.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/urn2fp1rqi.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/uzbzac8vdcd.html b/src-local/LabLearningObject-hybrid-tmp/uzbzac8vdcd.html new file mode 100644 index 0000000..342b074 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/uzbzac8vdcd.html @@ -0,0 +1,45 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Exercise

+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/v9bsnn2l5g.html b/src-local/LabLearningObject-hybrid-tmp/v9bsnn2l5g.html new file mode 100644 index 0000000..e3cf597 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/v9bsnn2l5g.html @@ -0,0 +1,328 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/v9zqixm9u8e.html b/src-local/LabLearningObject-hybrid-tmp/v9zqixm9u8e.html new file mode 100644 index 0000000..9c97878 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/v9zqixm9u8e.html @@ -0,0 +1,129 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/vfcy9cux28.html b/src-local/LabLearningObject-hybrid-tmp/vfcy9cux28.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/vfcy9cux28.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/vj8hf9t01th.html b/src-local/LabLearningObject-hybrid-tmp/vj8hf9t01th.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/vj8hf9t01th.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/vsl0a.html b/src-local/LabLearningObject-hybrid-tmp/vsl0a.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/vsl0a.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/vuuuoa6zdn.html b/src-local/LabLearningObject-hybrid-tmp/vuuuoa6zdn.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/vuuuoa6zdn.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/vuwtrw3lcv.html b/src-local/LabLearningObject-hybrid-tmp/vuwtrw3lcv.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/vuwtrw3lcv.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/vv4vzm.html b/src-local/LabLearningObject-hybrid-tmp/vv4vzm.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/vv4vzm.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/w4132bieiel.html b/src-local/LabLearningObject-hybrid-tmp/w4132bieiel.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/w4132bieiel.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/w4j9b9g36sq.html b/src-local/LabLearningObject-hybrid-tmp/w4j9b9g36sq.html new file mode 100644 index 0000000..55cb15f --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/w4j9b9g36sq.html @@ -0,0 +1,298 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/w6bhwnqh3vs.html b/src-local/LabLearningObject-hybrid-tmp/w6bhwnqh3vs.html new file mode 100644 index 0000000..fa85fef --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/w6bhwnqh3vs.html @@ -0,0 +1,168 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Find and grep

+
+
+

1.1. find

+
+

The find tool, known from UNIX, is very powerful. This command not only allows you to search file names, it can also accept file size, date of last change and other file properties as criteria for a search.

+
+
+

The most common use is for finding file names:

+
+
+ + + + + +
+ + +find <path> -name <searchstring> +
+
+
+

This can be interpreted as "Look in all files and subdirectories contained in a given path, and print the names of the files containing the search string in their name" (not in their content).

+
+
+
+
 find /etc -name "*.conf"
+
+
+
+
+

1.2. grep

+
+

grep is used for filtering input lines and returning certain patterns to the output.

+
+
+ + + + + +
+ + +grep "string" path/to/file +
+
+
+
+
 grep "root" /etc/passwd
+
+
+
+
+

1.3. find and grep command together

+
+

find /etc -name "*.conf" -exec grep -Hns "conf" {} \;

+
+
+
Explanation
+
+
-H, --with-filename
+      Print the filename for each match
+-n, --line-number
+      Prefix each line of output with the 1-based line number within its input file
+-s, --no-messages
+      Suppress error messages about nonexistent or unreadable files.
+
+
+
+ + + + + +
+ + +This can be interpreted as
+- "Look for *.conf files and subdirectories contained in /etc, and if true exec grep -Hns conf in the given file" +
+
+
+ + + + + +
+ + +Very powerful in bash scripts +create a file test.sh +
+
+
+
bash script
+
+
#!/bin/bash
+STRING=$(find /etc -name "*.conf" -exec grep -Hns "conf" {} \;)
+echo $STRING
+
+
+
+

exec it

+
+
+
bash script
+
+
chmod 700 test.sh
+./test.sh
+
+
+
+


+
+

+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wd4nwtuv3.html b/src-local/LabLearningObject-hybrid-tmp/wd4nwtuv3.html new file mode 100644 index 0000000..342b074 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wd4nwtuv3.html @@ -0,0 +1,45 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Exercise

+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wg7uo9f7xjk.html b/src-local/LabLearningObject-hybrid-tmp/wg7uo9f7xjk.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wg7uo9f7xjk.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wgwzgjd3xy.html b/src-local/LabLearningObject-hybrid-tmp/wgwzgjd3xy.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wgwzgjd3xy.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/whw8pprt22r.html b/src-local/LabLearningObject-hybrid-tmp/whw8pprt22r.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/whw8pprt22r.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wks9ty.html b/src-local/LabLearningObject-hybrid-tmp/wks9ty.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wks9ty.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wm95oilje4q.html b/src-local/LabLearningObject-hybrid-tmp/wm95oilje4q.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wm95oilje4q.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wpytgr4fnp9.html b/src-local/LabLearningObject-hybrid-tmp/wpytgr4fnp9.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wpytgr4fnp9.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/wt6c2eyd4ui.html b/src-local/LabLearningObject-hybrid-tmp/wt6c2eyd4ui.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/wt6c2eyd4ui.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/x1acwzy4w0e.html b/src-local/LabLearningObject-hybrid-tmp/x1acwzy4w0e.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/x1acwzy4w0e.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/xgjis3.html b/src-local/LabLearningObject-hybrid-tmp/xgjis3.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/xgjis3.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/xjd2zhnjt5.html b/src-local/LabLearningObject-hybrid-tmp/xjd2zhnjt5.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/xjd2zhnjt5.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/xk733f4fewi.html b/src-local/LabLearningObject-hybrid-tmp/xk733f4fewi.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/xk733f4fewi.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/xkdsscpy0w.html b/src-local/LabLearningObject-hybrid-tmp/xkdsscpy0w.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/xkdsscpy0w.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/xkwf9wgcpdr.html b/src-local/LabLearningObject-hybrid-tmp/xkwf9wgcpdr.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/xkwf9wgcpdr.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/yvhi6r.html b/src-local/LabLearningObject-hybrid-tmp/yvhi6r.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/yvhi6r.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/ywi2wq.html b/src-local/LabLearningObject-hybrid-tmp/ywi2wq.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/ywi2wq.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/z349lfetth.html b/src-local/LabLearningObject-hybrid-tmp/z349lfetth.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/z349lfetth.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/z3lhczzuex9.html b/src-local/LabLearningObject-hybrid-tmp/z3lhczzuex9.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/z3lhczzuex9.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/z8ei59vcmwb.html b/src-local/LabLearningObject-hybrid-tmp/z8ei59vcmwb.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/z8ei59vcmwb.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/za6tz5acu0g.html b/src-local/LabLearningObject-hybrid-tmp/za6tz5acu0g.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/za6tz5acu0g.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/zbkajy.html b/src-local/LabLearningObject-hybrid-tmp/zbkajy.html new file mode 100644 index 0000000..a582ae8 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/zbkajy.html @@ -0,0 +1,34 @@ + + + + + + + + + + +works + + + + + + +
+ +
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/zjlw4ravhl.html b/src-local/LabLearningObject-hybrid-tmp/zjlw4ravhl.html new file mode 100644 index 0000000..55cb15f --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/zjlw4ravhl.html @@ -0,0 +1,298 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/zkgx8qgu7c.html b/src-local/LabLearningObject-hybrid-tmp/zkgx8qgu7c.html new file mode 100644 index 0000000..212dfea --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/zkgx8qgu7c.html @@ -0,0 +1,165 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
+

1. Managing software

+
+
+

1.1. APT

+
+

WHAT IS APT?

+
+
+

A packaging system simply provides programs and applications for installation.

+
+
+

APT(Advanced Package Tool) is a command line tool that is the most efficient and preferred way of managing software from the command line for Debian and Debian based Linux distributions like Ubuntu . It manages dependencies effectively, maintains large configuration files and properly handles upgrades and downgrades to ensure system stability.

+
+
+

1.1.1. Updating Package Database

+
+

Before commencing any operations with apt, we need to ensure that our local copy of the database is up-to-date. +Without this the system won’t know if there are newer packages available or not.

+
+
+
+
apt-get update
+
+
+
+
+

1.1.2. Upgrading Package Database

+
+

Once your package database has been updated, you can now upgrade the packages with updates installed on you machine. This will update any applications, and the Ubuntu core system to the latest versions available.

+
+
+
+
sudo apt-get upgrade
+
+
+
+
+

1.1.3. SEARCH FOR PACKAGES WITH APT

+
+

To search for a package you can use the following command:

+
+
+
+
apt search apache2
+
+
+
+
+

1.1.4. INSTALLING NEW PACKAGES

+
+

If you are find the name of the package you want to install, you can install it by running this command:

+
+
+
+
apt install apache2 vlc
+
+
+
+
+

1.1.5. REMOVING INSTALLED PACKAGES

+
+

To uninstall a package from your system, you can use the following command:

+
+
+
+
apt remove vlc
+
+
+
+ + + + + +
+ + +This command removes the package but keeps the configuration files. So in case you reinstall the same package, your configuration remains the same. If you want to remove both the package and its associated configuration files, you can run this command: +
+
+
+
+
apt purge vlc
+
+
+
+
+

1.1.6. clean up any unused libraries and packages

+
+
+
apt autoremove
+
+
+
+

This command automatically removes any packages that aren’t used or associated with any installed program. It’s a great way to clean up any unused libraries and packages you don’t need.

+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/zwstm76b6r.html b/src-local/LabLearningObject-hybrid-tmp/zwstm76b6r.html new file mode 100644 index 0000000..0e4460e --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/zwstm76b6r.html @@ -0,0 +1,349 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Absolute basics

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Absolute basics
CommandMeaning

ls

Displays a list of files in the current working directory.

cd directory

change directories

passwd

change the password for the current user

file filename

display file type of file with name filename

cat textfile

throws content of textfile on the screen

pwd

display present working directory

exit or logout

leave this session

man command

read man pages on command

+
+

1.1. Key combinations

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2. Key combinations
Key or key combinationFunction

Ctrl+C

End a running program and return the prompt

Ctrl+Z

Suspend a program

ArrowUp and ArrowDown

Browse history. Go to the line that you want to repeat, edit details if necessary, and press Enter to save time.

Tab

Command or filename completion; when multiple choices are possible, the system will either signal with an audio or visual bell, or, if too many choices are possible, ask you if you want to see them all.

Tab Tab

Shows file or command completion possibilities.

Shift+PageUp and Shift+PageDown

Browse terminal buffer (to see text that has "scrolled off" the screen).

+
+
+

1.2. ls -l

+
+
+
# ls -al
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  23 21:55 .
+drwxrwxr-x 9 zeus zeus  4096 Οκτ  15 14:28 ..
+drwxrwxr-x 8 zeus zeus  4096 Οκτ  23 21:55 .git
+drwxrwxr-x 4 zeus zeus  4096 Οκτ  14 20:24 install
+crw-------   1 root root        5,   1 Οκτ  23 21:22 console
+lrwxrwxrwx   1 root root            11 Οκτ  23 21:21 core -> /proc/kcore
+drwxr-xr-x   4 root root           100 Οκτ  23 21:22 cpu
+crw-------   1 root root       10,  59 Οκτ  23 21:21 cpu_dma_latency
+crw-------   1 root root       10, 203 Οκτ  23 21:21 cuse
+-rw-rw-r-- 1 zeus zeus  1517 Οκτ  23 21:55 INSTALL.md
+-rw-rw-r-- 1 zeus zeus 33883 Οκτ  15 14:28 LICENSE
+-rw-rw-r-- 1 zeus zeus   691 Οκτ  17 11:13 README.md
+
+
+
+

1.2.1. File types

+
+

This table gives an overview of the characters determining the file type:

+
+
+ + + + + +
+ + +drwxrwxr-x 4 zeus zeus 4096 Οκτ 14 20:24 install +
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3. File types in a long list
SymbolMeaning

-

Regular file

d

Directory

l

Link

c

Special file

s

Socket

p

Named pipe

b

Block device

+
+ + + + + +
+ + +-rw-rw-r-- 1 zeus zeus 1517 Οκτ 23 21:55 INSTALL.md +
+
+
+
+

1.2.2. Access rights

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4. Access rights
CodeMeaning

0 or -

The access right that is supposed to be on this place is not granted.

4 or

read access is granted to the user category defined in this place

2 or

write permission is granted to the user category defined in this place

1 or

execute permission is granted to the user category defined in this place

+
+
+

1.2.3. User group codes

+ + +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 5. User group codes
CodeMeaning

u

user permissions

-rw-rw-r--

g

group permissions

-rw-rw-r--

o

permissions for others

-rw-rw-rw-

+
+
+

1.2.4. Exercises

+
+
+
touch example
+chmod 400 example
+ls -l example
+chmod 500 example
+ls -l example
+chmod 600 example
+ls -l example
+chmod 644 example
+ls -l example
+chmod 660 example
+ls -l example
+chmod 700 example
+ls -l example
+chmod 755 example
+ls -l example
+chmod 775 example
+ls -l example
+ls -l example
+chmod 777 example
+ls -l example
+
+
+
+


+
+

+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/zyf8gevajjk.html b/src-local/LabLearningObject-hybrid-tmp/zyf8gevajjk.html new file mode 100644 index 0000000..448e160 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/zyf8gevajjk.html @@ -0,0 +1,122 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+

1. Linux file system layout

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Subdirectories of the root directory
DirectoryContent

/bin

Common programs, shared by the system, the system administrator and the users.

/boot

The startup files and the kernel, vmlinuz. In some recent distributions also grub data. Grub is the GRand Unified Boot loader and is an attempt to get rid of the many different boot-loaders we know today.

/dev

Contains references to all the CPU peripheral hardware, which are represented as files with special properties.

/etc

Most important system configuration files are in /etc

/home

Home directories of the common users.

/lib

Library files, includes files for all kinds of programs needed by the system and the users.

/mnt

Standard mount point for external file systems, e.g. a CD-ROM or a digital camera.

/opt

Typically contains extra and third party software.

/proc

A virtual file system containing information about system resources.

/root

The administrative user’s home directory. Mind the difference between /, the root directory and /root, the home directory of the root user.

/sbin

Programs for use by the system and the system administrator.

/tmp

Temporary space for use by the system, cleaned upon reboot, so don’t use this for saving any work!

/usr

Programs, libraries, documentation etc. for all user-related programs.

/var

Storage for all variable files and temporary files created by users, such as log files, the mail queue, the print spooler area, space for temporary storage of files downloaded from the Internet, or to keep an image of a CD before burning it.

+
+


+
+

+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/LabLearningObject-hybrid-tmp/zzfhqxtl62.html b/src-local/LabLearningObject-hybrid-tmp/zzfhqxtl62.html new file mode 100644 index 0000000..8aa4b10 --- /dev/null +++ b/src-local/LabLearningObject-hybrid-tmp/zzfhqxtl62.html @@ -0,0 +1,301 @@ + + + + + + + + + + +An Introduction to Linux ! + + + + + + +
+
+
+
+


+
+
+
+
procfs
+
+

The proc filesystem (procfs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, +providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.

+
+
+

Typically

+
+
+
    +
  • +

    it is mapped to a mount point named /proc at boot time.

    +
  • +
  • +

    The proc file system acts as an interface to internal data structures in the kernel.

    +
  • +
  • +

    It can be used to obtain information about the system and to change certain kernel parameters at runtime (sysctl).

    +
  • +
+
+
+
+
+
+
+

1. The /proc Filesystem

+
+
+ + + + + +
+ + +The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls. +
+
+
+

The directory /proc contains (among other things) one subdirectory for each process running on the system, which is named after the process ID (PID).

+
+
+

The link ‘self’ points to the process reading the file system. Each process subdirectory has the entries listed in: ls /proc/<pid>

+
+
+
+
cat /proc/meminfo
+
+
+MemTotal:        8174328 kB
+MemFree:         6186516 kB
+MemAvailable:    7535332 kB
+Buffers:          146740 kB
+Cached:          1294156 kB
+SwapCached:            0 kB
+Active:           967184 kB
+Inactive:         606252 kB
+Active(anon):     135620 kB
+Inactive(anon):    85064 kB
+Active(file):     831564 kB
+Inactive(file):   521188 kB
+Unevictable:        3652 kB
+Mlocked:            3652 kB
+SwapTotal:             0 kB
+SwapFree:              0 kB
+Dirty:                68 kB
+Writeback:             0 kB
+AnonPages:        136188 kB
+Mapped:           113344 kB
+Shmem:             85724 kB
+Slab:             340236 kB
+SReclaimable:     302048 kB
+SUnreclaim:        38188 kB
+KernelStack:        3792 kB
+PageTables:         4888 kB
+NFS_Unstable:          0 kB
+Bounce:                0 kB
+WritebackTmp:          0 kB
+CommitLimit:     4087164 kB
+Committed_AS:     901432 kB
+VmallocTotal:   34359738367 kB
+VmallocUsed:           0 kB
+VmallocChunk:          0 kB
+HardwareCorrupted:     0 kB
+AnonHugePages:     51200 kB
+CmaTotal:              0 kB
+CmaFree:               0 kB
+
+...
+
+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. Main entries in /proc
FileContent

/proc/cmdline

– Kernel command line information.

/proc/console

– Information about current consoles including tty.

/proc/crypto

- a list of available cryptographic modules

/proc/devices

– Device drivers currently configured for the running kernel.

/proc/diskstats

- giving some information (including device numbers) for each of the logical disk devices

/proc/dma

– Info about current DMA channels.

/proc/fb

– Framebuffer devices.

/proc/filesystems

– Current filesystems supported by the kernel.

/proc/interrupts, /proc/iomem, /proc/ioports and the directory /proc/irq

- giving some self-explanatory details about the devices (physical or logical) using the various system resources

/proc/iomem

– Current system memory map for devices.

/proc/ioports

– Registered port regions for input output communication with device.

/proc/loadavg

– System load average.

/proc/locks

– Files currently locked by kernel.

/proc/meminfo

– Info about system memory (see above example).

/proc/misc

– Miscellaneous drivers registered for miscellaneous major device.

/proc/modules

- one of the most important files in /proc, containing a list of the kernel modules currently loaded . It gives some indication (not always entirely correct) of dependencies.

/proc/mounts

– List of all mounts in use by system.

/proc/mounts

- a symlink to self/mounts which contains a list of the currently mounted devices and their mount points (and which file system is in use and what mount options are in use).

/proc/net

- a directory containing useful information about the network stack, in particular /proc/net/nf_conntrack, which lists existing network connections (particularly useful for tracking routing when iptables FORWARD is used to redirect network connections)

/proc/partitions

– Detailed info about partitions available to the system.

/proc/pci

– Information about every PCI device.

/proc/stat

– Record or various statistics kept from last reboot.

/proc/swap

– Information about swap space.

/proc/scsi

- giving information about any devices connected via a SCSI or RAID controller

/proc/sysvipc

- containing memory-sharing and inter-process communication (IPC) information.

/proc/tty

- containing information about the current terminals; /proc/tty/driver looks to be[original research?] a list of the different types of tty available - each of which is a list of those of each type

/proc/uptime

– Uptime information (in seconds).

/proc/version

– Kernel version, gcc version, and Linux distribution installed.

+
+
+
+

2. cpu info

+
+
+
+
cat /proc/cpuinfo
+
+processor	: 0
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 2000.000
+ cache size	: 1024 KB
+ ...
+ processor	: 1
+ vendor_id	: AuthenticAMD
+ cpu family	: 16
+ model		: 6
+ model name	: AMD Athlon(tm) II X2 270 Processor
+ stepping	: 3
+ microcode	: 0x10000c8
+ cpu MHz		: 800.000
+ cache size	: 1024 KB
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src-local/git-update.sh b/src-local/git-update.sh new file mode 100644 index 0000000..f2b2685 --- /dev/null +++ b/src-local/git-update.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +REPOSRC=$1 +LOCALREPO=$2 + +# We do it this way so that we can abstract if from just git later on +LOCALREPO_VC_DIR=$LOCALREPO/.git + +if [ ! -d $LOCALREPO_VC_DIR ] +then + git clone $REPOSRC $LOCALREPO +else + cd $LOCALREPO + git pull $REPOSRC +fi diff --git a/src-local/llo/new.js b/src-local/llo/new.js index 4083f6a..186fc76 100644 --- a/src-local/llo/new.js +++ b/src-local/llo/new.js @@ -31,7 +31,27 @@ origin: function(origin, callback){ // allow requests with no origin //app.use(cors) -app.use(helmet()); +//app.use(helmet()); + +app.use( + helmet({ + frameguard: false, + contentSecurityPolicy: false + }) +); +/* +app.use(helmet.contentSecurityPolicy()); +app.use(helmet.dnsPrefetchControl()); +app.use(helmet.expectCt()); +app.use(helmet.frameguard()); +app.use(helmet.hidePoweredBy()); +app.use(helmet.hsts()); +app.use(helmet.ieNoOpen()); +app.use(helmet.noSniff()); +app.use(helmet.permittedCrossDomainPolicies()); +app.use(helmet.referrerPolicy()); +app.use(helmet.xssFilter()); +*/ app.use(express.json()); var serverPort = 3080; @@ -97,11 +117,225 @@ watcher }); */ +var static_options = { + dotfiles: 'ignore', + etag: false, + extensions: ['html'], + index: false, + redirect: false, + setHeaders: function (res, path, stat) { + res.set('x-timestamp', Date.now()) + } +} + +app.use('/player', express.static('LabLearningObject-hybrid', static_options)) +app.use('/asciidoc', express.static('LabLearningObject-hybrid-tmp', static_options)) // *************************************************** // rest get // *************************************************** +app.post('/save_course_ascii', (req, res, next) => { + + const code = req.body["code"] + let file = Math.random().toString(36).slice(2); + var RES = new Object(); + var showexec = `./LabLearningObject-hybrid-tmp/${file}.html` + //console.log('file '+showexec) + //console.log(req.body) + fs.writeFile(showexec, code, (err) => { + if (err) { + console.error(`exec error: ${err}`); + RES.error = true + RES.error_msg = "no" + RES.data = 'nofile' + res.json(RES) + }else{ + RES.error = false + RES.error_msg = "ok" + RES.data = file + res.json(RES) + } + }); + +}); + +app.get('/get_course_ascii', (req, res, next) => { + + const dir = req.query["dir"] + const file = req.query["file"] + + var showexec = `./LabLearningObject-hybrid/${dir}/${file}` + fs.readFile(showexec, 'utf8', function (err, data) { + if (err) { + console.error(`exec error: ${err}`); + return; + } +//console.log(data) + var nn = [] + //var datajson = JSON.parse(data); +//console.log(datajson) + + + var RES = new Object(); + RES.error = false + RES.error_msg = "ok" + RES.data = data; + res.json(RES) + }); + +}); + +app.get('/get_course', (req, res, next) => { + + const course = req.query["course"] + + var showexec = `./LabLearningObject-hybrid/${course}/index.js` + fs.readFile(showexec, 'utf8', function (err, data) { + if (err) { + console.error(`exec error: ${err}`); + return; + } +//console.log(data) + var nn = [] + var datajson = JSON.parse(data); +//console.log(datajson) + + + var RES = new Object(); + RES.code = req.query["action"] + RES.token = req.query["token"] + RES.error = false + RES.error_msg = "ok" + //RES.data = data; + RES.data = datajson; + res.json(RES.data) + }); + +}); + +app.get('/get_llo', (req, res, next) => { + + var RES = new Object(); + const page = req.query["page"] + const per_page = req.query["per_page"] + var level = req.query["level"] + var filter = 'NULL' + RES.sort = req.query["sort"] + if(typeof req.query["filter"] !== "undefined" && req.query["filter"] !== ''){ +//console.log('no') + filter = req.query["filter"] + }else{ +console.log('yes') + } + RES.type = req.query["type"] + + var showexec = `./LabLearningObject-hybrid/index.js` + fs.readFile(showexec, 'utf8', function (err, data) { + if (err) { + console.error(`exec error: ${err}`); + return; + } + var nn = [] + var datajson = JSON.parse(data); + var datalenth = datajson.length + var results = [] + if(filter !== 'NULL'){ + var grep = new RegExp(filter); + for (var i=0 ; i < datalenth ; i++) + { + if(grep.test(datajson[i]['title'])){ + results.push(datajson[i]); + } + } + datajson=results + } + + var resultsl = [] + var filterlevel = '' + if(level !== 0){ + if (level == 1){ + filterlevel = 'Elementary' + } else if (level == 2){ + filterlevel = 'Intermediate' + } else if (level == 3){ + filterlevel = 'Advanced' + } else if (level == 4){ + filterlevel = 'Expert' + } else if (level == 5){ + filterlevel = 'Guru' + } + var greplevel = new RegExp(filterlevel); + var datalenth1 = datajson.length + for (var i=0 ; i < datalenth1 ; i++) + { + if(greplevel.test(datajson[i]['level'])){ + resultsl.push(datajson[i]); + } + } + datajson=resultsl + } + +//console.log(datajson) + + var total = datajson.length; + var perpage = per_page + //var page = 1 + var lastpage = Math.trunc(total/5); + + if(lastpage <= 1) { + lastpage=1 + }else{ + lastpage++ + } + + var next=(page+1); + if(next >= lastpage){ + next=lastpage; + } + var prev=(page-1); + if(prev == 0){ + prev=1; + } + var from=((page-1)*perpage)+1; + var to=(perpage*page) + + + var myplaybooks = new Object(); + var links = ` + { + "pagination": { + "total": ${total}, + "per_page": ${perpage}, + "current_page": ${page}, + "last_page": ${lastpage}, + "next_page_url": "?page=${next}", + "prev_page_url": "?page=${prev}", + "from": ${from}, + "to": ${to}, + "frommongo": ${from}, + "tomongo": ${to} + } + } + ` + //"next_page_url": "?page="+${next}, + //"prev_page_url": "?page="+${prev}, +//console.log(JSON.stringify(links)) + //myplaybooks.links = links + myplaybooks.links = JSON.parse(links); + myplaybooks.data = datajson; + + var RES = new Object(); + RES.code = req.query["action"] + RES.token = req.query["token"] + RES.error = false + RES.error_msg = "ok" + RES.data = myplaybooks; + res.json(RES.data) + }); + +}); + app.get('/dockerservices', (req, res, next) => { var RES = new Object(); @@ -268,7 +502,7 @@ app.get('/getserviceshybridstatus', (req, res, next) => { var found = 'no'; for(var i = 0; i < datajson.length; i++) { var servicename = datajson[i].Names - console.log(JSON.stringify(search+' '+servicename)) + //console.log(JSON.stringify(search+' '+servicename)) if(extenderror.test(servicename)){ found = 'yes'; } @@ -662,7 +896,7 @@ TEST=${service} }); ppid = child[0].pid; - console.log(ppid) + //console.log(ppid) child[0].stdout.on('data', function (data) { var n = {} n.data = data.toString() @@ -799,7 +1033,7 @@ SSH_PORT= socket.on('container-stop', (service, id) => { var mypath = process.cwd() - console.log(mypath); + //console.log(mypath); var containerrm = '/bin/sh ./hybrid/connect/container-stop.sh '+id const stop = spawn(containerrm, { stdio: 'pipe', diff --git a/src-local/player/asciinema-player.css b/src-local/player/asciinema-player.css new file mode 100644 index 0000000..8d77df4 --- /dev/null +++ b/src-local/player/asciinema-player.css @@ -0,0 +1,2563 @@ +.asciinema-player-wrapper { + position: relative; + text-align: center; + outline: none; +} +.asciinema-player-wrapper .title-bar { + display: none; + top: -78px; + transition: top 0.15s linear; + position: absolute; + left: 0; + right: 0; + box-sizing: content-box; + font-size: 20px; + line-height: 1em; + padding: 15px; + font-family: sans-serif; + color: white; + background-color: rgba(0, 0, 0, 0.8); +} +.asciinema-player-wrapper .title-bar img { + vertical-align: middle; + height: 48px; + margin-right: 16px; +} +.asciinema-player-wrapper .title-bar a { + color: white; + text-decoration: underline; +} +.asciinema-player-wrapper .title-bar a:hover { + text-decoration: none; +} +.asciinema-player-wrapper:fullscreen { + background-color: #000; + width: 100%; + height: 100%; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: center; + justify-content: center; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:fullscreen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:fullscreen .title-bar { + display: initial; +} +.asciinema-player-wrapper:fullscreen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-webkit-full-screen { + background-color: #000; + width: 100%; + height: 100%; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: center; + justify-content: center; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-webkit-full-screen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-webkit-full-screen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-webkit-full-screen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-moz-full-screen { + background-color: #000; + width: 100%; + height: 100%; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: center; + justify-content: center; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-moz-full-screen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-moz-full-screen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-moz-full-screen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper:-ms-fullscreen { + background-color: #000; + width: 100%; + height: 100%; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: center; + justify-content: center; + -webkit-align-items: center; + align-items: center; +} +.asciinema-player-wrapper:-ms-fullscreen .asciinema-player { + position: static; +} +.asciinema-player-wrapper:-ms-fullscreen .title-bar { + display: initial; +} +.asciinema-player-wrapper:-ms-fullscreen.hud .title-bar { + top: 0; +} +.asciinema-player-wrapper .asciinema-player { + text-align: left; + display: inline-block; + padding: 0px; + position: relative; + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + max-width: 100%; +} +.asciinema-terminal { + box-sizing: content-box; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + overflow: hidden; + padding: 0; + margin: 0px; + display: block; + white-space: pre; + border: 0; + word-wrap: normal; + word-break: normal; + border-radius: 0; + border-style: solid; + cursor: text; + border-width: 0.5em; + font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', monospace, 'Powerline Symbols'; + line-height: 1.3333333333em; +} +.asciinema-terminal .line { + letter-spacing: normal; + overflow: hidden; + height: 1.3333333333em; +} +.asciinema-terminal .line span { + padding: 0; + display: inline-block; + height: 1.3333333333em; +} +.asciinema-terminal .line { + display: block; + width: 200%; +} +.asciinema-terminal .bright { + font-weight: bold; +} +.asciinema-terminal .underline { + text-decoration: underline; +} +.asciinema-terminal .italic { + font-style: italic; +} +.asciinema-terminal.font-small { + font-size: 12px; +} +.asciinema-terminal.font-medium { + font-size: 18px; +} +.asciinema-terminal.font-big { + font-size: 24px; +} +.asciinema-player .control-bar { + width: 100%; + height: 32px; + background: rgba(0, 0, 0, 0.8); + /* no gradient fallback */ + background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* FF3.6-15 */ + background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* Chrome10-25,Safari5.1-6 */ + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, #000000 25%, #000000 100%); + /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ + color: #bbbbbb; + box-sizing: content-box; + line-height: 1; + position: absolute; + bottom: -35px; + left: 0; + transition: bottom 0.15s linear; +} +.asciinema-player .control-bar * { + box-sizing: inherit; + font-size: 0; +} +.asciinema-player .control-bar svg.icon path { + fill: #bbbbbb; +} +.asciinema-player .control-bar .playback-button { + display: block; + float: left; + cursor: pointer; + height: 12px; + width: 12px; + padding: 10px; +} +.asciinema-player .control-bar .playback-button svg { + height: 12px; + width: 12px; +} +.asciinema-player .control-bar .timer { + display: block; + float: left; + width: 50px; + height: 100%; + text-align: center; + font-family: Helvetica, Arial, sans-serif; + font-size: 11px; + font-weight: bold; + line-height: 32px; + cursor: default; +} +.asciinema-player .control-bar .timer span { + display: inline-block; + font-size: inherit; +} +.asciinema-player .control-bar .timer .time-remaining { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-elapsed { + display: none; +} +.asciinema-player .control-bar .timer:hover .time-remaining { + display: inline; +} +.asciinema-player .control-bar .progressbar { + display: block; + overflow: hidden; + height: 100%; + padding: 0 10px; +} +.asciinema-player .control-bar .progressbar .bar { + display: block; + cursor: pointer; + height: 100%; + padding-top: 15px; + font-size: 0; +} +.asciinema-player .control-bar .progressbar .bar .gutter { + display: block; + height: 3px; + background-color: #333; +} +.asciinema-player .control-bar .progressbar .bar .gutter span { + display: inline-block; + height: 100%; + background-color: #bbbbbb; + border-radius: 3px; +} +.asciinema-player .control-bar.live .progressbar .bar { + cursor: default; +} +.asciinema-player .control-bar .fullscreen-button { + display: block; + float: right; + width: 14px; + height: 14px; + padding: 9px; + cursor: pointer; +} +.asciinema-player .control-bar .fullscreen-button svg { + width: 14px; + height: 14px; +} +.asciinema-player .control-bar .fullscreen-button svg:first-child { + display: inline; +} +.asciinema-player .control-bar .fullscreen-button svg:last-child { + display: none; +} +.asciinema-player-wrapper.hud .control-bar { + bottom: 0px; +} +.asciinema-player-wrapper:fullscreen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:fullscreen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-webkit-full-screen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-moz-full-screen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:first-child { + display: none; +} +.asciinema-player-wrapper:-ms-fullscreen .fullscreen-button svg:last-child { + display: inline; +} +.asciinema-player .loading { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 32px; + background-color: rgba(0, 0, 0, 0.5); +} +.asciinema-player .start-prompt { + z-index: 10; + background-repeat: no-repeat; + background-position: center; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 32px; + z-index: 20; + cursor: pointer; +} +.asciinema-player .start-prompt .play-button { + font-size: 0px; +} +.asciinema-player .start-prompt .play-button { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + text-align: center; + color: white; + display: table; + width: 100%; + height: 100%; +} +.asciinema-player .start-prompt .play-button div { + vertical-align: middle; + display: table-cell; +} +.asciinema-player .start-prompt .play-button div span { + width: 96px; + height: 96px; + display: inline-block; +} +@-webkit-keyframes expand { + 0% { + -webkit-transform: scale(0); + } + 50% { + -webkit-transform: scale(1); + } + 100% { + z-index: 1; + } +} +@-moz-keyframes expand { + 0% { + -moz-transform: scale(0); + } + 50% { + -moz-transform: scale(1); + } + 100% { + z-index: 1; + } +} +@-o-keyframes expand { + 0% { + -o-transform: scale(0); + } + 50% { + -o-transform: scale(1); + } + 100% { + z-index: 1; + } +} +@keyframes expand { + 0% { + transform: scale(0); + } + 50% { + transform: scale(1); + } + 100% { + z-index: 1; + } +} +.loader { + position: absolute; + left: 50%; + top: 50%; + margin: -20px 0 0 -20px; + background-color: white; + border-radius: 50%; + box-shadow: 0 0 0 6.66667px #141414; + width: 40px; + height: 40px; +} +.loader:before, +.loader:after { + content: ""; + position: absolute; + left: 50%; + top: 50%; + display: block; + margin: -21px 0 0 -21px; + border-radius: 50%; + z-index: 2; + width: 42px; + height: 42px; +} +.loader:before { + background-color: #141414; + -webkit-animation: expand 1.6s linear infinite both; + -moz-animation: expand 1.6s linear infinite both; + animation: expand 1.6s linear infinite both; +} +.loader:after { + background-color: white; + -webkit-animation: expand 1.6s linear 0.8s infinite both; + -moz-animation: expand 1.6s linear 0.8s infinite both; + animation: expand 1.6s linear 0.8s infinite both; +} +.asciinema-terminal .fg-16 { + color: #000000; +} +.asciinema-terminal .bg-16 { + background-color: #000000; +} +.asciinema-terminal .fg-17 { + color: #00005f; +} +.asciinema-terminal .bg-17 { + background-color: #00005f; +} +.asciinema-terminal .fg-18 { + color: #000087; +} +.asciinema-terminal .bg-18 { + background-color: #000087; +} +.asciinema-terminal .fg-19 { + color: #0000af; +} +.asciinema-terminal .bg-19 { + background-color: #0000af; +} +.asciinema-terminal .fg-20 { + color: #0000d7; +} +.asciinema-terminal .bg-20 { + background-color: #0000d7; +} +.asciinema-terminal .fg-21 { + color: #0000ff; +} +.asciinema-terminal .bg-21 { + background-color: #0000ff; +} +.asciinema-terminal .fg-22 { + color: #005f00; +} +.asciinema-terminal .bg-22 { + background-color: #005f00; +} +.asciinema-terminal .fg-23 { + color: #005f5f; +} +.asciinema-terminal .bg-23 { + background-color: #005f5f; +} +.asciinema-terminal .fg-24 { + color: #005f87; +} +.asciinema-terminal .bg-24 { + background-color: #005f87; +} +.asciinema-terminal .fg-25 { + color: #005faf; +} +.asciinema-terminal .bg-25 { + background-color: #005faf; +} +.asciinema-terminal .fg-26 { + color: #005fd7; +} +.asciinema-terminal .bg-26 { + background-color: #005fd7; +} +.asciinema-terminal .fg-27 { + color: #005fff; +} +.asciinema-terminal .bg-27 { + background-color: #005fff; +} +.asciinema-terminal .fg-28 { + color: #008700; +} +.asciinema-terminal .bg-28 { + background-color: #008700; +} +.asciinema-terminal .fg-29 { + color: #00875f; +} +.asciinema-terminal .bg-29 { + background-color: #00875f; +} +.asciinema-terminal .fg-30 { + color: #008787; +} +.asciinema-terminal .bg-30 { + background-color: #008787; +} +.asciinema-terminal .fg-31 { + color: #0087af; +} +.asciinema-terminal .bg-31 { + background-color: #0087af; +} +.asciinema-terminal .fg-32 { + color: #0087d7; +} +.asciinema-terminal .bg-32 { + background-color: #0087d7; +} +.asciinema-terminal .fg-33 { + color: #0087ff; +} +.asciinema-terminal .bg-33 { + background-color: #0087ff; +} +.asciinema-terminal .fg-34 { + color: #00af00; +} +.asciinema-terminal .bg-34 { + background-color: #00af00; +} +.asciinema-terminal .fg-35 { + color: #00af5f; +} +.asciinema-terminal .bg-35 { + background-color: #00af5f; +} +.asciinema-terminal .fg-36 { + color: #00af87; +} +.asciinema-terminal .bg-36 { + background-color: #00af87; +} +.asciinema-terminal .fg-37 { + color: #00afaf; +} +.asciinema-terminal .bg-37 { + background-color: #00afaf; +} +.asciinema-terminal .fg-38 { + color: #00afd7; +} +.asciinema-terminal .bg-38 { + background-color: #00afd7; +} +.asciinema-terminal .fg-39 { + color: #00afff; +} +.asciinema-terminal .bg-39 { + background-color: #00afff; +} +.asciinema-terminal .fg-40 { + color: #00d700; +} +.asciinema-terminal .bg-40 { + background-color: #00d700; +} +.asciinema-terminal .fg-41 { + color: #00d75f; +} +.asciinema-terminal .bg-41 { + background-color: #00d75f; +} +.asciinema-terminal .fg-42 { + color: #00d787; +} +.asciinema-terminal .bg-42 { + background-color: #00d787; +} +.asciinema-terminal .fg-43 { + color: #00d7af; +} +.asciinema-terminal .bg-43 { + background-color: #00d7af; +} +.asciinema-terminal .fg-44 { + color: #00d7d7; +} +.asciinema-terminal .bg-44 { + background-color: #00d7d7; +} +.asciinema-terminal .fg-45 { + color: #00d7ff; +} +.asciinema-terminal .bg-45 { + background-color: #00d7ff; +} +.asciinema-terminal .fg-46 { + color: #00ff00; +} +.asciinema-terminal .bg-46 { + background-color: #00ff00; +} +.asciinema-terminal .fg-47 { + color: #00ff5f; +} +.asciinema-terminal .bg-47 { + background-color: #00ff5f; +} +.asciinema-terminal .fg-48 { + color: #00ff87; +} +.asciinema-terminal .bg-48 { + background-color: #00ff87; +} +.asciinema-terminal .fg-49 { + color: #00ffaf; +} +.asciinema-terminal .bg-49 { + background-color: #00ffaf; +} +.asciinema-terminal .fg-50 { + color: #00ffd7; +} +.asciinema-terminal .bg-50 { + background-color: #00ffd7; +} +.asciinema-terminal .fg-51 { + color: #00ffff; +} +.asciinema-terminal .bg-51 { + background-color: #00ffff; +} +.asciinema-terminal .fg-52 { + color: #5f0000; +} +.asciinema-terminal .bg-52 { + background-color: #5f0000; +} +.asciinema-terminal .fg-53 { + color: #5f005f; +} +.asciinema-terminal .bg-53 { + background-color: #5f005f; +} +.asciinema-terminal .fg-54 { + color: #5f0087; +} +.asciinema-terminal .bg-54 { + background-color: #5f0087; +} +.asciinema-terminal .fg-55 { + color: #5f00af; +} +.asciinema-terminal .bg-55 { + background-color: #5f00af; +} +.asciinema-terminal .fg-56 { + color: #5f00d7; +} +.asciinema-terminal .bg-56 { + background-color: #5f00d7; +} +.asciinema-terminal .fg-57 { + color: #5f00ff; +} +.asciinema-terminal .bg-57 { + background-color: #5f00ff; +} +.asciinema-terminal .fg-58 { + color: #5f5f00; +} +.asciinema-terminal .bg-58 { + background-color: #5f5f00; +} +.asciinema-terminal .fg-59 { + color: #5f5f5f; +} +.asciinema-terminal .bg-59 { + background-color: #5f5f5f; +} +.asciinema-terminal .fg-60 { + color: #5f5f87; +} +.asciinema-terminal .bg-60 { + background-color: #5f5f87; +} +.asciinema-terminal .fg-61 { + color: #5f5faf; +} +.asciinema-terminal .bg-61 { + background-color: #5f5faf; +} +.asciinema-terminal .fg-62 { + color: #5f5fd7; +} +.asciinema-terminal .bg-62 { + background-color: #5f5fd7; +} +.asciinema-terminal .fg-63 { + color: #5f5fff; +} +.asciinema-terminal .bg-63 { + background-color: #5f5fff; +} +.asciinema-terminal .fg-64 { + color: #5f8700; +} +.asciinema-terminal .bg-64 { + background-color: #5f8700; +} +.asciinema-terminal .fg-65 { + color: #5f875f; +} +.asciinema-terminal .bg-65 { + background-color: #5f875f; +} +.asciinema-terminal .fg-66 { + color: #5f8787; +} +.asciinema-terminal .bg-66 { + background-color: #5f8787; +} +.asciinema-terminal .fg-67 { + color: #5f87af; +} +.asciinema-terminal .bg-67 { + background-color: #5f87af; +} +.asciinema-terminal .fg-68 { + color: #5f87d7; +} +.asciinema-terminal .bg-68 { + background-color: #5f87d7; +} +.asciinema-terminal .fg-69 { + color: #5f87ff; +} +.asciinema-terminal .bg-69 { + background-color: #5f87ff; +} +.asciinema-terminal .fg-70 { + color: #5faf00; +} +.asciinema-terminal .bg-70 { + background-color: #5faf00; +} +.asciinema-terminal .fg-71 { + color: #5faf5f; +} +.asciinema-terminal .bg-71 { + background-color: #5faf5f; +} +.asciinema-terminal .fg-72 { + color: #5faf87; +} +.asciinema-terminal .bg-72 { + background-color: #5faf87; +} +.asciinema-terminal .fg-73 { + color: #5fafaf; +} +.asciinema-terminal .bg-73 { + background-color: #5fafaf; +} +.asciinema-terminal .fg-74 { + color: #5fafd7; +} +.asciinema-terminal .bg-74 { + background-color: #5fafd7; +} +.asciinema-terminal .fg-75 { + color: #5fafff; +} +.asciinema-terminal .bg-75 { + background-color: #5fafff; +} +.asciinema-terminal .fg-76 { + color: #5fd700; +} +.asciinema-terminal .bg-76 { + background-color: #5fd700; +} +.asciinema-terminal .fg-77 { + color: #5fd75f; +} +.asciinema-terminal .bg-77 { + background-color: #5fd75f; +} +.asciinema-terminal .fg-78 { + color: #5fd787; +} +.asciinema-terminal .bg-78 { + background-color: #5fd787; +} +.asciinema-terminal .fg-79 { + color: #5fd7af; +} +.asciinema-terminal .bg-79 { + background-color: #5fd7af; +} +.asciinema-terminal .fg-80 { + color: #5fd7d7; +} +.asciinema-terminal .bg-80 { + background-color: #5fd7d7; +} +.asciinema-terminal .fg-81 { + color: #5fd7ff; +} +.asciinema-terminal .bg-81 { + background-color: #5fd7ff; +} +.asciinema-terminal .fg-82 { + color: #5fff00; +} +.asciinema-terminal .bg-82 { + background-color: #5fff00; +} +.asciinema-terminal .fg-83 { + color: #5fff5f; +} +.asciinema-terminal .bg-83 { + background-color: #5fff5f; +} +.asciinema-terminal .fg-84 { + color: #5fff87; +} +.asciinema-terminal .bg-84 { + background-color: #5fff87; +} +.asciinema-terminal .fg-85 { + color: #5fffaf; +} +.asciinema-terminal .bg-85 { + background-color: #5fffaf; +} +.asciinema-terminal .fg-86 { + color: #5fffd7; +} +.asciinema-terminal .bg-86 { + background-color: #5fffd7; +} +.asciinema-terminal .fg-87 { + color: #5fffff; +} +.asciinema-terminal .bg-87 { + background-color: #5fffff; +} +.asciinema-terminal .fg-88 { + color: #870000; +} +.asciinema-terminal .bg-88 { + background-color: #870000; +} +.asciinema-terminal .fg-89 { + color: #87005f; +} +.asciinema-terminal .bg-89 { + background-color: #87005f; +} +.asciinema-terminal .fg-90 { + color: #870087; +} +.asciinema-terminal .bg-90 { + background-color: #870087; +} +.asciinema-terminal .fg-91 { + color: #8700af; +} +.asciinema-terminal .bg-91 { + background-color: #8700af; +} +.asciinema-terminal .fg-92 { + color: #8700d7; +} +.asciinema-terminal .bg-92 { + background-color: #8700d7; +} +.asciinema-terminal .fg-93 { + color: #8700ff; +} +.asciinema-terminal .bg-93 { + background-color: #8700ff; +} +.asciinema-terminal .fg-94 { + color: #875f00; +} +.asciinema-terminal .bg-94 { + background-color: #875f00; +} +.asciinema-terminal .fg-95 { + color: #875f5f; +} +.asciinema-terminal .bg-95 { + background-color: #875f5f; +} +.asciinema-terminal .fg-96 { + color: #875f87; +} +.asciinema-terminal .bg-96 { + background-color: #875f87; +} +.asciinema-terminal .fg-97 { + color: #875faf; +} +.asciinema-terminal .bg-97 { + background-color: #875faf; +} +.asciinema-terminal .fg-98 { + color: #875fd7; +} +.asciinema-terminal .bg-98 { + background-color: #875fd7; +} +.asciinema-terminal .fg-99 { + color: #875fff; +} +.asciinema-terminal .bg-99 { + background-color: #875fff; +} +.asciinema-terminal .fg-100 { + color: #878700; +} +.asciinema-terminal .bg-100 { + background-color: #878700; +} +.asciinema-terminal .fg-101 { + color: #87875f; +} +.asciinema-terminal .bg-101 { + background-color: #87875f; +} +.asciinema-terminal .fg-102 { + color: #878787; +} +.asciinema-terminal .bg-102 { + background-color: #878787; +} +.asciinema-terminal .fg-103 { + color: #8787af; +} +.asciinema-terminal .bg-103 { + background-color: #8787af; +} +.asciinema-terminal .fg-104 { + color: #8787d7; +} +.asciinema-terminal .bg-104 { + background-color: #8787d7; +} +.asciinema-terminal .fg-105 { + color: #8787ff; +} +.asciinema-terminal .bg-105 { + background-color: #8787ff; +} +.asciinema-terminal .fg-106 { + color: #87af00; +} +.asciinema-terminal .bg-106 { + background-color: #87af00; +} +.asciinema-terminal .fg-107 { + color: #87af5f; +} +.asciinema-terminal .bg-107 { + background-color: #87af5f; +} +.asciinema-terminal .fg-108 { + color: #87af87; +} +.asciinema-terminal .bg-108 { + background-color: #87af87; +} +.asciinema-terminal .fg-109 { + color: #87afaf; +} +.asciinema-terminal .bg-109 { + background-color: #87afaf; +} +.asciinema-terminal .fg-110 { + color: #87afd7; +} +.asciinema-terminal .bg-110 { + background-color: #87afd7; +} +.asciinema-terminal .fg-111 { + color: #87afff; +} +.asciinema-terminal .bg-111 { + background-color: #87afff; +} +.asciinema-terminal .fg-112 { + color: #87d700; +} +.asciinema-terminal .bg-112 { + background-color: #87d700; +} +.asciinema-terminal .fg-113 { + color: #87d75f; +} +.asciinema-terminal .bg-113 { + background-color: #87d75f; +} +.asciinema-terminal .fg-114 { + color: #87d787; +} +.asciinema-terminal .bg-114 { + background-color: #87d787; +} +.asciinema-terminal .fg-115 { + color: #87d7af; +} +.asciinema-terminal .bg-115 { + background-color: #87d7af; +} +.asciinema-terminal .fg-116 { + color: #87d7d7; +} +.asciinema-terminal .bg-116 { + background-color: #87d7d7; +} +.asciinema-terminal .fg-117 { + color: #87d7ff; +} +.asciinema-terminal .bg-117 { + background-color: #87d7ff; +} +.asciinema-terminal .fg-118 { + color: #87ff00; +} +.asciinema-terminal .bg-118 { + background-color: #87ff00; +} +.asciinema-terminal .fg-119 { + color: #87ff5f; +} +.asciinema-terminal .bg-119 { + background-color: #87ff5f; +} +.asciinema-terminal .fg-120 { + color: #87ff87; +} +.asciinema-terminal .bg-120 { + background-color: #87ff87; +} +.asciinema-terminal .fg-121 { + color: #87ffaf; +} +.asciinema-terminal .bg-121 { + background-color: #87ffaf; +} +.asciinema-terminal .fg-122 { + color: #87ffd7; +} +.asciinema-terminal .bg-122 { + background-color: #87ffd7; +} +.asciinema-terminal .fg-123 { + color: #87ffff; +} +.asciinema-terminal .bg-123 { + background-color: #87ffff; +} +.asciinema-terminal .fg-124 { + color: #af0000; +} +.asciinema-terminal .bg-124 { + background-color: #af0000; +} +.asciinema-terminal .fg-125 { + color: #af005f; +} +.asciinema-terminal .bg-125 { + background-color: #af005f; +} +.asciinema-terminal .fg-126 { + color: #af0087; +} +.asciinema-terminal .bg-126 { + background-color: #af0087; +} +.asciinema-terminal .fg-127 { + color: #af00af; +} +.asciinema-terminal .bg-127 { + background-color: #af00af; +} +.asciinema-terminal .fg-128 { + color: #af00d7; +} +.asciinema-terminal .bg-128 { + background-color: #af00d7; +} +.asciinema-terminal .fg-129 { + color: #af00ff; +} +.asciinema-terminal .bg-129 { + background-color: #af00ff; +} +.asciinema-terminal .fg-130 { + color: #af5f00; +} +.asciinema-terminal .bg-130 { + background-color: #af5f00; +} +.asciinema-terminal .fg-131 { + color: #af5f5f; +} +.asciinema-terminal .bg-131 { + background-color: #af5f5f; +} +.asciinema-terminal .fg-132 { + color: #af5f87; +} +.asciinema-terminal .bg-132 { + background-color: #af5f87; +} +.asciinema-terminal .fg-133 { + color: #af5faf; +} +.asciinema-terminal .bg-133 { + background-color: #af5faf; +} +.asciinema-terminal .fg-134 { + color: #af5fd7; +} +.asciinema-terminal .bg-134 { + background-color: #af5fd7; +} +.asciinema-terminal .fg-135 { + color: #af5fff; +} +.asciinema-terminal .bg-135 { + background-color: #af5fff; +} +.asciinema-terminal .fg-136 { + color: #af8700; +} +.asciinema-terminal .bg-136 { + background-color: #af8700; +} +.asciinema-terminal .fg-137 { + color: #af875f; +} +.asciinema-terminal .bg-137 { + background-color: #af875f; +} +.asciinema-terminal .fg-138 { + color: #af8787; +} +.asciinema-terminal .bg-138 { + background-color: #af8787; +} +.asciinema-terminal .fg-139 { + color: #af87af; +} +.asciinema-terminal .bg-139 { + background-color: #af87af; +} +.asciinema-terminal .fg-140 { + color: #af87d7; +} +.asciinema-terminal .bg-140 { + background-color: #af87d7; +} +.asciinema-terminal .fg-141 { + color: #af87ff; +} +.asciinema-terminal .bg-141 { + background-color: #af87ff; +} +.asciinema-terminal .fg-142 { + color: #afaf00; +} +.asciinema-terminal .bg-142 { + background-color: #afaf00; +} +.asciinema-terminal .fg-143 { + color: #afaf5f; +} +.asciinema-terminal .bg-143 { + background-color: #afaf5f; +} +.asciinema-terminal .fg-144 { + color: #afaf87; +} +.asciinema-terminal .bg-144 { + background-color: #afaf87; +} +.asciinema-terminal .fg-145 { + color: #afafaf; +} +.asciinema-terminal .bg-145 { + background-color: #afafaf; +} +.asciinema-terminal .fg-146 { + color: #afafd7; +} +.asciinema-terminal .bg-146 { + background-color: #afafd7; +} +.asciinema-terminal .fg-147 { + color: #afafff; +} +.asciinema-terminal .bg-147 { + background-color: #afafff; +} +.asciinema-terminal .fg-148 { + color: #afd700; +} +.asciinema-terminal .bg-148 { + background-color: #afd700; +} +.asciinema-terminal .fg-149 { + color: #afd75f; +} +.asciinema-terminal .bg-149 { + background-color: #afd75f; +} +.asciinema-terminal .fg-150 { + color: #afd787; +} +.asciinema-terminal .bg-150 { + background-color: #afd787; +} +.asciinema-terminal .fg-151 { + color: #afd7af; +} +.asciinema-terminal .bg-151 { + background-color: #afd7af; +} +.asciinema-terminal .fg-152 { + color: #afd7d7; +} +.asciinema-terminal .bg-152 { + background-color: #afd7d7; +} +.asciinema-terminal .fg-153 { + color: #afd7ff; +} +.asciinema-terminal .bg-153 { + background-color: #afd7ff; +} +.asciinema-terminal .fg-154 { + color: #afff00; +} +.asciinema-terminal .bg-154 { + background-color: #afff00; +} +.asciinema-terminal .fg-155 { + color: #afff5f; +} +.asciinema-terminal .bg-155 { + background-color: #afff5f; +} +.asciinema-terminal .fg-156 { + color: #afff87; +} +.asciinema-terminal .bg-156 { + background-color: #afff87; +} +.asciinema-terminal .fg-157 { + color: #afffaf; +} +.asciinema-terminal .bg-157 { + background-color: #afffaf; +} +.asciinema-terminal .fg-158 { + color: #afffd7; +} +.asciinema-terminal .bg-158 { + background-color: #afffd7; +} +.asciinema-terminal .fg-159 { + color: #afffff; +} +.asciinema-terminal .bg-159 { + background-color: #afffff; +} +.asciinema-terminal .fg-160 { + color: #d70000; +} +.asciinema-terminal .bg-160 { + background-color: #d70000; +} +.asciinema-terminal .fg-161 { + color: #d7005f; +} +.asciinema-terminal .bg-161 { + background-color: #d7005f; +} +.asciinema-terminal .fg-162 { + color: #d70087; +} +.asciinema-terminal .bg-162 { + background-color: #d70087; +} +.asciinema-terminal .fg-163 { + color: #d700af; +} +.asciinema-terminal .bg-163 { + background-color: #d700af; +} +.asciinema-terminal .fg-164 { + color: #d700d7; +} +.asciinema-terminal .bg-164 { + background-color: #d700d7; +} +.asciinema-terminal .fg-165 { + color: #d700ff; +} +.asciinema-terminal .bg-165 { + background-color: #d700ff; +} +.asciinema-terminal .fg-166 { + color: #d75f00; +} +.asciinema-terminal .bg-166 { + background-color: #d75f00; +} +.asciinema-terminal .fg-167 { + color: #d75f5f; +} +.asciinema-terminal .bg-167 { + background-color: #d75f5f; +} +.asciinema-terminal .fg-168 { + color: #d75f87; +} +.asciinema-terminal .bg-168 { + background-color: #d75f87; +} +.asciinema-terminal .fg-169 { + color: #d75faf; +} +.asciinema-terminal .bg-169 { + background-color: #d75faf; +} +.asciinema-terminal .fg-170 { + color: #d75fd7; +} +.asciinema-terminal .bg-170 { + background-color: #d75fd7; +} +.asciinema-terminal .fg-171 { + color: #d75fff; +} +.asciinema-terminal .bg-171 { + background-color: #d75fff; +} +.asciinema-terminal .fg-172 { + color: #d78700; +} +.asciinema-terminal .bg-172 { + background-color: #d78700; +} +.asciinema-terminal .fg-173 { + color: #d7875f; +} +.asciinema-terminal .bg-173 { + background-color: #d7875f; +} +.asciinema-terminal .fg-174 { + color: #d78787; +} +.asciinema-terminal .bg-174 { + background-color: #d78787; +} +.asciinema-terminal .fg-175 { + color: #d787af; +} +.asciinema-terminal .bg-175 { + background-color: #d787af; +} +.asciinema-terminal .fg-176 { + color: #d787d7; +} +.asciinema-terminal .bg-176 { + background-color: #d787d7; +} +.asciinema-terminal .fg-177 { + color: #d787ff; +} +.asciinema-terminal .bg-177 { + background-color: #d787ff; +} +.asciinema-terminal .fg-178 { + color: #d7af00; +} +.asciinema-terminal .bg-178 { + background-color: #d7af00; +} +.asciinema-terminal .fg-179 { + color: #d7af5f; +} +.asciinema-terminal .bg-179 { + background-color: #d7af5f; +} +.asciinema-terminal .fg-180 { + color: #d7af87; +} +.asciinema-terminal .bg-180 { + background-color: #d7af87; +} +.asciinema-terminal .fg-181 { + color: #d7afaf; +} +.asciinema-terminal .bg-181 { + background-color: #d7afaf; +} +.asciinema-terminal .fg-182 { + color: #d7afd7; +} +.asciinema-terminal .bg-182 { + background-color: #d7afd7; +} +.asciinema-terminal .fg-183 { + color: #d7afff; +} +.asciinema-terminal .bg-183 { + background-color: #d7afff; +} +.asciinema-terminal .fg-184 { + color: #d7d700; +} +.asciinema-terminal .bg-184 { + background-color: #d7d700; +} +.asciinema-terminal .fg-185 { + color: #d7d75f; +} +.asciinema-terminal .bg-185 { + background-color: #d7d75f; +} +.asciinema-terminal .fg-186 { + color: #d7d787; +} +.asciinema-terminal .bg-186 { + background-color: #d7d787; +} +.asciinema-terminal .fg-187 { + color: #d7d7af; +} +.asciinema-terminal .bg-187 { + background-color: #d7d7af; +} +.asciinema-terminal .fg-188 { + color: #d7d7d7; +} +.asciinema-terminal .bg-188 { + background-color: #d7d7d7; +} +.asciinema-terminal .fg-189 { + color: #d7d7ff; +} +.asciinema-terminal .bg-189 { + background-color: #d7d7ff; +} +.asciinema-terminal .fg-190 { + color: #d7ff00; +} +.asciinema-terminal .bg-190 { + background-color: #d7ff00; +} +.asciinema-terminal .fg-191 { + color: #d7ff5f; +} +.asciinema-terminal .bg-191 { + background-color: #d7ff5f; +} +.asciinema-terminal .fg-192 { + color: #d7ff87; +} +.asciinema-terminal .bg-192 { + background-color: #d7ff87; +} +.asciinema-terminal .fg-193 { + color: #d7ffaf; +} +.asciinema-terminal .bg-193 { + background-color: #d7ffaf; +} +.asciinema-terminal .fg-194 { + color: #d7ffd7; +} +.asciinema-terminal .bg-194 { + background-color: #d7ffd7; +} +.asciinema-terminal .fg-195 { + color: #d7ffff; +} +.asciinema-terminal .bg-195 { + background-color: #d7ffff; +} +.asciinema-terminal .fg-196 { + color: #ff0000; +} +.asciinema-terminal .bg-196 { + background-color: #ff0000; +} +.asciinema-terminal .fg-197 { + color: #ff005f; +} +.asciinema-terminal .bg-197 { + background-color: #ff005f; +} +.asciinema-terminal .fg-198 { + color: #ff0087; +} +.asciinema-terminal .bg-198 { + background-color: #ff0087; +} +.asciinema-terminal .fg-199 { + color: #ff00af; +} +.asciinema-terminal .bg-199 { + background-color: #ff00af; +} +.asciinema-terminal .fg-200 { + color: #ff00d7; +} +.asciinema-terminal .bg-200 { + background-color: #ff00d7; +} +.asciinema-terminal .fg-201 { + color: #ff00ff; +} +.asciinema-terminal .bg-201 { + background-color: #ff00ff; +} +.asciinema-terminal .fg-202 { + color: #ff5f00; +} +.asciinema-terminal .bg-202 { + background-color: #ff5f00; +} +.asciinema-terminal .fg-203 { + color: #ff5f5f; +} +.asciinema-terminal .bg-203 { + background-color: #ff5f5f; +} +.asciinema-terminal .fg-204 { + color: #ff5f87; +} +.asciinema-terminal .bg-204 { + background-color: #ff5f87; +} +.asciinema-terminal .fg-205 { + color: #ff5faf; +} +.asciinema-terminal .bg-205 { + background-color: #ff5faf; +} +.asciinema-terminal .fg-206 { + color: #ff5fd7; +} +.asciinema-terminal .bg-206 { + background-color: #ff5fd7; +} +.asciinema-terminal .fg-207 { + color: #ff5fff; +} +.asciinema-terminal .bg-207 { + background-color: #ff5fff; +} +.asciinema-terminal .fg-208 { + color: #ff8700; +} +.asciinema-terminal .bg-208 { + background-color: #ff8700; +} +.asciinema-terminal .fg-209 { + color: #ff875f; +} +.asciinema-terminal .bg-209 { + background-color: #ff875f; +} +.asciinema-terminal .fg-210 { + color: #ff8787; +} +.asciinema-terminal .bg-210 { + background-color: #ff8787; +} +.asciinema-terminal .fg-211 { + color: #ff87af; +} +.asciinema-terminal .bg-211 { + background-color: #ff87af; +} +.asciinema-terminal .fg-212 { + color: #ff87d7; +} +.asciinema-terminal .bg-212 { + background-color: #ff87d7; +} +.asciinema-terminal .fg-213 { + color: #ff87ff; +} +.asciinema-terminal .bg-213 { + background-color: #ff87ff; +} +.asciinema-terminal .fg-214 { + color: #ffaf00; +} +.asciinema-terminal .bg-214 { + background-color: #ffaf00; +} +.asciinema-terminal .fg-215 { + color: #ffaf5f; +} +.asciinema-terminal .bg-215 { + background-color: #ffaf5f; +} +.asciinema-terminal .fg-216 { + color: #ffaf87; +} +.asciinema-terminal .bg-216 { + background-color: #ffaf87; +} +.asciinema-terminal .fg-217 { + color: #ffafaf; +} +.asciinema-terminal .bg-217 { + background-color: #ffafaf; +} +.asciinema-terminal .fg-218 { + color: #ffafd7; +} +.asciinema-terminal .bg-218 { + background-color: #ffafd7; +} +.asciinema-terminal .fg-219 { + color: #ffafff; +} +.asciinema-terminal .bg-219 { + background-color: #ffafff; +} +.asciinema-terminal .fg-220 { + color: #ffd700; +} +.asciinema-terminal .bg-220 { + background-color: #ffd700; +} +.asciinema-terminal .fg-221 { + color: #ffd75f; +} +.asciinema-terminal .bg-221 { + background-color: #ffd75f; +} +.asciinema-terminal .fg-222 { + color: #ffd787; +} +.asciinema-terminal .bg-222 { + background-color: #ffd787; +} +.asciinema-terminal .fg-223 { + color: #ffd7af; +} +.asciinema-terminal .bg-223 { + background-color: #ffd7af; +} +.asciinema-terminal .fg-224 { + color: #ffd7d7; +} +.asciinema-terminal .bg-224 { + background-color: #ffd7d7; +} +.asciinema-terminal .fg-225 { + color: #ffd7ff; +} +.asciinema-terminal .bg-225 { + background-color: #ffd7ff; +} +.asciinema-terminal .fg-226 { + color: #ffff00; +} +.asciinema-terminal .bg-226 { + background-color: #ffff00; +} +.asciinema-terminal .fg-227 { + color: #ffff5f; +} +.asciinema-terminal .bg-227 { + background-color: #ffff5f; +} +.asciinema-terminal .fg-228 { + color: #ffff87; +} +.asciinema-terminal .bg-228 { + background-color: #ffff87; +} +.asciinema-terminal .fg-229 { + color: #ffffaf; +} +.asciinema-terminal .bg-229 { + background-color: #ffffaf; +} +.asciinema-terminal .fg-230 { + color: #ffffd7; +} +.asciinema-terminal .bg-230 { + background-color: #ffffd7; +} +.asciinema-terminal .fg-231 { + color: #ffffff; +} +.asciinema-terminal .bg-231 { + background-color: #ffffff; +} +.asciinema-terminal .fg-232 { + color: #080808; +} +.asciinema-terminal .bg-232 { + background-color: #080808; +} +.asciinema-terminal .fg-233 { + color: #121212; +} +.asciinema-terminal .bg-233 { + background-color: #121212; +} +.asciinema-terminal .fg-234 { + color: #1c1c1c; +} +.asciinema-terminal .bg-234 { + background-color: #1c1c1c; +} +.asciinema-terminal .fg-235 { + color: #262626; +} +.asciinema-terminal .bg-235 { + background-color: #262626; +} +.asciinema-terminal .fg-236 { + color: #303030; +} +.asciinema-terminal .bg-236 { + background-color: #303030; +} +.asciinema-terminal .fg-237 { + color: #3a3a3a; +} +.asciinema-terminal .bg-237 { + background-color: #3a3a3a; +} +.asciinema-terminal .fg-238 { + color: #444444; +} +.asciinema-terminal .bg-238 { + background-color: #444444; +} +.asciinema-terminal .fg-239 { + color: #4e4e4e; +} +.asciinema-terminal .bg-239 { + background-color: #4e4e4e; +} +.asciinema-terminal .fg-240 { + color: #585858; +} +.asciinema-terminal .bg-240 { + background-color: #585858; +} +.asciinema-terminal .fg-241 { + color: #626262; +} +.asciinema-terminal .bg-241 { + background-color: #626262; +} +.asciinema-terminal .fg-242 { + color: #6c6c6c; +} +.asciinema-terminal .bg-242 { + background-color: #6c6c6c; +} +.asciinema-terminal .fg-243 { + color: #767676; +} +.asciinema-terminal .bg-243 { + background-color: #767676; +} +.asciinema-terminal .fg-244 { + color: #808080; +} +.asciinema-terminal .bg-244 { + background-color: #808080; +} +.asciinema-terminal .fg-245 { + color: #8a8a8a; +} +.asciinema-terminal .bg-245 { + background-color: #8a8a8a; +} +.asciinema-terminal .fg-246 { + color: #949494; +} +.asciinema-terminal .bg-246 { + background-color: #949494; +} +.asciinema-terminal .fg-247 { + color: #9e9e9e; +} +.asciinema-terminal .bg-247 { + background-color: #9e9e9e; +} +.asciinema-terminal .fg-248 { + color: #a8a8a8; +} +.asciinema-terminal .bg-248 { + background-color: #a8a8a8; +} +.asciinema-terminal .fg-249 { + color: #b2b2b2; +} +.asciinema-terminal .bg-249 { + background-color: #b2b2b2; +} +.asciinema-terminal .fg-250 { + color: #bcbcbc; +} +.asciinema-terminal .bg-250 { + background-color: #bcbcbc; +} +.asciinema-terminal .fg-251 { + color: #c6c6c6; +} +.asciinema-terminal .bg-251 { + background-color: #c6c6c6; +} +.asciinema-terminal .fg-252 { + color: #d0d0d0; +} +.asciinema-terminal .bg-252 { + background-color: #d0d0d0; +} +.asciinema-terminal .fg-253 { + color: #dadada; +} +.asciinema-terminal .bg-253 { + background-color: #dadada; +} +.asciinema-terminal .fg-254 { + color: #e4e4e4; +} +.asciinema-terminal .bg-254 { + background-color: #e4e4e4; +} +.asciinema-terminal .fg-255 { + color: #eeeeee; +} +.asciinema-terminal .bg-255 { + background-color: #eeeeee; +} +.asciinema-theme-asciinema .asciinema-terminal { + color: #cccccc; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-asciinema .fg-bg { + color: #121314; +} +.asciinema-theme-asciinema .bg-fg { + background-color: #cccccc; +} +.asciinema-theme-asciinema .fg-0 { + color: #000000; +} +.asciinema-theme-asciinema .bg-0 { + background-color: #000000; +} +.asciinema-theme-asciinema .fg-1 { + color: #dd3c69; +} +.asciinema-theme-asciinema .bg-1 { + background-color: #dd3c69; +} +.asciinema-theme-asciinema .fg-2 { + color: #4ebf22; +} +.asciinema-theme-asciinema .bg-2 { + background-color: #4ebf22; +} +.asciinema-theme-asciinema .fg-3 { + color: #ddaf3c; +} +.asciinema-theme-asciinema .bg-3 { + background-color: #ddaf3c; +} +.asciinema-theme-asciinema .fg-4 { + color: #26b0d7; +} +.asciinema-theme-asciinema .bg-4 { + background-color: #26b0d7; +} +.asciinema-theme-asciinema .fg-5 { + color: #b954e1; +} +.asciinema-theme-asciinema .bg-5 { + background-color: #b954e1; +} +.asciinema-theme-asciinema .fg-6 { + color: #54e1b9; +} +.asciinema-theme-asciinema .bg-6 { + background-color: #54e1b9; +} +.asciinema-theme-asciinema .fg-7 { + color: #d9d9d9; +} +.asciinema-theme-asciinema .bg-7 { + background-color: #d9d9d9; +} +.asciinema-theme-asciinema .fg-8 { + color: #4d4d4d; +} +.asciinema-theme-asciinema .bg-8 { + background-color: #4d4d4d; +} +.asciinema-theme-asciinema .fg-9 { + color: #dd3c69; +} +.asciinema-theme-asciinema .bg-9 { + background-color: #dd3c69; +} +.asciinema-theme-asciinema .fg-10 { + color: #4ebf22; +} +.asciinema-theme-asciinema .bg-10 { + background-color: #4ebf22; +} +.asciinema-theme-asciinema .fg-11 { + color: #ddaf3c; +} +.asciinema-theme-asciinema .bg-11 { + background-color: #ddaf3c; +} +.asciinema-theme-asciinema .fg-12 { + color: #26b0d7; +} +.asciinema-theme-asciinema .bg-12 { + background-color: #26b0d7; +} +.asciinema-theme-asciinema .fg-13 { + color: #b954e1; +} +.asciinema-theme-asciinema .bg-13 { + background-color: #b954e1; +} +.asciinema-theme-asciinema .fg-14 { + color: #54e1b9; +} +.asciinema-theme-asciinema .bg-14 { + background-color: #54e1b9; +} +.asciinema-theme-asciinema .fg-15 { + color: #ffffff; +} +.asciinema-theme-asciinema .bg-15 { + background-color: #ffffff; +} +.asciinema-theme-asciinema .fg-8, +.asciinema-theme-asciinema .fg-9, +.asciinema-theme-asciinema .fg-10, +.asciinema-theme-asciinema .fg-11, +.asciinema-theme-asciinema .fg-12, +.asciinema-theme-asciinema .fg-13, +.asciinema-theme-asciinema .fg-14, +.asciinema-theme-asciinema .fg-15 { + font-weight: bold; +} +.asciinema-theme-tango .asciinema-terminal { + color: #cccccc; + background-color: #121314; + border-color: #121314; +} +.asciinema-theme-tango .fg-bg { + color: #121314; +} +.asciinema-theme-tango .bg-fg { + background-color: #cccccc; +} +.asciinema-theme-tango .fg-0 { + color: #000000; +} +.asciinema-theme-tango .bg-0 { + background-color: #000000; +} +.asciinema-theme-tango .fg-1 { + color: #cc0000; +} +.asciinema-theme-tango .bg-1 { + background-color: #cc0000; +} +.asciinema-theme-tango .fg-2 { + color: #4e9a06; +} +.asciinema-theme-tango .bg-2 { + background-color: #4e9a06; +} +.asciinema-theme-tango .fg-3 { + color: #c4a000; +} +.asciinema-theme-tango .bg-3 { + background-color: #c4a000; +} +.asciinema-theme-tango .fg-4 { + color: #3465a4; +} +.asciinema-theme-tango .bg-4 { + background-color: #3465a4; +} +.asciinema-theme-tango .fg-5 { + color: #75507b; +} +.asciinema-theme-tango .bg-5 { + background-color: #75507b; +} +.asciinema-theme-tango .fg-6 { + color: #06989a; +} +.asciinema-theme-tango .bg-6 { + background-color: #06989a; +} +.asciinema-theme-tango .fg-7 { + color: #d3d7cf; +} +.asciinema-theme-tango .bg-7 { + background-color: #d3d7cf; +} +.asciinema-theme-tango .fg-8 { + color: #555753; +} +.asciinema-theme-tango .bg-8 { + background-color: #555753; +} +.asciinema-theme-tango .fg-9 { + color: #ef2929; +} +.asciinema-theme-tango .bg-9 { + background-color: #ef2929; +} +.asciinema-theme-tango .fg-10 { + color: #8ae234; +} +.asciinema-theme-tango .bg-10 { + background-color: #8ae234; +} +.asciinema-theme-tango .fg-11 { + color: #fce94f; +} +.asciinema-theme-tango .bg-11 { + background-color: #fce94f; +} +.asciinema-theme-tango .fg-12 { + color: #729fcf; +} +.asciinema-theme-tango .bg-12 { + background-color: #729fcf; +} +.asciinema-theme-tango .fg-13 { + color: #ad7fa8; +} +.asciinema-theme-tango .bg-13 { + background-color: #ad7fa8; +} +.asciinema-theme-tango .fg-14 { + color: #34e2e2; +} +.asciinema-theme-tango .bg-14 { + background-color: #34e2e2; +} +.asciinema-theme-tango .fg-15 { + color: #eeeeec; +} +.asciinema-theme-tango .bg-15 { + background-color: #eeeeec; +} +.asciinema-theme-tango .fg-8, +.asciinema-theme-tango .fg-9, +.asciinema-theme-tango .fg-10, +.asciinema-theme-tango .fg-11, +.asciinema-theme-tango .fg-12, +.asciinema-theme-tango .fg-13, +.asciinema-theme-tango .fg-14, +.asciinema-theme-tango .fg-15 { + font-weight: bold; +} +.asciinema-theme-solarized-dark .asciinema-terminal { + color: #839496; + background-color: #002b36; + border-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-bg { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-fg { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-dark .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-dark .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-dark .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-dark .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-dark .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-dark .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-dark .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-dark .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-dark .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-dark .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-dark .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-dark .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-dark .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-dark .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-dark .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-dark .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-dark .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-dark .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-dark .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-dark .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-dark .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-dark .fg-11 { + color: #657b83; +} +.asciinema-theme-solarized-dark .bg-11 { + background-color: #657b83; +} +.asciinema-theme-solarized-dark .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-dark .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-dark .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-dark .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-dark .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-dark .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-dark .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-dark .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-solarized-light .asciinema-terminal { + color: #657b83; + background-color: #fdf6e3; + border-color: #fdf6e3; +} +.asciinema-theme-solarized-light .fg-bg { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-fg { + background-color: #657b83; +} +.asciinema-theme-solarized-light .fg-0 { + color: #073642; +} +.asciinema-theme-solarized-light .bg-0 { + background-color: #073642; +} +.asciinema-theme-solarized-light .fg-1 { + color: #dc322f; +} +.asciinema-theme-solarized-light .bg-1 { + background-color: #dc322f; +} +.asciinema-theme-solarized-light .fg-2 { + color: #859900; +} +.asciinema-theme-solarized-light .bg-2 { + background-color: #859900; +} +.asciinema-theme-solarized-light .fg-3 { + color: #b58900; +} +.asciinema-theme-solarized-light .bg-3 { + background-color: #b58900; +} +.asciinema-theme-solarized-light .fg-4 { + color: #268bd2; +} +.asciinema-theme-solarized-light .bg-4 { + background-color: #268bd2; +} +.asciinema-theme-solarized-light .fg-5 { + color: #d33682; +} +.asciinema-theme-solarized-light .bg-5 { + background-color: #d33682; +} +.asciinema-theme-solarized-light .fg-6 { + color: #2aa198; +} +.asciinema-theme-solarized-light .bg-6 { + background-color: #2aa198; +} +.asciinema-theme-solarized-light .fg-7 { + color: #eee8d5; +} +.asciinema-theme-solarized-light .bg-7 { + background-color: #eee8d5; +} +.asciinema-theme-solarized-light .fg-8 { + color: #002b36; +} +.asciinema-theme-solarized-light .bg-8 { + background-color: #002b36; +} +.asciinema-theme-solarized-light .fg-9 { + color: #cb4b16; +} +.asciinema-theme-solarized-light .bg-9 { + background-color: #cb4b16; +} +.asciinema-theme-solarized-light .fg-10 { + color: #586e75; +} +.asciinema-theme-solarized-light .bg-10 { + background-color: #586e75; +} +.asciinema-theme-solarized-light .fg-11 { + color: #657c83; +} +.asciinema-theme-solarized-light .bg-11 { + background-color: #657c83; +} +.asciinema-theme-solarized-light .fg-12 { + color: #839496; +} +.asciinema-theme-solarized-light .bg-12 { + background-color: #839496; +} +.asciinema-theme-solarized-light .fg-13 { + color: #6c71c4; +} +.asciinema-theme-solarized-light .bg-13 { + background-color: #6c71c4; +} +.asciinema-theme-solarized-light .fg-14 { + color: #93a1a1; +} +.asciinema-theme-solarized-light .bg-14 { + background-color: #93a1a1; +} +.asciinema-theme-solarized-light .fg-15 { + color: #fdf6e3; +} +.asciinema-theme-solarized-light .bg-15 { + background-color: #fdf6e3; +} +.asciinema-theme-seti .asciinema-terminal { + color: #cacecd; + background-color: #111213; + border-color: #111213; +} +.asciinema-theme-seti .fg-bg { + color: #111213; +} +.asciinema-theme-seti .bg-fg { + background-color: #cacecd; +} +.asciinema-theme-seti .fg-0 { + color: #323232; +} +.asciinema-theme-seti .bg-0 { + background-color: #323232; +} +.asciinema-theme-seti .fg-1 { + color: #c22832; +} +.asciinema-theme-seti .bg-1 { + background-color: #c22832; +} +.asciinema-theme-seti .fg-2 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-2 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-3 { + color: #e0c64f; +} +.asciinema-theme-seti .bg-3 { + background-color: #e0c64f; +} +.asciinema-theme-seti .fg-4 { + color: #43a5d5; +} +.asciinema-theme-seti .bg-4 { + background-color: #43a5d5; +} +.asciinema-theme-seti .fg-5 { + color: #8b57b5; +} +.asciinema-theme-seti .bg-5 { + background-color: #8b57b5; +} +.asciinema-theme-seti .fg-6 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-6 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-7 { + color: #eeeeee; +} +.asciinema-theme-seti .bg-7 { + background-color: #eeeeee; +} +.asciinema-theme-seti .fg-8 { + color: #323232; +} +.asciinema-theme-seti .bg-8 { + background-color: #323232; +} +.asciinema-theme-seti .fg-9 { + color: #c22832; +} +.asciinema-theme-seti .bg-9 { + background-color: #c22832; +} +.asciinema-theme-seti .fg-10 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-10 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-11 { + color: #e0c64f; +} +.asciinema-theme-seti .bg-11 { + background-color: #e0c64f; +} +.asciinema-theme-seti .fg-12 { + color: #43a5d5; +} +.asciinema-theme-seti .bg-12 { + background-color: #43a5d5; +} +.asciinema-theme-seti .fg-13 { + color: #8b57b5; +} +.asciinema-theme-seti .bg-13 { + background-color: #8b57b5; +} +.asciinema-theme-seti .fg-14 { + color: #8ec43d; +} +.asciinema-theme-seti .bg-14 { + background-color: #8ec43d; +} +.asciinema-theme-seti .fg-15 { + color: #ffffff; +} +.asciinema-theme-seti .bg-15 { + background-color: #ffffff; +} +.asciinema-theme-seti .fg-8, +.asciinema-theme-seti .fg-9, +.asciinema-theme-seti .fg-10, +.asciinema-theme-seti .fg-11, +.asciinema-theme-seti .fg-12, +.asciinema-theme-seti .fg-13, +.asciinema-theme-seti .fg-14, +.asciinema-theme-seti .fg-15 { + font-weight: bold; +} +/* Based on Monokai from base16 collection - https://github.com/chriskempson/base16 */ +.asciinema-theme-monokai .asciinema-terminal { + color: #f8f8f2; + background-color: #272822; + border-color: #272822; +} +.asciinema-theme-monokai .fg-bg { + color: #272822; +} +.asciinema-theme-monokai .bg-fg { + background-color: #f8f8f2; +} +.asciinema-theme-monokai .fg-0 { + color: #272822; +} +.asciinema-theme-monokai .bg-0 { + background-color: #272822; +} +.asciinema-theme-monokai .fg-1 { + color: #f92672; +} +.asciinema-theme-monokai .bg-1 { + background-color: #f92672; +} +.asciinema-theme-monokai .fg-2 { + color: #a6e22e; +} +.asciinema-theme-monokai .bg-2 { + background-color: #a6e22e; +} +.asciinema-theme-monokai .fg-3 { + color: #f4bf75; +} +.asciinema-theme-monokai .bg-3 { + background-color: #f4bf75; +} +.asciinema-theme-monokai .fg-4 { + color: #66d9ef; +} +.asciinema-theme-monokai .bg-4 { + background-color: #66d9ef; +} +.asciinema-theme-monokai .fg-5 { + color: #ae81ff; +} +.asciinema-theme-monokai .bg-5 { + background-color: #ae81ff; +} +.asciinema-theme-monokai .fg-6 { + color: #a1efe4; +} +.asciinema-theme-monokai .bg-6 { + background-color: #a1efe4; +} +.asciinema-theme-monokai .fg-7 { + color: #f8f8f2; +} +.asciinema-theme-monokai .bg-7 { + background-color: #f8f8f2; +} +.asciinema-theme-monokai .fg-8 { + color: #75715e; +} +.asciinema-theme-monokai .bg-8 { + background-color: #75715e; +} +.asciinema-theme-monokai .fg-9 { + color: #f92672; +} +.asciinema-theme-monokai .bg-9 { + background-color: #f92672; +} +.asciinema-theme-monokai .fg-10 { + color: #a6e22e; +} +.asciinema-theme-monokai .bg-10 { + background-color: #a6e22e; +} +.asciinema-theme-monokai .fg-11 { + color: #f4bf75; +} +.asciinema-theme-monokai .bg-11 { + background-color: #f4bf75; +} +.asciinema-theme-monokai .fg-12 { + color: #66d9ef; +} +.asciinema-theme-monokai .bg-12 { + background-color: #66d9ef; +} +.asciinema-theme-monokai .fg-13 { + color: #ae81ff; +} +.asciinema-theme-monokai .bg-13 { + background-color: #ae81ff; +} +.asciinema-theme-monokai .fg-14 { + color: #a1efe4; +} +.asciinema-theme-monokai .bg-14 { + background-color: #a1efe4; +} +.asciinema-theme-monokai .fg-15 { + color: #f9f8f5; +} +.asciinema-theme-monokai .bg-15 { + background-color: #f9f8f5; +} +.asciinema-theme-monokai .fg-8, +.asciinema-theme-monokai .fg-9, +.asciinema-theme-monokai .fg-10, +.asciinema-theme-monokai .fg-11, +.asciinema-theme-monokai .fg-12, +.asciinema-theme-monokai .fg-13, +.asciinema-theme-monokai .fg-14, +.asciinema-theme-monokai .fg-15 { + font-weight: bold; +} diff --git a/src-local/player/asciinema-player.js b/src-local/player/asciinema-player.js new file mode 100644 index 0000000..5ad47e0 --- /dev/null +++ b/src-local/player/asciinema-player.js @@ -0,0 +1,1213 @@ +/** + * asciinema-player v2.6.1 + * + * Copyright 2011-2018, Marcin Kulik + * + */ + +// CustomEvent polyfill from MDN (https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent) + +(function () { + if (typeof window.CustomEvent === "function") return false; + + function CustomEvent ( event, params ) { + params = params || { bubbles: false, cancelable: false, detail: undefined }; + var evt = document.createEvent( 'CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + } + + CustomEvent.prototype = window.Event.prototype; + + window.CustomEvent = CustomEvent; +})(); + +/** + * @license + * Copyright (c) 2014 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt + */ +// @version 0.7.22 +"undefined"==typeof WeakMap&&!function(){var e=Object.defineProperty,t=Date.now()%1e9,n=function(){this.name="__st"+(1e9*Math.random()>>>0)+(t++ +"__")};n.prototype={set:function(t,n){var o=t[this.name];return o&&o[0]===t?o[1]=n:e(t,this.name,{value:[t,n],writable:!0}),this},get:function(e){var t;return(t=e[this.name])&&t[0]===e?t[1]:void 0},"delete":function(e){var t=e[this.name];return t&&t[0]===e?(t[0]=t[1]=void 0,!0):!1},has:function(e){var t=e[this.name];return t?t[0]===e:!1}},window.WeakMap=n}(),function(e){function t(e){E.push(e),b||(b=!0,w(o))}function n(e){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(e)||e}function o(){b=!1;var e=E;E=[],e.sort(function(e,t){return e.uid_-t.uid_});var t=!1;e.forEach(function(e){var n=e.takeRecords();r(e),n.length&&(e.callback_(n,e),t=!0)}),t&&o()}function r(e){e.nodes_.forEach(function(t){var n=v.get(t);n&&n.forEach(function(t){t.observer===e&&t.removeTransientObservers()})})}function i(e,t){for(var n=e;n;n=n.parentNode){var o=v.get(n);if(o)for(var r=0;r0){var r=n[o-1],i=p(r,e);if(i)return void(n[o-1]=i)}else t(this.observer);n[o]=e},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(e){var t=this.options;t.attributes&&e.addEventListener("DOMAttrModified",this,!0),t.characterData&&e.addEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.addEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(e){var t=this.options;t.attributes&&e.removeEventListener("DOMAttrModified",this,!0),t.characterData&&e.removeEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.removeEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(e){if(e!==this.target){this.addListeners_(e),this.transientObservedNodes.push(e);var t=v.get(e);t||v.set(e,t=[]),t.push(this)}},removeTransientObservers:function(){var e=this.transientObservedNodes;this.transientObservedNodes=[],e.forEach(function(e){this.removeListeners_(e);for(var t=v.get(e),n=0;n=0)){n.push(e);for(var o,r=e.querySelectorAll("link[rel="+a+"]"),d=0,s=r.length;s>d&&(o=r[d]);d++)o["import"]&&i(o["import"],t,n);t(e)}}var a=window.HTMLImports?window.HTMLImports.IMPORT_LINK_TYPE:"none";e.forDocumentTree=r,e.forSubtree=t}),window.CustomElements.addModule(function(e){function t(e,t){return n(e,t)||o(e,t)}function n(t,n){return e.upgrade(t,n)?!0:void(n&&a(t))}function o(e,t){b(e,function(e){return n(e,t)?!0:void 0})}function r(e){N.push(e),y||(y=!0,setTimeout(i))}function i(){y=!1;for(var e,t=N,n=0,o=t.length;o>n&&(e=t[n]);n++)e();N=[]}function a(e){_?r(function(){d(e)}):d(e)}function d(e){e.__upgraded__&&!e.__attached&&(e.__attached=!0,e.attachedCallback&&e.attachedCallback())}function s(e){u(e),b(e,function(e){u(e)})}function u(e){_?r(function(){c(e)}):c(e)}function c(e){e.__upgraded__&&e.__attached&&(e.__attached=!1,e.detachedCallback&&e.detachedCallback())}function l(e){for(var t=e,n=window.wrap(document);t;){if(t==n)return!0;t=t.parentNode||t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&t.host}}function f(e){if(e.shadowRoot&&!e.shadowRoot.__watched){g.dom&&console.log("watching shadow-root for: ",e.localName);for(var t=e.shadowRoot;t;)w(t),t=t.olderShadowRoot}}function p(e,n){if(g.dom){var o=n[0];if(o&&"childList"===o.type&&o.addedNodes&&o.addedNodes){for(var r=o.addedNodes[0];r&&r!==document&&!r.host;)r=r.parentNode;var i=r&&(r.URL||r._URL||r.host&&r.host.localName)||"";i=i.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",n.length,i||"")}var a=l(e);n.forEach(function(e){"childList"===e.type&&(M(e.addedNodes,function(e){e.localName&&t(e,a)}),M(e.removedNodes,function(e){e.localName&&s(e)}))}),g.dom&&console.groupEnd()}function m(e){for(e=window.wrap(e),e||(e=window.wrap(document));e.parentNode;)e=e.parentNode;var t=e.__observer;t&&(p(e,t.takeRecords()),i())}function w(e){if(!e.__observer){var t=new MutationObserver(p.bind(this,e));t.observe(e,{childList:!0,subtree:!0}),e.__observer=t}}function v(e){e=window.wrap(e),g.dom&&console.group("upgradeDocument: ",e.baseURI.split("/").pop());var n=e===window.wrap(document);t(e,n),w(e),g.dom&&console.groupEnd()}function h(e){E(e,v)}var g=e.flags,b=e.forSubtree,E=e.forDocumentTree,_=window.MutationObserver._isPolyfilled&&g["throttle-attached"];e.hasPolyfillMutations=_,e.hasThrottledAttached=_;var y=!1,N=[],M=Array.prototype.forEach.call.bind(Array.prototype.forEach),O=Element.prototype.createShadowRoot;O&&(Element.prototype.createShadowRoot=function(){var e=O.call(this);return window.CustomElements.watchShadow(this),e}),e.watchShadow=f,e.upgradeDocumentTree=h,e.upgradeDocument=v,e.upgradeSubtree=o,e.upgradeAll=t,e.attached=a,e.takeRecords=m}),window.CustomElements.addModule(function(e){function t(t,o){if("template"===t.localName&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(t),!t.__upgraded__&&t.nodeType===Node.ELEMENT_NODE){var r=t.getAttribute("is"),i=e.getRegisteredDefinition(t.localName)||e.getRegisteredDefinition(r);if(i&&(r&&i.tag==t.localName||!r&&!i["extends"]))return n(t,i,o)}}function n(t,n,r){return a.upgrade&&console.group("upgrade:",t.localName),n.is&&t.setAttribute("is",n.is),o(t,n),t.__upgraded__=!0,i(t),r&&e.attached(t),e.upgradeSubtree(t,r),a.upgrade&&console.groupEnd(),t}function o(e,t){Object.__proto__?e.__proto__=t.prototype:(r(e,t.prototype,t["native"]),e.__proto__=t.prototype)}function r(e,t,n){for(var o={},r=t;r!==n&&r!==HTMLElement.prototype;){for(var i,a=Object.getOwnPropertyNames(r),d=0;i=a[d];d++)o[i]||(Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(r,i)),o[i]=1);r=Object.getPrototypeOf(r)}}function i(e){e.createdCallback&&e.createdCallback()}var a=e.flags;e.upgrade=t,e.upgradeWithDefinition=n,e.implementPrototype=o}),window.CustomElements.addModule(function(e){function t(t,o){var s=o||{};if(!t)throw new Error("document.registerElement: first argument `name` must not be empty");if(t.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(t)+"'.");if(r(t))throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '"+String(t)+"'. The type name is invalid.");if(u(t))throw new Error("DuplicateDefinitionError: a type with name '"+String(t)+"' is already registered");return s.prototype||(s.prototype=Object.create(HTMLElement.prototype)),s.__name=t.toLowerCase(),s["extends"]&&(s["extends"]=s["extends"].toLowerCase()),s.lifecycle=s.lifecycle||{},s.ancestry=i(s["extends"]),a(s),d(s),n(s.prototype),c(s.__name,s),s.ctor=l(s),s.ctor.prototype=s.prototype,s.prototype.constructor=s.ctor,e.ready&&v(document),s.ctor}function n(e){if(!e.setAttribute._polyfilled){var t=e.setAttribute;e.setAttribute=function(e,n){o.call(this,e,n,t)};var n=e.removeAttribute;e.removeAttribute=function(e){o.call(this,e,null,n)},e.setAttribute._polyfilled=!0}}function o(e,t,n){e=e.toLowerCase();var o=this.getAttribute(e);n.apply(this,arguments);var r=this.getAttribute(e);this.attributeChangedCallback&&r!==o&&this.attributeChangedCallback(e,o,r)}function r(e){for(var t=0;t<_.length;t++)if(e===_[t])return!0}function i(e){var t=u(e);return t?i(t["extends"]).concat([t]):[]}function a(e){for(var t,n=e["extends"],o=0;t=e.ancestry[o];o++)n=t.is&&t.tag;e.tag=n||e.__name,n&&(e.is=e.__name)}function d(e){if(!Object.__proto__){var t=HTMLElement.prototype;if(e.is){var n=document.createElement(e.tag);t=Object.getPrototypeOf(n)}for(var o,r=e.prototype,i=!1;r;)r==t&&(i=!0),o=Object.getPrototypeOf(r),o&&(r.__proto__=o),r=o;i||console.warn(e.tag+" prototype not found in prototype chain for "+e.is),e["native"]=t}}function s(e){return g(M(e.tag),e)}function u(e){return e?y[e.toLowerCase()]:void 0}function c(e,t){y[e]=t}function l(e){return function(){return s(e)}}function f(e,t,n){return e===N?p(t,n):O(e,t)}function p(e,t){e&&(e=e.toLowerCase()),t&&(t=t.toLowerCase());var n=u(t||e);if(n){if(e==n.tag&&t==n.is)return new n.ctor;if(!t&&!n.is)return new n.ctor}var o;return t?(o=p(e),o.setAttribute("is",t),o):(o=M(e),e.indexOf("-")>=0&&b(o,HTMLElement),o)}function m(e,t){var n=e[t];e[t]=function(){var e=n.apply(this,arguments);return h(e),e}}var w,v=(e.isIE,e.upgradeDocumentTree),h=e.upgradeAll,g=e.upgradeWithDefinition,b=e.implementPrototype,E=e.useNative,_=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"],y={},N="http://www.w3.org/1999/xhtml",M=document.createElement.bind(document),O=document.createElementNS.bind(document);w=Object.__proto__||E?function(e,t){return e instanceof t}:function(e,t){if(e instanceof t)return!0;for(var n=e;n;){if(n===t.prototype)return!0;n=n.__proto__}return!1},m(Node.prototype,"cloneNode"),m(document,"importNode"),document.registerElement=t,document.createElement=p,document.createElementNS=f,e.registry=y,e["instanceof"]=w,e.reservedTagList=_,e.getRegisteredDefinition=u,document.register=document.registerElement}),function(e){function t(){i(window.wrap(document)),window.CustomElements.ready=!0;var e=window.requestAnimationFrame||function(e){setTimeout(e,16)};e(function(){setTimeout(function(){window.CustomElements.readyTime=Date.now(),window.HTMLImports&&(window.CustomElements.elapsed=window.CustomElements.readyTime-window.HTMLImports.readyTime),document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))})})}var n=e.useNative,o=e.initializeModules;e.isIE;if(n){var r=function(){};e.watchShadow=r,e.upgrade=r,e.upgradeAll=r,e.upgradeDocumentTree=r,e.upgradeSubtree=r,e.takeRecords=r,e["instanceof"]=function(e,t){return e instanceof t}}else o();var i=e.upgradeDocumentTree,a=e.upgradeDocument;if(window.wrap||(window.ShadowDOMPolyfill?(window.wrap=window.ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=window.ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(e){return e}),window.HTMLImports&&(window.HTMLImports.__importsParsingHook=function(e){e["import"]&&a(wrap(e["import"]))}),"complete"===document.readyState||e.flags.eager)t();else if("interactive"!==document.readyState||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var d=window.HTMLImports&&!window.HTMLImports.ready?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(d,t)}else t()}(window.CustomElements); +if(typeof Math.imul == "undefined" || (Math.imul(0xffffffff,5) == 0)) { + Math.imul = function (a, b) { + var ah = (a >>> 16) & 0xffff; + var al = a & 0xffff; + var bh = (b >>> 16) & 0xffff; + var bl = b & 0xffff; + // the shift by 0 fixes the sign on the high part + // the final |0 converts the unsigned value into a signed value + return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0); + } +} + +/** + * React v15.5.4 + * + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.React=t()}}(function(){return function t(e,n,r){function o(u,a){if(!n[u]){if(!e[u]){var s="function"==typeof require&&require;if(!a&&s)return s(u,!0);if(i)return i(u,!0);var c=new Error("Cannot find module '"+u+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[u]={exports:{}};e[u][0].call(l.exports,function(t){var n=e[u][1][t];return o(n||t)},l,l.exports,t,e,n,r)}return n[u].exports}for(var i="function"==typeof require&&require,u=0;u1){for(var y=Array(d),h=0;h1){for(var m=Array(v),b=0;b8&&C<=11),x=32,w=String.fromCharCode(x),T={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},k=!1,P=null,S={eventTypes:T,extractEvents:function(e,t,n,r){return[u(e,t,n,r),p(e,t,n,r)]}};t.exports=S},{123:123,19:19,20:20,78:78,82:82}],4:[function(e,t,n){"use strict";function r(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var o={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},i=["Webkit","ms","Moz","O"];Object.keys(o).forEach(function(e){i.forEach(function(t){o[r(t,e)]=o[e]})});var a={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},s={isUnitlessNumber:o,shorthandPropertyExpansions:a};t.exports=s},{}],5:[function(e,t,n){"use strict";var r=e(4),o=e(123),i=(e(58),e(125),e(94)),a=e(136),s=e(140),u=(e(142),s(function(e){return a(e)})),l=!1,c="cssFloat";if(o.canUseDOM){var p=document.createElement("div").style;try{p.font=""}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(c="styleFloat")}var d={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var o=e[r];null!=o&&(n+=u(r)+":",n+=i(r,o,t)+";")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=i(a,t[a],n);if("float"!==a&&"cssFloat"!==a||(a=c),s)o[a]=s;else{var u=l&&r.shorthandPropertyExpansions[a];if(u)for(var p in u)o[p]="";else o[a]=""}}}};t.exports=d},{123:123,125:125,136:136,140:140,142:142,4:4,58:58,94:94}],6:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=e(112),i=e(24),a=(e(137),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length&&o("24"),this._callbacks=null,this._contexts=null;for(var r=0;r8));var A=!1;b.canUseDOM&&(A=k("input")&&(!document.documentMode||document.documentMode>11));var D={get:function(){return O.get.call(this)},set:function(e){I=""+e,O.set.call(this,e)}},L={eventTypes:S,extractEvents:function(e,t,n,o){var i,a,s=t?E.getNodeFromInstance(t):window;if(r(s)?R?i=u:a=l:P(s)?A?i=f:(i=m,a=h):v(s)&&(i=g),i){var c=i(e,t);if(c){var p=w.getPooled(S.change,c,n,o);return p.type="change",C.accumulateTwoPhaseDispatches(p),p}}a&&a(e,s,t),"topBlur"===e&&y(t,s)}};t.exports=L},{102:102,109:109,110:110,123:123,16:16,19:19,33:33,71:71,80:80}],8:[function(e,t,n){"use strict";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function o(e,t,n){c.insertTreeBefore(e,t,n)}function i(e,t,n){Array.isArray(t)?s(e,t[0],t[1],n):m(e,t,n)}function a(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],u(e,t,n),e.removeChild(n)}e.removeChild(t)}function s(e,t,n,r){for(var o=t;;){var i=o.nextSibling;if(m(e,o,r),o===n)break;o=i}}function u(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function l(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&m(r,document.createTextNode(n),o):n?(h(o,n),u(r,o,t)):u(r,e,t)}var c=e(9),p=e(13),d=(e(33),e(58),e(93)),f=e(114),h=e(115),m=d(function(e,t,n){e.insertBefore(t,n)}),v=p.dangerouslyReplaceNodeWithMarkup,g={dangerouslyReplaceNodeWithMarkup:v,replaceDelimitedText:l,processUpdates:function(e,t){for(var n=0;n-1||a("96",e),!l.plugins[n]){t.extractEvents||a("97",e),l.plugins[n]=t;var r=t.eventTypes;for(var i in r)o(r[i],t,i)||a("98",i,e)}}}function o(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)&&a("99",n),l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];i(s,t,n)}return!0}return!!e.registrationName&&(i(e.registrationName,t,n),!0)}function i(e,t,n){l.registrationNameModules[e]&&a("100",e),l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=e(112),s=(e(137),null),u={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s&&a("101"),s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];u.hasOwnProperty(n)&&u[n]===o||(u[n]&&a("102",n),u[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=l.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};t.exports=l},{112:112,137:137}],18:[function(e,t,n){"use strict";function r(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e}function o(e){return"topMouseMove"===e||"topTouchMove"===e}function i(e){return"topMouseDown"===e||"topTouchStart"===e}function a(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=g.getNodeFromInstance(r),t?m.invokeGuardedCallbackWithCatch(o,n,e):m.invokeGuardedCallback(o,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),i.addPoolingTo(r),t.exports=r},{106:106,143:143,24:24}],21:[function(e,t,n){"use strict";var r=e(11),o=r.injection.MUST_USE_PROPERTY,i=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,l={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,coords:0,crossOrigin:0,data:0,dateTime:0,default:i,defer:i,dir:0,disabled:i,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|i,muted:o|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:o|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:i,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute("value");"number"!==e.type||!1===e.hasAttribute("value")?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t)}}};t.exports=l},{11:11}],22:[function(e,t,n){"use strict";function r(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}function o(e){var t={"=0":"=","=2":":"};return(""+("."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1))).replace(/(=0|=2)/g,function(e){return t[e]})}var i={escape:r,unescape:o};t.exports=i},{}],23:[function(e,t,n){"use strict";function r(e){null!=e.checkedLink&&null!=e.valueLink&&s("87")}function o(e){r(e),(null!=e.value||null!=e.onChange)&&s("88")}function i(e){r(e),(null!=e.checked||null!=e.onChange)&&s("89")}function a(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}var s=e(112),u=e(64),l=e(145),c=e(120),p=l(c.isValidElement),d=(e(137),e(142),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),f={value:function(e,t,n){return!e[t]||d[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:p.func},h={},m={checkPropTypes:function(e,t,n){for(var r in f){if(f.hasOwnProperty(r))var o=f[r](t,r,e,"prop",null,u);o instanceof Error&&!(o.message in h)&&(h[o.message]=!0,a(n))}},getValue:function(e){return e.valueLink?(o(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(i(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(o(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(i(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};t.exports=m},{112:112,120:120,137:137,142:142,145:145,64:64}],24:[function(e,t,n){"use strict";var r=e(112),o=(e(137),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),i=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},s=function(e,t,n,r){var o=this;if(o.instancePool.length){var i=o.instancePool.pop();return o.call(i,e,t,n,r),i}return new o(e,t,n,r)},u=function(e){var t=this;e instanceof t||r("25"),e.destructor(),t.instancePool.length=0||null!=t.is}function h(e){var t=e.type;d(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var m=e(112),v=e(143),g=e(2),y=e(5),_=e(9),C=e(10),b=e(11),E=e(12),x=e(16),w=e(17),T=e(25),k=e(32),P=e(33),S=e(38),N=e(39),M=e(40),I=e(43),O=(e(58),e(61)),R=e(68),A=(e(129),e(95)),D=(e(137),e(109),e(141),e(118),e(142),k),L=x.deleteListener,U=P.getNodeFromInstance,F=T.listenTo,j=w.registrationNameModules,V={string:!0,number:!0},B="__html",W={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},H=11,q={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},K={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},z={listing:!0,pre:!0,textarea:!0},Y=v({menuitem:!0},K),X=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Q={},G={}.hasOwnProperty,$=1;h.displayName="ReactDOMComponent",h.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=$++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var i=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(c,this);break;case"input":S.mountWrapper(this,i,t),i=S.getHostProps(this,i),e.getReactMountReady().enqueue(c,this);break;case"option":N.mountWrapper(this,i,t),i=N.getHostProps(this,i);break;case"select":M.mountWrapper(this,i,t),i=M.getHostProps(this,i),e.getReactMountReady().enqueue(c,this);break;case"textarea":I.mountWrapper(this,i,t),i=I.getHostProps(this,i),e.getReactMountReady().enqueue(c,this)}o(this,i);var a,p;null!=t?(a=t._namespaceURI,p=t._tag):n._tag&&(a=n._namespaceURI,p=n._tag),(null==a||a===C.svg&&"foreignobject"===p)&&(a=C.html),a===C.html&&("svg"===this._tag?a=C.svg:"math"===this._tag&&(a=C.mathml)),this._namespaceURI=a;var d;if(e.useCreateElement){var f,h=n._ownerDocument;if(a===C.html)if("script"===this._tag){var m=h.createElement("div"),v=this._currentElement.type;m.innerHTML="<"+v+">",f=m.removeChild(m.firstChild)}else f=i.is?h.createElement(this._currentElement.type,i.is):h.createElement(this._currentElement.type);else f=h.createElementNS(a,this._currentElement.type);P.precacheNode(this,f),this._flags|=D.hasCachedChildNodes,this._hostParent||E.setAttributeForRoot(f),this._updateDOMProperties(null,i,e);var y=_(f);this._createInitialChildren(e,i,r,y),d=y}else{var b=this._createOpenTagMarkupAndPutListeners(e,i),x=this._createContentMarkup(e,i,r);d=!x&&K[this._tag]?b+"/>":b+">"+x+""}switch(this._tag){case"input":e.getReactMountReady().enqueue(s,this),i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(u,this),i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"select":case"button":i.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(l,this)}return d},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(null!=o)if(j.hasOwnProperty(r))o&&i(this,r,o,e);else{"style"===r&&(o&&(o=this._previousStyleCopy=v({},t.style)),o=y.createMarkupForStyles(o,this));var a=null;null!=this._tag&&f(this._tag,t)?W.hasOwnProperty(r)||(a=E.createMarkupForCustomAttribute(r,o)):a=E.createMarkupForProperty(r,o),a&&(n+=" "+a)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+E.createMarkupForRoot()),n+=" "+E.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var i=V[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)r=A(i);else if(null!=a){var s=this.mountChildren(a,e,n);r=s.join("")}}return z[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&_.queueHTML(r,o.__html);else{var i=V[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)""!==i&&_.queueText(r,i);else if(null!=a)for(var s=this.mountChildren(a,e,n),u=0;u"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),t.exports=a},{143:143,33:33,9:9}],36:[function(e,t,n){"use strict";var r={useCreateElement:!0,useFiber:!1};t.exports=r},{}],37:[function(e,t,n){"use strict";var r=e(8),o=e(33),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};t.exports=i},{33:33,8:8}],38:[function(e,t,n){"use strict";function r(){this._rootNodeID&&d.updateWrapper(this)}function o(e){return"checkbox"===e.type||"radio"===e.type?null!=e.checked:null!=e.value}function i(e){var t=this._currentElement.props,n=l.executeOnChange(t,e);p.asap(r,this);var o=t.name;if("radio"===t.type&&null!=o){for(var i=c.getNodeFromInstance(this),s=i;s.parentNode;)s=s.parentNode;for(var u=s.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),d=0;dt.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[c()].length,o=Math.min(t.start,r),i=void 0===t.end?o:Math.min(t.end,r);if(!n.extend&&o>i){var a=i;i=o,o=a}var s=l(e,o),u=l(e,i);if(s&&u){var p=document.createRange();p.setStart(s.node,s.offset),n.removeAllRanges(),o>i?(n.addRange(p),n.extend(u.node,u.offset)):(p.setEnd(u.node,u.offset),n.addRange(p))}}}var u=e(123),l=e(105),c=e(106),p=u.canUseDOM&&"selection"in document&&!("getSelection"in window),d={getOffsets:p?o:i,setOffsets:p?a:s};t.exports=d},{105:105,106:106,123:123}],42:[function(e,t,n){"use strict";var r=e(112),o=e(143),i=e(8),a=e(9),s=e(33),u=e(95),l=(e(137),e(118),function(e){this._currentElement=e,this._stringText=""+e, +this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});o(l.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,i=" react-text: "+o+" ";if(this._domID=o,this._hostParent=t,e.useCreateElement){var l=n._ownerDocument,c=l.createComment(i),p=l.createComment(" /react-text "),d=a(l.createDocumentFragment());return a.queueChild(d,a(c)),this._stringText&&a.queueChild(d,a(l.createTextNode(this._stringText))),a.queueChild(d,a(p)),s.precacheNode(this,c),this._closingComment=p,d}var f=u(this._stringText);return e.renderToStaticMarkup?f:""+f+""},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();i.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n&&r("67",this._domID),8===n.nodeType&&" /react-text "===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),t.exports=l},{112:112,118:118,137:137,143:143,33:33,8:8,9:9,95:95}],43:[function(e,t,n){"use strict";function r(){this._rootNodeID&&c.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return l.asap(r,this),n}var i=e(112),a=e(143),s=e(23),u=e(33),l=e(71),c=(e(137),e(142),{getHostProps:function(e,t){return null!=t.dangerouslySetInnerHTML&&i("91"),a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var a=t.defaultValue,u=t.children;null!=u&&(null!=a&&i("92"),Array.isArray(u)&&(u.length<=1||i("93"),u=u[0]),a=""+u),null==a&&(a=""),r=a}e._wrapperState={initialValue:""+r,listeners:null,onChange:o.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var o=""+r;o!==n.value&&(n.value=o),null==t.defaultValue&&(n.defaultValue=o)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}});t.exports=c},{112:112,137:137,142:142,143:143,23:23,33:33,71:71}],44:[function(e,t,n){"use strict";function r(e,t){"_hostNode"in e||u("33"),"_hostNode"in t||u("33");for(var n=0,r=e;r;r=r._hostParent)n++;for(var o=0,i=t;i;i=i._hostParent)o++;for(;n-o>0;)e=e._hostParent,n--;for(;o-n>0;)t=t._hostParent,o--;for(var a=n;a--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function o(e,t){"_hostNode"in e||u("35"),"_hostNode"in t||u("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function i(e){return"_hostNode"in e||u("36"),e._hostParent}function a(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var o;for(o=r.length;o-- >0;)t(r[o],"captured",n);for(o=0;o0;)n(u[l],"captured",i)}var u=e(112);e(137);t.exports={isAncestor:o,getLowestCommonAncestor:r,getParentInstance:i,traverseTwoPhase:a,traverseEnterLeave:s}},{112:112,137:137}],45:[function(e,t,n){"use strict";var r=e(120),o=e(30),i=o;r.addons&&(r.__SECRET_INJECTED_REACT_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=i),t.exports=i},{120:120,30:30}],46:[function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var o=e(143),i=e(71),a=e(89),s=e(129),u={initialize:s,close:function(){d.isBatchingUpdates=!1}},l={initialize:s,close:i.flushBatchedUpdates.bind(i)},c=[l,u];o(r.prototype,a,{getTransactionWrappers:function(){return c}});var p=new r,d={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,i){var a=d.isBatchingUpdates;return d.isBatchingUpdates=!0,a?e(t,n,r,o,i):p.perform(e,null,t,n,r,o,i)}};t.exports=d},{129:129,143:143,71:71,89:89}],47:[function(e,t,n){"use strict";function r(){x||(x=!0,y.EventEmitter.injectReactEventListener(g),y.EventPluginHub.injectEventPluginOrder(s),y.EventPluginUtils.injectComponentTree(d),y.EventPluginUtils.injectTreeTraversal(h),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:E,EnterLeaveEventPlugin:u,ChangeEventPlugin:a,SelectEventPlugin:b,BeforeInputEventPlugin:i}),y.HostComponent.injectGenericComponentClass(p),y.HostComponent.injectTextComponentClass(m),y.DOMProperty.injectDOMPropertyConfig(o),y.DOMProperty.injectDOMPropertyConfig(l),y.DOMProperty.injectDOMPropertyConfig(C),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new f(e)}),y.Updates.injectReconcileTransaction(_),y.Updates.injectBatchingStrategy(v),y.Component.injectEnvironment(c))}var o=e(1),i=e(3),a=e(7),s=e(14),u=e(15),l=e(21),c=e(27),p=e(31),d=e(33),f=e(35),h=e(44),m=e(42),v=e(46),g=e(52),y=e(55),_=e(65),C=e(73),b=e(74),E=e(75),x=!1;t.exports={inject:r}},{1:1,14:14,15:15,21:21,27:27,3:3,31:31,33:33,35:35,42:42,44:44,46:46,52:52,55:55,65:65,7:7,73:73,74:74,75:75}],48:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;t.exports=r},{}],49:[function(e,t,n){"use strict";var r,o={injectEmptyComponentFactory:function(e){r=e}},i={create:function(e){return r(e)}};i.injection=o,t.exports=i},{}],50:[function(e,t,n){"use strict";function r(e,t,n){try{t(n)}catch(e){null===o&&(o=e)}}var o=null,i={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(o){var e=o;throw o=null,e}}};t.exports=i},{}],51:[function(e,t,n){"use strict";function r(e){o.enqueueEvents(e),o.processEventQueue(!1)}var o=e(16),i={handleTopLevel:function(e,t,n,i){r(o.extractEvents(e,t,n,i))}};t.exports=i},{16:16}],52:[function(e,t,n){"use strict";function r(e){for(;e._hostParent;)e=e._hostParent;var t=p.getNodeFromInstance(e),n=t.parentNode;return p.getClosestInstanceFromNode(n)}function o(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function i(e){var t=f(e.nativeEvent),n=p.getClosestInstanceFromNode(t),o=n;do{e.ancestors.push(o),o=o&&r(o)}while(o);for(var i=0;i/," "+i.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(i.CHECKSUM_ATTR_NAME);return n=n&&parseInt(n,10),r(e)===n}};t.exports=i},{92:92}],60:[function(e,t,n){"use strict";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;r.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or .":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var a,s=v.createElement(F,{child:t});if(e){var u=E.get(e);a=u._processChildContext(u._context)}else a=P;var c=d(n);if(c){var p=c._currentElement,h=p.props.child;if(M(h,t)){var m=c._renderedComponent.getPublicInstance(),g=r&&function(){r.call(m)};return j._updateRootComponent(c,s,a,n,g),m}j.unmountComponentAtNode(n)}var y=o(n),_=y&&!!i(y),C=l(n),b=_&&!c&&!C,x=j._renderNewRootComponent(s,n,b,a)._renderedComponent.getPublicInstance();return r&&r.call(x),x},render:function(e,t,n){return j._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){c(e)||f("40");var t=d(e);return t?(delete L[t._instance.rootID],k.batchedUpdates(u,t,e,!1),!0):(l(e),1===e.nodeType&&e.hasAttribute(O),!1)},_mountImageIntoNode:function(e,t,n,i,a){if(c(t)||f("41"),i){var s=o(t);if(x.canReuseMarkup(e,s))return void y.precacheNode(n,s);var u=s.getAttribute(x.CHECKSUM_ATTR_NAME);s.removeAttribute(x.CHECKSUM_ATTR_NAME);var l=s.outerHTML;s.setAttribute(x.CHECKSUM_ATTR_NAME,u);var p=e,d=r(p,l),m=" (client) "+p.substring(d-20,d+20)+"\n (server) "+l.substring(d-20,d+20);t.nodeType===A&&f("42",m)}if(t.nodeType===A&&f("43"),a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else N(t,e),y.precacheNode(n,t.firstChild)}};t.exports=j},{108:108,11:11,112:112,114:114,116:116,119:119,120:120,130:130,137:137,142:142,25:25,33:33,34:34,36:36,53:53,57:57,58:58,59:59,66:66,70:70,71:71,9:9}],61:[function(e,t,n){"use strict";function r(e,t,n){return{type:"INSERT_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function o(e,t,n){return{type:"MOVE_EXISTING",content:null,fromIndex:e._mountIndex,fromNode:d.getHostNode(e),toIndex:n,afterNode:t}}function i(e,t){return{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function a(e){return{type:"SET_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e){return{type:"TEXT_CONTENT",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function u(e,t){return t&&(e=e||[],e.push(t)),e}function l(e,t){p.processChildrenUpdates(e,t)}var c=e(112),p=e(28),d=(e(57),e(58),e(119),e(66)),f=e(26),h=(e(129),e(97)),m=(e(137),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return f.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,i){var a;return a=h(t,0),f.updateChildren(e,a,n,r,o,this,this._hostContainerInfo,i,0),a},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],i=0;for(var a in r)if(r.hasOwnProperty(a)){var s=r[a],u=d.mountComponent(s,t,this,this._hostContainerInfo,n,0);s._mountIndex=i++,o.push(u)}return o},updateTextContent:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c("118");l(this,[s(e)])},updateMarkup:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c("118");l(this,[a(e)])},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,o={},i=[],a=this._reconcilerUpdateChildren(r,e,i,o,t,n);if(a||r){var s,c=null,p=0,f=0,h=0,m=null;for(s in a)if(a.hasOwnProperty(s)){var v=r&&r[s],g=a[s];v===g?(c=u(c,this.moveChild(v,m,p,f)),f=Math.max(v._mountIndex,f),v._mountIndex=p):(v&&(f=Math.max(v._mountIndex,f)),c=u(c,this._mountChildAtIndex(g,i[h],m,p,t,n)),h++),p++,m=d.getHostNode(g)}for(s in o)o.hasOwnProperty(s)&&(c=u(c,this._unmountChild(r[s],o[s])));c&&l(this,c),this._renderedChildren=a}},unmountChildren:function(e){var t=this._renderedChildren;f.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function i(e,t){var n=s.get(e);return n||null}var a=e(112),s=(e(119),e(57)),u=(e(58),e(71)),l=(e(137),e(142),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){l.validateCallback(t,n);var o=i(e);if(!o)return null;o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],r(o)},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=i(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t,n){var o=i(e,"replaceState");o&&(o._pendingStateQueue=[t],o._pendingReplaceState=!0,void 0!==n&&null!==n&&(l.validateCallback(n,"replaceState"),o._pendingCallbacks?o._pendingCallbacks.push(n):o._pendingCallbacks=[n]),r(o))},enqueueSetState:function(e,t){var n=i(e,"setState");n&&((n._pendingStateQueue||(n._pendingStateQueue=[])).push(t),r(n))},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&"function"!=typeof e&&a("122",t,o(e))}});t.exports=l},{112:112,119:119,137:137,142:142,57:57,58:58,71:71}],71:[function(e,t,n){"use strict";function r(){P.ReactReconcileTransaction&&b||c("123")}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=d.getPooled(),this.reconcileTransaction=P.ReactReconcileTransaction.getPooled(!0)}function i(e,t,n,o,i,a){return r(),b.batchedUpdates(e,t,n,o,i,a)}function a(e,t){return e._mountOrder-t._mountOrder}function s(e){var t=e.dirtyComponentsLength;t!==g.length&&c("124",t,g.length),g.sort(a),y++;for(var n=0;n]/;t.exports=o},{}],96:[function(e,t,n){"use strict";function r(e){if(null==e)return null;if(1===e.nodeType)return e;var t=a.get(e);if(t)return t=s(t),t?i.getNodeFromInstance(t):null;"function"==typeof e.render?o("44"):o("45",Object.keys(e))}var o=e(112),i=(e(119),e(33)),a=e(57),s=e(103);e(137),e(142);t.exports=r},{103:103,112:112,119:119,137:137,142:142,33:33,57:57}],97:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r){if(e&&"object"==typeof e){var o=e;void 0===o[n]&&null!=t&&(o[n]=t)}}function o(e,t){if(null==e)return e;var n={};return i(e,r,n),n}var i=(e(22),e(117));e(142);void 0!==n&&n.env,t.exports=o}).call(this,void 0)},{117:117,142:142,22:22}],98:[function(e,t,n){"use strict";function r(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}t.exports=r},{}],99:[function(e,t,n){"use strict";function r(e){var t,n=e.keyCode;return"charCode"in e?0===(t=e.charCode)&&13===n&&(t=13):t=n,t>=32||13===t?t:0}t.exports=r},{}],100:[function(e,t,n){"use strict";function r(e){if(e.key){var t=i[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=o(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?a[e.keyCode]||"Unidentified":""}var o=e(99),i={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},a={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};t.exports=r},{99:99}],101:[function(e,t,n){"use strict";function r(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=i[e];return!!r&&!!n[r]}function o(e){return r}var i={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};t.exports=o},{}],102:[function(e,t,n){"use strict";function r(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}t.exports=r},{}],103:[function(e,t,n){"use strict";function r(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent;return t===o.HOST?e._renderedComponent:t===o.EMPTY?null:void 0}var o=e(62);t.exports=r},{62:62}],104:[function(e,t,n){"use strict";function r(e){var t=e&&(o&&e[o]||e[i]);if("function"==typeof t)return t}var o="function"==typeof Symbol&&Symbol.iterator,i="@@iterator";t.exports=r},{}],105:[function(e,t,n){"use strict";function r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function o(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function i(e,t){for(var n=r(e),i=0,a=0;n;){if(3===n.nodeType){if(a=i+n.textContent.length,i<=t&&a>=t)return{node:n,offset:t-i};i=a}n=r(o(n))}}t.exports=i},{}],106:[function(e,t,n){"use strict";function r(){return!i&&o.canUseDOM&&(i="textContent"in document.documentElement?"textContent":"innerText"),i}var o=e(123),i=null;t.exports=r},{123:123}],107:[function(e,t,n){"use strict";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function o(e){if(s[e])return s[e];if(!a[e])return e;var t=a[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return""}var i=e(123),a={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},s={},u={};i.canUseDOM&&(u=document.createElement("div").style,"AnimationEvent"in window||(delete a.animationend.animation,delete a.animationiteration.animation,delete a.animationstart.animation),"TransitionEvent"in window||delete a.transitionend.transition),t.exports=o},{123:123}],108:[function(e,t,n){"use strict";function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function o(e){return"function"==typeof e&&void 0!==e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function i(e,t){var n;if(null===e||!1===e)n=l.create(i);else if("object"==typeof e){var s=e,u=s.type;if("function"!=typeof u&&"string"!=typeof u){var d="";d+=r(s._owner),a("130",null==u?u:typeof u,d)}"string"==typeof s.type?n=c.createInternalComponent(s):o(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new p(s)}else"string"==typeof e||"number"==typeof e?n=c.createInstanceForText(e):a("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var a=e(112),s=e(143),u=e(29),l=e(49),c=e(54),p=(e(121),e(137),e(142),function(e){this.construct(e)});s(p.prototype,u,{_instantiateReactComponent:i}),t.exports=i},{112:112,121:121,137:137,142:142,143:143,29:29,49:49,54:54}],109:[function(e,t,n){"use strict";function r(e,t){if(!i.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,i=e(123);i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),t.exports=r},{123:123}],110:[function(e,t,n){"use strict";function r(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!o[e.type]:"textarea"===t}var o={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};t.exports=r},{}],111:[function(e,t,n){"use strict";function r(e){return'"'+o(e)+'"'}var o=e(95);t.exports=r},{95:95}],112:[function(e,t,n){"use strict";function r(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r]/,u=e(93),l=u(function(e,t){if(e.namespaceURI!==i.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML=""+t+"";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var c=document.createElement("div");c.innerHTML=" ",""===c.innerHTML&&(l=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}t.exports=l},{10:10,123:123,93:93}],115:[function(e,t,n){"use strict";var r=e(123),o=e(95),i=e(114),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){if(3===e.nodeType)return void(e.nodeValue=t);i(e,o(t))})),t.exports=a},{114:114,123:123,95:95}],116:[function(e,t,n){"use strict";function r(e,t){var n=null===e||!1===e,r=null===t||!1===t;if(n||r)return n===r;var o=typeof e,i=typeof t;return"string"===o||"number"===o?"string"===i||"number"===i:"object"===i&&e.type===t.type&&e.key===t.key}t.exports=r},{}],117:[function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,i){var d=typeof e;if("undefined"!==d&&"boolean"!==d||(e=null),null===e||"string"===d||"number"===d||"object"===d&&e.$$typeof===s)return n(i,e,""===t?c+r(e,0):t),1;var f,h,m=0,v=""===t?c:t+p;if(Array.isArray(e))for(var g=0;g":"<"+e+">",s[e]=!a.firstChild),s[e]?d[e]:null}var o=e(123),i=e(137),a=o.canUseDOM?document.createElement("div"):null,s={},u=[1,'"],l=[1,"","
"],c=[3,"","
"],p=[1,'',""],d={"*":[1,"?
","
"],area:[1,"",""],col:[2,"","
"],legend:[1,"
","
"],param:[1,"",""],tr:[2,"","
"],optgroup:u,option:u,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:c,th:c};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(e){d[e]=p,s[e]=!0}),t.exports=r},{123:123,137:137}],134:[function(e,t,n){"use strict";function r(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}t.exports=r},{}],135:[function(e,t,n){"use strict";function r(e){return e.replace(o,"-$1").toLowerCase()}var o=/([A-Z])/g;t.exports=r},{}],136:[function(e,t,n){"use strict";function r(e){return o(e).replace(i,"-ms-")}var o=e(135),i=/^ms-/;t.exports=r},{135:135}],137:[function(e,t,n){"use strict";function r(e,t,n,r,i,a,s,u){if(o(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,i,a,s,u],p=0;l=new Error(t.replace(/%s/g,function(){return c[p++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}}var o=function(e){};t.exports=r},{}],138:[function(e,t,n){"use strict";function r(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!("function"==typeof n.Node?e instanceof n.Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}t.exports=r},{}],139:[function(e,t,n){"use strict";function r(e){return o(e)&&3==e.nodeType}var o=e(138);t.exports=r},{138:138}],140:[function(e,t,n){"use strict";function r(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}t.exports=r},{}],141:[function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!==e&&t!==t}function o(e,t){if(r(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var a=0;a 0x10FFFF || // not a valid Unicode code point + floor(codePoint) != codePoint // not an integer + ) { + throw RangeError('Invalid code point: ' + codePoint); + } + if (codePoint <= 0xFFFF) { // BMP code point + codeUnits.push(codePoint); + } else { // Astral code point; split in surrogate halves + // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + codePoint -= 0x10000; + highSurrogate = (codePoint >> 10) + 0xD800; + lowSurrogate = (codePoint % 0x400) + 0xDC00; + codeUnits.push(highSurrogate, lowSurrogate); + } + if (index + 1 == length || codeUnits.length > MAX_SIZE) { + result += stringFromCharCode.apply(null, codeUnits); + codeUnits.length = 0; + } + } + return result; + }; + if (defineProperty) { + defineProperty(String, 'fromCodePoint', { + 'value': fromCodePoint, + 'configurable': true, + 'writable': true + }); + } else { + String.fromCodePoint = fromCodePoint; + } + }()); +} + +/*! http://mths.be/codepointat v0.1.0 by @mathias */ +if (!String.prototype.codePointAt) { + (function() { + 'use strict'; // needed to support `apply`/`call` with `undefined`/`null` + var codePointAt = function(position) { + if (this == null) { + throw TypeError(); + } + var string = String(this); + var size = string.length; + // `ToInteger` + var index = position ? Number(position) : 0; + if (index != index) { // better `isNaN` + index = 0; + } + // Account for out-of-bounds indices: + if (index < 0 || index >= size) { + return undefined; + } + // Get the first code unit + var first = string.charCodeAt(index); + var second; + if ( // check if it’s the start of a surrogate pair + first >= 0xD800 && first <= 0xDBFF && // high surrogate + size > index + 1 // there is a next code unit + ) { + second = string.charCodeAt(index + 1); + if (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate + // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; + } + } + return first; + }; + if (Object.defineProperty) { + Object.defineProperty(String.prototype, 'codePointAt', { + 'value': codePointAt, + 'configurable': true, + 'writable': true + }); + } else { + String.prototype.codePointAt = codePointAt; + } + }()); +} + +function registerAsciinemaPlayerElement() { + var AsciinemaPlayerProto = Object.create(HTMLElement.prototype); + + function merge() { + var merged = {}; + for (var i=0; i>>0),ma=0;function na(a,b,c){return a.call.apply(a.bind,arguments)} +function oa(a,b,c){if(!a)throw Error();if(2b?1:0};var ua=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(ca(a))return ca(b)&&1==b.length?a.indexOf(b,c):-1;for(;cb?null:ca(a)?a.charAt(b):a[b]}function ya(a,b){var c=ua(a,b),d;(d=0<=c)&&Array.prototype.splice.call(a,c,1);return d}function za(a,b){a.sort(b||Aa)}function Ca(a,b){for(var c=Array(a.length),d=0;db?1:a2*this.Fc&&Na(this),!0):!1};function Na(a){if(a.Fc!=a.ib.length){for(var b=0,c=0;ba){var b=Ra[a];if(b)return b}b=new Qa([a|0],0>a?-1:0);-128<=a&&128>a&&(Ra[a]=b);return b}function Ta(a){if(isNaN(a)||!isFinite(a))return Ua;if(0>a)return Ta(-a).kb();for(var b=[],c=1,d=0;a>=c;d++)b[d]=a/c|0,c*=Va;return new Qa(b,0)}var Va=4294967296,Ua=Sa(0),Wa=Sa(1),Xa=Sa(16777216);g=Qa.prototype; +g.Of=function(){return 0a||36>>0).toString(a);c=e;if(c.hc())return f+d;for(;6>f.length;)f="0"+f;d=""+f+d}};function Ya(a,b){return 0>b?0:bthis.compare(Xa)};g.Ve=function(a){return 0>=this.compare(a)};g.compare=function(a){a=this.ze(a);return a.Eb()?-1:a.hc()?0:1};g.kb=function(){return this.Hf().add(Wa)}; +g.add=function(a){for(var b=Math.max(this.Ma.length,a.Ma.length),c=[],d=0,e=0;e<=b;e++){var f=d+(Ya(this,e)&65535)+(Ya(a,e)&65535),h=(f>>>16)+(Ya(this,e)>>>16)+(Ya(a,e)>>>16);d=h>>>16;f&=65535;h&=65535;c[e]=h<<16|f}return new Qa(c,c[c.length-1]&-2147483648?-1:0)};g.ze=function(a){return this.add(a.kb())}; +g.multiply=function(a){if(this.hc()||a.hc())return Ua;if(this.Eb())return a.Eb()?this.kb().multiply(a.kb()):this.kb().multiply(a).kb();if(a.Eb())return this.multiply(a.kb()).kb();if(this.Ue()&&a.Ue())return Ta(this.vd()*a.vd());for(var b=this.Ma.length+a.Ma.length,c=[],d=0;d<2*b;d++)c[d]=0;for(d=0;d>>16,h=Ya(this,d)&65535,k=Ya(a,e)>>>16,l=Ya(a,e)&65535;c[2*d+2*e]+=h*l;ab(c,2*d+2*e);c[2*d+2*e+1]+=f*l;ab(c,2*d+2*e+1);c[2*d+2*e+1]+= +h*k;ab(c,2*d+2*e+1);c[2*d+2*e+2]+=f*k;ab(c,2*d+2*e+2)}for(d=0;d>>16,a[b]&=65535,b++} +function Za(a,b){if(b.hc())throw Error("division by zero");if(a.hc())return Ua;if(a.Eb())return b.Eb()?Za(a.kb(),b.kb()):Za(a.kb(),b).kb();if(b.Eb())return Za(a,b.kb()).kb();if(30=f?1:Math.pow(2,f-48);h=Ta(e);for(var k=h.multiply(b);k.Eb()||k.xf(d);)e-=f,h=Ta(e),k=h.multiply(b);h.hc()&&(h=Wa);c=c.add(h);d=d.ze(k)}return c}g.Hf=function(){for(var a=this.Ma.length,b=[],c=0;c>5;a%=32;for(var c=this.Ma.length+b+(0>>32-a:Ya(this,e-b);return new Qa(d,this.Lc)}; +g.ad=function(a){var b=a>>5;a%=32;for(var c=this.Ma.length-b,d=[],e=0;e>>a|Ya(this,e+b+1)<<32-a:Ya(this,e+b);return new Qa(d,this.Lc)};function cb(a,b){null!=a&&this.append.apply(this,arguments)}g=cb.prototype;g.xc="";g.set=function(a){this.xc=""+a};g.append=function(a,b,c){this.xc+=String(a);if(null!=b)for(var d=1;d>>16&65535)*d+c*(b>>>16&65535)<<16>>>0)|0};function hd(a){a=gd(a|0,-862048943);return gd(a<<15|a>>>-15,461845907)} +function id(a,b){var c=(a|0)^(b|0);return gd(c<<13|c>>>-13,5)+-430675100|0}function jd(a,b){var c=(a|0)^b;c=gd(c^c>>>16,-2048144789);c=gd(c^c>>>13,-1028477387);return c^c>>>16}function kd(a){a:{var b=1;for(var c=0;;)if(b>2)}function qd(a){return a instanceof rd} +function sd(a,b){if(a.Zb===b.Zb)return 0;var c=wb(a.fb);if(t(c?b.fb:c))return-1;if(t(a.fb)){if(wb(b.fb))return 1;c=Aa(a.fb,b.fb);return 0===c?Aa(a.name,b.name):c}return Aa(a.name,b.name)}function rd(a,b,c,d,e){this.fb=a;this.name=b;this.Zb=c;this.Oc=d;this.hb=e;this.m=2154168321;this.J=4096}g=rd.prototype;g.toString=function(){return this.Zb};g.equiv=function(a){return this.K(null,a)};g.K=function(a,b){return b instanceof rd?this.Zb===b.Zb:!1}; +g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return D.c(c,this);case 3:return D.l(c,this,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return D.c(c,this)};a.l=function(a,c,d){return D.l(c,this,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Gb(b)))};g.h=function(a){return D.c(a,this)};g.c=function(a,b){return D.l(a,this,b)};g.P=function(){return this.hb}; +g.T=function(a,b){return new rd(this.fb,this.name,this.Zb,this.Oc,b)};g.U=function(){var a=this.Oc;return null!=a?a:this.Oc=a=pd(kd(this.name),nd(this.fb))};g.hd=function(){return this.name};g.jd=function(){return this.fb};g.R=function(a,b){return Jc(b,this.Zb)};var td=function td(a){switch(arguments.length){case 1:return td.h(arguments[0]);case 2:return td.c(arguments[0],arguments[1]);default:throw Error(["Invalid arity: ",v.h(arguments.length)].join(""));}}; +td.h=function(a){if(a instanceof rd)return a;var b=a.indexOf("/");return 1>b?td.c(null,a):td.c(a.substring(0,b),a.substring(b+1,a.length))};td.c=function(a,b){var c=null!=a?[v.h(a),"/",v.h(b)].join(""):b;return new rd(a,b,c,null,null)};td.L=2;function ud(a){return null!=a?a.J&131072||q===a.Tf?!0:a.J?!1:Ab(cd,a):Ab(cd,a)} +function E(a){if(null==a)return null;if(null!=a&&(a.m&8388608||q===a.Pe))return a.S(null);if(vb(a)||"string"===typeof a)return 0===a.length?null:new Jb(a,0,null);if(Ab(Bc,a))return Cc(a);throw Error([v.h(a)," is not ISeqable"].join(""));}function y(a){if(null==a)return null;if(null!=a&&(a.m&64||q===a.G))return a.Ia(null);a=E(a);return null==a?null:Wb(a)}function vd(a){return null!=a?null!=a&&(a.m&64||q===a.G)?a.bb(null):(a=E(a))?Yb(a):wd:wd} +function z(a){return null==a?null:null!=a&&(a.m&128||q===a.Id)?a.Ka(null):E(vd(a))}var G=function G(a){switch(arguments.length){case 1:return G.h(arguments[0]);case 2:return G.c(arguments[0],arguments[1]);default:for(var c=[],d=arguments.length,e=0;;)if(e=d)return-1;!(0c&&(c+=d,c=0>c?0:c);for(;;)if(cc?d+c:c;for(;;)if(0<=c){if(G.c(Vd(a,c),b))return c;--c}else return-1}function Yd(a,b){this.o=a;this.i=b} +Yd.prototype.ja=function(){return this.ia?0:a};g.Rc=function(){var a=this.W(null);return 0d)c=1;else if(0===c)c=0;else a:for(d=0;;){var e=Ke(Vd(a,d),Vd(b,d));if(0===e&&d+1>1&1431655765;a=(a&858993459)+(a>>2&858993459);return 16843009*(a+(a>>4)&252645135)>>24} +var v=function v(a){switch(arguments.length){case 0:return v.B();case 1:return v.h(arguments[0]);default:for(var c=[],d=arguments.length,e=0;;)if(ed:e))c[d]=a.next(),d+=1;else return qf(new nf(c,0,d),Rf.h?Rf.h(a):Rf.call(null,a))}else return null},null,null)};function Sf(a,b,c,d,e,f){this.buffer=a;this.ub=b;this.pe=c;this.Rb=d;this.ye=e;this.Gf=f} +Sf.prototype.step=function(){if(this.ub!==Nf)return!0;for(;;)if(this.ub===Nf)if(this.buffer.Td()){if(this.pe)return!1;if(this.ye.ja()){if(this.Gf)var a=P(this.Rb,ae(null,this.ye.next()));else a=this.ye.next(),a=this.Rb.c?this.Rb.c(null,a):this.Rb.call(null,null,a);Hd(a)&&(this.Rb.h?this.Rb.h(null):this.Rb.call(null,null),this.pe=!0)}else this.Rb.h?this.Rb.h(null):this.Rb.call(null,null),this.pe=!0}else this.ub=this.buffer.remove();else return!0};Sf.prototype.ja=function(){return this.step()}; +Sf.prototype.next=function(){if(this.ja()){var a=this.ub;this.ub=Nf;return a}throw Error("No such element");};Sf.prototype.remove=function(){return Error("Unsupported operation")};Sf.prototype[Fb]=function(){return yd(this)}; +function Tf(a,b){var c=new Sf(Qf,Nf,!1,null,b,!1);c.Rb=function(){var b=function(a){return function(){function b(b,c){a.buffer=a.buffer.add(c);return b}var c=null;c=function(a,c){switch(arguments.length){case 0:return null;case 1:return a;case 2:return b.call(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};c.B=function(){return null};c.h=function(a){return a};c.c=b;return c}()}(c);return a.h?a.h(b):a.call(null,b)}();return c} +function Uf(a,b){var c=Kf(b);c=Tf(a,c);c=Rf(c);return t(c)?c:wd}function Vf(a,b){for(;;){if(null==E(b))return!0;var c=y(b);c=a.h?a.h(c):a.call(null,c);if(t(c)){c=a;var d=z(b);a=c;b=d}else return!1}}function Wf(a,b){for(;;)if(E(b)){var c=y(b);c=a.h?a.h(c):a.call(null,c);if(t(c))return c;c=a;var d=z(b);a=c;b=d}else return null}function Xf(a){if(Ge(a))return 0===(a&1);throw Error(["Argument must be an integer: ",v.h(a)].join(""));} +function Yf(a){return function(){function b(b,c){return wb(a.c?a.c(b,c):a.call(null,b,c))}function c(b){return wb(a.h?a.h(b):a.call(null,b))}function d(){return wb(a.B?a.B():a.call(null))}var e=null,f=function(){function b(a,b,d){var e=null;if(2a?0:a-1>>>5<<5}function Jg(a,b,c){for(;;){if(0===b)return c;var d=Gg(a);d.o[0]=c;c=d;b-=5}} +var Kg=function Kg(a,b,c,d){var f=Hg(c),h=a.F-1>>>b&31;5===b?f.o[h]=d:(c=c.o[h],null!=c?(b-=5,a=Kg.M?Kg.M(a,b,c,d):Kg.call(null,a,b,c,d)):a=Jg(null,b-5,d),f.o[h]=a);return f};function Lg(a,b){throw Error(["No item ",v.h(a)," in vector of length ",v.h(b)].join(""));}function Mg(a,b){if(b>=Ig(a))return a.fa;for(var c=a.root,d=a.shift;;)if(0>>d&31];d=e}else return c.o} +var Ng=function Ng(a,b,c,d,e){var h=Hg(c);if(0===b)h.o[d&31]=e;else{var k=d>>>b&31;b-=5;c=c.o[k];a=Ng.Z?Ng.Z(a,b,c,d,e):Ng.call(null,a,b,c,d,e);h.o[k]=a}return h},Og=function Og(a,b,c){var e=a.F-2>>>b&31;if(5=this.F)a=new Jb(this.fa,0,null);else{a:{a=this.root;for(var b=this.shift;;)if(0this.F-Ig(this)){for(var c=this.fa.length,d=Array(c+1),e=0;;)if(e>>5>1<b)return new R(null,b,5,T,a,null);for(var c=32,d=(new R(null,32,5,T,a.slice(0,32),null)).Pc(null);;)if(cb||this.end<=this.start+b?Lg(b,this.end-this.start):A.c(this.Ja,this.start+b)};g.ka=function(a,b,c){return 0>b||this.end<=this.start+b?c:A.l(this.Ja,this.start+b,c)}; +g.dc=function(a,b,c){a=this.start+b;if(0>b||this.end+1<=a)throw Error(["Index ",v.h(b)," out of bounds [0,",v.h(this.W(null)),"]"].join(""));b=this.meta;c=K.l(this.Ja,a,c);var d=this.end;a+=1;return Zg(b,c,this.start,d>a?d:a,null)};g.ba=function(){return null!=this.Ja&&q===this.Ja.fe?Qg(this.Ja,this.start,this.end):new Jf(Hf,this)};g.P=function(){return this.meta};g.W=function(){return this.end-this.start};g.Ac=function(){return A.c(this.Ja,this.end-1)}; +g.Bc=function(){if(this.start===this.end)throw Error("Can't pop empty vector");return Zg(this.meta,this.Ja,this.start,this.end-1,null)};g.Rc=function(){return this.start!==this.end?new Zd(this,this.end-this.start-1,null):null};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return tc(he,this.meta)};g.Fa=function(a,b){return null!=this.Ja&&q===this.Ja.fe?Rg(this.Ja,b,this.start,this.end):Kd(this,b)}; +g.Ga=function(a,b,c){return null!=this.Ja&&q===this.Ja.fe?Sg(this.Ja,b,c,this.start,this.end):Ld(this,b,c)};g.O=function(a,b,c){if("number"===typeof b)return this.dc(null,b,c);throw Error("Subvec's key for assoc must be a number.");};g.S=function(){var a=this;return function(b){return function e(d){return d===a.end?null:ae(A.c(a.Ja,d),new kf(null,function(){return function(){return e(d+1)}}(b),null,null))}}(this)(a.start)};g.T=function(a,b){return Zg(b,this.Ja,this.start,this.end,this.w)}; +g.X=function(a,b){return Zg(this.meta,qc(this.Ja,this.end,b),this.start,this.end+1,null)};g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.$(null,c);case 3:return this.ka(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.$(null,c)};a.l=function(a,c,d){return this.ka(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Gb(b)))};g.h=function(a){return this.$(null,a)}; +g.c=function(a,b){return this.ka(null,a,b)};Yg.prototype[Fb]=function(){return yd(this)};function Zg(a,b,c,d,e){for(;;)if(b instanceof Yg)c=b.start+c,d=b.start+d,b=b.Ja;else{if(!ze(b))throw Error("v must satisfy IVector");var f=H(b);if(0>c||0>d||c>f||d>f)throw Error("Index out of bounds");return new Yg(a,b,c,d,e)}}function $g(a,b){return a===b.la?b:new Fg(a,Gb(b.o))} +var ah=function ah(a,b,c,d){c=$g(a.root.la,c);var f=a.F-1>>>b&31;if(5===b)a=d;else{var h=c.o[f];null!=h?(b-=5,a=ah.M?ah.M(a,b,h,d):ah.call(null,a,b,h,d)):a=Jg(a.root.la,b-5,d)}c.o[f]=a;return c};function Tg(a,b,c,d){this.F=a;this.shift=b;this.root=c;this.fa=d;this.J=88;this.m=275}g=Tg.prototype; +g.Dc=function(a,b){if(this.root.la){if(32>this.F-Ig(this))this.fa[this.F&31]=b;else{var c=new Fg(this.root.la,this.fa),d=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];d[0]=b;this.fa=d;if(this.F>>>5>1<>>d&31,m=k(d-5,f.o[p]);f.o[p]=m}return f}}(a)(a.shift,a.root)}();a.root=d}return a}if(b===a.F)return a.Dc(null,c);throw Error(["Index ",v.h(b)," out of bounds for TransientVector of length",v.h(a.F)].join(""));}throw Error("assoc! after persistent!");} +g.W=function(){if(this.root.la)return this.F;throw Error("count after persistent!");};g.$=function(a,b){if(this.root.la)return(0<=b&&b=c)return new r(this.meta,this.F-1,d,null);G.c(b,this.o[e])||(d[f]=this.o[e],d[f+1]=this.o[e+1],f+=2);e+=2}}else return this}; +g.O=function(a,b,c){a=ih(this.o,b);if(-1===a){if(this.Fb?4:2*(b+1));Be(this.o,0,c,0,2*b);return new xh(a,this.na,c)};g.qd=function(){return yh(this.o,0,null)};g.Jc=function(a,b){return vh(this.o,a,b)};g.sc=function(a,b,c,d){var e=1<<(b>>>a&31);if(0===(this.na&e))return d;var f=$e(this.na&e-1);e=this.o[2*f];f=this.o[2*f+1];return null==e?f.sc(a+5,b,c,d):rh(c,e)?f:d}; +g.Kb=function(a,b,c,d,e,f){var h=1<<(c>>>b&31),k=$e(this.na&h-1);if(0===(this.na&h)){var l=$e(this.na);if(2*l>>b&31]=zh.Kb(a,b+5,c,d,e,f);for(e=d=0;;)if(32>d)0!== +(this.na>>>d&1)&&(k[d]=null!=this.o[e]?zh.Kb(a,b+5,od(this.o[e]),this.o[e],this.o[e+1],f):this.o[e+1],e+=2),d+=1;else break;return new Ah(a,l+1,k)}b=Array(2*(l+4));Be(this.o,0,b,0,2*k);b[2*k]=d;b[2*k+1]=e;Be(this.o,2*k,b,2*(k+1),2*(l-k));f.H=!0;a=this.Gc(a);a.o=b;a.na|=h;return a}l=this.o[2*k];h=this.o[2*k+1];if(null==l)return l=h.Kb(a,b+5,c,d,e,f),l===h?this:uh(this,a,2*k+1,l);if(rh(d,l))return e===h?this:uh(this,a,2*k+1,e);f.H=!0;f=b+5;b=od(l);if(b===c)e=new Bh(null,b,2,[l,h,d,e]);else{var p=new qh; +e=zh.Kb(a,f,b,l,h,p).Kb(a,f,c,d,e,p)}d=2*k;k=2*k+1;a=this.Gc(a);a.o[d]=null;a.o[k]=e;return a}; +g.Jb=function(a,b,c,d,e){var f=1<<(b>>>a&31),h=$e(this.na&f-1);if(0===(this.na&f)){var k=$e(this.na);if(16<=k){h=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];h[b>>>a&31]=zh.Jb(a+5,b,c,d,e);for(d=c=0;;)if(32>c)0!==(this.na>>>c&1)&&(h[c]=null!=this.o[d]?zh.Jb(a+5,od(this.o[d]),this.o[d],this.o[d+1],e):this.o[d+1],d+=2),c+=1;else break;return new Ah(null,k+1,h)}a=Array(2*(k+1));Be(this.o, +0,a,0,2*h);a[2*h]=c;a[2*h+1]=d;Be(this.o,2*h,a,2*(h+1),2*(k-h));e.H=!0;return new xh(null,this.na|f,a)}var l=this.o[2*h];f=this.o[2*h+1];if(null==l)return k=f.Jb(a+5,b,c,d,e),k===f?this:new xh(null,this.na,sh(this.o,2*h+1,k));if(rh(c,l))return d===f?this:new xh(null,this.na,sh(this.o,2*h+1,d));e.H=!0;e=this.na;k=this.o;a+=5;var p=od(l);if(p===b)c=new Bh(null,p,2,[l,f,c,d]);else{var m=new qh;c=zh.Jb(a,p,l,f,m).Jb(a,b,c,d,m)}a=2*h;h=2*h+1;d=Gb(k);d[a]=null;d[h]=c;return new xh(null,e,d)}; +g.rd=function(a,b,c){var d=1<<(b>>>a&31);if(0===(this.na&d))return this;var e=$e(this.na&d-1),f=this.o[2*e],h=this.o[2*e+1];return null==f?(a=h.rd(a+5,b,c),a===h?this:null!=a?new xh(null,this.na,sh(this.o,2*e+1,a)):this.na===d?null:new xh(null,this.na^d,th(this.o,e))):rh(c,f)?new xh(null,this.na^d,th(this.o,e)):this};g.ba=function(){return new wh(this.o,0,null,null)};var zh=new xh(null,0,[]);function Ch(a,b,c){this.o=a;this.i=b;this.Lb=c} +Ch.prototype.ja=function(){for(var a=this.o.length;;){if(null!=this.Lb&&this.Lb.ja())return!0;if(this.i>>a&31];return null!=e?e.sc(a+5,b,c,d):d};g.Kb=function(a,b,c,d,e,f){var h=c>>>b&31,k=this.o[h];if(null==k)return a=uh(this,a,h,zh.Kb(a,b+5,c,d,e,f)),a.F+=1,a;b=k.Kb(a,b+5,c,d,e,f);return b===k?this:uh(this,a,h,b)}; +g.Jb=function(a,b,c,d,e){var f=b>>>a&31,h=this.o[f];if(null==h)return new Ah(null,this.F+1,sh(this.o,f,zh.Jb(a+5,b,c,d,e)));a=h.Jb(a+5,b,c,d,e);return a===h?this:new Ah(null,this.F,sh(this.o,f,a))}; +g.rd=function(a,b,c){var d=b>>>a&31,e=this.o[d];if(null!=e){a=e.rd(a+5,b,c);if(a===e)d=this;else if(null==a)if(8>=this.F)a:{e=this.o;a=e.length;b=Array(2*(this.F-1));c=0;for(var f=1,h=0;;)if(ca?d:rh(c,this.o[a])?this.o[a+1]:d}; +g.Kb=function(a,b,c,d,e,f){if(c===this.ec){b=Eh(this.o,this.F,d);if(-1===b){if(this.o.length>2*this.F)return b=2*this.F,c=2*this.F+1,a=this.Gc(a),a.o[b]=d,a.o[c]=e,f.H=!0,a.F+=1,a;c=this.o.length;b=Array(c+2);Be(this.o,0,b,0,c);b[c]=d;b[c+1]=e;f.H=!0;d=this.F+1;a===this.la?(this.o=b,this.F=d,a=this):a=new Bh(this.la,this.ec,d,b);return a}return this.o[b+1]===e?this:uh(this,a,b+1,e)}return(new xh(a,1<<(this.ec>>>b&31),[null,this,null,null])).Kb(a,b,c,d,e,f)}; +g.Jb=function(a,b,c,d,e){return b===this.ec?(a=Eh(this.o,this.F,c),-1===a?(a=2*this.F,b=Array(a+2),Be(this.o,0,b,0,a),b[a]=c,b[a+1]=d,e.H=!0,new Bh(null,this.ec,this.F+1,b)):G.c(this.o[a+1],d)?this:new Bh(null,this.ec,this.F,sh(this.o,a+1,d))):(new xh(null,1<<(this.ec>>>a&31),[null,this])).Jb(a,b,c,d,e)};g.rd=function(a,b,c){a=Eh(this.o,this.F,c);return-1===a?this:1===this.F?null:new Bh(null,this.ec,this.F-1,th(this.o,Ze(a)))};g.ba=function(){return new wh(this.o,0,null,null)}; +function Fh(a,b,c,d,e){this.meta=a;this.Mb=b;this.i=c;this.s=d;this.w=e;this.m=32374988;this.J=0}g=Fh.prototype;g.toString=function(){return fd(this)};g.equiv=function(a){return this.K(null,a)};g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return Ud(this,a,0);case 2:return Ud(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.h=function(a){return Ud(this,a,0)};a.c=function(a,c){return Ud(this,a,c)};return a}(); +g.lastIndexOf=function(){function a(a){return Xd(this,a,H(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Xd(this,b,d)}throw Error("Invalid arity: "+(arguments.length-1));};b.h=a;b.c=function(a,b){return Xd(this,a,b)};return b}();g.P=function(){return this.meta};g.Ka=function(){return null==this.s?yh(this.Mb,this.i+2,null):yh(this.Mb,this.i,z(this.s))};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)}; +g.K=function(a,b){return $d(this,b)};g.oa=function(){return tc(wd,this.meta)};g.Fa=function(a,b){return ce(b,this)};g.Ga=function(a,b,c){return de(b,c,this)};g.Ia=function(){return null==this.s?new R(null,2,5,T,[this.Mb[this.i],this.Mb[this.i+1]],null):y(this.s)};g.bb=function(){var a=null==this.s?yh(this.Mb,this.i+2,null):yh(this.Mb,this.i,z(this.s));return null!=a?a:wd};g.S=function(){return this};g.T=function(a,b){return new Fh(b,this.Mb,this.i,this.s,this.w)};g.X=function(a,b){return ae(b,this)}; +Fh.prototype[Fb]=function(){return yd(this)};function yh(a,b,c){if(null==c)for(c=a.length;;)if(bthis.F?H(z(this))+1:this.F};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return tc(wd,this.meta)};g.Fa=function(a,b){return ce(b,this)};g.Ga=function(a,b,c){return de(b,c,this)};g.Ia=function(){var a=this.stack;return null==a?null:nc(a)};g.bb=function(){var a=y(this.stack);a=Mh(this.vc?a.right:a.left,z(this.stack),this.vc);return null!=a?new Nh(null,a,this.vc,this.F-1,null):wd};g.S=function(){return this}; +g.T=function(a,b){return new Nh(b,this.stack,this.vc,this.F,this.w)};g.X=function(a,b){return ae(b,this)};Nh.prototype[Fb]=function(){return yd(this)};function Oh(a,b,c){return new Nh(null,Mh(a,null,b),b,c,null)} +function Ph(a,b,c,d){return c instanceof Qh?c.left instanceof Qh?new Qh(c.key,c.H,c.left.bc(),new Rh(a,b,c.right,d,null),null):c.right instanceof Qh?new Qh(c.right.key,c.right.H,new Rh(c.key,c.H,c.left,c.right.left,null),new Rh(a,b,c.right.right,d,null),null):new Rh(a,b,c,d,null):new Rh(a,b,c,d,null)} +function Sh(a,b,c,d){return d instanceof Qh?d.right instanceof Qh?new Qh(d.key,d.H,new Rh(a,b,c,d.left,null),d.right.bc(),null):d.left instanceof Qh?new Qh(d.left.key,d.left.H,new Rh(a,b,c,d.left.left,null),new Rh(d.key,d.H,d.left.right,d.right,null),null):new Rh(a,b,c,d,null):new Rh(a,b,c,d,null)} +function Th(a,b,c,d){if(c instanceof Qh)return new Qh(a,b,c.bc(),d,null);if(d instanceof Rh)return Sh(a,b,c,d.ud());if(d instanceof Qh&&d.left instanceof Rh)return new Qh(d.left.key,d.left.H,new Rh(a,b,c,d.left.left,null),Sh(d.key,d.H,d.left.right,d.right.ud()),null);throw Error("red-black tree invariant violation");} +function Uh(a,b,c,d){if(d instanceof Qh)return new Qh(a,b,c,d.bc(),null);if(c instanceof Rh)return Ph(a,b,c.ud(),d);if(c instanceof Qh&&c.right instanceof Rh)return new Qh(c.right.key,c.right.H,Ph(c.key,c.H,c.left.ud(),c.right.left),new Rh(a,b,c.right.right,d,null),null);throw Error("red-black tree invariant violation");} +var Vh=function Vh(a,b,c){var e=null!=a.left?function(){var e=a.left;return Vh.l?Vh.l(e,b,c):Vh.call(null,e,b,c)}():c;if(Hd(e))return e;var f=function(){var c=a.key,f=a.H;return b.l?b.l(e,c,f):b.call(null,e,c,f)}();if(Hd(f))return f;if(null!=a.right){var h=a.right;return Vh.l?Vh.l(h,b,f):Vh.call(null,h,b,f)}return f};function Rh(a,b,c,d,e){this.key=a;this.H=b;this.left=c;this.right=d;this.w=e;this.m=32402207;this.J=0}g=Rh.prototype; +g.lastIndexOf=function(){function a(a){return Xd(this,a,H(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Xd(this,b,d)}throw Error("Invalid arity: "+(arguments.length-1));};b.h=a;b.c=function(a,b){return Xd(this,a,b)};return b}(); +g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return Ud(this,a,0);case 2:return Ud(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.h=function(a){return Ud(this,a,0)};a.c=function(a,c){return Ud(this,a,c)};return a}();g.Ee=function(a){return a.He(this)};g.ud=function(){return new Qh(this.key,this.H,this.left,this.right,null)};g.bc=function(){return this};g.De=function(a){return a.Ge(this)};g.replace=function(a,b,c,d){return new Rh(a,b,c,d,null)}; +g.Ge=function(a){return new Rh(a.key,a.H,this,a.right,null)};g.He=function(a){return new Rh(a.key,a.H,a.left,this,null)};g.Jc=function(a,b){return Vh(this,a,b)};g.V=function(a,b){return this.ka(null,b,null)};g.I=function(a,b,c){return this.ka(null,b,c)};g.$=function(a,b){if(0===b)return this.key;if(1===b)return this.H;throw Error("Index out of bounds");};g.ka=function(a,b,c){return 0===b?this.key:1===b?this.H:c};g.dc=function(a,b,c){return(new R(null,2,5,T,[this.key,this.H],null)).dc(null,b,c)}; +g.P=function(){return null};g.W=function(){return 2};g.fd=function(){return this.key};g.gd=function(){return this.H};g.Ac=function(){return this.H};g.Bc=function(){return new R(null,1,5,T,[this.key],null)};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return he};g.Fa=function(a,b){return Kd(this,b)};g.Ga=function(a,b,c){return Ld(this,b,c)};g.O=function(a,b,c){return K.l(new R(null,2,5,T,[this.key,this.H],null),b,c)}; +g.yc=function(a,b){return 0===b||1===b};g.S=function(){var a=this.key;return Tb(Tb(wd,this.H),a)};g.T=function(a,b){return tc(new R(null,2,5,T,[this.key,this.H],null),b)};g.X=function(a,b){return new R(null,3,5,T,[this.key,this.H,b],null)}; +g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.$(null,c);case 3:return this.ka(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.$(null,c)};a.l=function(a,c,d){return this.ka(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Gb(b)))};g.h=function(a){return this.$(null,a)};g.c=function(a,b){return this.ka(null,a,b)};Rh.prototype[Fb]=function(){return yd(this)}; +function Qh(a,b,c,d,e){this.key=a;this.H=b;this.left=c;this.right=d;this.w=e;this.m=32402207;this.J=0}g=Qh.prototype;g.lastIndexOf=function(){function a(a){return Xd(this,a,H(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Xd(this,b,d)}throw Error("Invalid arity: "+(arguments.length-1));};b.h=a;b.c=function(a,b){return Xd(this,a,b)};return b}(); +g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return Ud(this,a,0);case 2:return Ud(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.h=function(a){return Ud(this,a,0)};a.c=function(a,c){return Ud(this,a,c)};return a}();g.Ee=function(a){return new Qh(this.key,this.H,this.left,a,null)};g.ud=function(){throw Error("red-black tree invariant violation");};g.bc=function(){return new Rh(this.key,this.H,this.left,this.right,null)}; +g.De=function(a){return new Qh(this.key,this.H,a,this.right,null)};g.replace=function(a,b,c,d){return new Qh(a,b,c,d,null)};g.Ge=function(a){return this.left instanceof Qh?new Qh(this.key,this.H,this.left.bc(),new Rh(a.key,a.H,this.right,a.right,null),null):this.right instanceof Qh?new Qh(this.right.key,this.right.H,new Rh(this.key,this.H,this.left,this.right.left,null),new Rh(a.key,a.H,this.right.right,a.right,null),null):new Rh(a.key,a.H,this,a.right,null)}; +g.He=function(a){return this.right instanceof Qh?new Qh(this.key,this.H,new Rh(a.key,a.H,a.left,this.left,null),this.right.bc(),null):this.left instanceof Qh?new Qh(this.left.key,this.left.H,new Rh(a.key,a.H,a.left,this.left.left,null),new Rh(this.key,this.H,this.left.right,this.right,null),null):new Rh(a.key,a.H,a.left,this,null)};g.Jc=function(a,b){return Vh(this,a,b)};g.V=function(a,b){return this.ka(null,b,null)};g.I=function(a,b,c){return this.ka(null,b,c)}; +g.$=function(a,b){if(0===b)return this.key;if(1===b)return this.H;throw Error("Index out of bounds");};g.ka=function(a,b,c){return 0===b?this.key:1===b?this.H:c};g.dc=function(a,b,c){return(new R(null,2,5,T,[this.key,this.H],null)).dc(null,b,c)};g.P=function(){return null};g.W=function(){return 2};g.fd=function(){return this.key};g.gd=function(){return this.H};g.Ac=function(){return this.H};g.Bc=function(){return new R(null,1,5,T,[this.key],null)}; +g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return he};g.Fa=function(a,b){return Kd(this,b)};g.Ga=function(a,b,c){return Ld(this,b,c)};g.O=function(a,b,c){return K.l(new R(null,2,5,T,[this.key,this.H],null),b,c)};g.yc=function(a,b){return 0===b||1===b};g.S=function(){var a=this.key;return Tb(Tb(wd,this.H),a)};g.T=function(a,b){return tc(new R(null,2,5,T,[this.key,this.H],null),b)}; +g.X=function(a,b){return new R(null,3,5,T,[this.key,this.H,b],null)};g.call=function(){var a=null;a=function(a,c,d){switch(arguments.length){case 2:return this.$(null,c);case 3:return this.ka(null,c,d)}throw Error("Invalid arity: "+(arguments.length-1));};a.c=function(a,c){return this.$(null,c)};a.l=function(a,c,d){return this.ka(null,c,d)};return a}();g.apply=function(a,b){return this.call.apply(this,[this].concat(Gb(b)))};g.h=function(a){return this.$(null,a)}; +g.c=function(a,b){return this.ka(null,a,b)};Qh.prototype[Fb]=function(){return yd(this)}; +var Wh=function Wh(a,b,c,d,e){if(null==b)return new Qh(c,d,null,null,null);var h=function(){var d=b.key;return a.c?a.c(c,d):a.call(null,c,d)}();if(0===h)return e[0]=b,null;if(0>h)return h=function(){var h=b.left;return Wh.Z?Wh.Z(a,h,c,d,e):Wh.call(null,a,h,c,d,e)}(),null!=h?b.De(h):null;h=function(){var h=b.right;return Wh.Z?Wh.Z(a,h,c,d,e):Wh.call(null,a,h,c,d,e)}();return null!=h?b.Ee(h):null},Xh=function Xh(a,b){if(null==a)return b;if(null==b)return a;if(a instanceof Qh){if(b instanceof Qh){var d= +function(){var d=a.right,f=b.left;return Xh.c?Xh.c(d,f):Xh.call(null,d,f)}();return d instanceof Qh?new Qh(d.key,d.H,new Qh(a.key,a.H,a.left,d.left,null),new Qh(b.key,b.H,d.right,b.right,null),null):new Qh(a.key,a.H,a.left,new Qh(b.key,b.H,d,b.right,null),null)}return new Qh(a.key,a.H,a.left,function(){var d=a.right;return Xh.c?Xh.c(d,b):Xh.call(null,d,b)}(),null)}if(b instanceof Qh)return new Qh(b.key,b.H,function(){var d=b.left;return Xh.c?Xh.c(a,d):Xh.call(null,a,d)}(),b.right,null);d=function(){var d= +a.right,f=b.left;return Xh.c?Xh.c(d,f):Xh.call(null,d,f)}();return d instanceof Qh?new Qh(d.key,d.H,new Rh(a.key,a.H,a.left,d.left,null),new Rh(b.key,b.H,d.right,b.right,null),null):Th(a.key,a.H,a.left,new Rh(b.key,b.H,d,b.right,null))},Yh=function Yh(a,b,c,d){if(null!=b){var f=function(){var d=b.key;return a.c?a.c(c,d):a.call(null,c,d)}();if(0===f)return d[0]=b,Xh(b.left,b.right);if(0>f)return f=function(){var f=b.left;return Yh.M?Yh.M(a,f,c,d):Yh.call(null,a,f,c,d)}(),null!=f||null!=d[0]?b.left instanceof +Rh?Th(b.key,b.H,f,b.right):new Qh(b.key,b.H,f,b.right,null):null;f=function(){var f=b.right;return Yh.M?Yh.M(a,f,c,d):Yh.call(null,a,f,c,d)}();return null!=f||null!=d[0]?b.right instanceof Rh?Uh(b.key,b.H,b.left,f):new Qh(b.key,b.H,b.left,f,null):null}return null},Zh=function Zh(a,b,c,d){var f=b.key,h=a.c?a.c(c,f):a.call(null,c,f);return 0===h?b.replace(f,d,b.left,b.right):0>h?b.replace(f,b.H,function(){var f=b.left;return Zh.M?Zh.M(a,f,c,d):Zh.call(null,a,f,c,d)}(),b.right):b.replace(f,b.H,b.left, +function(){var f=b.right;return Zh.M?Zh.M(a,f,c,d):Zh.call(null,a,f,c,d)}())};function $h(a,b,c,d,e){this.Bb=a;this.mc=b;this.F=c;this.meta=d;this.w=e;this.m=418776847;this.J=8192}g=$h.prototype;g.forEach=function(a){for(var b=E(this),c=null,d=0,e=0;;)if(ed?c.left:c.right}else return null}g.has=function(a){return He(this,a)};g.V=function(a,b){return this.I(null,b,null)}; +g.I=function(a,b,c){a=ai(this,b);return null!=a?a.H:c};g.Qc=function(a,b,c){return null!=this.mc?Jd(Vh(this.mc,b,c)):c};g.P=function(){return this.meta};g.W=function(){return this.F};g.Rc=function(){return 0(a.h?a.h(c):a.call(null,c))?b:c};Ai.A=function(a,b,c,d){return Mb(function(b,c){return Ai.l(a,b,c)},Ai.l(a,b,c),d)};Ai.N=function(a){var b=y(a),c=z(a);a=y(c);var d=z(c);c=y(d);d=z(d);return Ai.A(b,a,c,d)};Ai.L=3;function Bi(a,b){return new kf(null,function(){var c=E(b);if(c){var d=y(c);d=a.h?a.h(d):a.call(null,d);c=t(d)?ae(y(c),Bi(a,vd(c))):null}else c=null;return c},null,null)}function Di(a,b,c){this.i=a;this.end=b;this.step=c} +Di.prototype.ja=function(){return 0this.end};Di.prototype.next=function(){var a=this.i;this.i+=this.step;return a};function Ei(a,b,c,d,e){this.meta=a;this.start=b;this.end=c;this.step=d;this.w=e;this.m=32375006;this.J=139264}g=Ei.prototype;g.toString=function(){return fd(this)};g.equiv=function(a){return this.K(null,a)}; +g.indexOf=function(){var a=null;a=function(a,c){switch(arguments.length){case 1:return Ud(this,a,0);case 2:return Ud(this,a,c)}throw Error("Invalid arity: "+(arguments.length-1));};a.h=function(a){return Ud(this,a,0)};a.c=function(a,c){return Ud(this,a,c)};return a}(); +g.lastIndexOf=function(){function a(a){return Xd(this,a,H(this))}var b=null;b=function(b,d){switch(arguments.length){case 1:return a.call(this,b);case 2:return Xd(this,b,d)}throw Error("Invalid arity: "+(arguments.length-1));};b.h=a;b.c=function(a,b){return Xd(this,a,b)};return b}();g.$=function(a,b){if(0<=b&&bthis.end&&0===this.step)return this.start;throw Error("Index out of bounds");}; +g.ka=function(a,b,c){return 0<=b&&bthis.end&&0===this.step?this.start:c};g.ba=function(){return new Di(this.start,this.end,this.step)};g.P=function(){return this.meta};g.Ka=function(){return 0this.end?new Ei(this.meta,this.start+this.step,this.end,this.step,null):null}; +g.W=function(){return wb(this.S(null))?0:Math.ceil((this.end-this.start)/this.step)};g.U=function(){var a=this.w;return null!=a?a:this.w=a=Ad(this)};g.K=function(a,b){return $d(this,b)};g.oa=function(){return tc(wd,this.meta)};g.Fa=function(a,b){return Kd(this,b)};g.Ga=function(a,b,c){for(a=this.start;;)if(0this.end){c=b.c?b.c(c,a):b.call(null,c,a);if(Hd(c))return B(c);a+=this.step}else return c};g.Ia=function(){return null==this.S(null)?null:this.start}; +g.bb=function(){return null!=this.S(null)?new Ei(this.meta,this.start+this.step,this.end,this.step,null):wd};g.S=function(){return 0this.step?this.start>this.end?this:null:this.start===this.end?null:this};g.T=function(a,b){return new Ei(b,this.start,this.end,this.step,this.w)};g.X=function(a,b){return ae(b,this)};Ei.prototype[Fb]=function(){return yd(this)};function Fi(a,b,c){return new Ei(null,a,b,c,null)} +function Gi(a,b){return new R(null,2,5,T,[Bi(a,b),ng(a,b)],null)} +function Hi(a){var b=y;return function(){function c(c,d,e){return new R(null,2,5,T,[b.l?b.l(c,d,e):b.call(null,c,d,e),a.l?a.l(c,d,e):a.call(null,c,d,e)],null)}function d(c,d){return new R(null,2,5,T,[b.c?b.c(c,d):b.call(null,c,d),a.c?a.c(c,d):a.call(null,c,d)],null)}function e(c){return new R(null,2,5,T,[b.h?b.h(c):b.call(null,c),a.h?a.h(c):a.call(null,c)],null)}function f(){return new R(null,2,5,T,[b.B?b.B():b.call(null),a.B?a.B():a.call(null)],null)}var h=null,k=function(){function c(a,b,c,e){var f= +null;if(3lb)return Jc(a,"#");Jc(a,c);if(0===tb.h(f))E(h)&&Jc(a,function(){var a=Ki.h(f);return t(a)?a:"..."}());else{if(E(h)){var l=y(h);b.l?b.l(l,a,f):b.call(null,l,a,f)}for(var p=z(h),m=tb.h(f)-1;;)if(!p||null!=m&&0===m){E(p)&&0===m&&(Jc(a,d),Jc(a,function(){var a=Ki.h(f);return t(a)?a:"..."}()));break}else{Jc(a,d);var u=y(p);c=a;h=f;b.l?b.l(u,c,h):b.call(null,u,c,h);var w=z(p);c=m-1;p=w;m=c}}return Jc(a,e)}finally{lb=k}} +function Li(a,b){for(var c=E(b),d=null,e=0,f=0;;)if(fH(a)?a.toUpperCase():[v.h(a.substring(0,1).toUpperCase()),v.h(a.substring(1))].join("")} +function Qo(a){if("string"===typeof a)return a;a=jf(a);var b=Fo(a,/-/),c=E(b);b=y(c);c=z(c);return t(Oo.h?Oo.h(b):Oo.call(null,b))?a:Kb(v,b,ig.c(Po,c))}function Ro(a){var b=function(){var b=function(){var b=me(a);return b?(b=a.displayName,t(b)?b:a.name):b}();if(t(b))return b;b=function(){var b=null!=a?a.J&4096||q===a.Oe?!0:!1:!1;return b?jf(a):b}();if(t(b))return b;b=qe(a);return xe(b)?Tk.h(b):null}();return Do(""+v.h(b),"$",".")}var So=!1;if("undefined"===typeof To)var To=0;function Uo(a){return setTimeout(a,16)}var Vo="undefined"===typeof window||null==window.document?Uo:function(){var a=window,b=a.requestAnimationFrame;if(t(b))return b;b=a.webkitRequestAnimationFrame;if(t(b))return b;b=a.mozRequestAnimationFrame;if(t(b))return b;a=a.msRequestAnimationFrame;return t(a)?a:Uo}();function Wo(a,b){return a.cljsMountOrder-b.cljsMountOrder}if("undefined"===typeof Xo)var Xo=function(){return null};function Yo(a){this.Yd=a} +function Zo(a,b){var c=a[b];if(null==c)return null;a[b]=null;for(var d=c.length,e=0;;)if(e=d&&a.push(gq(c));return a}}(e),[b,c],a))}};if("undefined"===typeof jq)var jq=null;function kq(){if(null!=jq)return jq;if("undefined"!==typeof ReactDOM)return jq=ReactDOM;if("undefined"!==typeof require){var a=jq=require("react-dom");if(t(a))return a;throw Error("require('react-dom') failed");}throw Error("js/ReactDOM is missing");}if("undefined"===typeof lq)var lq=dg.h(Ef); +function mq(a,b,c){var d=So;So=!0;try{return kq().render(a.B?a.B():a.call(null),b,function(){return function(){var d=So;So=!1;try{return gg.M(lq,K,b,new R(null,2,5,T,[a,b],null)),Zo(bp,"afterRender"),null!=c?c.B?c.B():c.call(null):null}finally{So=d}}}(d))}finally{So=d}}function nq(a,b){return mq(a,b,null)}function oq(a,b,c){qp();return mq(function(){return gq(me(a)?a.B?a.B():a.call(null):a)},b,c)}Wp=function(a){return kq().findDOMNode(a)};function pq(a){switch(arguments.length){case 2:return oq(arguments[0],arguments[1],null);case 3:return oq(arguments[0],arguments[1],arguments[2]);default:throw Error(["Invalid arity: ",v.h(arguments.length)].join(""));}}function qq(a,b){return oq(a,b,null)} +da("reagent.core.force_update_all",function(){qp();qp();for(var a=E(mh(B(lq))),b=null,c=0,d=0;;)if(d=Number(c)?a:a=-1Number(a)?"-":0<=b.indexOf("+")?"+":0<=b.indexOf(" ")?" ":"";0<=Number(a)&&(d=f+d);if(isNaN(c)||d.length>=Number(c))return d;d=isNaN(e)?Math.abs(Number(a)).toString():Math.abs(Number(a)).toFixed(e);a=Number(c)-d.length-f.length;0<=b.indexOf("-",0)?d=f+d+sa(" ",a):(b=0<=b.indexOf("0",0)?"0":" ",d=f+sa(b,a)+d);return d};yq.fc.d=function(a,b,c,d,e,f,h,k){return yq.fc.f(parseInt(a,10),b,c,d,0,f,h,k)}; +yq.fc.i=yq.fc.d;yq.fc.u=yq.fc.d;function zq(a){var b=be([Vk,null]);return wg.c(t(a)?a:Ef,function(){return function e(a){return new kf(null,function(){for(var b=a;;)if(b=E(b)){if(Ae(b)){var d=Wc(b),k=H(d),l=of(k);a:for(var p=0;;)if(p=H(h)&&Vf(function(){return function(a){return!(a instanceof Xq)}}(b,c,d,e,f,h),h)))throw Error(Bq("%s is not a valid sequence schema; %s%s%s",be([a,"a valid sequence schema consists of zero or more `one` elements, ","followed by zero or more `optional` elements, followed by an optional ", +"schema that will match the remaining elements."])));return new R(null,2,5,T,[O.c(c,f),y(h)],null)} +R.prototype.xb=function(){var a=this,b=Zq(a),c=J(b,0,null),d=J(b,1,null);return Wg(O.c(function(){return function(a,b,c,d){return function m(e){return new kf(null,function(){return function(){for(;;){var a=E(e);if(a){if(Ae(a)){var b=Wc(a),c=H(b),d=of(c);return function(){for(var a=0;;)if(ac?f:c;return $r(a,ea?0:a}():function(){var a=e-b;return f>a?f:a}())} +function gs(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a,d=D.c(c,pl);d=null!=d&&(d.m&64||q===d.G)?P(U,d):d;var e=D.c(d,Aj),f=D.c(c,Yj),h=D.c(c,no);return $r(c,e>f?function(){var a=h-1,c=e+b;return a=a}}(l,p,a,c,c,d,e,f,h,k),h),l,p);return Zr(c,d)} +function it(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a,d=D.c(c,pl),e=null!=d&&(d.m&64||q===d.G)?P(U,d):d,f=D.c(e,zn),h=D.c(c,tk),k=D.c(c,fl),l=b-1;d=J(cf(Bi(function(a,b,c,d,e,f,h){return function(a){return h>a}}(l,a,c,c,d,e,f,h,k),h)),l,0);return Zr(c,d)}function jt(a){return K.l(a,im,Ve)}function kt(a){return K.l(a,im,Hr)}function lt(a,b,c){return K.l(a,b,c)}function mt(a,b,c){return Wg(O.A(jg(b,a),new R(null,1,5,T,[c],null),be([jg(H(a)-b-1,kg(b,a))])))} +function nt(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a,d=D.c(c,pl),e=null!=d&&(d.m&64||q===d.G)?P(U,d):d;d=D.c(e,zn);e=D.c(e,Aj);var f=D.c(c,fl);D.c(c,no);var h=D.c(c,Oj),k=D.c(c,Rj),l=D.c(c,$l),p=D.c(c,im);p=95b?p.h?p.h(b):p.call(null,b):b;h=tr(p,h);return G.c(f,d+1)?t(k)?K.l(Yr(zg(c,new R(null,3,5,T,[il,e,d],null),h),d+1),vk,!0):zg(c,new R(null,3,5,T,[il,e,d],null),h):Yr(Ag.Z(c,new R(null,2,5,T,[il,e],null),t(l)?mt:lt,d,h),d+1)} +function ot(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a,d=D.c(c,Rj),e=D.c(c,vk);t(t(d)?e:d)&&(c=null!=c&&(c.m&64||q===c.G)?P(U,c):c,d=D.c(c,pl),d=null!=d&&(d.m&64||q===d.G)?P(U,d):d,d=D.c(d,Aj),e=D.c(c,no),c=Yr(c,0),c=G.c(e,d+1)?Tr.h(c):$r(c,d+1));return c=nt(c,b)}function pt(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,fl),c=D.c(a,no);return K.l(a,il,Wg(qg(c,Wg(qg(b,new R(null,2,5,T,[69,Ef],null))))))} +function qt(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,pl);b=null!=b&&(b.m&64||q===b.G)?P(U,b):b;b=D.c(b,Aj);var c=D.c(a,fl),d=D.c(a,Oj);return zg(a,new R(null,2,5,T,[il,b],null),gr.c(c,d))}function rt(a,b,c){return Wg(O.c(jg(b,a),qg(H(a)-b,vr(c))))}function st(a,b,c){return Wg(O.c(qg(b+1,vr(c)),kg(b+1,a)))} +function tt(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,pl),c=null!=b&&(b.m&64||q===b.G)?P(U,b):b;b=D.c(c,zn);c=D.c(c,Aj);var d=D.c(a,fl),e=D.c(a,Oj);--d;return Ag.Z(a,new R(null,2,5,T,[il,c],null),rt,b=k?Zr(c,k-1):c,m=Mb(D,p,new R(null,2,5,T,[pl,zn],null));return Ag.l(p,new R(null,2,5,T,[il,h],null),function(a,b,c,d,e,f,h,k,m,l,p,Q){return function(a){return Wg(O.A(jg(b,a),kg(b+c,a),be([qg(c,vr(Q))])))}}(p,m,function(){var a=k-m;return b=a}}(c,b)(b)}()))return Gu(a,b+64);throw Jt;}catch(h){if(h instanceof Error){var d=h;if(d===Jt)try{if(55===b)return Bg(a,V,ms);throw Jt;}catch(k){if(k instanceof Error){var e=k;if(e===Jt)try{if(56===b)return Bg(a,V,ns);throw Jt;}catch(l){if(l instanceof Error){var f=l;if(f===Jt)try{if(99===b)return du(a); +throw Jt;}catch(p){if(p instanceof Error){d=p;if(d===Jt)throw Jt;throw d;}throw p;}else throw f;}else throw l;}else throw e;}else throw k;}else throw d;}else throw h;}else throw Jt;}catch(h){if(h instanceof Error)if(d=h,d===Jt)try{if(35===c)try{if(56===b)return Bg(a,V,pt);throw Jt;}catch(k){if(k instanceof Error){e=k;if(e===Jt)throw Jt;throw e;}throw k;}else throw Jt;}catch(k){if(k instanceof Error)if(e=k,e===Jt)try{if(40===c)try{if(48===b)return Zt(a);throw Jt;}catch(l){if(l instanceof Error){f= +l;if(f===Jt)return $t(a);throw f;}throw l;}else throw Jt;}catch(l){if(l instanceof Error){f=l;if(f===Jt)return a;throw f;}throw l;}else throw e;else throw k;}else throw d;else throw h;}},function(a){return a},function(a){return a},Gu,function(a,b){return Cg(a,V,ot,b)},function(a,b){var c=function(){switch(b){case 64:return eu;case 65:return fu;case 66:return gu;case 67:return hu;case 68:return iu;case 69:return ju;case 70:return ku;case 71:return lu;case 72:return mu;case 73:return nu;case 74:return ou; +case 75:return pu;case 76:return su;case 77:return tu;case 80:return uu;case 83:return qu;case 84:return ru;case 87:return vu;case 88:return wu;case 90:return xu;case 96:return lu;case 97:return hu;case 100:return Du;case 101:return fu;case 102:return mu;case 103:return yu;case 104:return zu;case 108:return Au;case 109:return Cu;case 112:return Eu;case 114:return Fu;default:return null}}();return t(c)?c.h?c.h(a):c.call(null,a):a},function(a){return a},function(a,b){return K.l(a,kk,ge.c(kk.h(a),b))}, +function(a){return a},function(a,b){return K.l(a,rk,ge.c(rk.h(a),b))},function(a){return a},function(a){return a},function(a){return K.A(a,rk,he,be([kk,he]))}]);function Iu(a,b){for(var c=a,d=Tl.h(c),e=b;;){var f=y(e);if(t(f)){var h=160<=f?65:f;h=D.c(d.h?d.h(xq):d.call(null,xq),h);d=J(h,0,null);h=J(h,1,null);a:for(;;)if(E(h)){var k=y(h);k=Hu.h?Hu.h(k):Hu.call(null,k);c=k.c?k.c(c,f):k.call(null,c,f);h=z(h)}else break a;e=vd(e)}else return K.l(c,Tl,d)}} +function Ju(a,b){var c=xg(function(a){return a.codePointAt(0)},b);return Iu(a,c)} +function Ku(a,b){try{if(ze(b)&&3===H(b)){var c=Vd(b,0),d=Vd(b,1),e=Vd(b,2);return[v.h(a+8),";2;",v.h(c),";",v.h(d),";",v.h(e)].join("")}throw Jt;}catch(k){if(k instanceof Error){var f=k;if(f===Jt)try{if(t(function(){return function(){return function(a){return 8>a}}(f)(b)}()))return""+v.h(a+b);throw Jt;}catch(l){if(l instanceof Error){var h=l;if(h===Jt)try{if(t(function(){return function(){return function(a){return 16>a}}(h,f)(b)}()))return""+v.h(a+52+b);throw Jt;}catch(p){if(p instanceof Error){c= +p;if(c===Jt)return[v.h(a+8),";5;",v.h(b)].join("");throw c;}throw p;}else throw h;}else throw l;}else throw f;}else throw k;}}ag.c(Ku,30);ag.c(Ku,40);var Lu=function Lu(a){if(null!=a&&null!=a.yd)return a.yd(a);var c=Lu[n(null==a?null:a)];if(null!=c)return c.h?c.h(a):c.call(null,a);c=Lu._;if(null!=c)return c.h?c.h(a):c.call(null,a);throw Cb("Screen.lines",a);},Mu=function Mu(a){if(null!=a&&null!=a.xd)return a.xd(a);var c=Mu[n(null==a?null:a)];if(null!=c)return c.h?c.h(a):c.call(null,a);c=Mu._;if(null!=c)return c.h?c.h(a):c.call(null,a);throw Cb("Screen.cursor",a);};function Nu(a,b){var c=0parseFloat(Iv)){Hv=String(Kv);break a}}Hv=Iv}var gb={}; +function Lv(a){return fb(a,function(){for(var b=0,c=ra(String(Hv)).split("."),d=ra(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f=a.keyCode)a.keyCode=-1}catch(b){}};var Uv="closure_listenable_"+(1E6*Math.random()|0),Vv=0;function Wv(a,b,c,d,e){this.listener=a;this.Xd=null;this.src=b;this.type=c;this.capture=!!d;this.Ub=e;this.key=++Vv;this.$c=this.Fd=!1}function Xv(a){a.$c=!0;a.listener=null;a.Xd=null;a.src=null;a.Ub=null};function Yv(a){this.src=a;this.rb={};this.wd=0}Yv.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.rb[f];a||(a=this.rb[f]=[],this.wd++);var h=Zv(a,b,d,e);-1e.keyCode||void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(l){f=!0}if(f||void 0==e.returnValue)e.returnValue=!0}e=[];for(f=c.currentTarget;f;f=f.parentNode)e.push(f);f=a.type;for(var h=e.length-1;!c.Kc&&0<=h;h--){c.currentTarget=e[h];var k=nw(e[h],f,!0,c);d=d&&k}for(h=0;!c.Kc&& +h>>0);function fw(a){if(ha(a))return a;a[pw]||(a[pw]=function(b){return a.handleEvent(b)});return a[pw]};function qw(){wv.call(this);this.Ib=new Yv(this);this.ff=this;this.ve=null}qa(qw,wv);qw.prototype[Uv]=!0;g=qw.prototype;g.addEventListener=function(a,b,c,d){dw(this,a,b,c,d)};g.removeEventListener=function(a,b,c,d){lw(this,a,b,c,d)}; +g.dispatchEvent=function(a){var b,c=this.ve;if(c)for(b=[];c;c=c.ve)b.push(c);c=this.ff;var d=a.type||a;if(ca(a))a=new Sv(a,c);else if(a instanceof Sv)a.target=a.target||c;else{var e=a;a=new Sv(d,c);Ia(a,e)}e=!0;if(b)for(var f=b.length-1;!a.Kc&&0<=f;f--){var h=a.currentTarget=b[f];e=rw(h,d,!0,a)&&e}a.Kc||(h=a.currentTarget=c,e=rw(h,d,!0,a)&&e,a.Kc||(e=rw(h,d,!1,a)&&e));if(b)for(f=0;!a.Kc&&fthis.head?(Yw(this.o,this.fa,a,0,this.o.length-this.fa),Yw(this.o,0,a,this.o.length-this.fa,this.head),this.fa=0,this.head=this.length,this.o=a):this.fa===this.head?(this.head=this.fa=0,this.o=a):null};function ax(a,b){for(var c=a.length,d=0;;)if(da)){a+=1;continue}break}hx=!1;return 0c)return a;a:for(;;){var e=cMath.random()&&15>d)d+=1;else break a;if(d>this.level){for(var e=this.level+1;;)if(e<=d+1)c[e]=this.header,e+=1;else break;this.level=d}for(d=Ex(a,b,Array(d));;)return 0<=this.level?(c=c[0].forward,d.forward[0]=c[0],c[0]=d):null}; +Gx.prototype.remove=function(a){var b=Array(15),c=Fx(this.header,a,this.level,b);c=0===c.forward.length?null:c.forward[0];if(null!=c&&c.key===a){for(a=0;;)if(a<=this.level){var d=b[a].forward;c===(ad)return c===b.header?null:c;var e;a:for(e=c;;){e=d=a)break a}null!=e?(--d,c=e):--d}}Gx.prototype.S=function(){return function(a){return function d(c){return new kf(null,function(){return function(){return null==c?null:ae(new R(null,2,5,T,[c.key,c.H],null),d(c.forward[0]))}}(a),null,null)}}(this)(this.header.forward[0])}; +Gx.prototype.R=function(a,b,c){return Y(b,function(){return function(a){return Y(b,Qi,""," ","",c,a)}}(this),"{",", ","}",c,this)};var Ix=new Gx(Ex(null,null,0),0);function Jx(a){var b=(new Date).valueOf()+a,c=Hx(b),d=t(t(c)?c.keya:b)?a+8:a,[v.h(c),v.h(a)].join("")):null} +function Vy(a){var b=J(a,0,null),c=J(a,1,null);a=J(a,2,null);return["rgb(",v.h(b),",",v.h(c),",",v.h(a),")"].join("")} +var Wy=hj(function(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,Nk),c=D.c(a,pl);a=K.l(a,Nk,t(c)?wb(b):b);var d=null!=a&&(a.m&64||q===a.G)?P(U,a):a,e=D.c(d,Ok),f=D.c(d,Tn);b=D.c(d,Kj);var h=D.c(d,dk);c=D.c(d,Vl);var k=D.c(d,Nk),l=D.c(d,Yn);d=D.c(d,pl);var p=t(k)?t(e)?e:"fg":f;e=Uy(t(k)?t(f)?f:"bg":e,b,"fg-");h=Uy(p,h,"bg-");c=vg(ub,new R(null,6,5,T,[e,h,t(b)?"bright":null,t(l)?"italic":null,t(c)?"underline":null,t(d)?"cursor":null],null));if(E(c))a:for(b=new cb,c=E(c);;)if(null!=c)b.append(""+ +v.h(y(c))),c=z(c),null!=c&&b.append(" ");else{b=b.toString();break a}else b=null;l=null!=a&&(a.m&64||q===a.G)?P(U,a):a;a=D.c(l,Ok);c=D.c(l,Tn);h=D.c(l,Nk);l=t(h)?c:a;a=t(h)?a:c;a=hi.A(be([t(ze.h?ze.h(l):ze.call(null,l))?new r(null,1,[ik,Vy(l)],null):null,t(ze.h?ze.h(a):ze.call(null,a))?new r(null,1,[al,Vy(a)],null):null]));return hi.A(be([t(b)?new r(null,1,[vn,b],null):null,t(a)?new r(null,1,[fm,a],null):null]))}); +function Xy(a,b){var c=J(a,0,null),d=J(a,1,null);d=Bg(d,pl,function(){return function(a){return t(a)?B(b):a}}(a,c,d));return new R(null,3,5,T,[ro,Wy.h?Wy.h(d):Wy.call(null,d),c],null)}function Yy(a,b){var c=J(a,0,null),d=J(a,1,null),e=jg(b,c);e=E(e)?new R(null,2,5,T,[Eo(e),d],null):null;var f=K.l(d,pl,!0);f=new R(null,2,5,T,[Vd(c,b),f],null);c=kg(b+1,c);d=E(c)?new R(null,2,5,T,[Eo(c),d],null):null;return vg(ub,new R(null,3,5,T,[e,f,d],null))} +function Zy(a,b){for(var c=he,d=a,e=b;;)if(E(d)){var f=y(d),h=J(f,0,null);J(f,1,null);h=H(h);if(h<=e)c=ge.c(c,f),d=vd(d),e-=h;else return O.A(c,Yy(f,e),be([vd(d)]))}else return c}function $y(a,b,c){a=t(B(b))?Zy(B(a),B(b)):B(a);return new R(null,2,5,T,[Lm,Ii(bg(function(){return function(a,b){return pe(new R(null,3,5,T,[Xy,b,c],null),new r(null,1,[mk,a],null))}}(a),a))],null)}var qA=new ti(null,new r(null,3,["small",null,"medium",null,"big",null],null),null); +function rA(a,b,c,d,e){var f=yp(function(){var a=B(c);return t(qA.h?qA.h(a):qA.call(null,a))?["font-",v.h(a)].join(""):null}),h=yp(function(){return function(){var d=B(a),e=B(b),f=B(c);f=t(qA.h?qA.h(f):qA.call(null,f))?null:new r(null,1,[wk,f],null);return hi.A(be([new r(null,2,[fl,[v.h(d),"ch"].join(""),no,[v.h(1.3333333333*e),"em"].join("")],null),f]))}}(f)),k=yp(function(){return function(){return Lu(B(d))}}(f,h)),l=yp(function(a,c,d){return function(){return xg(function(a,b,c){return function(d){return yp(function(a, +b,c){return function(){return D.c(B(c),d)}}(a,b,c))}}(a,c,d),Fi(0,B(b),1))}}(f,h,k)),p=yp(function(){return function(){return Mu(B(d))}}(f,h,k,l)),m=yp(function(a,b,c,d,e){return function(){return zn.h(B(e))}}(f,h,k,l,p)),u=yp(function(a,b,c,d,e){return function(){return Aj.h(B(e))}}(f,h,k,l,p,m)),w=yp(function(a,b,c,d,e){return function(){return On.h(B(e))}}(f,h,k,l,p,m,u));return function(a,b,c,d,f,h,k,l){return function(){return new R(null,3,5,T,[Gm,new r(null,2,[vn,B(a),fm,B(b)],null),bg(function(a, +b,c,d,f,h,k,l){return function(m,p){var u=yp(function(a,b,c,d,e,f,h,k){return function(){var a=B(k);return t(a)?(a=G.c(m,B(h)))?B(f):a:a}}(a,b,c,d,f,h,k,l));return pe(new R(null,4,5,T,[$y,p,u,e],null),new r(null,1,[mk,m],null))}}(a,b,c,d,f,h,k,l),B(d))],null)}}(f,h,k,l,p,m,u,w)} +function sA(){return new R(null,2,5,T,[Ym,new r(null,4,[Mn,"1.1",Fl,"0 0 866.0254037844387 866.0254037844387",vn,"icon",mo,new r(null,1,[An,'\x3cdefs\x3e \x3cmask id\x3d"small-triangle-mask"\x3e \x3crect width\x3d"100%" height\x3d"100%" fill\x3d"white"/\x3e \x3cpolygon points\x3d"508.01270189221935 433.01270189221935, 208.0127018922194 259.8076211353316, 208.01270189221927 606.217782649107" fill\x3d"black"\x3e\x3c/polygon\x3e \x3c/mask\x3e \x3c/defs\x3e \x3cpolygon points\x3d"808.0127018922194 433.01270189221935, 58.01270189221947 -1.1368683772161603e-13, 58.01270189221913 866.0254037844386" mask\x3d"url(#small-triangle-mask)" fill\x3d"white"\x3e\x3c/polygon\x3e \x3cpolyline points\x3d"481.2177826491071 333.0127018922194, 134.80762113533166 533.0127018922194" stroke\x3d"white" stroke-width\x3d"90"\x3e\x3c/polyline\x3e'],null)], +null)],null)}function tA(){return new R(null,3,5,T,[Ym,new r(null,3,[Mn,"1.1",Fl,"0 0 12 12",vn,"icon"],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M1,0 L11,6 L1,12 Z"],null)],null)],null)}function uA(){return new R(null,4,5,T,[Ym,new r(null,3,[Mn,"1.1",Fl,"0 0 12 12",vn,"icon"],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M1,0 L4,0 L4,12 L1,12 Z"],null)],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M8,0 L11,0 L11,12 L8,12 Z"],null)],null)],null)} +function vA(){return new R(null,4,5,T,[Ym,new r(null,3,[Mn,"1.1",Fl,"0 0 12 12",vn,"icon"],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M12,0 L7,0 L9,2 L7,4 L8,5 L10,3 L12,5 Z"],null)],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M0,12 L0,7 L2,9 L4,7 L5,8 L3,10 L5,12 Z"],null)],null)],null)} +function wA(){return new R(null,4,5,T,[Ym,new r(null,3,[Mn,"1.1",Fl,"0 0 12 12",vn,"icon"],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M7,5 L7,0 L9,2 L11,0 L12,1 L10,3 L12,5 Z"],null)],null),new R(null,2,5,T,[Fj,new r(null,1,[pn,"M5,7 L0,7 L2,9 L0,11 L1,12 L3,10 L5,12 Z"],null)],null)],null)}function xA(a,b){return function(b){return function(){return new R(null,3,5,T,[cl,new r(null,1,[Sl,b],null),new R(null,1,5,T,[t(B(a))?uA:tA],null)],null)}}(Ty(b,new fy(null,null,null)))} +function yA(a){return 10>a?["0",v.h(a)].join(""):a}function zA(a){var b=Math.floor((a%60+60)%60);return[v.h(yA(Math.floor(a/60))),":",v.h(yA(b))].join("")}function AA(a,b){var c=T,d=new R(null,2,5,T,[Yk,zA(B(a))],null),e=T;var f=B(a);var h=B(b);f=["-",v.h(zA(h-f))].join("");return new R(null,3,5,c,[Ml,d,new R(null,2,5,e,[co,f],null)],null)} +function BA(){function a(a){a.preventDefault();return Ry(a.currentTarget.parentNode.parentNode.parentNode)}return function(){return new R(null,4,5,T,[un,new r(null,1,[Sl,a],null),new R(null,1,5,T,[vA],null),new R(null,1,5,T,[wA],null)],null)}} +function CA(a,b){var c=Sy(b,function(a){var b=a.currentTarget.offsetWidth,c=a.currentTarget.getBoundingClientRect();return cy(Nu(a.clientX-c.left,b)/b)}),d=yp(function(){return function(){return[v.h(100*B(a)),"%"].join("")}}(c));return function(a,b){return function(){return new R(null,2,5,T,[Vj,new R(null,3,5,T,[Bl,new r(null,1,[Ql,a],null),new R(null,2,5,T,[Cj,new R(null,2,5,T,[ro,new r(null,1,[fm,new r(null,1,[fl,B(b)],null)],null)],null)],null)],null)],null)}}(c,d)} +function DA(a,b,c,d){return function(e){return function(){return new R(null,5,5,T,[Kk,new R(null,3,5,T,[xA,a,d],null),new R(null,3,5,T,[AA,b,c],null),new R(null,1,5,T,[BA],null),new R(null,3,5,T,[CA,e,d],null)],null)}}(yp(function(){return B(b)/B(c)}))} +function EA(a){return function(a){return function(){return new R(null,3,5,T,[ol,new r(null,1,[Sl,a],null),new R(null,2,5,T,[Xk,new R(null,2,5,T,[km,new R(null,2,5,T,[ro,new R(null,1,5,T,[sA],null)],null)],null)],null)],null)}}(Ty(a,new fy(null,null,null)))}function FA(){return new R(null,2,5,T,[Ek,new R(null,1,5,T,[xn],null)],null)}function GA(a){return Wf(function(b){return a[b]},new R(null,4,5,T,["altKey","shiftKey","metaKey","ctrlKey"],null))} +function HA(a){var b=t(GA(a))?null:function(){switch(a.key){case " ":return new fy(null,null,null);case "f":return bm;case "0":return cy(0);case "1":return cy(.1);case "2":return cy(.2);case "3":return cy(.3);case "4":return cy(.4);case "5":return cy(.5);case "6":return cy(.6);case "7":return cy(.7);case "8":return cy(.8);case "9":return cy(.9);default:return null}}();if(t(b))return b;switch(a.key){case "\x3e":return new ey(null,null,null);case "\x3c":return new dy(null,null,null);default:return null}} +function IA(a){if(t(GA(a)))return null;switch(a.which){case 37:return new ay(null,null,null);case 39:return new $x(null,null,null);default:return null}}function JA(a){var b=HA(a);return t(b)?(a.preventDefault(),G.c(b,bm)?(Ry(a.currentTarget),null):b):null}function KA(a){var b=IA(a);return t(b)?(a.preventDefault(),b):null} +function LA(a,b,c,d){a=t(a)?['"',v.h(a),'"'].join(""):"untitled";return new R(null,4,5,T,[dl,t(d)?new R(null,2,5,T,[jo,new r(null,1,[zl,d],null)],null):null,a,t(b)?new R(null,3,5,T,[ro," by ",t(c)?new R(null,3,5,T,[lo,new r(null,1,[ho,c],null),b],null):b],null):null],null)} +function MA(a){var b=Mx(1,ig.h(iy)),c=Kx(1);lx(function(c){return function(){var d=function(){return function(a){return function(){function b(b){for(;;){a:try{for(;;){var c=a(b);if(!N(c,Z)){var d=c;break a}}}catch(x){if(x instanceof Object)b[5]=x,Cx(b),d=Z;else throw x;}if(!N(d,Z))return d}}function c(){var a=[null,null,null,null,null,null,null,null,null,null,null,null];a[0]=d;a[1]=1;return a}var d=null;d=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return b.call(this,a)}throw Error("Invalid arity: "+ +(arguments.length-1));};d.B=c;d.h=b;return d}()}(function(){return function(c){var d=c[1];if(7===d)return c[7]=c[2],Ax(c,12,b,!1);if(1===d)return c[2]=null,c[1]=2,Z;if(4===d)return c[8]=c[2],Ax(c,5,b,!0);if(6===d)return d=Jx(3E3),Ux(c,8,new R(null,2,5,T,[a,d],null));if(3===d)return Bx(c,c[2]);if(12===d)return c[9]=c[2],c[2]=null,c[1]=2,Z;if(2===d)return zx(c,4,a);if(11===d)return c[2]=c[2],c[1]=7,Z;if(9===d)return c[2]=null,c[1]=6,Z;if(5===d)return c[10]=c[2],c[2]=null,c[1]=6,Z;if(10===d)return c[2]= +null,c[1]=11,Z;if(8===d){var e=c[2];d=J(e,0,null);e=J(e,1,null);e=G.c(e,a);c[11]=d;c[1]=e?9:10;return Z}return null}}(c),c)}(),f=function(){var a=d.B?d.B():d.call(null);a[6]=c;return a}();return yx(f)}}(c));return b} +function NA(a,b){var c=dg.h(b),d=Kx(1);lx(function(b,c){return function(){var d=function(){return function(a){return function(){function b(b){for(;;){a:try{for(;;){var c=a(b);if(!N(c,Z)){var d=c;break a}}}catch(F){if(F instanceof Object)b[5]=F,Cx(b),d=Z;else throw F;}if(!N(d,Z))return d}}function c(){var a=[null,null,null,null,null,null,null,null,null,null,null,null,null];a[0]=d;a[1]=1;return a}var d=null;d=function(a){switch(arguments.length){case 0:return c.call(this);case 1:return b.call(this, +a)}throw Error("Invalid arity: "+(arguments.length-1));};d.B=c;d.h=b;return d}()}(function(b,c){return function(d){var e=d[1];if(7===e){var f=d[7],h=wb(null==f);d[8]=d[2];d[1]=h?8:9;return Z}if(20===e)return f=d[7],d[1]=t(q===f.Fe)?23:24,Z;if(27===e)return d[2]=!1,d[1]=28,Z;if(1===e)return d[2]=null,d[1]=2,Z;if(24===e)return f=d[7],d[1]=t(!f.Tc)?26:27,Z;if(4===e){f=d[7];var k=d[9];h=d[2];var l=J(h,0,null),m=J(h,1,null);d[10]=m;d[7]=l;d[9]=h;d[1]=t(null==l)?5:6;return Z}return 15===e?(d[2]=!1,d[1]= +16,Z):21===e?(f=d[7],h=Ab(Yx,f),d[2]=h,d[1]=22,Z):31===e?(d[11]=d[2],d[2]=null,d[1]=2,Z):13===e?(d[2]=d[2],d[1]=10,Z):22===e?(d[1]=t(d[2])?29:30,Z):29===e?(f=d[7],h=B(a),h=Zx(f,h),h=gg.l(c,wo,h),d[2]=h,d[1]=31,Z):6===e?(d[2]=null,d[1]=7,Z):28===e?(d[2]=d[2],d[1]=25,Z):25===e?(d[2]=d[2],d[1]=22,Z):17===e?(m=d[10],f=d[7],k=d[9],h=gg.c(a,function(){return function(a,b){return function(a){return Xx(b,a)}}(k,f,m,m,f,k,e,b,c)}()),d[2]=h,d[1]=19,Z):3===e?Bx(d,d[2]):12===e?(f=d[7],d[1]=t(!f.Tc)?14:15,Z): +2===e?(h=B(c),h=E(h),Ux(d,4,h)):23===e?(d[2]=!0,d[1]=25,Z):19===e?(f=d[7],h=wb(null==f),d[12]=d[2],d[1]=h?20:21,Z):11===e?(d[2]=!0,d[1]=13,Z):9===e?(f=d[7],h=Ab(Wx,f),d[2]=h,d[1]=10,Z):5===e?(m=d[10],h=gg.l(c,re,m),d[2]=h,d[1]=7,Z):14===e?(f=d[7],h=Ab(Wx,f),d[2]=h,d[1]=16,Z):26===e?(f=d[7],h=Ab(Yx,f),d[2]=h,d[1]=28,Z):16===e?(d[2]=d[2],d[1]=13,Z):30===e?(d[2]=null,d[1]=31,Z):10===e?(d[1]=t(d[2])?17:18,Z):18===e?(d[2]=null,d[1]=19,Z):8===e?(f=d[7],d[1]=t(q===f.sb)?11:12,Z):null}}(b,c),b,c)}(),e=function(){var a= +d.B?d.B():d.call(null);a[6]=b;return a}();return yx(e)}}(d,c));return d} +function OA(a,b,c){c=Ty(c,!0);var d=Sy(b,JA),e=Sy(b,KA),f=yp(function(){return function(){return Hm.h(B(a))}}(c,d,e)),h=yp(function(){return function(){return el.h(B(a))}}(c,d,e,f)),k=yp(function(a,b,c,d,e){return function(){var a=B(d);return t(a)?a:B(e)}}(c,d,e,f,h)),l=yp(function(b,c,d,e,f,h){return function(){var b=Gk.h(B(a));b=t(b)?b:wb(B(h));return t(b)?"hud":null}}(c,d,e,f,h,k)),p=yp(function(){return function(){return["asciinema-theme-",v.h(gm.h(B(a)))].join("")}}(c,d,e,f,h,k,l)),m=yp(function(){return function(){var b= +fl.h(B(a));return t(b)?b:80}}(c,d,e,f,h,k,l,p)),u=yp(function(){return function(){var b=no.h(B(a));return t(b)?b:24}}(c,d,e,f,h,k,l,p,m)),w=yp(function(){return function(){return wk.h(B(a))}}(c,d,e,f,h,k,l,p,m,u)),x=yp(function(){return function(){return V.h(B(a))}}(c,d,e,f,h,k,l,p,m,u,w)),C=yp(function(){return function(){return ml.h(B(a))}}(c,d,e,f,h,k,l,p,m,u,w,x)),F=yp(function(){return function(){return jn.h(B(a))}}(c,d,e,f,h,k,l,p,m,u,w,x,C)),I=yp(function(){return function(){return Uj.h(B(a))}}(c, +d,e,f,h,k,l,p,m,u,w,x,C,F)),M=yp(function(){return function(){return wl.h(B(a))}}(c,d,e,f,h,k,l,p,m,u,w,x,C,F,I)),S=B(a),X=null!=S&&(S.m&64||q===S.G)?P(U,S):S,Ga=D.c(X,ki),db=D.c(X,li),Q=D.c(X,mi),xb=D.c(X,ni);return function(a,c,d,e,f,h,k,l,m,p,u,w,x,C,F,I,M,S,Q,X,Ga,db){return function(){return new R(null,3,5,T,[Cn,new r(null,5,[Jj,-1,Zj,c,Rn,d,Vm,a,vn,B(k)],null),new R(null,7,5,T,[Sm,new r(null,1,[vn,B(l)],null),new R(null,6,5,T,[rA,m,p,u,w,x],null),new R(null,5,5,T,[DA,C,F,I,b],null),t(t(Q)?Q: +X)?new R(null,5,5,T,[LA,Q,X,Ga,db],null):null,t(B(h))?null:new R(null,2,5,T,[EA,b],null),t(B(e))?new R(null,1,5,T,[FA],null):null],null)],null)}}(c,d,e,f,h,k,l,p,m,u,w,x,C,F,I,M,S,X,Ga,db,Q,xb)} +function PA(a){var b=Kx(null),c=Kx(new dx(bx(1),1));return function(b,c){return function(){return Pp(new r(null,4,[ln,"asciinema-player",Dm,function(b,c){return function(){return OA(a,b,c)}}(b,c),$k,function(b,c){return function(){var d=ty(Gl.h(B(a))),e=MA(c);Tx(e,b);return NA(a,Je([b,d]))}}(b,c),Wm,function(){return function(){return uy(Gl.h(B(a)))}}(b,c)],null))}}(b,c)};function QA(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,Ak),e=D.c(c,Gl);d=a.h?a.h(d):a.call(null,d);zy(e,d);return K.l(c,Ak,d)}$x.prototype.sb=q;$x.prototype.qb=function(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,Uj),e=D.c(c,wl),f=D.c(c,Gl);t(e)&&yy(f,Nu(d+5,e));return c};ay.prototype.sb=q;ay.prototype.qb=function(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,Uj),e=D.c(c,wl),f=D.c(c,Gl);t(e)&&yy(f,Nu(d+-5,e));return c};by.prototype.sb=q; +by.prototype.qb=function(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,wl),e=D.c(c,Gl);t(d)&&(d*=nn.h(this),yy(e,d));return c};dy.prototype.sb=q;dy.prototype.qb=function(a,b){return QA(function(){return function(a){return a/2}}(this),b)};ey.prototype.sb=q;ey.prototype.qb=function(a,b){return QA(function(){return function(a){return 2*a}}(this),b)};fy.prototype.sb=q;fy.prototype.qb=function(a,b){xy(Gl.h(b));return b};gy.prototype.sb=q;gy.prototype.qb=function(a,b){return K.l(b,ml,so.h(this))}; +hy.prototype.sb=q;hy.prototype.qb=function(a,b){return K.l(b,Gk,so.h(this))};jy.prototype.sb=q;jy.prototype.qb=function(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a;D.c(c,fl);D.c(c,no);D.c(c,wl);c=null!=b&&(b.m&64||q===b.G)?P(U,b):b;var d=D.c(c,fl),e=D.c(c,no),f=null!=this&&(this.m&64||q===this.G)?P(U,this):this,h=D.c(f,fl),k=D.c(f,no);f=D.c(f,wl);return K.A(c,fl,t(d)?d:h,be([no,t(e)?e:k,wl,f]))};ky.prototype.sb=q;ky.prototype.qb=function(a,b){return K.l(b,Hm,Hm.h(this))};oy.prototype.sb=q; +oy.prototype.qb=function(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,oi);t(d)&&(ap(bp),d.B?d.B():d.call(null));return c};ry.prototype.sb=q;ry.prototype.qb=function(a,b){return K.l(b,Uj,Zk.h(this))};function RA(){return ig.l(function(a,b){return new R(null,2,5,T,[a,new gy(b,null,null,null)],null)},rg(function(a){return a+.5},.5),og(new R(null,2,5,T,[!1,!0],null)))}function SA(a){var b=Dy(RA());return K.l(K.l(a,ml,!0),Ol,b)} +function TA(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;var b=D.c(a,Ol);Tw(b);return K.l(K.l(a,ml,!0),Ol,null)}function UA(a){a=null!=a&&(a.m&64||q===a.G)?P(U,a):a;a=D.c(a,Ol);return t(a)?Je([a]):vi}my.prototype.sb=q; +my.prototype.qb=function(a,b){var c=null!=a&&(a.m&64||q===a.G)?P(U,a):a;D.c(c,jn);var d=null!=b&&(b.m&64||q===b.G)?P(U,b):b,e=D.c(d,jn);c=D.c(d,pi);var f=D.c(d,qi),h=null!=this&&(this.m&64||q===this.G)?P(U,this):this;h=D.c(h,jn);if(G.c(e,h))return d;d=K.A(d,jn,h,be([el,!0]));if(t(h))return t(c)&&(c.B?c.B():c.call(null)),SA(d);t(f)&&(f.B?f.B():f.call(null));return TA(d)};my.prototype.Fe=q;my.prototype.de=function(a,b){return UA(b)};py.prototype.sb=q; +py.prototype.qb=function(a,b){var c=K.l(b,V,V.h(this));c=null!=c&&(c.m&64||q===c.G)?P(U,c):c;var d=D.c(c,Ol);return t(d)?SA(TA(c)):c};py.prototype.Fe=q;py.prototype.de=function(a,b){return UA(b)};function VA(a){return t(a)?(a=ig.c(parseFloat,Fo(""+v.h(a),/:/)),a=ig.l(Ye,cf(a),rg(function(){return function(a){return 60*a}}(a),1)),P(Xe,a)):null} +function WA(a,b,c){t(a)?"string"===typeof a?t(0===a.indexOf("data:application/json;base64,"))?(b=a.substring(29).replace(RegExp("\\s","g"),""),b=JSON.parse(atob(b)),b=fj(b),b=new r(null,1,[V,new r(null,1,[il,b],null)],null)):t(0===a.indexOf("data:text/plain,"))?(a=a.substring(16),b=Ju(Ot(t(b)?b:80,t(c)?c:24),a),b=new r(null,1,[V,b],null)):b=t(0===a.indexOf("npt:"))?new r(null,1,[Zk,VA(a.substring(4))],null):null:b=new r(null,1,[V,new r(null,1,[il,a],null)],null):b=null;return b} +var XA=new r(null,2,[pl,new r(null,1,[On,!1],null),il,he],null); +function YA(a,b){var c=null!=b&&(b.m&64||q===b.G)?P(U,b):b,d=D.c(c,no),e=D.l(c,wk,"small"),f=D.l(c,Ak,1),h=D.c(c,Hk),k=D.c(c,fl),l=D.c(c,rl),p=D.l(c,cm,!1),m=D.l(c,gm,"asciinema"),u=D.c(c,qm),w=D.c(c,Bm),x=D.l(c,vm,!1),C=D.l(c,Em,!1),F=function(){var a=VA(h);return t(a)?a:0}();w=WA(w,k,d);var I=null!=w&&(w.m&64||q===w.G)?P(U,w):w;w=D.c(I,V);I=D.c(I,Zk);var M=t(I)?I:wb(w)&&0 +
+ + diff --git a/src-local/player/demo.cast b/src-local/player/demo.cast new file mode 100644 index 0000000..732ec14 --- /dev/null +++ b/src-local/player/demo.cast @@ -0,0 +1,101 @@ +{"version": 2, "width": 143, "height": 44, "timestamp": 1612541189, "idle_time_limit": 2.5, "env": {"SHELL": "/bin/bash", "TERM": "xterm"}} +[0.038915, "o", "\u001b]0;zeus@swarmlab: /data/appl/ok/gitversion/examples-services/hybrid-linux/Course\u0007zeus@swarmlab:/data/appl/ok/gitversion/examples-services/hybrid-linux/Course$ "] +[5.582632, "o", "docker exec -it -udocker hybrid-linux_master_1 /bin/bash"] +[7.056028, "o", "\r\n"] +[7.195975, "o", "To run a command as administrator (user \"root\"), use \"sudo \".\r\nSee \"man sudo_root\" for details.\r\n\r\n"] +[7.196479, "o", "docker@76a11f452a37:/project$ "] +[10.453584, "o", "i"] +[10.776779, "o", "f"] +[11.014731, "o", "c"] +[11.726258, "o", "o"] +[11.8379, "o", "nfig "] +[12.457711, "o", "\r\n"] +[12.459382, "o", "eth0: flags=4163 mtu 1500\r\n inet 172.27.0.2 netmask 255.255.0.0 broadcast 172.27.255.255\r\n ether 02:42:ac:1b:00:02 txqueuelen 0 (Ethernet)\r\n RX packets 1511 bytes 87967 (87.9 KB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 104533 bytes 4405311 (4.4 MB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\nlo: flags=73 mtu 65536\r\n inet 127.0.0.1 netmask 255.0.0.0\r\n loop txqueuelen 1000 (Local Loopback)\r\n RX packets 1951 bytes 182571 (182.5 KB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 1951 bytes 182571 (182.5 KB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\n"] +[12.460276, "o", "docker@76a11f452a37:/project$ "] +[15.46855, "o", "n"] +[15.665159, "o", "m"] +[15.836823, "o", "a"] +[16.074323, "o", "p"] +[16.275806, "o", " "] +[16.567909, "o", "-"] +[17.127539, "o", "s"] +[17.717655, "o", "P"] +[18.026098, "o", " "] +[19.612596, "o", "1"] +[20.081581, "o", "7"] +[20.333127, "o", "2"] +[21.925102, "o", "."] +[22.051564, "o", "2"] +[23.163517, "o", "7"] +[23.814861, "o", "."] +[24.253768, "o", "0"] +[25.073106, "o", "."] +[25.304095, "o", "2"] +[25.744479, "o", "/"] +[26.273982, "o", "2"] +[26.602261, "o", "4"] +[26.868424, "o", "\r\n"] +[26.874464, "o", "\r\nStarting Nmap 7.60 ( https://nmap.org ) at 2021-02-05 16:06 UTC\r\n"] +[29.792163, "o", "Nmap scan report for 172.27.0.1\r\nHost is up (0.00047s latency).\r\nNmap scan report for 76a11f452a37 (172.27.0.2)\r\n"] +[29.792306, "o", "Host is up (0.00028s latency).\r\nNmap scan report for hybrid-linux_worker_1.hybrid-linux_hybrid-linux (172.27.0.3)\r\nHost is up (0.00023s latency).\r\nNmap scan report for hybrid-linux_worker_2.hybrid-linux_hybrid-linux (172.27.0.4)\r\nHost is up (0.00018s latency).\r\n"] +[29.792532, "o", "Nmap done: 256 IP addresses (4 hosts up) scanned in 2.92 seconds\r\n"] +[29.793575, "o", "docker@76a11f452a37:/project$ "] +[31.346812, "o", "s"] +[31.547982, "o", "s"] +[31.685745, "o", "h"] +[31.947886, "o", " "] +[32.226221, "o", "d"] +[32.467607, "o", "o"] +[32.667054, "o", "c"] +[32.838412, "o", "k"] +[32.979163, "o", "e"] +[33.236816, "o", "r"] +[33.317479, "o", " "] +[33.837631, "o", "@"] +[34.948683, "o", "\b \b"] +[35.146621, "o", "\b \b"] +[37.593721, "o", "@"] +[39.452856, "o", "1"] +[39.670476, "o", "7"] +[39.902152, "o", "2"] +[41.457314, "o", "."] +[41.627979, "o", "2"] +[42.445799, "o", "7"] +[43.047344, "o", "."] +[43.375327, "o", "0"] +[43.945384, "o", "."] +[44.076185, "o", "3"] +[44.334094, "o", "\r\n"] +[44.475023, "o", "Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-135-generic x86_64)\r\n\r\n * Documentation: https://help.ubuntu.com\r\n * Management: https://landscape.canonical.com\r\n * Support: https://ubuntu.com/advantage\r\nThis system has been minimized by removing packages and content that are\r\nnot required on a system that users do not log into.\r\n\r\nTo restore this content, you can run the 'unminimize' command.\r\n\r\nThe programs included with the Ubuntu system are free software;\r\nthe exact distribution terms for each program are described in the\r\nindividual files in /usr/share/doc/*/copyright.\r\n\r\nUbuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by\r\napplicable law.\r\n\r\n\r\nThe programs included with the Ubuntu system are free software;\r\nthe exact distribution terms for each program are described in the\r\nindividual files in /usr/share/doc/*/copyright.\r\n\r\nUbuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by\r\napplicable law.\r\n\r\nLast login: Fri Feb 5 15:58:17 2021 from 172.27.0.2\r\r\n"] +[44.479108, "o", "$ "] +[46.184679, "o", "b"] +[46.281021, "o", "a"] +[46.492581, "o", "s"] +[46.586355, "o", "h"] +[46.925913, "o", "\r\n"] +[46.932565, "o", "To run a command as administrator (user \"root\"), use \"sudo \".\r\nSee \"man sudo_root\" for details.\r\n\r\n"] +[46.933432, "o", "docker@d0524f1565d4:~$ "] +[47.834941, "o", "i"] +[48.035487, "o", "f"] +[48.263395, "o", "c"] +[49.035877, "o", "o"] +[49.137918, "o", "nfig "] +[49.845107, "o", "\r\n"] +[49.847923, "o", "eth0: flags=4163 mtu 1500\r\n inet 172.27.0.3 netmask 255.255.0.0 broadcast 172.27.255.255\r\n ether 02:42:ac:1b:00:03 txqueuelen 0 (Ethernet)\r\n RX packets 108165 bytes 4561685 (4.5 MB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 303 bytes 25824 (25.8 KB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\nlo: flags=73 mtu 65536\r\n inet 127.0.0.1 netmask 255.0.0.0\r\n loop txqueuelen 1000 (Local Loopback)\r\n RX packets 0 bytes 0 (0.0 B)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 0 bytes 0 (0.0 B)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\n"] +[49.848378, "o", "docker@d0524f1565d4:~$ "] +[52.117657, "o", "e"] +[52.455103, "o", "x"] +[52.905012, "o", "i"] +[53.066025, "o", "t"] +[53.324857, "o", "\r\nexit\r\n"] +[53.325427, "o", "$ "] +[54.098112, "o", "e"] +[54.345206, "o", "x"] +[54.647069, "o", "i"] +[54.784636, "o", "t"] +[55.068005, "o", "\r\n"] +[55.069202, "o", "Connection to 172.27.0.3 closed.\r\r\n"] +[55.069533, "o", "docker@76a11f452a37:/project$ "] +[58.464996, "o", "exit\r\n"] +[58.519256, "o", "\u001b]0;zeus@swarmlab: /data/appl/ok/gitversion/examples-services/hybrid-linux/Course\u0007zeus@swarmlab:/data/appl/ok/gitversion/examples-services/hybrid-linux/Course$ "] +[63.505678, "o", "exit\r\n"] diff --git a/src-local/player/index.html b/src-local/player/index.html new file mode 100644 index 0000000..be4d3fd --- /dev/null +++ b/src-local/player/index.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src-local/start-server.sh b/src-local/start-server.sh index 6e9154e..c485378 100755 --- a/src-local/start-server.sh +++ b/src-local/start-server.sh @@ -6,3 +6,9 @@ sleep 3 pm2 stop hybridserver sleep 3 pm2 start hybridserver + +/bin/bash ./git-update.sh https://git.swarmlab.io:3000/llo/LabLearningObject-hybrid.git LabLearningObject-hybrid + +if [ ! -d 'LabLearningObject-hybrid-tmp']; then + mkdir LabLearningObject-hybrid-tmp +fi diff --git a/src/App.vue b/src/App.vue index ef9cda3..51bb3fe 100644 --- a/src/App.vue +++ b/src/App.vue @@ -150,6 +150,12 @@ Bootstrap + + LearningObjects + + + Courses + @@ -210,6 +216,12 @@ + + + + + + @@ -251,6 +263,18 @@ + + + + + + + + + @@ -313,6 +337,7 @@ import NetworkTable from "./components/mynetwork.vue"; import ServicesTable from "./components/myservices.vue"; import ManageServices from "./components/manageservices.vue"; import ManageDeploy from "./components/managedeploy.vue"; +import ManageLlo from "./components/managello.vue"; export default { name: 'app', @@ -321,7 +346,8 @@ export default { ServicesTable, ConnectServer, ManageServices, - ManageDeploy + ManageDeploy, + ManageLlo }, data() { return { @@ -401,11 +427,14 @@ export default { }, hybrid(action) { this.hybridmenou = action - //console.log(action) + console.log(action) if(action == 'bootstrap'){ this.$root.$emit('hybrid_refresh_dockerservices') }else if(action == 'connect-server'){ this.$root.$emit('hybrid_connect_server') + }else if(action == 'llo'){ + console.log('llo '+action) + //this.$root.$emit('hybrid_manage_llo') }else if(action == 'services'){ this.$root.$emit('hybrid_refresh_availableservices') }else if(action == 'manage_service'){ diff --git a/src/assets/img/academy.png b/src/assets/img/academy.png new file mode 100644 index 0000000..e3bbc0f Binary files /dev/null and b/src/assets/img/academy.png differ diff --git a/src/assets/img/book.png b/src/assets/img/book.png new file mode 100644 index 0000000..6a84707 Binary files /dev/null and b/src/assets/img/book.png differ diff --git a/src/assets/img/clipart.png b/src/assets/img/clipart.png new file mode 100644 index 0000000..ace6707 Binary files /dev/null and b/src/assets/img/clipart.png differ diff --git a/src/assets/img/clipart1.png b/src/assets/img/clipart1.png new file mode 100644 index 0000000..ec3715f Binary files /dev/null and b/src/assets/img/clipart1.png differ diff --git a/src/assets/img/code.png b/src/assets/img/code.png new file mode 100644 index 0000000..92f4ab9 Binary files /dev/null and b/src/assets/img/code.png differ diff --git a/src/assets/img/gruebeln-clipart.jpg b/src/assets/img/gruebeln-clipart.jpg new file mode 100644 index 0000000..92382bb Binary files /dev/null and b/src/assets/img/gruebeln-clipart.jpg differ diff --git a/src/assets/img/library.png b/src/assets/img/library.png new file mode 100644 index 0000000..357de5c Binary files /dev/null and b/src/assets/img/library.png differ diff --git a/src/assets/img/list.png b/src/assets/img/list.png new file mode 100644 index 0000000..123b10c Binary files /dev/null and b/src/assets/img/list.png differ diff --git a/src/assets/img/penguin21.png b/src/assets/img/penguin21.png new file mode 100644 index 0000000..e50bce4 Binary files /dev/null and b/src/assets/img/penguin21.png differ diff --git a/src/assets/img/penguin21a.png b/src/assets/img/penguin21a.png new file mode 100644 index 0000000..7bd4b5b Binary files /dev/null and b/src/assets/img/penguin21a.png differ diff --git a/src/assets/img/penguin3.png b/src/assets/img/penguin3.png new file mode 100644 index 0000000..b287e2a Binary files /dev/null and b/src/assets/img/penguin3.png differ diff --git a/src/assets/img/penguin3a.png b/src/assets/img/penguin3a.png new file mode 100644 index 0000000..b287e2a Binary files /dev/null and b/src/assets/img/penguin3a.png differ diff --git a/src/assets/img/penguinfledgling.png b/src/assets/img/penguinfledgling.png new file mode 100644 index 0000000..56e5a02 Binary files /dev/null and b/src/assets/img/penguinfledgling.png differ diff --git a/src/assets/img/penguinfledgling1.png b/src/assets/img/penguinfledgling1.png new file mode 100644 index 0000000..56e5a02 Binary files /dev/null and b/src/assets/img/penguinfledgling1.png differ diff --git a/src/assets/img/video.png b/src/assets/img/video.png new file mode 100644 index 0000000..084b222 Binary files /dev/null and b/src/assets/img/video.png differ diff --git a/src/assets/img/video1.png b/src/assets/img/video1.png new file mode 100644 index 0000000..370e60e Binary files /dev/null and b/src/assets/img/video1.png differ diff --git a/src/assets/img/workhardhackharder-denim.png b/src/assets/img/workhardhackharder-denim.png new file mode 100644 index 0000000..4f6df6d Binary files /dev/null and b/src/assets/img/workhardhackharder-denim.png differ diff --git a/src/assets/img/workhardhackharder-green.png b/src/assets/img/workhardhackharder-green.png new file mode 100644 index 0000000..ffb5f02 Binary files /dev/null and b/src/assets/img/workhardhackharder-green.png differ diff --git a/src/assets/img/workhardhackharder-purple.png b/src/assets/img/workhardhackharder-purple.png new file mode 100644 index 0000000..99e20b6 Binary files /dev/null and b/src/assets/img/workhardhackharder-purple.png differ diff --git a/src/assets/img/workhardhackharder-red.png b/src/assets/img/workhardhackharder-red.png new file mode 100644 index 0000000..da029aa Binary files /dev/null and b/src/assets/img/workhardhackharder-red.png differ diff --git a/src/assets/img/workhardhackharder.png b/src/assets/img/workhardhackharder.png new file mode 100644 index 0000000..95be807 Binary files /dev/null and b/src/assets/img/workhardhackharder.png differ diff --git a/src/components/asciidoc.vue b/src/components/asciidoc.vue new file mode 100644 index 0000000..48ead27 --- /dev/null +++ b/src/components/asciidoc.vue @@ -0,0 +1,39 @@ + + + + diff --git a/src/components/asciiplayer.vue b/src/components/asciiplayer.vue new file mode 100644 index 0000000..fcfd5a1 --- /dev/null +++ b/src/components/asciiplayer.vue @@ -0,0 +1,47 @@ + + + diff --git a/src/components/managello.vue b/src/components/managello.vue new file mode 100644 index 0000000..9190fa6 --- /dev/null +++ b/src/components/managello.vue @@ -0,0 +1,55 @@ + + + + diff --git a/src/components/manageservices/1 b/src/components/manageservices/1 new file mode 100644 index 0000000..3ca13b2 --- /dev/null +++ b/src/components/manageservices/1 @@ -0,0 +1,252 @@ + + + diff --git a/src/components/manageservices/join-service.vue b/src/components/manageservices/join-service.vue index 222c31a..df3f207 100644 --- a/src/components/manageservices/join-service.vue +++ b/src/components/manageservices/join-service.vue @@ -265,6 +265,11 @@ + + + + + + diff --git a/src/components/manageservices/llo-search-backup1.vue b/src/components/manageservices/llo-search-backup1.vue new file mode 100644 index 0000000..f513a8c --- /dev/null +++ b/src/components/manageservices/llo-search-backup1.vue @@ -0,0 +1,1444 @@ + + + diff --git a/src/components/manageservices/llo-search.vue b/src/components/manageservices/llo-search.vue new file mode 100644 index 0000000..7ed6a6e --- /dev/null +++ b/src/components/manageservices/llo-search.vue @@ -0,0 +1,1438 @@ + + + diff --git a/src/components/manageservices/llo-view.vue b/src/components/manageservices/llo-view.vue new file mode 100644 index 0000000..16a30fd --- /dev/null +++ b/src/components/manageservices/llo-view.vue @@ -0,0 +1,336 @@ + + + diff --git a/src/components/mynetwork/availableservices.vue b/src/components/mynetwork/availableservices.vue index 819fe90..7e41d3e 100644 --- a/src/components/mynetwork/availableservices.vue +++ b/src/components/mynetwork/availableservices.vue @@ -197,6 +197,7 @@ import VuetablePagination from 'vuetable-2/src/components/VuetablePagination' import CssConfig from 'vuetable-2/src/components/VuetableCssConfig.js' import card from '@/components/Card.vue' import {ApiConfig} from "@/config/index"; + export default { components: { card, diff --git a/src/components/mynetwork/myconnect-server.vue b/src/components/mynetwork/myconnect-server.vue index c4f39bf..a6e1556 100644 --- a/src/components/mynetwork/myconnect-server.vue +++ b/src/components/mynetwork/myconnect-server.vue @@ -140,7 +140,6 @@ import store from '@/store/index' import {mapState, mapGetters, mapActions,dispatch} from 'vuex' import Vue from 'vue' -import {Vuetable, VuetablePaginationDropdown} from 'vuetable-2' import card from '@/components/Card.vue' import {ApiConfig} from "@/config/index"; export default { diff --git a/src/demo.cast b/src/demo.cast new file mode 100644 index 0000000..732ec14 --- /dev/null +++ b/src/demo.cast @@ -0,0 +1,101 @@ +{"version": 2, "width": 143, "height": 44, "timestamp": 1612541189, "idle_time_limit": 2.5, "env": {"SHELL": "/bin/bash", "TERM": "xterm"}} +[0.038915, "o", "\u001b]0;zeus@swarmlab: /data/appl/ok/gitversion/examples-services/hybrid-linux/Course\u0007zeus@swarmlab:/data/appl/ok/gitversion/examples-services/hybrid-linux/Course$ "] +[5.582632, "o", "docker exec -it -udocker hybrid-linux_master_1 /bin/bash"] +[7.056028, "o", "\r\n"] +[7.195975, "o", "To run a command as administrator (user \"root\"), use \"sudo \".\r\nSee \"man sudo_root\" for details.\r\n\r\n"] +[7.196479, "o", "docker@76a11f452a37:/project$ "] +[10.453584, "o", "i"] +[10.776779, "o", "f"] +[11.014731, "o", "c"] +[11.726258, "o", "o"] +[11.8379, "o", "nfig "] +[12.457711, "o", "\r\n"] +[12.459382, "o", "eth0: flags=4163 mtu 1500\r\n inet 172.27.0.2 netmask 255.255.0.0 broadcast 172.27.255.255\r\n ether 02:42:ac:1b:00:02 txqueuelen 0 (Ethernet)\r\n RX packets 1511 bytes 87967 (87.9 KB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 104533 bytes 4405311 (4.4 MB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\nlo: flags=73 mtu 65536\r\n inet 127.0.0.1 netmask 255.0.0.0\r\n loop txqueuelen 1000 (Local Loopback)\r\n RX packets 1951 bytes 182571 (182.5 KB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 1951 bytes 182571 (182.5 KB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\n"] +[12.460276, "o", "docker@76a11f452a37:/project$ "] +[15.46855, "o", "n"] +[15.665159, "o", "m"] +[15.836823, "o", "a"] +[16.074323, "o", "p"] +[16.275806, "o", " "] +[16.567909, "o", "-"] +[17.127539, "o", "s"] +[17.717655, "o", "P"] +[18.026098, "o", " "] +[19.612596, "o", "1"] +[20.081581, "o", "7"] +[20.333127, "o", "2"] +[21.925102, "o", "."] +[22.051564, "o", "2"] +[23.163517, "o", "7"] +[23.814861, "o", "."] +[24.253768, "o", "0"] +[25.073106, "o", "."] +[25.304095, "o", "2"] +[25.744479, "o", "/"] +[26.273982, "o", "2"] +[26.602261, "o", "4"] +[26.868424, "o", "\r\n"] +[26.874464, "o", "\r\nStarting Nmap 7.60 ( https://nmap.org ) at 2021-02-05 16:06 UTC\r\n"] +[29.792163, "o", "Nmap scan report for 172.27.0.1\r\nHost is up (0.00047s latency).\r\nNmap scan report for 76a11f452a37 (172.27.0.2)\r\n"] +[29.792306, "o", "Host is up (0.00028s latency).\r\nNmap scan report for hybrid-linux_worker_1.hybrid-linux_hybrid-linux (172.27.0.3)\r\nHost is up (0.00023s latency).\r\nNmap scan report for hybrid-linux_worker_2.hybrid-linux_hybrid-linux (172.27.0.4)\r\nHost is up (0.00018s latency).\r\n"] +[29.792532, "o", "Nmap done: 256 IP addresses (4 hosts up) scanned in 2.92 seconds\r\n"] +[29.793575, "o", "docker@76a11f452a37:/project$ "] +[31.346812, "o", "s"] +[31.547982, "o", "s"] +[31.685745, "o", "h"] +[31.947886, "o", " "] +[32.226221, "o", "d"] +[32.467607, "o", "o"] +[32.667054, "o", "c"] +[32.838412, "o", "k"] +[32.979163, "o", "e"] +[33.236816, "o", "r"] +[33.317479, "o", " "] +[33.837631, "o", "@"] +[34.948683, "o", "\b \b"] +[35.146621, "o", "\b \b"] +[37.593721, "o", "@"] +[39.452856, "o", "1"] +[39.670476, "o", "7"] +[39.902152, "o", "2"] +[41.457314, "o", "."] +[41.627979, "o", "2"] +[42.445799, "o", "7"] +[43.047344, "o", "."] +[43.375327, "o", "0"] +[43.945384, "o", "."] +[44.076185, "o", "3"] +[44.334094, "o", "\r\n"] +[44.475023, "o", "Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-135-generic x86_64)\r\n\r\n * Documentation: https://help.ubuntu.com\r\n * Management: https://landscape.canonical.com\r\n * Support: https://ubuntu.com/advantage\r\nThis system has been minimized by removing packages and content that are\r\nnot required on a system that users do not log into.\r\n\r\nTo restore this content, you can run the 'unminimize' command.\r\n\r\nThe programs included with the Ubuntu system are free software;\r\nthe exact distribution terms for each program are described in the\r\nindividual files in /usr/share/doc/*/copyright.\r\n\r\nUbuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by\r\napplicable law.\r\n\r\n\r\nThe programs included with the Ubuntu system are free software;\r\nthe exact distribution terms for each program are described in the\r\nindividual files in /usr/share/doc/*/copyright.\r\n\r\nUbuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by\r\napplicable law.\r\n\r\nLast login: Fri Feb 5 15:58:17 2021 from 172.27.0.2\r\r\n"] +[44.479108, "o", "$ "] +[46.184679, "o", "b"] +[46.281021, "o", "a"] +[46.492581, "o", "s"] +[46.586355, "o", "h"] +[46.925913, "o", "\r\n"] +[46.932565, "o", "To run a command as administrator (user \"root\"), use \"sudo \".\r\nSee \"man sudo_root\" for details.\r\n\r\n"] +[46.933432, "o", "docker@d0524f1565d4:~$ "] +[47.834941, "o", "i"] +[48.035487, "o", "f"] +[48.263395, "o", "c"] +[49.035877, "o", "o"] +[49.137918, "o", "nfig "] +[49.845107, "o", "\r\n"] +[49.847923, "o", "eth0: flags=4163 mtu 1500\r\n inet 172.27.0.3 netmask 255.255.0.0 broadcast 172.27.255.255\r\n ether 02:42:ac:1b:00:03 txqueuelen 0 (Ethernet)\r\n RX packets 108165 bytes 4561685 (4.5 MB)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 303 bytes 25824 (25.8 KB)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\nlo: flags=73 mtu 65536\r\n inet 127.0.0.1 netmask 255.0.0.0\r\n loop txqueuelen 1000 (Local Loopback)\r\n RX packets 0 bytes 0 (0.0 B)\r\n RX errors 0 dropped 0 overruns 0 frame 0\r\n TX packets 0 bytes 0 (0.0 B)\r\n TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0\r\n\r\n"] +[49.848378, "o", "docker@d0524f1565d4:~$ "] +[52.117657, "o", "e"] +[52.455103, "o", "x"] +[52.905012, "o", "i"] +[53.066025, "o", "t"] +[53.324857, "o", "\r\nexit\r\n"] +[53.325427, "o", "$ "] +[54.098112, "o", "e"] +[54.345206, "o", "x"] +[54.647069, "o", "i"] +[54.784636, "o", "t"] +[55.068005, "o", "\r\n"] +[55.069202, "o", "Connection to 172.27.0.3 closed.\r\r\n"] +[55.069533, "o", "docker@76a11f452a37:/project$ "] +[58.464996, "o", "exit\r\n"] +[58.519256, "o", "\u001b]0;zeus@swarmlab: /data/appl/ok/gitversion/examples-services/hybrid-linux/Course\u0007zeus@swarmlab:/data/appl/ok/gitversion/examples-services/hybrid-linux/Course$ "] +[63.505678, "o", "exit\r\n"] diff --git a/src/main.js b/src/main.js index bcdb0fd..962b15a 100644 --- a/src/main.js +++ b/src/main.js @@ -6,6 +6,7 @@ import BootstrapVue from 'bootstrap-vue' import 'bootstrap/dist/css/bootstrap.css' import 'bootstrap-vue/dist/bootstrap-vue.css' import VueSweetalert2 from 'vue-sweetalert2'; +import 'sweetalert2/dist/sweetalert2.min.css'; Vue.use(VueSweetalert2); import VueWait from 'vue-wait' import { ValidationProvider } from 'vee-validate'; diff --git a/src/store/modules/create_pipelineLLO.js b/src/store/modules/create_pipelineLLO.js index 5d18e8e..ef40b4b 100644 --- a/src/store/modules/create_pipelineLLO.js +++ b/src/store/modules/create_pipelineLLO.js @@ -110,6 +110,85 @@ export default { return R; } } + }, + async oncompletiontracking({commit,rootGetters}, value) { + try { + var token = value.token + var params = { + action: value.action, + track: value.track, + course: value.course, + chapter: value.chapter, + evaluation: value.evaluation + } + + var options = { + headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` }, + }; + var p = await axios.post('https://api.swarmlab.io/completiontracking',params,options); + if(p.error == "invalid_token"){ + console.log(p) + console.log(JSON.stringify(p)) + }else{ + } + //console.log(value.token) + //console.log(value.swarmlabname) + console.log(JSON.stringify(p)) + + } catch (e) { + if(e.message == "Request failed with status code 401" || /401/i.test(e.message)){ + window.location.href = 'https://api-login.swarmlab.io:8089'; + }else{ + var R = { + ERROR_str: e, + ERROR: 'yes' + } + return R; + } + } + }, + async getcompletion({commit,rootGetters}, value) { + try { + var token = rootGetters['pipelineLLO/gettoken'] + var params = { + course: value.course, + chapter: value.chapter + } + var options = { + params: params, + headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` }, + }; + + const info = await axios.get('https://api.swarmlab.io/getcompletion',options); + return info + + } catch (e) { + console.error(e); + if(e.error == "invalid_token"){ + window.location.href = 'https://api-login.swarmlab.io:8089'; + } + } + }, + async getprogress({commit,rootGetters}, value) { + try { + var token = rootGetters['pipelineLLO/gettoken'] + var params = { + course: value.course + } + var options = { + params: params, + headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` }, + }; + + const info = await axios.get('https://api.swarmlab.io/getprogress',options); + return info + + } catch (e) { + console.error(e); + if(e.error == "invalid_token"){ + window.location.href = 'https://api-login.swarmlab.io:8089'; + } + } }, async swarmlabhybridadd({commit,rootGetters}, value) { try { @@ -363,9 +442,100 @@ export default { } } + }, + async save_llo_asciidoctmp({commit,rootGetters}, value) { + //console.log('value '+JSON.stringify(value)) + + try { + var token = value.token + var params = { + code: value + } + var options = { + //params: params, + headers: { 'content-type': 'application/json',Authorization: `Bearer ${token}` }, + }; + var sock_server_l = ApiConfig.url_80+'/save_course_ascii' + var p = await axios.post(sock_server_l,params,options); + //var p = await axios.get('https://localhost:3000/get_config',options); + return p + } catch (e) { + if(e.message == "Request failed with status code 401" || /401/i.test(e.message)){ + //console.log('error '+JSON.stringify(e)) + //window.location.href = 'https://api-login.swarmlab.io:8089'; + }else{ + var R = { + ERROR_str: e, + ERROR: 'yes' + } + return R; + } + } + + }, + async get_llo_course_ascii({commit,rootGetters}, value) { + //console.log('value '+JSON.stringify(value)) + + try { + var token = value.token + var params = { + dir: value.dir, + file: value.file + } + var options = { + params: params, + headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` }, + }; + var sock_server_l = ApiConfig.url_80+'/get_course_ascii' + var p = await axios.get(sock_server_l,options); + //var p = await axios.get('https://localhost:3000/get_config',options); + return p + } catch (e) { + if(e.message == "Request failed with status code 401" || /401/i.test(e.message)){ + //console.log('error '+JSON.stringify(e)) + //window.location.href = 'https://api-login.swarmlab.io:8089'; + }else{ + var R = { + ERROR_str: e, + ERROR: 'yes' + } + return R; + } + } + + }, + async get_llo_course({commit,rootGetters}, value) { + //console.log('value '+JSON.stringify(value)) + + try { + var token = value.token + var params = { + course: value + } + var options = { + params: params, + headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` }, + }; + var sock_server_l = ApiConfig.url_80+'/get_course' + var p = await axios.get(sock_server_l,options); + //var p = await axios.get('https://localhost:3000/get_config',options); + return p + } catch (e) { + if(e.message == "Request failed with status code 401" || /401/i.test(e.message)){ + //console.log('error '+JSON.stringify(e)) + window.location.href = 'https://api-login.swarmlab.io:8089'; + }else{ + var R = { + ERROR_str: e, + ERROR: 'yes' + } + return R; + } + } + }, async get_config({commit,rootGetters}, value) { - console.log('value '+JSON.stringify(value)) + //console.log('value '+JSON.stringify(value)) try { var token = value.token diff --git a/viwsession/session1 b/viwsession/session1 index 4b88b27..3e5b6be 100644 --- a/viwsession/session1 +++ b/viwsession/session1 @@ -22,8 +22,11 @@ badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork/myconnect-s badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices.vue badd +449 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/deploy-bootstrap.vue badd +30 /data/appl/ok/swarmlab-hybrid-agent/src/components/managedeploy.vue -badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/view-service.vue -badd +0 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/join-service.vue +badd +274 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/join-service.vue +badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/llo-search.vue +badd +1 /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/llo-view.vue +badd +9 /data/appl/ok/swarmlab-hybrid-agent/src/components/asciiplayer.vue +badd +0 /data/appl/ok/swarmlab-hybrid-agent/src/components/managello.vue argglobal silent! argdel * $argadd mynetwork.vue @@ -46,14 +49,14 @@ set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 -exe '1resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe '2resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 2resize ' . ((&columns * 101 + 102) / 204) -exe '3resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 3resize ' . ((&columns * 102 + 102) / 204) -exe '4resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 4resize ' . ((&columns * 102 + 102) / 204) +exe '1resize ' . ((&lines * 21 + 23) / 47) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe '2resize ' . ((&lines * 22 + 23) / 47) +exe 'vert 2resize ' . ((&columns * 100 + 101) / 203) +exe '3resize ' . ((&lines * 21 + 23) / 47) +exe 'vert 3resize ' . ((&columns * 102 + 101) / 203) +exe '4resize ' . ((&lines * 22 + 23) / 47) +exe 'vert 4resize ' . ((&columns * 102 + 101) / 203) argglobal setlocal fdm=manual setlocal fde=0 @@ -64,7 +67,7 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 393 - ((11 * winheight(0) + 11) / 22) +let s:l = 393 - ((11 * winheight(0) + 10) / 21) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt @@ -83,12 +86,12 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 51 - ((4 * winheight(0) + 11) / 22) +let s:l = 121 - ((0 * winheight(0) + 11) / 22) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -51 -normal! 0 +121 +normal! 011| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components wincmd w argglobal @@ -102,7 +105,7 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 21 - ((0 * winheight(0) + 11) / 22) +let s:l = 21 - ((0 * winheight(0) + 10) / 21) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt @@ -129,14 +132,14 @@ normal! zt normal! 010| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components wincmd w -exe '1resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe '2resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 2resize ' . ((&columns * 101 + 102) / 204) -exe '3resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 3resize ' . ((&columns * 102 + 102) / 204) -exe '4resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 4resize ' . ((&columns * 102 + 102) / 204) +exe '1resize ' . ((&lines * 21 + 23) / 47) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe '2resize ' . ((&lines * 22 + 23) / 47) +exe 'vert 2resize ' . ((&columns * 100 + 101) / 203) +exe '3resize ' . ((&lines * 21 + 23) / 47) +exe 'vert 3resize ' . ((&columns * 102 + 101) / 203) +exe '4resize ' . ((&lines * 22 + 23) / 47) +exe 'vert 4resize ' . ((&columns * 102 + 101) / 203) tabedit /data/appl/ok/swarmlab-hybrid-agent/src-local/llo/new.js set splitbelow splitright wincmd _ | wincmd | @@ -151,11 +154,11 @@ set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe '2resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) -exe '3resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 3resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe '2resize ' . ((&lines * 21 + 23) / 47) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) +exe '3resize ' . ((&lines * 22 + 23) / 47) +exe 'vert 3resize ' . ((&columns * 102 + 101) / 203) argglobal setlocal fdm=manual setlocal fde=0 @@ -166,11 +169,11 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 805 - ((22 * winheight(0) + 22) / 45) +let s:l = 445 - ((16 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -805 +445 normal! 0 lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w @@ -185,12 +188,12 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 148 - ((21 * winheight(0) + 11) / 22) +let s:l = 47 - ((20 * winheight(0) + 10) / 21) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -148 -normal! 09| +47 +normal! 019| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components wincmd w argglobal @@ -204,19 +207,19 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 312 - ((0 * winheight(0) + 11) / 22) +let s:l = 316 - ((17 * winheight(0) + 11) / 22) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -312 -normal! 013| +316 +normal! 04| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components wincmd w -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe '2resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) -exe '3resize ' . ((&lines * 22 + 24) / 48) -exe 'vert 3resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe '2resize ' . ((&lines * 21 + 23) / 47) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) +exe '3resize ' . ((&lines * 22 + 23) / 47) +exe 'vert 3resize ' . ((&columns * 102 + 101) / 203) tabedit /data/appl/ok/swarmlab-hybrid-agent/src/store/modules/create_pipelineLLO.js set splitbelow splitright wincmd _ | wincmd | @@ -227,8 +230,8 @@ set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) argglobal setlocal fdm=manual setlocal fde=0 @@ -239,12 +242,12 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 344 - ((18 * winheight(0) + 22) / 45) +let s:l = 160 - ((29 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -344 -normal! 015| +160 +normal! 08| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w argglobal @@ -258,16 +261,16 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 133 - ((13 * winheight(0) + 22) / 45) +let s:l = 453 - ((43 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -133 -normal! 0308| +453 +normal! 048| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) tabedit /data/appl/ok/swarmlab-hybrid-agent/src/components/myconnect-server.vue set splitbelow splitright wincmd _ | wincmd | @@ -278,8 +281,8 @@ set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) argglobal setlocal fdm=manual setlocal fde=0 @@ -290,7 +293,7 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 32 - ((30 * winheight(0) + 22) / 45) +let s:l = 32 - ((29 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt @@ -309,7 +312,7 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 161 - ((44 * winheight(0) + 22) / 45) +let s:l = 161 - ((43 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt @@ -317,8 +320,8 @@ normal! zt normal! 019| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) tabedit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices.vue set splitbelow splitright wincmd _ | wincmd | @@ -329,8 +332,8 @@ set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) argglobal enew file /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/manage-service.vue @@ -354,7 +357,7 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 28 - ((27 * winheight(0) + 22) / 45) +let s:l = 28 - ((26 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt @@ -362,8 +365,8 @@ normal! zt normal! 02| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w -exe 'vert 1resize ' . ((&columns * 101 + 102) / 204) -exe 'vert 2resize ' . ((&columns * 102 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 100 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 102 + 101) / 203) tabedit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/deploy-bootstrap.vue set splitbelow splitright wincmd _ | wincmd | @@ -378,11 +381,11 @@ set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 -exe 'vert 1resize ' . ((&columns * 75 + 102) / 204) -exe '2resize ' . ((&lines * 17 + 24) / 48) -exe 'vert 2resize ' . ((&columns * 128 + 102) / 204) -exe '3resize ' . ((&lines * 27 + 24) / 48) -exe 'vert 3resize ' . ((&columns * 128 + 102) / 204) +exe 'vert 1resize ' . ((&columns * 74 + 101) / 203) +exe '2resize ' . ((&lines * 17 + 23) / 47) +exe 'vert 2resize ' . ((&columns * 128 + 101) / 203) +exe '3resize ' . ((&lines * 26 + 23) / 47) +exe 'vert 3resize ' . ((&columns * 128 + 101) / 203) argglobal setlocal fdm=manual setlocal fde=0 @@ -393,12 +396,12 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 262 - ((14 * winheight(0) + 22) / 45) +let s:l = 405 - ((28 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -262 -normal! 010| +405 +normal! 0 lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w argglobal @@ -421,7 +424,30 @@ normal! 023| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork wincmd w argglobal -if bufexists('/data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/view-service.vue') | buffer /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/view-service.vue | else | edit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/view-service.vue | endif +enew +file /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/view-service.vue +setlocal fdm=manual +setlocal fde=0 +setlocal fmr={{{,}}} +setlocal fdi=# +setlocal fdl=0 +setlocal fml=1 +setlocal fdn=20 +setlocal fen +lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork +wincmd w +exe 'vert 1resize ' . ((&columns * 74 + 101) / 203) +exe '2resize ' . ((&lines * 17 + 23) / 47) +exe 'vert 2resize ' . ((&columns * 128 + 101) / 203) +exe '3resize ' . ((&lines * 26 + 23) / 47) +exe 'vert 3resize ' . ((&columns * 128 + 101) / 203) +tabedit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/join-service.vue +set splitbelow splitright +set nosplitbelow +set nosplitright +wincmd t +set winminheight=1 winheight=1 winminwidth=1 winwidth=1 +argglobal setlocal fdm=manual setlocal fde=0 setlocal fmr={{{,}}} @@ -431,25 +457,29 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 300 - ((9 * winheight(0) + 13) / 27) +let s:l = 497 - ((22 * winheight(0) + 22) / 45) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -300 -normal! 09| +497 +normal! 044| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork -wincmd w -exe 'vert 1resize ' . ((&columns * 75 + 102) / 204) -exe '2resize ' . ((&lines * 17 + 24) / 48) -exe 'vert 2resize ' . ((&columns * 128 + 102) / 204) -exe '3resize ' . ((&lines * 27 + 24) / 48) -exe 'vert 3resize ' . ((&columns * 128 + 102) / 204) -tabedit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/join-service.vue +tabedit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/llo-view.vue set splitbelow splitright +wincmd _ | wincmd | +vsplit +wincmd _ | wincmd | +vsplit +2wincmd h +wincmd w +wincmd w set nosplitbelow set nosplitright wincmd t set winminheight=1 winheight=1 winminwidth=1 winwidth=1 +exe 'vert 1resize ' . ((&columns * 67 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 67 + 101) / 203) +exe 'vert 3resize ' . ((&columns * 67 + 101) / 203) argglobal setlocal fdm=manual setlocal fde=0 @@ -460,14 +490,57 @@ setlocal fml=1 setlocal fdn=20 setlocal fen silent! normal! zE -let s:l = 22 - ((21 * winheight(0) + 23) / 46) +let s:l = 191 - ((30 * winheight(0) + 22) / 44) if s:l < 1 | let s:l = 1 | endif exe s:l normal! zt -22 -normal! 037| +191 +normal! 013| lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork -tabnext 7 +wincmd w +argglobal +if bufexists('/data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/llo-search.vue') | buffer /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/llo-search.vue | else | edit /data/appl/ok/swarmlab-hybrid-agent/src/components/manageservices/llo-search.vue | endif +setlocal fdm=manual +setlocal fde=0 +setlocal fmr={{{,}}} +setlocal fdi=# +setlocal fdl=0 +setlocal fml=1 +setlocal fdn=20 +setlocal fen +silent! normal! zE +let s:l = 79 - ((23 * winheight(0) + 22) / 44) +if s:l < 1 | let s:l = 1 | endif +exe s:l +normal! zt +79 +normal! 0 +lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork +wincmd w +argglobal +if bufexists('/data/appl/ok/swarmlab-hybrid-agent/src/components/managello.vue') | buffer /data/appl/ok/swarmlab-hybrid-agent/src/components/managello.vue | else | edit /data/appl/ok/swarmlab-hybrid-agent/src/components/managello.vue | endif +setlocal fdm=manual +setlocal fde=0 +setlocal fmr={{{,}}} +setlocal fdi=# +setlocal fdl=0 +setlocal fml=1 +setlocal fdn=20 +setlocal fen +silent! normal! zE +let s:l = 28 - ((0 * winheight(0) + 22) / 44) +if s:l < 1 | let s:l = 1 | endif +exe s:l +normal! zt +28 +normal! 052| +lcd /data/appl/ok/swarmlab-hybrid-agent/src/components/mynetwork +wincmd w +2wincmd w +exe 'vert 1resize ' . ((&columns * 67 + 101) / 203) +exe 'vert 2resize ' . ((&columns * 67 + 101) / 203) +exe 'vert 3resize ' . ((&columns * 67 + 101) / 203) +tabnext 8 set stal=1 if exists('s:wipebuf') silent exe 'bwipe ' . s:wipebuf