diff --git a/.idea/runConfigurations/run.xml b/.idea/runConfigurations/run.xml new file mode 100644 index 0000000..d75f26b --- /dev/null +++ b/.idea/runConfigurations/run.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 47bc1ac..4f55c16 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "@testing-library/jest-dom": "^5.11.9", "@testing-library/react": "^11.2.3", "@testing-library/user-event": "^12.6.2", - "bluelib": "^2.1.4", + "bluelib": "^3.0.0", "classnames": "^2.2.6", "prop-types": "^15.7.2", "react": "^17.0.1", @@ -1830,9 +1830,9 @@ "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" }, "node_modules/@eslint/eslintrc": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", - "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", @@ -3108,9 +3108,9 @@ } }, "node_modules/@types/eslint": { - "version": "7.2.14", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.14.tgz", - "integrity": "sha512-pESyhSbUOskqrGcaN+bCXIQDyT5zTaRWfj5ZjjSlMatgGjIn3QQPfocAu4WSabUR7CGyLZ2CQaZyISOEX7/saw==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", + "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -3229,9 +3229,9 @@ "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "node_modules/@types/node": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.1.tgz", - "integrity": "sha512-N87VuQi7HEeRJkhzovao/JviiqKjDKMVKxKMfUvSKw+MbkbW8R0nA3fi/MQhhlxV2fQ+2ReM+/Nt4efdrJx3zA==" + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.3.tgz", + "integrity": "sha512-8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", @@ -3277,9 +3277,9 @@ "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==" }, "node_modules/@types/testing-library__jest-dom": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.0.tgz", - "integrity": "sha512-l2P2GO+hFF4Liye+fAajT1qBqvZOiL79YMpEvgGs1xTK7hECxBI8Wz4J7ntACJNiJ9r0vXQqYovroXRLPDja6A==", + "version": "5.14.1", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.1.tgz", + "integrity": "sha512-Gk9vaXfbzc5zCXI9eYE9BI5BNHEp4D3FWjgqBE/ePGYElLAP+KvxBcsdkwfIVvezs605oiyd/VrpiHe3Oeg+Aw==", "dependencies": { "@types/jest": "*" } @@ -3301,9 +3301,9 @@ } }, "node_modules/@types/unist": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.5.tgz", - "integrity": "sha512-wnra4Vw9dopnuybR6HBywJ/URYpYrKLoepBTEtgfJup8Ahoi2zJECPP2cwiXp7btTvOT2CULv87aQRA4eZSP6g==" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" }, "node_modules/@types/webpack": { "version": "4.41.30", @@ -3359,12 +3359,12 @@ "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.2.tgz", - "integrity": "sha512-PGqpLLzHSxq956rzNGasO3GsAPf2lY9lDUBXhS++SKonglUmJypaUtcKzRtUte8CV7nruwnDxtLUKpVxs0wQBw==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.4.tgz", + "integrity": "sha512-s1oY4RmYDlWMlcV0kKPBaADn46JirZzvvH7c2CtAqxCY96S538JRBAzt83RrfkDheV/+G/vWNK0zek+8TB3Gmw==", "dependencies": { - "@typescript-eslint/experimental-utils": "4.28.2", - "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/experimental-utils": "4.28.4", + "@typescript-eslint/scope-manager": "4.28.4", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -3403,14 +3403,14 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.2.tgz", - "integrity": "sha512-MwHPsL6qo98RC55IoWWP8/opTykjTp4JzfPu1VfO2Z0MshNP0UZ1GEV5rYSSnZSUI8VD7iHvtIPVGW5Nfh7klQ==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.4.tgz", + "integrity": "sha512-OglKWOQRWTCoqMSy6pm/kpinEIgdcXYceIcH3EKWUl4S8xhFtN34GQRaAvTIZB9DD94rW7d/U7tUg3SYeDFNHA==", "dependencies": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.28.2", - "@typescript-eslint/types": "4.28.2", - "@typescript-eslint/typescript-estree": "4.28.2", + "@typescript-eslint/scope-manager": "4.28.4", + "@typescript-eslint/types": "4.28.4", + "@typescript-eslint/typescript-estree": "4.28.4", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -3426,13 +3426,13 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.2.tgz", - "integrity": "sha512-Q0gSCN51eikAgFGY+gnd5p9bhhCUAl0ERMiDKrTzpSoMYRubdB8MJrTTR/BBii8z+iFwz8oihxd0RAdP4l8w8w==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.4.tgz", + "integrity": "sha512-4i0jq3C6n+og7/uCHiE6q5ssw87zVdpUj1k6VlVYMonE3ILdFApEzTWgppSRG4kVNB/5jxnH+gTeKLMNfUelQA==", "dependencies": { - "@typescript-eslint/scope-manager": "4.28.2", - "@typescript-eslint/types": "4.28.2", - "@typescript-eslint/typescript-estree": "4.28.2", + "@typescript-eslint/scope-manager": "4.28.4", + "@typescript-eslint/types": "4.28.4", + "@typescript-eslint/typescript-estree": "4.28.4", "debug": "^4.3.1" }, "engines": { @@ -3452,12 +3452,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.2.tgz", - "integrity": "sha512-MqbypNjIkJFEFuOwPWNDjq0nqXAKZvDNNs9yNseoGBB1wYfz1G0WHC2AVOy4XD7di3KCcW3+nhZyN6zruqmp2A==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.4.tgz", + "integrity": "sha512-ZJBNs4usViOmlyFMt9X9l+X0WAFcDH7EdSArGqpldXu7aeZxDAuAzHiMAeI+JpSefY2INHrXeqnha39FVqXb8w==", "dependencies": { - "@typescript-eslint/types": "4.28.2", - "@typescript-eslint/visitor-keys": "4.28.2" + "@typescript-eslint/types": "4.28.4", + "@typescript-eslint/visitor-keys": "4.28.4" }, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -3468,9 +3468,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.2.tgz", - "integrity": "sha512-Gr15fuQVd93uD9zzxbApz3wf7ua3yk4ZujABZlZhaxxKY8ojo448u7XTm/+ETpy0V0dlMtj6t4VdDvdc0JmUhA==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.4.tgz", + "integrity": "sha512-3eap4QWxGqkYuEmVebUGULMskR6Cuoc/Wii0oSOddleP4EGx1tjLnZQ0ZP33YRoMDCs5O3j56RBV4g14T4jvww==", "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" }, @@ -3480,12 +3480,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.2.tgz", - "integrity": "sha512-86lLstLvK6QjNZjMoYUBMMsULFw0hPHJlk1fzhAVoNjDBuPVxiwvGuPQq3fsBMCxuDJwmX87tM/AXoadhHRljg==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.4.tgz", + "integrity": "sha512-z7d8HK8XvCRyN2SNp+OXC2iZaF+O2BTquGhEYLKLx5k6p0r05ureUtgEfo5f6anLkhCxdHtCf6rPM1p4efHYDQ==", "dependencies": { - "@typescript-eslint/types": "4.28.2", - "@typescript-eslint/visitor-keys": "4.28.2", + "@typescript-eslint/types": "4.28.4", + "@typescript-eslint/visitor-keys": "4.28.4", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -3520,11 +3520,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.2.tgz", - "integrity": "sha512-aT2B4PLyyRDUVUafXzpZFoc0C9t0za4BJAKP5sgWIhG+jHECQZUEjuQSCIwZdiJJ4w4cgu5r3Kh20SOdtEBl0w==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.4.tgz", + "integrity": "sha512-NIAXAdbz1XdOuzqkJHjNKXKj8QQ4cv5cxR/g0uQhCYf/6//XrmfpaYsM7PnBcNbfvTDLUkqQ5TPNm1sozDdTWg==", "dependencies": { - "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/types": "4.28.4", "eslint-visitor-keys": "^2.0.0" }, "engines": { @@ -4171,9 +4171,9 @@ } }, "node_modules/axe-core": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.2.3.tgz", - "integrity": "sha512-pXnVMfJKSIWU2Ml4JHP7pZEPIrgBO1Fd3WGx+fPBsS+KRGhE4vxooD8XBGWbQOIVSZsVK7pUDBBkCicNu80yzQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.1.tgz", + "integrity": "sha512-3WVgVPs/7OnKU3s+lqMtkv3wQlg3WxK1YifmpJSDO0E1aPBrZWlrrTO6cxRqCXLuX2aYgCljqXIQd0VnRidV0g==", "engines": { "node": ">=4" } @@ -4824,9 +4824,9 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "node_modules/bluelib": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/bluelib/-/bluelib-2.1.8.tgz", - "integrity": "sha512-gsBdys+VAIg9S4NKtiNu10y/gE2h88QZI0osn7N0krYRi6JnSlxnleJhKXtWJLiypkCV4fXXCoAv1fog6nkdjQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bluelib/-/bluelib-3.0.0.tgz", + "integrity": "sha512-6JMZ05s1WyeNtWfAZa+9JEo7tw09EQF39iu2tUNrcYmDYzrhCteK3Ywbq9HxuPSy6YAMnABc/Pt4Sku1wOmG+A==", "dependencies": { "@babel/preset-env": "^7.12.11", "@babel/preset-react": "^7.12.10", @@ -4840,7 +4840,8 @@ "react-router": "^5.2.0", "react-router-dom": "^5.2.0", "react-syntax-highlighter": "^15.4.3", - "strip-indent": "^3.0.0" + "strip-indent": "^3.0.0", + "uuid": "^3.4.0" }, "peerDependencies": { "react": "^17.0.2" @@ -5262,9 +5263,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001243", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001243.tgz", - "integrity": "sha512-vNxw9mkTBtkmLFnJRv/2rhs1yufpDfCkBZexG3Y0xdOH2Z/eE/85E4Dl5j1YUN34nZVsSp6vVRFQRrez9wJMRA==", + "version": "1.0.30001245", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001245.tgz", + "integrity": "sha512-768fM9j1PKXpOCKws6eTo3RHmvTUsG9UrpT4WoREFeZgJBTi4/X9g565azS/rVUGtqb8nt7FjLeF5u4kukERnA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" @@ -5649,12 +5650,12 @@ } }, "node_modules/color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dependencies": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, "node_modules/color-convert": { @@ -5674,9 +5675,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/color-string": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", - "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -7079,9 +7080,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.3.772", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.772.tgz", - "integrity": "sha512-X/6VRCXWALzdX+RjCtBU6cyg8WZgoxm9YA02COmDOiNJEZ59WkQggDbWZ4t/giHi/3GS+cvdrP6gbLISANAGYA==" + "version": "1.3.780", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.780.tgz", + "integrity": "sha512-2KQ9OYm9WMUNpAPA/4aerURl3hwRc9tNlpsiEj3Y8Gf7LVf26NzyLIX2v0hSagQwrS9+cWab+28A2GPKDoVNRA==" }, "node_modules/elliptic": { "version": "6.5.4", @@ -7397,12 +7398,12 @@ } }, "node_modules/eslint": { - "version": "7.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", - "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", + "version": "7.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz", + "integrity": "sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==", "dependencies": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.2", + "@eslint/eslintrc": "^0.4.3", "@humanwhocodes/config-array": "^0.5.0", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -7946,11 +7947,11 @@ } }, "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dependencies": { - "@types/json-schema": "^7.0.7", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, @@ -8604,11 +8605,11 @@ } }, "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dependencies": { - "@types/json-schema": "^7.0.7", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, @@ -10309,9 +10310,9 @@ } }, "node_modules/is-core-module": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", "dependencies": { "has": "^1.0.3" }, @@ -13273,6 +13274,15 @@ "node": ">=10" } }, + "node_modules/node-notifier/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "optional": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/node-releases": { "version": "1.1.73", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", @@ -13446,9 +13456,9 @@ } }, "node_modules/object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -15714,7 +15724,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "deprecated": "The", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "engines": { "node": ">=0.4.x" } @@ -17939,15 +17949,6 @@ "node": ">=0.8.0" } }, - "node_modules/sockjs/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/sort-keys": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", @@ -18713,9 +18714,9 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "8.6.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.1.tgz", - "integrity": "sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ==", + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -18909,11 +18910,11 @@ } }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dependencies": { - "@types/json-schema": "^7.0.7", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, @@ -19509,11 +19510,11 @@ } }, "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dependencies": { - "@types/json-schema": "^7.0.7", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" }, @@ -19543,7 +19544,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "engines": { "node": ">=0.4.x" } @@ -19597,12 +19598,12 @@ } }, "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "optional": true, + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "bin/uuid" } }, "node_modules/v8-compile-cache": { @@ -20689,15 +20690,6 @@ "node": ">=6" } }, - "node_modules/webpack-log/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/webpack-manifest-plugin": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz", @@ -22729,9 +22721,9 @@ "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" }, "@eslint/eslintrc": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", - "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "requires": { "ajv": "^6.12.4", "debug": "^4.1.1", @@ -23696,9 +23688,9 @@ } }, "@types/eslint": { - "version": "7.2.14", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.14.tgz", - "integrity": "sha512-pESyhSbUOskqrGcaN+bCXIQDyT5zTaRWfj5ZjjSlMatgGjIn3QQPfocAu4WSabUR7CGyLZ2CQaZyISOEX7/saw==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", + "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", "requires": { "@types/estree": "*", "@types/json-schema": "*" @@ -23813,9 +23805,9 @@ "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "@types/node": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.1.tgz", - "integrity": "sha512-N87VuQi7HEeRJkhzovao/JviiqKjDKMVKxKMfUvSKw+MbkbW8R0nA3fi/MQhhlxV2fQ+2ReM+/Nt4efdrJx3zA==" + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.3.tgz", + "integrity": "sha512-8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ==" }, "@types/normalize-package-data": { "version": "2.4.1", @@ -23861,9 +23853,9 @@ "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==" }, "@types/testing-library__jest-dom": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.0.tgz", - "integrity": "sha512-l2P2GO+hFF4Liye+fAajT1qBqvZOiL79YMpEvgGs1xTK7hECxBI8Wz4J7ntACJNiJ9r0vXQqYovroXRLPDja6A==", + "version": "5.14.1", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.1.tgz", + "integrity": "sha512-Gk9vaXfbzc5zCXI9eYE9BI5BNHEp4D3FWjgqBE/ePGYElLAP+KvxBcsdkwfIVvezs605oiyd/VrpiHe3Oeg+Aw==", "requires": { "@types/jest": "*" } @@ -23884,9 +23876,9 @@ } }, "@types/unist": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.5.tgz", - "integrity": "sha512-wnra4Vw9dopnuybR6HBywJ/URYpYrKLoepBTEtgfJup8Ahoi2zJECPP2cwiXp7btTvOT2CULv87aQRA4eZSP6g==" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" }, "@types/webpack": { "version": "4.41.30", @@ -23940,12 +23932,12 @@ "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" }, "@typescript-eslint/eslint-plugin": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.2.tgz", - "integrity": "sha512-PGqpLLzHSxq956rzNGasO3GsAPf2lY9lDUBXhS++SKonglUmJypaUtcKzRtUte8CV7nruwnDxtLUKpVxs0wQBw==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.4.tgz", + "integrity": "sha512-s1oY4RmYDlWMlcV0kKPBaADn46JirZzvvH7c2CtAqxCY96S538JRBAzt83RrfkDheV/+G/vWNK0zek+8TB3Gmw==", "requires": { - "@typescript-eslint/experimental-utils": "4.28.2", - "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/experimental-utils": "4.28.4", + "@typescript-eslint/scope-manager": "4.28.4", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -23964,50 +23956,50 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.2.tgz", - "integrity": "sha512-MwHPsL6qo98RC55IoWWP8/opTykjTp4JzfPu1VfO2Z0MshNP0UZ1GEV5rYSSnZSUI8VD7iHvtIPVGW5Nfh7klQ==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.4.tgz", + "integrity": "sha512-OglKWOQRWTCoqMSy6pm/kpinEIgdcXYceIcH3EKWUl4S8xhFtN34GQRaAvTIZB9DD94rW7d/U7tUg3SYeDFNHA==", "requires": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.28.2", - "@typescript-eslint/types": "4.28.2", - "@typescript-eslint/typescript-estree": "4.28.2", + "@typescript-eslint/scope-manager": "4.28.4", + "@typescript-eslint/types": "4.28.4", + "@typescript-eslint/typescript-estree": "4.28.4", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/parser": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.2.tgz", - "integrity": "sha512-Q0gSCN51eikAgFGY+gnd5p9bhhCUAl0ERMiDKrTzpSoMYRubdB8MJrTTR/BBii8z+iFwz8oihxd0RAdP4l8w8w==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.4.tgz", + "integrity": "sha512-4i0jq3C6n+og7/uCHiE6q5ssw87zVdpUj1k6VlVYMonE3ILdFApEzTWgppSRG4kVNB/5jxnH+gTeKLMNfUelQA==", "requires": { - "@typescript-eslint/scope-manager": "4.28.2", - "@typescript-eslint/types": "4.28.2", - "@typescript-eslint/typescript-estree": "4.28.2", + "@typescript-eslint/scope-manager": "4.28.4", + "@typescript-eslint/types": "4.28.4", + "@typescript-eslint/typescript-estree": "4.28.4", "debug": "^4.3.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.2.tgz", - "integrity": "sha512-MqbypNjIkJFEFuOwPWNDjq0nqXAKZvDNNs9yNseoGBB1wYfz1G0WHC2AVOy4XD7di3KCcW3+nhZyN6zruqmp2A==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.4.tgz", + "integrity": "sha512-ZJBNs4usViOmlyFMt9X9l+X0WAFcDH7EdSArGqpldXu7aeZxDAuAzHiMAeI+JpSefY2INHrXeqnha39FVqXb8w==", "requires": { - "@typescript-eslint/types": "4.28.2", - "@typescript-eslint/visitor-keys": "4.28.2" + "@typescript-eslint/types": "4.28.4", + "@typescript-eslint/visitor-keys": "4.28.4" } }, "@typescript-eslint/types": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.2.tgz", - "integrity": "sha512-Gr15fuQVd93uD9zzxbApz3wf7ua3yk4ZujABZlZhaxxKY8ojo448u7XTm/+ETpy0V0dlMtj6t4VdDvdc0JmUhA==" + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.4.tgz", + "integrity": "sha512-3eap4QWxGqkYuEmVebUGULMskR6Cuoc/Wii0oSOddleP4EGx1tjLnZQ0ZP33YRoMDCs5O3j56RBV4g14T4jvww==" }, "@typescript-eslint/typescript-estree": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.2.tgz", - "integrity": "sha512-86lLstLvK6QjNZjMoYUBMMsULFw0hPHJlk1fzhAVoNjDBuPVxiwvGuPQq3fsBMCxuDJwmX87tM/AXoadhHRljg==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.4.tgz", + "integrity": "sha512-z7d8HK8XvCRyN2SNp+OXC2iZaF+O2BTquGhEYLKLx5k6p0r05ureUtgEfo5f6anLkhCxdHtCf6rPM1p4efHYDQ==", "requires": { - "@typescript-eslint/types": "4.28.2", - "@typescript-eslint/visitor-keys": "4.28.2", + "@typescript-eslint/types": "4.28.4", + "@typescript-eslint/visitor-keys": "4.28.4", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -24026,11 +24018,11 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.2.tgz", - "integrity": "sha512-aT2B4PLyyRDUVUafXzpZFoc0C9t0za4BJAKP5sgWIhG+jHECQZUEjuQSCIwZdiJJ4w4cgu5r3Kh20SOdtEBl0w==", + "version": "4.28.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.4.tgz", + "integrity": "sha512-NIAXAdbz1XdOuzqkJHjNKXKj8QQ4cv5cxR/g0uQhCYf/6//XrmfpaYsM7PnBcNbfvTDLUkqQ5TPNm1sozDdTWg==", "requires": { - "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/types": "4.28.4", "eslint-visitor-keys": "^2.0.0" } }, @@ -24549,9 +24541,9 @@ } }, "axe-core": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.2.3.tgz", - "integrity": "sha512-pXnVMfJKSIWU2Ml4JHP7pZEPIrgBO1Fd3WGx+fPBsS+KRGhE4vxooD8XBGWbQOIVSZsVK7pUDBBkCicNu80yzQ==" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.1.tgz", + "integrity": "sha512-3WVgVPs/7OnKU3s+lqMtkv3wQlg3WxK1YifmpJSDO0E1aPBrZWlrrTO6cxRqCXLuX2aYgCljqXIQd0VnRidV0g==" }, "axobject-query": { "version": "2.2.0", @@ -25084,9 +25076,9 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "bluelib": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/bluelib/-/bluelib-2.1.8.tgz", - "integrity": "sha512-gsBdys+VAIg9S4NKtiNu10y/gE2h88QZI0osn7N0krYRi6JnSlxnleJhKXtWJLiypkCV4fXXCoAv1fog6nkdjQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bluelib/-/bluelib-3.0.0.tgz", + "integrity": "sha512-6JMZ05s1WyeNtWfAZa+9JEo7tw09EQF39iu2tUNrcYmDYzrhCteK3Ywbq9HxuPSy6YAMnABc/Pt4Sku1wOmG+A==", "requires": { "@babel/preset-env": "^7.12.11", "@babel/preset-react": "^7.12.10", @@ -25100,7 +25092,8 @@ "react-router": "^5.2.0", "react-router-dom": "^5.2.0", "react-syntax-highlighter": "^15.4.3", - "strip-indent": "^3.0.0" + "strip-indent": "^3.0.0", + "uuid": "^3.4.0" } }, "bn.js": { @@ -25451,9 +25444,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001243", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001243.tgz", - "integrity": "sha512-vNxw9mkTBtkmLFnJRv/2rhs1yufpDfCkBZexG3Y0xdOH2Z/eE/85E4Dl5j1YUN34nZVsSp6vVRFQRrez9wJMRA==" + "version": "1.0.30001245", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001245.tgz", + "integrity": "sha512-768fM9j1PKXpOCKws6eTo3RHmvTUsG9UrpT4WoREFeZgJBTi4/X9g565azS/rVUGtqb8nt7FjLeF5u4kukERnA==" }, "capture-exit": { "version": "2.0.0", @@ -25745,12 +25738,12 @@ } }, "color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" }, "dependencies": { "color-convert": { @@ -25782,9 +25775,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "color-string": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", - "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -26883,9 +26876,9 @@ "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" }, "electron-to-chromium": { - "version": "1.3.772", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.772.tgz", - "integrity": "sha512-X/6VRCXWALzdX+RjCtBU6cyg8WZgoxm9YA02COmDOiNJEZ59WkQggDbWZ4t/giHi/3GS+cvdrP6gbLISANAGYA==" + "version": "1.3.780", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.780.tgz", + "integrity": "sha512-2KQ9OYm9WMUNpAPA/4aerURl3hwRc9tNlpsiEj3Y8Gf7LVf26NzyLIX2v0hSagQwrS9+cWab+28A2GPKDoVNRA==" }, "elliptic": { "version": "6.5.4", @@ -27132,12 +27125,12 @@ } }, "eslint": { - "version": "7.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", - "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", + "version": "7.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz", + "integrity": "sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==", "requires": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.2", + "@eslint/eslintrc": "^0.4.3", "@humanwhocodes/config-array": "^0.5.0", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -27549,11 +27542,11 @@ }, "dependencies": { "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "requires": { - "@types/json-schema": "^7.0.7", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -28027,11 +28020,11 @@ }, "dependencies": { "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "requires": { - "@types/json-schema": "^7.0.7", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -29331,9 +29324,9 @@ } }, "is-core-module": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", - "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", "requires": { "has": "^1.0.3" } @@ -31697,6 +31690,12 @@ "requires": { "lru-cache": "^6.0.0" } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "optional": true } } }, @@ -31837,9 +31836,9 @@ } }, "object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==" + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==" }, "object-is": { "version": "1.1.5", @@ -35377,13 +35376,6 @@ "faye-websocket": "^0.10.0", "uuid": "^3.4.0", "websocket-driver": "0.6.5" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } } }, "sockjs-client": { @@ -36032,9 +36024,9 @@ }, "dependencies": { "ajv": { - "version": "8.6.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.1.tgz", - "integrity": "sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ==", + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -36173,11 +36165,11 @@ } }, "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "requires": { - "@types/json-schema": "^7.0.7", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -36641,11 +36633,11 @@ }, "dependencies": { "schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "requires": { - "@types/json-schema": "^7.0.7", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -36706,10 +36698,9 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "optional": true + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" }, "v8-compile-cache": { "version": "2.3.0", @@ -37807,11 +37798,6 @@ "version": "3.2.4", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" } } }, diff --git a/package.json b/package.json index fdf7c38..9a638af 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "@testing-library/jest-dom": "^5.11.9", "@testing-library/react": "^11.2.3", "@testing-library/user-event": "^12.6.2", - "bluelib": "^2.1.4", + "bluelib": "^3.0.0", "classnames": "^2.2.6", "prop-types": "^15.7.2", "react": "^17.0.1", diff --git a/src/components/Box.js b/src/components/Box.js deleted file mode 100644 index 1070b9e..0000000 --- a/src/components/Box.js +++ /dev/null @@ -1,24 +0,0 @@ -import React from "react" -import { Box as BluelibBox, Title } from "bluelib/lib/components" -import PropTypes from "prop-types" -import classNames from "classnames" -import Style from "./Box.module.css" - - -export default function Box({ children, className, title, Type = BluelibBox, ...props }) { - return ( - - {title ? - - {title} - - : null} - {children} - - ) -} - -Box.propTypes = { - children: PropTypes.node, - title: PropTypes.node, -} diff --git a/src/components/Box.module.css b/src/components/Box.module.css deleted file mode 100644 index d59cd75..0000000 --- a/src/components/Box.module.css +++ /dev/null @@ -1,3 +0,0 @@ -.Panel { - min-width: 240px; -} diff --git a/src/components/SelectSkin.js b/src/components/SelectSkin.js index 289fd6d..1f4a0c9 100644 --- a/src/components/SelectSkin.js +++ b/src/components/SelectSkin.js @@ -5,8 +5,8 @@ export default function SelectSkin({ skin, setSkin }) { return ( ) diff --git a/src/components/Todo.js b/src/components/Todo.js deleted file mode 100644 index e6826ba..0000000 --- a/src/components/Todo.js +++ /dev/null @@ -1,26 +0,0 @@ -import React, { useEffect } from "react" -import PropTypes from "prop-types" -import style from "./Todo.module.css" - - -export default function Todo({ children, block }) { - useEffect(() => { - console.info("TODO:", { children }) - }, []) - - if(block) { - return ( -
{children}
- ) - } - else { - return ( - 🚧 {children} - ) - } -} - -Todo.propTypes = { - children: PropTypes.node, - block: PropTypes.bool, -} diff --git a/src/components/Todo.module.css b/src/components/Todo.module.css deleted file mode 100644 index 6d2b0b5..0000000 --- a/src/components/Todo.module.css +++ /dev/null @@ -1,12 +0,0 @@ -.todo { - background-color: #292F33; - color: #FFCC4D; - padding: 1px; - border-radius: 2px; -} - -.todoblock { - background-color: #292F33; - border: 2px dashed #FFCC4D; - color: #FFCC4D; -} \ No newline at end of file diff --git a/src/routes/Algebra/Cheatsheet.js b/src/routes/Algebra/Cheatsheet.js index a32c2d8..76310b1 100644 --- a/src/routes/Algebra/Cheatsheet.js +++ b/src/routes/Algebra/Cheatsheet.js @@ -9,12 +9,12 @@ import { Title, Code as BluelibCode, Separator, + Box, + Todo, } from "bluelib/lib/components" import LatexMath from "bluelib/lib/components/LatexMath" -import Todo from "../../components/Todo" import Split from "../../components/Split" -import Box from "../../components/Box" const r = String.raw diff --git a/src/routes/Apprendimento/index.js b/src/routes/Apprendimento/index.js index 609d7b0..408895d 100644 --- a/src/routes/Apprendimento/index.js +++ b/src/routes/Apprendimento/index.js @@ -7,12 +7,12 @@ import { Italic as I, Title, Anchor, ListItem as LI, BaseLink, + Box, + Todo, } from "bluelib/lib/components" import LatexMath from "bluelib/lib/components/LatexMath" -import Box from "../../components/Box" import Split from "../../components/Split" -import Todo from "../../components/Todo" const r = String.raw diff --git a/src/routes/Fisica/index.js b/src/routes/Fisica/index.js index 8f35e5d..9f874c4 100644 --- a/src/routes/Fisica/index.js +++ b/src/routes/Fisica/index.js @@ -1,9 +1,7 @@ -import { Anchor, BaseLink, Bold as B, Color, ListItem as LI, Paragraph as P } from "bluelib/lib/components" +import { Anchor, BaseLink, Bold as B, Color, ListItem as LI, Paragraph as P, Box, Todo} from "bluelib/lib/components" import LatexMath from "bluelib/lib/components/LatexMath" -import Todo from "../../components/Todo" import Split from "../../components/Split" -import Box from "../../components/Box" const r = String.raw diff --git a/src/routes/Gestinfo/index.js b/src/routes/Gestinfo/index.js index 0a337d5..23814c3 100644 --- a/src/routes/Gestinfo/index.js +++ b/src/routes/Gestinfo/index.js @@ -11,10 +11,11 @@ import { Paragraph as P, Underline as U, Blockquote, + Box, + Todo, } from "bluelib/lib/components" import LatexMath from "bluelib/lib/components/LatexMath" import Split from "../../components/Split" -import Box from "../../components/Box" import IR from "./abbr/IR" import API from "./abbr/API" import Token from "./components/Token" @@ -24,7 +25,6 @@ import UIN from "./abbr/UIN" import Regex from "./abbr/Regex" import Glob from "./abbr/Glob" import Predicato from "./abbr/Predicato" -import Todo from "../../components/Todo" import IDF from "./abbr/IDF" import TF from "./abbr/TF" import TFIDF from "./abbr/TFIDF" diff --git a/src/routes/Home.js b/src/routes/Home.js index 53bfbfb..647e90f 100644 --- a/src/routes/Home.js +++ b/src/routes/Home.js @@ -1,7 +1,6 @@ import React from "react" -import { Anchor, BaseLink, Bold as B, ListItem as LI, Paragraph as P, Size } from "bluelib/lib/components" +import { Anchor, BaseLink, Bold as B, ListItem as LI, Paragraph as P, Size, Box } from "bluelib/lib/components" import Split from "../components/Split" -import Box from "../components/Box" import SelectSkin from "../components/SelectSkin" diff --git a/src/routes/Oli/index.js b/src/routes/Oli/index.js index 9b36cb9..f89e2fe 100644 --- a/src/routes/Oli/index.js +++ b/src/routes/Oli/index.js @@ -1,8 +1,6 @@ -import { Anchor, BaseLink, Color, ListItem as LI, Paragraph as P, Size, Help } from "bluelib/lib/components" +import { Anchor, BaseLink, Color, ListItem as LI, Paragraph as P, Size, Help, Box, Todo } from "bluelib/lib/components" import LatexMath from "bluelib/lib/components/LatexMath" import Split from "../../components/Split" -import Box, { default as Panel } from "../../components/Box" -import Todo from "../../components/Todo" const r = String.raw; @@ -14,7 +12,7 @@ const Latex = ({ children, ...props }) => {children} {children} const Plus = ({ children, ...props }) => {children} const Minus = ({ children, ...props }) => {children} -const Example = ({ children, ...props }) => {children} +const Example = ({ children, ...props }) => {children} const Min = ({ children, ...props }) => ( {props.children ? props.children : "min"} diff --git a/src/routes/Sistemioperativi/Arzigogoli.js b/src/routes/Sistemioperativi/Arzigogoli.js index d8d69c8..7c319c6 100644 --- a/src/routes/Sistemioperativi/Arzigogoli.js +++ b/src/routes/Sistemioperativi/Arzigogoli.js @@ -9,11 +9,11 @@ import { Title, Code as BluelibCode, Separator, + Box, + Todo, } from "bluelib/lib/components" -import Todo from "../../components/Todo" import Split from "../../components/Split" -import Box from "../../components/Box" const r = String.raw diff --git a/src/routes/Statistica/index.js b/src/routes/Statistica/index.js index 3f508e8..1d88e57 100644 --- a/src/routes/Statistica/index.js +++ b/src/routes/Statistica/index.js @@ -4,16 +4,16 @@ import { Bold as B, Italic as I, Anchor, ListItem as LI, BaseLink, + Box, + Todo, } from "bluelib/lib/components" import { default as Latex } from "bluelib/lib/components/LatexMath" -import Box, { default as Panel } from "../../components/Box" import Split, { default as Section } from "../../components/Split" -import Todo from "../../components/Todo" const r = String.raw -const Example = ({ children, ...props }) => {children} +const Example = ({ children, ...props }) => {children} const Plus = ({ children }) => {children} const Minus = ({ children }) => {children} @@ -47,25 +47,25 @@ export default function Statistica() {
- +

{r`P(E) = \frac{casi\ favorevoli}{casi\ possibili}`}

-
- + +

{r`P(E) = \frac{successi}{prove\ totali}`}

-
- + +

Il prezzo che un individuo coerente riterrebbe equo per ricevere 1 nel caso l'evento si verificasse e 0 nel caso l'evento non si verificasse.

-
+
- +
"omegone"
@@ -75,8 +75,8 @@ export default function Statistica() {

{r`\Omega = \left \{ 1, 2, 3, 4, 5, 6 \right \}`}

-
- + +
"omeghino"
@@ -86,8 +86,8 @@ export default function Statistica() {

{r`\omega = 1`}

-
- + +
"e"
@@ -100,8 +100,8 @@ export default function Statistica() {

Lo spazio campionario stesso è un evento certo.

-
- + +
"not e"
@@ -111,8 +111,8 @@ export default function Statistica() {

{r`\bar{E} = \left \{ 3, 4, 5, 6 \right \}`}

-
- + +
"e intersecato effe"
@@ -122,8 +122,8 @@ export default function Statistica() {

{r`E \cap F = \left \{ 1 \right \}`}

-
- + +
"e unito a effe"
@@ -133,16 +133,16 @@ export default function Statistica() {

{r`E \cup F = \left \{ 1, 2, 3, 4 \right \}`}

-
- + +
"e meno effe"

{r`E \setminus F = E \cap \bar{F}`}

-
- + +
"e contenuto in effe"
@@ -155,8 +155,8 @@ export default function Statistica() {

Se si verifica E, allora si verifica anche F.

-
- + +
"e è impossibile"
@@ -166,8 +166,8 @@ export default function Statistica() {

{r`E = \emptyset`}

-
- + +
"e ed effe si escludono mutualmente"
@@ -177,10 +177,10 @@ export default function Statistica() {

{r`E \cap F = \emptyset`}

-
+
- +
"famiglia effe"
@@ -195,8 +195,8 @@ export default function Statistica() { Qualsiasi sottoinsieme appartenente a {r`\mathcal{F}`} è considerato un evento.

-
- {r`\sigma`}-algebra}> + + {r`\sigma`}-algebra}>
"sigma algebra"
@@ -221,10 +221,10 @@ export default function Statistica() { Un esempio: {r`E \in \mathcal{F} \implies \mathcal{F} = \{ \emptyset, E, \bar{E}, \Omega \}`}

-
+
- +
"la partizione e composta da e uno, e due, e tre..."
@@ -246,26 +246,26 @@ export default function Statistica() { Se lo spazio campionario fosse una torta, una sua partizione sarebbe l'insieme delle fette di uno dei modi in cui si potrebbe tagliare. -
+
- +

La probabilità di un evento è un numero tra 0 e 1.

{r`\forall E \in \mathcal{F}, 0 \leq P(E) \leq 1`}

-
- + +

La probabilità dello spazio campionario è sempre 1.

{r`P(\Omega) = 1`}

-
- + +

La probabilità dell'unione di eventi indipendenti è uguale alla somma delle loro probabilità. @@ -273,10 +273,10 @@ export default function Statistica() {

{r`P \left ( \bigcup_i E_i \right ) = \sum_i P ( E_i )`}

-
+
- +

La probabilità di un evento negato è uguale a 1 meno la probabilità dell'evento non negato. @@ -284,8 +284,8 @@ export default function Statistica() {

{r`P(\bar{E}) = 1 - P({E})`}

-
- + +

La probabilità di un evento incluso in un altro è sempre minore o uguale alla probabilità dell'evento in cui è incluso. @@ -293,8 +293,8 @@ export default function Statistica() {

{r`F \subseteq E \implies P(F) \leq P(E)`}

-
- + +

La probabilità di un evento unito a un altro è uguale alla somma delle probabilità dei due eventi meno la probabilità della loro intersezione. @@ -306,10 +306,10 @@ export default function Statistica() { Sommando le probabilità dei due eventi, l'intersezione viene contata due volte, e va quindi rimossa! - +

- +

Spazi campionari in cui ci sono un numero finito di esiti e ogni esito ha la stessa probabilità di verificarsi. @@ -317,16 +317,16 @@ export default function Statistica() {

{r`P(E) = \frac{len(E)}{len(\Omega)}`}

-
- + +

Gli spazi campionari possono avere un numero infinito di esiti: sono equiprobabili geometrici se nessun esito è privilegiato rispetto agli altri.

-
+
- +

Estraggo un numero, da un sacchetto con n numeri, mi segno che numero ho estratto e lo tengo fuori dal sacchetto. Ripeto per k volte. @@ -337,8 +337,8 @@ export default function Statistica() {

{r`\boldsymbol{D}_{n, k} = \frac{n!}{(n - k)!}`}

-
- + +

Estraggo un numero, da un sacchetto con n numeri, mi segno che numero ho estratto e lo rimetto nel sacchetto. Ripeto per k volte. @@ -349,8 +349,8 @@ export default function Statistica() {

{r`\boldsymbol{D}^{r}_{n, k} = n^k`}

-
- + +

Estraggo un numero, da un sacchetto con n numeri, mi segno che numero ho estratto e lo tengo fuori dal sacchetto. Ripeto per k volte. @@ -361,8 +361,8 @@ export default function Statistica() {

{r`\boldsymbol{C}_{n, k} = \binom{n}{k} = \frac{n!}{(k)! \cdot (n - k)!}`}

-
- + +

Estraggo un numero, da un sacchetto con n numeri, mi segno che numero ho estratto e lo rimetto nel sacchetto. Ripeto per k volte. @@ -373,18 +373,18 @@ export default function Statistica() {

{r`\boldsymbol{C}^{r}_{n, k} = \binom{n + k - 1}{k} = \frac{(n + k - 1)!}{(k)! \cdot (n - 1)!}`}

-
- + +

Estraggo n numeri e guardo in quanti ordini diversi li posso mettere.

{r`\boldsymbol{P}_n = n!`}

-
+
- +
"E dato F"
@@ -398,8 +398,8 @@ export default function Statistica() { Ricorda vagamente le pipe di bash, però al contrario... -
- + +

Se due eventi sono mutualmente esclusivi, entrambe le loro probabilità condizionate saranno uguali a 0. @@ -407,10 +407,10 @@ export default function Statistica() {

{r`E \cap F = \emptyset \Longleftrightarrow P(E|F) = P(F|E) = 0`}

-
+
- +

Si può sfruttare la formula inversa della probabilità condizionata per calcolare catene di intersezioni: @@ -418,10 +418,10 @@ export default function Statistica() {

{r`P(E_1 \cap \times \cap E_n) = P(E_1) \times P(E_2 | E_1) \times \dots \times P(E_n | E_1 \cap E_2 \cap \dots \cap E_{n-1})`}

-
+
- +

La probabilità che si verifichi un evento è pari alla somma delle probabilità dell'evento stesso dati tutti gli eventi di una partizione. @@ -429,8 +429,8 @@ export default function Statistica() {

{r`P(F) = \sum_{i} P(F|E_i) \cdot P(E_i)`}

-
- + +

La legge delle alternative funziona anche quando ad essere partizionato è un evento: @@ -438,8 +438,8 @@ export default function Statistica() {

{r`P(F|G) = \sum_i P(F|E_i \cap G) \cdot P(E_i | G)`}

-
- + +

Tramite la formula di Bayes possiamo risalire alla probabilità di un evento condizionato a un altro partendo dalla probabilità di quest'ultimo condizionato al @@ -451,10 +451,10 @@ export default function Statistica() { In pratica, invertiamo gli eventi. - +

- +
"eventi indipendenti a due a due"
@@ -465,8 +465,8 @@ export default function Statistica() {

{r`P(E \cap F) = P(E) \cdot P(F) \Longleftrightarrow P(E|F) = P(E) \Longleftrightarrow P(F|E) = P(F)`}

-
- + +
"eventi indipendenti a tre a tre, a quattro a quattro, a cinque a cinque..."
@@ -480,8 +480,8 @@ export default function Statistica() { Eventi indipendenti a due a due non sono per forza indipendenti a tre a tre, e viceversa.

-
- + +

Un insieme di n eventi è una famiglia di eventi indipendenti se, preso un qualsiasi numero di eventi da essa, essi risulteranno indipendenti. @@ -490,16 +490,16 @@ export default function Statistica() { Tutti gli eventi provenienti da essa saranno indipendenti sia a due a due, sia a tre a tre, sia a quattro a quattro, e così via! - +

- +

Una funzione che fa corrispondere un numero reale a ogni possibile esito dello spazio campionario. {r`X(\omega) : \Omega \to \mathbb{R}`}.

-
- Insieme di ripartizione}> + + Insieme di ripartizione}>

Ad ogni variabile aleatoria sono associati gli eventi {r`A_t = \{ \omega | X(\omega) \leq t \}`}, che contengono tutti @@ -515,8 +515,8 @@ export default function Statistica() { All'aumentare di t, l'insieme conterrà sempre più elementi. - - + +

"supporto di X"
@@ -527,10 +527,10 @@ export default function Statistica() { Per indicare che un valore x_0 appartiene al supporto di X, si usa la notazione X \mapsto x_0.

-
+
- +

La funzione probabilità {r`p_X : X \to [0, 1]`} di una variabile aleatoria discreta X è la funzione che associa ad ogni esito la @@ -544,8 +544,8 @@ export default function Statistica() { \end{cases} `}

-
- + +

La funzione densità {r`f_X : X \to [0, 1]`} di una variabile aleatoria continua X è l'equivalente continuo della funzione @@ -561,10 +561,10 @@ export default function Statistica() { Rappresenta "quanta" probabilità c'è in un'unità di x! - +

- +

Ogni variabile aleatoria ha una funzione di ripartizione {r`F_X : \mathbb{R} \to [0, 1]`} associata, che rappresenta la @@ -583,8 +583,8 @@ export default function Statistica() { \end{cases} `}

-
- + +
  • È sempre monotona crescente (non strettamente).

  • @@ -594,8 +594,8 @@ export default function Statistica() { destra: {r`\forall x_0 \in \mathbb{R}, F_X (x_0) = \lim_{t \to x^+_0} F_X (t)`}
-
- + +

Possiamo usare la funzione di ripartizione per calcolare la probabilità di un certo valore reale: @@ -603,33 +603,33 @@ export default function Statistica() {

{r`P([X = x_0]) = \lim_{t \to x^+_0} F_X (t) - \lim_{t \to x^-_0} F_X (t)`}

-
+
- +

Nel discreto basta abbinare un nuovo valore a ogni valore della variabile originale.

-
- + +

Nel continuo applichiamo la formula dell'integrazione per sostituzione:

{r`f_Y (y) = \int_{g(a)}^{g(b)} f_X ( g^{-1} (x) ) g^{-2} (x)`}

-
- + +

Trasformare variabili aleatorie è molto utile nell'informatica per creare distribuzioni partendo da una funzione random() che restituisce numeri da 0 a 1 con una distribuzione lineare.

-
+
- +

Ogni variabile aleatoria che ha una funzione di ripartizione e un supporto finito ha anche una media (o valore medio o atteso): @@ -649,15 +649,15 @@ export default function Statistica() {

{r`E(X) = \int_{-\infty}^{+\infty} f_X (x) \cdot x \cdot dx`}

-
+
- +

Valore per cui la funzione probabilità o funzione densità è massima.

-
- + +

Il quantile {r`x_{\alpha}`} di ordine {r`0 \leq \alpha \leq 1`} della variabile @@ -680,8 +680,8 @@ export default function Statistica() { I quantili di ordine {r`\frac{n}{100}`} sono detti n-esima percentile.

-
- + +

È un valore che indica quanto la variabile aleatoria si discosta generalmente dalla media: @@ -689,10 +689,10 @@ export default function Statistica() {

{r`Var(X) = E( (X - E(X) )^2 ) = E ( X^2 ) - (E(X))^2`}

-
+
- +

Data una variabile aleatoria non-negativa:

@@ -706,8 +706,8 @@ export default function Statistica() {

{r`E(X) = \overline{k} \cdot P(X < k) + k \cdot P(X \geq k)`}

-
- + +
"disuguaglianza di cebicev"
@@ -729,10 +729,10 @@ export default function Statistica() { Serve per semplificare i calcoli quando la funzione di ripartizione è difficile da calcolare! -
+
- +

Il momento k-esimo di una variabile aleatoria è:

@@ -748,8 +748,8 @@ export default function Statistica() { La media di una variabile aleatoria è anche il suo primo momento. -
- + +

La funzione generatrice dei momenti è:

@@ -763,8 +763,8 @@ export default function Statistica() {

E' la trasformata di Laplace della variabile aleatoria di X.

-
- + +

La funzione caratteristica è:

@@ -778,32 +778,32 @@ export default function Statistica() {

E' la trasformata di Fourier della variabile aleatoria di X.

-
+
- +

Per dire che una variabile ha una certa distribuzione, si usa la notazione:

{r`X \sim Distribuzione()`}

-
- + +

Una prova con solo due possibili esiti: successo e insuccesso.

-
- + +

Una sequenza di prove di Bernoulli per le quali le probabilità di successo e fallimento rimangono invariate.

-
+
- +

Una variabile aleatoria che rappresenta una prova di Bernoulli:

@@ -814,8 +814,8 @@ export default function Statistica() {

Il suo simbolo è {r`Ber(p)`}

-
- + +

La distribuzione bernoulliana ha come densità:

@@ -828,10 +828,10 @@ export default function Statistica() { \end{cases} = p^x \cdot q^{1 - k}` }

-
+
- +

Una variabile aleatoria che conta il numero di successi di n prove di uno schema di Bernoulli. @@ -839,16 +839,16 @@ export default function Statistica() {

Il suo simbolo è {r`Bin(n, p)`}.

-
- + +

La binomiale ha come densità:

{r`f_X (k) : \{0..n\} = \binom{n}{k} \cdot p^k \cdot q^{n - k}`}

-
- + +

La funzione generatrice dei momenti della binomiale è:

@@ -867,10 +867,10 @@ export default function Statistica() {

{r`Var(X) = n \cdot p \cdot q`}

-
+
- +

Una variabile aleatoria che conta il numero di prove in uno schema di Bernoulli fino alla comparsa del primo successo. @@ -878,16 +878,16 @@ export default function Statistica() {

Il suo simbolo è Geo(p).

-
- + +

La geometrica ha come densità:

{r`f_X (k) : \mathbb{N} = q^{k - 1} p`}

-
- + +

La funzione generatrice dei momenti della geometrica è:

@@ -906,8 +906,8 @@ export default function Statistica() {

{r`Var(X) = \frac{q}{p^2}`}

-
- + +

La geometrica non tiene conto degli eventi avvenuti in passato: ha la proprietà dell'assenza di memoria: @@ -919,10 +919,10 @@ export default function Statistica() { Ovvero, riscalando opportunamente l'asse Y posso prendere come 0 qualsiasi punto dell'asse X. - +

- +

Una variabile aleatoria che conta il numero di prove in uno schema di Bernoulli necessarie perchè si verifichi l'n-esimo successo. @@ -930,16 +930,16 @@ export default function Statistica() {

Il suo simbolo è {r`\overline{Bin}(n, p)`}.

-
- + +

La binomiale negativa ha come densità:

{r`f_X (k) : \{ n .. +\infty \} \in \mathbb{N} = \binom{k - 1}{n - 1} \cdot p^n \cdot q^{k - n} `}

-
- + +

La funzione generatrice dei momenti della binomiale negativa è: @@ -960,10 +960,10 @@ export default function Statistica() { {r`Var(X) = \frac{n \cdot q}{p^2}`}

-
+
- +

Una variabile aleatoria che conta il numero k di insuccessi consecutivi in uno schema di Bernoulli: @@ -971,16 +971,16 @@ export default function Statistica() {

Il suo simbolo rimane {r`Geo(p)`}.

-
- + +

La geometrica traslata ha come densità:

{r`f_X (k) : \mathbb{N} = p \cdot q^k `}

-
- + +

La funzione generatrice dei momenti della geometrica traslata è:

@@ -999,8 +999,8 @@ export default function Statistica() {

{r`Var(X) = \frac{q}{p^2}`}

-
- + +

La geometrica traslata non tiene conto degli eventi avvenuti in passato: ha la proprietà dell'assenza di memoria: @@ -1012,10 +1012,10 @@ export default function Statistica() { Ovvero, riscalando opportunamente l'asse Y posso prendere come 0 qualsiasi punto dell'asse X. - +

- +

Una variabile aleatoria che conta il numero di insuccessi in uno schema di Bernoulli prima che si verifichi l'n-esimo successo. @@ -1023,16 +1023,16 @@ export default function Statistica() {

Il suo simbolo rimane {r`\overline{Bin}(n, p)`}.

-
- + +

La binomiale negativa traslata ha come densità:

{r`f_X (k) : \mathbb{N} = \binom{k + n - 1}{n - 1} \cdot p^n \cdot q^k `}

-
- + +

La funzione generatrice dei momenti della binomiale negativa traslata è: @@ -1053,10 +1053,10 @@ export default function Statistica() { {r`Var(X) = \frac{n \cdot q}{p^2}`}

-
+
- +

Una variabile aleatoria che, sapendo il numero di successi K e di insuccessi N-K, conta quanti successi si otterrebbero se se ne @@ -1065,16 +1065,16 @@ export default function Statistica() {

Il suo simbolo è Ipe(N, K, n).

-
- + +

La ipergeometrica ha come densità:

{r`f_X (k) : \{0..n\} \in \mathbb{N} = \frac{\binom{K}{k} \cdot \binom{N - K}{n - k}}{\binom{N}{n}}`}

-
- + +

La funzione generatrice dei momenti della ipergeometrica è trascurabile. @@ -1092,10 +1092,10 @@ export default function Statistica() { {r`Var(X) = n \cdot \frac{K}{N} \cdot \frac{N - K}{N} \cdot \frac{N - n}{N - 1}`}

-
+
- +

Una variabile aleatoria che soddisfa tutte le seguenti caratteristiche:

@@ -1108,16 +1108,16 @@ export default function Statistica() {

Il suo simbolo è {r`Poi(\mu)`}

-
- + +

La poissoniana ha come densità:

{r`f_X (k) : \mathbb{N} = \frac{e^{-\mu} \cdot \mu^k}{k!}`}

-
- + +

La funzione generatrice dei momenti della poissoniana è: @@ -1144,10 +1144,10 @@ export default function Statistica() {

  • {r`E(X^2) = \mu^2 + \mu`}
  • -
    +
    - +

    Una successione di arrivi avvenuti in un certo arco temporale che:

    @@ -1156,8 +1156,8 @@ export default function Statistica() {
  • hanno intensità {r`\lambda`} costante.
  • avvengono indipendentemente gli uni dagli altri.
  • -
    - + +

    Una variabile aleatoria N_t che conta il numero di arrivi di uno schema di Poisson di intensità {r`\lambda`} in un intervallo di tempo di @@ -1171,10 +1171,10 @@ export default function Statistica() { E' paragonabile a una bernoulliana: ogni successo corrisponde a un arrivo, mentre il tempo è il numero di prove effettuate (ma nel continuo). - +

    - +

    Una variabile aleatoria che conta il tempo diwidehattesa prima del primo arrivo di un processo di Poisson di intensità {r`\lambda`}. @@ -1182,8 +1182,8 @@ export default function Statistica() {

    Il suo simbolo è {r`Esp(\lambda)`}.

    -
    - + +

    L'esponenziale ha come densità:

    @@ -1206,8 +1206,8 @@ export default function Statistica() { \end{cases}` }

    -
    - + +

    La funzione generatrice dei momenti dell'esponenziale è:

    @@ -1226,8 +1226,8 @@ export default function Statistica() {

    {r`Var(X) = \frac{1}{\lambda^2}`}

    -
    - + +

    L'esponenziale non tiene conto degli eventi avvenuti in passato: ha la proprietà dell'assenza di memoria: @@ -1239,10 +1239,10 @@ export default function Statistica() { Ovvero, riscalando opportunamente l'asse Y posso prendere come 0 qualsiasi punto dell'asse X. - +

    - +

    Una variabile aleatoria che conta il tempo diwidehattesa prima dell'n-esimo arrivo di un processo di Poisson di intensità {r`\lambda`}. @@ -1250,8 +1250,8 @@ export default function Statistica() {

    Il suo simbolo è {r`\Gamma(n, \lambda)`}.

    -
    - + +

    La legge gamma ha come densità:

    @@ -1263,8 +1263,8 @@ export default function Statistica() { \end{cases}` }

    -
    - + +

    La funzione generatrice dei momenti della legge gamma è: @@ -1285,10 +1285,10 @@ export default function Statistica() { {r`Var(X) = \frac{\alpha}{\lambda^2}`}

    -
    +
    - +

    Una variabile aleatoria che può assumere qualsiasi valore in un intervallo {r`[a, b]`} in modo equiprobabile. @@ -1302,8 +1302,8 @@ export default function Statistica() {

    {r`P(X \in (c, d)) = \frac{d - c}{b - a}`}

    -
    - + +

    La distribuzione uniforme ha come densità:

    @@ -1327,8 +1327,8 @@ export default function Statistica() { \end{cases}` }

    -
    - + +

    La funzione generatrice dei momenti della distribuzione uniforme è: @@ -1349,10 +1349,10 @@ export default function Statistica() { {r`Var(X) = \frac{(b - a)^2}{12}`}

    -
    +
    - +

    Una variabile aleatoria con una specifica distribuzione.

    @@ -1363,16 +1363,16 @@ export default function Statistica() { \mu e \sigma^2 sono rispettivamente la media e la varianza della distribuzione! -
    - + +

    La distribuzione normale ha come densità:

    {r`f_X (x) = \frac{e^{-\frac{(x - \mu)^2}{2 \sigma^2}}}{\sqrt{2 \pi \cdot \sigma^2}}`}

    -
    - + +

    La funzione generatrice dei momenti della distribuzione normale è: @@ -1393,18 +1393,18 @@ export default function Statistica() { {r`Var(X) = \sigma^2`}

    -
    +
    - +

    Qualsiasi normale può essere trasformata in qualsiasi altra normale:

    {r`X \sim Nor(m, v^2) \implies \alpha X + \beta \sim Nor(\alpha m + \beta, (\alpha v)^2)`}

    -
    - + +

    La distribuzione normale standard Z è:

    @@ -1417,8 +1417,8 @@ export default function Statistica() {

    {r`F_Z(z) = \phi(z) = \frac{1}{\sqrt{2 \pi}} \int_{-\infty}^{z} e^{-\frac{x^2}{2}} dx`}

    -
    - + +

    Da un quantile {r`z_\alpha`} della normale standard è possibile risalire allo stesso quantile di qualsiasi altra normale: @@ -1426,18 +1426,18 @@ export default function Statistica() {

    {r`x_\alpha = \mu + z_\alpha \cdot \sqrt{\sigma^2}`}

    -
    +
    - +

    La distribuzione normale ha una particolare relazione con la distribuzione Gamma:

    {r`Z^2 \sim \chi^2 (v = 1)`}

    -
    - + +
    "chi-quadro a un grado di libertà"
    @@ -1453,18 +1453,18 @@ export default function Statistica() {

    {r`\chi^2 (n) + \chi^2 (m) = \chi^2 (n + m)`}

    -
    - + +

    Un'altra funzione particolare è la funzione T di Student:

    {r`T(v) = \frac{Nor(0, 1)}{\sqrt{\frac{\chi^2(v)}{v}}}`}

    -
    +
    - +

    La binomiale è come una ipergeometrica ma con ripetizioni, quindi per valori molto grandi di N rispetto a n, si può dire che: @@ -1472,8 +1472,8 @@ export default function Statistica() {

    {r`Ipe(N, K, n) \approx Bin(n, \frac{K}{N})`}

    -
    - + +

    La binomiale non è altro che una poissoniana a tempo discreto, quindi, se n è grande e n \cdot p è nell'ordine di grandezza delle @@ -1482,8 +1482,8 @@ export default function Statistica() {

    {r`Bin(n, p) \approx Poi(n \cdot p)`}

    -
    - + +

    Per il Teorema di De Moivre-Laplace, se una binomiale ha una n grande e p non vicina a 0 o 1, si può approssimare con: @@ -1491,8 +1491,8 @@ export default function Statistica() {

    {r`Bin(n, p) \approx Nor(n \cdot p, n \cdot p \cdot q)`}

    -
    - + +

    Passando da una variabile discreta X a una continua Y, per ogni valore discreto k la probabilità viene "spalmata" su tutto @@ -1504,10 +1504,10 @@ export default function Statistica() {

  • {r`P(X \geq k) \simeq P(Y \geq k - \frac{1}{2})`}
  • {r`P(X > k) \simeq P(Y \geq k + \frac{1}{2})`}
  • -
    +
    - +

    Un vettore composto da variabili aleatorie.

    @@ -1515,8 +1515,8 @@ export default function Statistica() { Il suo simbolo generalmente è {r`\boldsymbol{X}`} oppure {r`X, Y`}.

    -
    - + +

    I vettori aleatori hanno più funzioni di ripartizione che si differenziano in base al numero di parametri. @@ -1535,8 +1535,8 @@ export default function Statistica() {

    {r`F_X (x) = P(X \leq x) = \lim_{y \to +\infty} F_{X, Y} (x, y)`}

    -
    - + +

    I vettori aleatori discreti hanno più densità che si differenziano in base al numero di parametri. @@ -1555,10 +1555,10 @@ export default function Statistica() {

    {r`p_X (x) = \sum_j p_{X, Y} (x_i, y_j)`}

    -
    +
    - +

    Più variabili aleatorie sono indipendenti se, per qualsiasi scelta di intervalli A_i: @@ -1566,8 +1566,8 @@ export default function Statistica() {

    {r`P(X_1 \in A_1, \dots, X_n \in A_n) = P(X_1 \in A_1) \times \dots \times P(X_n \in A_n)`}

    -
    - + +

    E' possibile calcolare la media di qualsiasi funzione g(X, Y) avente elementi del vettore come variabili: @@ -1584,10 +1584,10 @@ export default function Statistica() {

    {r`E(X + Y) = E(X) + E(Y)`}

    -
    +
    - +

    Un operatore che misura la correlazione di due variabili aleatorie.

    @@ -1609,8 +1609,8 @@ export default function Statistica() {
  • E' distributiva: {r`Cov(X + Y, V + W) = Cov(X, Y) + Cov(X, W) + Cov(Y, V) + Cov(Y, W)`}
  • -
    - + +

    Due variabili sono variabili incorrelate se:

    @@ -1620,8 +1620,8 @@ export default function Statistica() {

    Variabili indipendenti sono sempre incorrelate.

    -
    - + +

    Una matrice {r`\boldsymbol{C_X}`} che contiene la covarianza tra tutte le variabili di un vettore aleatorio {r`\boldsymbol{X}`}: @@ -1640,8 +1640,8 @@ export default function Statistica() { E' sempre simmetrica e semidefinita positiva (tutti gli autovalori sono \geq 0.

    -
    - + +

    Un valore che misura come due variabili aleatorie sono correlate:

    @@ -1660,8 +1660,8 @@ export default function Statistica() {

    {r`Y = a X + b \Longleftrightarrow | \rho_{X, Y} | = 1`}

    -
    - + +

    La varianza di due variabili aleatorie sommate è:

    @@ -1679,10 +1679,10 @@ export default function Statistica() {

    {r`Var \left( \sum_i X_i \right) = \sum_i Var(X_i)`}

    -
    +
    - +

    Una n-pla di variabili aleatorie con la stessa distribuzione della variabile aleatoria X ("popolazione") ma indipendenti tra loro. @@ -1691,8 +1691,8 @@ export default function Statistica() { Le variabili aleatorie sono come un lazy-load in programmazione; quando ci sarà bisogno del loro valore numerico, esse si realizzeranno nel loro valore. - - + +

    Il valore dato dalla media aritmetica degli n elementi del campione elevati alla potenza k: @@ -1704,8 +1704,8 @@ export default function Statistica() { Il momento campionario di primo ordine è la media campionaria {r`\overline{X}_n`}.

    -
    - + +

    La media aritmetica dello scarto quadratico medio degli elementi del campione.

    @@ -1721,10 +1721,10 @@ export default function Statistica() {

    {r`S_n^2 = \frac{1}{n - 1} \cdot \sum_{i = 1}^n (X_i - \overline{X}_n)^2 = \frac{1}{n - 1} \cdot ( n \cdot M_2^{(2)} - n \cdot \overline{X}_n^2)`}

    -
    +
    - +

    Se calcoliamo la media della media campionaria, risulterà vero che:

    @@ -1734,8 +1734,8 @@ export default function Statistica() { Quindi, è possibile usare i campioni per trovare la media di una variabile aleatoria! -
    - + +

    Se calcoliamo la varianza della media campionaria, risulterà vero che:

    @@ -1745,8 +1745,8 @@ export default function Statistica() { Quindi, possiamo stimare l'errore della media calcolata tramite campioni! -
    - + +

    Se calcoliamo la media della varianza campionaria, risulterà vero che:

    @@ -1756,24 +1756,24 @@ export default function Statistica() { Quindi, possiamo stimare l'errore della media calcolata tramite campioni! -
    +
    - +

    Se la popolazione X ha una distribuzione normale ({r`X \sim Nor(\mu, \sigma^2)`})...

    -
    - + +

    ...allora sappiamo anche la distribuzione della media campionaria!

    {r`\overline{X}_n \sim Nor \left( \mu, \frac{\sigma^2}{n} \right)`}

    -
    - + +

    ...e anche della varianza campionaria!

    @@ -1783,15 +1783,15 @@ export default function Statistica() {

    {r`S_n^2 \sim \frac{\sigma^2}{n - 1} \cdot \chi^2 (n-1)`}

    -
    - + +

    ...e che media campionaria e varianza campionaria sono indipendenti tra loro!

    -
    +
    - +

    Se la successione di variabili aleatorie X_n all'infinito ha la stessa funzione di ripartizione della popolazione X, allora essa converge @@ -1800,8 +1800,8 @@ export default function Statistica() {

    {`\\lim_{n \\to +\\infty} F_{X_n} (x) = F_X (x) \\implies X_n \\xrightarrow{d} X`}

    -
    - + +

    Se la successione di variabili aleatorie X_n all'infinito ha la stessa probabilità della popolazione X, allora essa converge in @@ -1810,8 +1810,8 @@ export default function Statistica() {

    {`\\forall \\epsilon > 0, \\lim_{n \\to +\\infty} P( | X_n - X | < \\epsilon) = 1 \\implies X_n \\xrightarrow{p} X`}

    -
    - + +

    Se la successione di variabili aleatorie X_n all'infinito ha la stessa probabilità a della popolazione X, allora essa converge quasi @@ -1820,8 +1820,8 @@ export default function Statistica() {

    {`\\forall \\epsilon > 0, P \left( \\lim_{n \\to +\\infty} | X_n - X | < \\epsilon) \right) = 1 \\implies X_n \\xrightarrow{qc} X`}

    -
    - + +

    Se la successione di variabili aleatorie X_n all'infinito ha la media del quadrato della distanza tra la successione e la popolazione X uguale @@ -1830,8 +1830,8 @@ export default function Statistica() {

    {`\\lim_{n \\to +\\infty} E( | X_n - X |^2 = 0 \\implies X_n \\xrightarrow{mq} X`}

    -
    - + +

    {` \\begin{matrix} @@ -1846,10 +1846,10 @@ export default function Statistica() {

    {`X_n \\xrightarrow{p} x \\Longleftrightarrow X_n \\xrightarrow{d} x`}

    -
    +
    - +

    La successione delle medie campionarie {r`\overline{X}_n`} converge in probabilità alla media della popolazione {r`E(X)`}, se essa esiste. @@ -1866,8 +1866,8 @@ export default function Statistica() {

    {r`P( | \overline{X}_n - E(X) | < \epsilon) \to 1`}

    -
    - + +

    La successione delle medie campionarie {r`\overline{X}_n`} converge quasi certamente alla media della popolazione {r`E(X)`}, se essa @@ -1885,10 +1885,10 @@ export default function Statistica() { Dimostra che l'interpretazione frequentista della probabilità è valida! - +

    - +

    La successione delle medie campionarie {r`\overline{X}_n`} converge in distribuzione a {r`Nor(0, 1) = \Phi()`}. @@ -1902,57 +1902,57 @@ export default function Statistica() {

    {r`\forall x \in \mathbb{R}, \lim_{n \to +\infty} P \left( \frac{\overline{X}_n - E(X)}{\sqrt{\frac{Var(X)}{n}}} \leq x \right) = \Phi(x)`}

    -
    +
    - +

    E' una somma di bernoulliane, e quindi si approssima a una normale:

    {r`Bin(n, p) \approx Nor(n \cdot p, n \cdot p \cdot q)`}

    -
    - + +

    E' una somma di geometriche, e quindi si approssima a una normale:

    {r`\overline{Bin} (n, p) \approx Nor \left( \frac{n}{p}, \frac{n \cdot (1 - p)}{p^2} \right)`}

    -
    - + +

    E' una somma di altre poissoniane, e quindi si approssima a una normale:

    {r`Poi(\lambda) \approx Nor(\lambda, \lambda)`}

    -
    - + +

    E' una somma di esponenziali, e quindi si approssima a una normale:

    {r`\Gamma (\alpha, \lambda) \approx Nor \left( \frac{\alpha}{\lambda}, \frac{\alpha}{\lambda^2} \right)`}

    -
    - + +

    Se n è grande, allora:

    {r`Y = \sum_{i=1}^{n} X_i`}

    -
    +
    - +

    Per indicare parametri sconosciuti di una legge si usa \theta.

    -
    - + +

    Una variabile aleatoria funzione di un campione:

    @@ -1963,16 +1963,16 @@ export default function Statistica() { Ad esempio, sono statistiche media e varianza campionaria, così come il campione stesso {r`T(\boldsymbol{X}) = \boldsymbol{X}`}. -
    +
    - +

    Una statistica T_n ottenuta da n osservazioni, che stimi i parametri di una legge e sia indipendente da essi.

    -
    - + +

    Uno stimatore è corretto se il suo valore atteso coincide con quello dei parametri che stima: @@ -1980,8 +1980,8 @@ export default function Statistica() {

    {r`E(T_n) = \theta`}

    -
    - + +

    Uno stimatore è asintoticamente corretto se, per infinite osservazioni, il suo valore atteso coincide con quello dei parametri che stima: @@ -1989,34 +1989,34 @@ export default function Statistica() {

    {r`\lim_{n \to +\infty} E(T_n) = \theta`}

    -
    - + +

    Uno stimatore è consistente in media quadratica se:

    {r`\lim_{n \to +\infty} E((T_n - \theta)^2) = 0`}

    -
    - + +

    Uno stimatore è consistente in probabilità se:

    {r`\forall \epsilon > 0, \lim_{n \to +\infty} P( |T_n - \theta| < \epsilon) = 1`}

    -
    - + +

    Uno stimatore è asintoticamente normale se:

    {r`\lim_{n \to +\infty} \frac{T_n - E(T_n)}{\sqrt{Var(T_n)}} \sim Nor(0, 1)`}

    -
    +
    - +

    Si può usare il metodo dei momenti per ottenere uno stimatore di una popolazione X. @@ -2044,10 +2044,10 @@ export default function Statistica() { si possono usare i momenti successivi {r`M_n^2`}, {r`M_n^3`}, {r`M_n^3`}...

    -
    +
    - +

    Si può usare il metodo della massima verosomiglianza per ottenere uno stimatore di una popolazione X. @@ -2068,8 +2068,8 @@ export default function Statistica() { Gli stimatori di massima verosomiglianza sono asintoticamente corretti, consistenti in probabilità e asintoticamente normali.

    -
    - + +

    Gli stimatori di massima verosomiglianza godono delle seguenti proprietà:

    @@ -2080,34 +2080,34 @@ export default function Statistica() {
  • Sono invarianti: {r`\widehat{g(\theta)}_L = g(\widehat{\theta}_L)`}
  • -
    +
    - +

    Per il metodo dei momenti oppure per il metodo della massima verosomiglianza:

    {r`\widehat{p}_M = \widehat{p}_L = \overline{X}_n`}

    -
    - + +

    Per il metodo dei momenti oppure per il metodo della massima verosomiglianza:

    {r`\widehat{\mu}_M = \widehat{\mu}_L = \overline{X}_n`}

    -
    - + +

    Per il metodo dei momenti oppure per il metodo della massima verosomiglianza:

    {r`\widehat{\lambda}_M = \widehat{\lambda}_L = \frac{1}{\overline{X}_n}`}

    -
    - + +

    Per il metodo della massima verosomiglianza:

    @@ -2117,10 +2117,10 @@ export default function Statistica() {
  • {r`\widehat{\sigma^2}_L = \frac{\sum (X_i - \overline{X}_n)^2 }{n}`}
  • -
    +
    - +
    "intervallo di confidenza al 95%"
    @@ -2139,10 +2139,10 @@ export default function Statistica() { Può anche essere unilatero nel caso limiti la stima in una sola direzione, positiva o negativa.

    -
    +
    - +

    Se conosciamo la varianza di una normale, allora possiamo ricavare velocemente gli intervalli di confidenza all'\alpha% con queste formule: @@ -2158,8 +2158,8 @@ export default function Statistica() { destra: {r`\mu \in \left[ \overline{x}_n - z_{1 - \frac{\alpha}{2}} \cdot \sqrt{\frac{\sigma^2}{n}}, +\infty \right)`} - - + +

    Se non conosciamo la varianza di una normale, allora possiamo ricavare velocemente gli intervalli di confidenza all'\alpha% con queste formule: @@ -2179,10 +2179,10 @@ export default function Statistica() { {r`t_{\alpha, v}`} è un quantile della distribuzione di Student di parametro v.

    -
    +
    - +

    L'intervallo di confidenza per la proprorzione di una bernoulliana qualsiasi si ottiene da questa formula: @@ -2190,10 +2190,10 @@ export default function Statistica() {

    {r`p \in \left[ \overline{p} - z_{1 - \frac{\alpha}{2}} \cdot \sqrt{\frac{\overline{p} \cdot (1 - \overline{p})}{n+4}}, \overline{p} + z_{1 - \frac{\alpha}{2}} \cdot \sqrt{\frac{\overline{p} \cdot (1 - \overline{p})}{n+4}} \right]`}

    -
    +
    - +

    L'intervallo di confidenza per la media di una qualsiasi popolazione si ottiene da questa formula: @@ -2201,7 +2201,7 @@ export default function Statistica() {

    {r`m \in \left[ \overline{x}_n - z_{1 - \frac{\alpha}{2}} \cdot \sqrt{\frac{s^2_n}{n}}, \overline{x}_n + z_{1 - \frac{\alpha}{2}} \cdot \sqrt{\frac{s^2_n}{n}} \right]`}

    -
    +
    )