Class Diagram#

https://www.plantuml.com/plantuml/svg/pLjjR-Cs4lvi_GgX0NOJ9qOFY-lX40H15KUDtIQsQpj55yL1K2IkhOqi-IGwJPhR_lQR8VN2DpbsxBJx9RR8qSnmNfuPaixtEVKpkbh4LduV9Ki_ynTs72M4FYs9dMPqdWeJTtvmFylILH9sqpZDR9hvIGvJ9A6MPRstkx6VvoIt0loqdIppdov9JhB8ZwC_I6O_MwrZRVGmI9ESsZdDecJspcQIlCHVa1CxcFkPpHGyiU_IDBP1bMKnDygYHKIZ1p95JIDA5hc7IfTl4MH4qwnuS-xdNhPA4f1HCAY6F_p3gwYFGCC_THLXk5EByEnJcoijAG4qAhkQ4gKL1A8Q6e7XLLmFg2KeT5XFjEqxCZknnG7-dIJX4R3WPWN6tJa9xjsOBC1PbpxrHHxlx62LvMYhHZuFQHJQp_zTaUpfIybjKkgw6ozXOHTW1E8dp05RC3sfeYSZTBs4VaB9Z6HlA66mMjozgO098zolW2-MVmVpVW3liUIzy7EYvQuw-AhKPIccSOBHWuf4pOe3naZDY8DQNZrLnll1Cxn3e-2BVTyZZzTfUhzQJlsxcB2Sm9dY1H_jU8OSJ-mFt_th7BHxBctnnTujwGvOckoSRPoDcuHxu3AOW96xGBjLwDJ3Th2Mym2SiIyj9-Xq4pF3Mpg6x2_t3dJuU1lc73dUXZS7ZQ-6jn1Gb6IBAE6bUck8-WKK2F7T2f-gaSFYMvGcRfO11SaoBqX31a0o9TVcWGJmSCPrE4SbFddtv2a_iTTn-bDcTIJZHp51VipJH45BUA9GY-j58zT5FiE5AmB1t2ZEInEFuBDd8kdKY0SZFUA79CjLj5ibQGRZ9FGM_l9CuL6gWXXuHMZ5vR36D240KDqvc_T4oEidaV8cUX6yLpWj3PyKfuaZXOtWUKNUsNam9mlVU_3ZCcAQV7HK2UXoisgrop3--l9bOdQqQuzMhg1cmbtp690bVc7BQ9fKrh8WUUxFcBA_pttA_C0broq5USHmytG5kEz6Q0xPLQO9sMFSXciSnfq59ZJogjs82ICBbqPU6oSlvB8i0uVM9F1d6FBWGShWj3c7EuMQC3TXtoxJO8NjU1lc7agfzNIb2CulLXJy1NFiYvZjaAaI05-H128aOAOvkvt-yE-pynExcr4dZjC0sO4vG9gyESW8h97fUSCZ9z-26rjsVc8RyEsH6gnJf5H6i4Z0vga2YLQdvoTXp1MH4eY_M-JcTehjGQyoA6y8x8T3EIoLiPU2Pi78DmDz0T7P71Ur1jDpGikGhtGUEXDPON50KIw5tMc-907FK8cGxO0NonX3K9peBvPjOSK8vWqhbaVdb2wzfK_dwWJBgZjWqv1MKK85UKMPUvr8kHXoige60ZtdlP4U8s3Bi6nRJJRW_JC2zbin7nEe1pdzUZZl4WqxYTnZDEnxwVjNC8KgiZUVcw06S4536nZR672G5Z67Q-L9vL61NA226bWzRWq6zPiJ-4FQh3mM8yOgeJW2cZqFoWdBqB6VpCXvk-Y3el2nuj2sMUDb1Fg_43wRPVzzKDgiqtvXjLdEdY6sMT0-uNRlKlOLINyV3Fzr9dbRPVS6p-jwIhvhcAOSJjUV59HBwu4yJdyElCuFw-VJq-xmTZ15eVn8TKIoWlD9mTaB_9mMU5aNZRlFi5VJjklwy2llYTZS_OCdN0YneOTxJxqZYd8l96JffNUVDP0lrYzT-9pRznHdUV7I5MOzSyrJk-iHjL8FjpkYVlk-2-9g8zTDLYdVFln4jhjrUE6a3pRbXfC-7Xg64mZbl80zzfDFQLbmuUkEHm3QYKIh4mfEHQEfbnTjyRe1Mf5AgnVEHaeRXEIJlugfbzEdkBoOBCV8up86rPJH3D0i0g-zU2m6sbRQmEhOUeV9JPJdU62m2MJK1qP2LQuBPKFSIGV8Bw1UFnyNos77L6oXzIbLkLGjUuptFdNe58s36Zxgy6kFhmoSZYJfqomYbKnyEApUAvywMPgoMwq1U1Wc9yJFWlaMXiNs6S6_DDikF3PeQzy9RMqj4i0X9fJW6WxnZvrWAbL7EiVz1395BRobrjBnIWKxMZKmpkpbXmFyBRpLv-un2a9VrOIDr__xEVwjUr4vTWtZhmrU4wiZbedkOacVy0ZjTtCs4fptV4xWbJ5Ggbxltl0Iu35WUgk31UhiTaIjxDbaGNnCF8chnbvzlG1MC_3lO3CeRqwbwumNZiPstQmn5vOxjhVUWkM7Mm743dimTG_Amc7x1fTLuaBvVX960L4PboXaCXrqhL52iVafBhcgz2g2eBbzCbrjjCyPXj2vaKyHTtfHmRgDRp8Jh7lLaDB5kyTE6CeJ9ZEK6I1Y2VXmNMDHO3T9LWlRVQI0PYHac0h9w8p7paUhTJ4SNhlEm6hr1rFtoXrRhS7jpGL-3Yz-TBjJgpMPZlk3gv9DlPr09jtXOC28sCx2Qbswr-xKjLfNBZpqNESIs8oc_U5WOhL6phJRWu_X1EP6j_1dEdQwRicO6M22_LN1UEfoZkx80rMirW_3yOtLkdOkt6khTUE0Lhy2d_x8zK1g7wOc_PlHDGYVZ81jCLWobohAyxfboykTu4r3H9yggutwFxaVFLmQ4XUFFz-wOx1bRpeTUHVEfDyjlxlEc9dIkPtsFi1d_x9RSjQQEDJb5-UwV-bT32y_razSbZTonivDFNhZJdl3o_ePhDjJQPXQwk1uU8iUgXud8rZxSE1-nNePpovFJ-ljAzOMbhaKMxhJghl3OOOBC5NdP2CggCUCv_8-Xo4eamNTWhJVmo82oQMCcJT9e7Ur9K9UujR5l7CvBXlikeVaTR6Ino41nh5_qajnQOxJKzRzCQbH9cmtZuDv58SPIHfDWoyAzb0iXMiouI8JLHc-S8o2ka01nKWvfzRuDu2d9i10rpROnVhslTrFvc1bwYS10T2CMSZdysYPs--_jRGVrvtzhzFHVo_RG6VuyK43fNucqK1eR7ij-GSsZ52w83SHg6VpyZq-8v4w91E1R65BwOKPYQd46Wdrc32I6JpBtEZCPXcPCU_fRjH_uDmMRSas1RA9llddDun6xLgaIzeKFIV3aQLUhI2JkbWQfrLFh46uTc4eXcfhwD9QzJ9vBCFvdMu5nUJ8Hmr4gnd8pEJ6pQ8kMjqff5e4cYYCyRKfBgNckDiOTj8r0JaWEGMiJfdLMHIglZ_MmqVmeUgAOotV1CjRrK76iH0X7EWrinthmT5aeStURJ2F3c7uTjFleeoYwcxGE2qsiqO2iMzh5i0gkj4zwfOO_tS2klG85VPZUnw58LHB_3UCtFu4JehzftG5XJ-5caAWecXCEx_nT_wJHRCvrPDKHg6AUZsU2sJhKLqWN8Vj0jbwH1O8Dy5vYUzBQ2yGcr9CXtJX1KCvDVtQKDJ7M5SRlQSxJWqkqTGg8hv0Mo_oUuXk_8-V_mC=