>
+```
\ No newline at end of file
diff --git a/Documents/Diagramme/DiagrammeDeClasses/DiagrammeClasses.mdj b/Documents/Diagramme/DiagrammeDeClasses/DiagrammeClasses.mdj
new file mode 100644
index 00000000..c5438911
--- /dev/null
+++ b/Documents/Diagramme/DiagrammeDeClasses/DiagrammeClasses.mdj
@@ -0,0 +1,16708 @@
+{
+ "_type": "Project",
+ "_id": "AAAAAAFF+h6SjaM2Hec=",
+ "name": "Untitled",
+ "ownedElements": [
+ {
+ "_type": "UMLModel",
+ "_id": "AAAAAAFF+qBWK6M3Z8Y=",
+ "_parent": {
+ "$ref": "AAAAAAFF+h6SjaM2Hec="
+ },
+ "name": "Model",
+ "ownedElements": [
+ {
+ "_type": "UMLClassDiagram",
+ "_id": "AAAAAAFF+qBtyKM79qY=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Main",
+ "defaultDiagram": true,
+ "ownedViews": [
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3Bpk6Nh7nd8=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3Bpk6Nh8Lq8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6Nh7nd8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3Bpk6Nh9hPU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6Nh8Lq8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 7438,
+ "top": 4026,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3Bpk6Nh+Fwc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6Nh8Lq8="
+ },
+ "font": "Arial;13;1",
+ "left": 3933,
+ "top": 1975,
+ "width": 134.05615234375,
+ "height": 13,
+ "text": "Utilisateur"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3Bpk6Nh/isA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6Nh8Lq8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 7438,
+ "top": 4026,
+ "width": 83.560546875,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3Bpk6NiAZ5I=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6Nh8Lq8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 7438,
+ "top": 4026,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3928,
+ "top": 1968,
+ "width": 144.05615234375,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3Bpk6Nh9hPU="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3Bpk6Nh+Fwc="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3Bpk6Nh/isA="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3Bpk6NiAZ5I="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3Bpk6NiBNB8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6Nh7nd8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "subViews": [
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL+9pbIrmYC30=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6NiBNB8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9pa8rlijfg="
+ },
+ "font": "Arial;13;0",
+ "left": 3933,
+ "top": 1998,
+ "width": 134.05615234375,
+ "height": 13,
+ "text": "-id: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL4p5p1eRDPvQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6NiBNB8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL4p5pjeQNzxA="
+ },
+ "font": "Arial;13;0",
+ "left": 3933,
+ "top": 2013,
+ "width": 134.05615234375,
+ "height": 13,
+ "text": "-username: String",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3Bpk6NiCaQg=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6NiBNB8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAD5vx0yijE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 7915,
+ "top": 4408,
+ "width": 63.2353515625,
+ "height": 13,
+ "text": "+id",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3Bpk6NiDSjc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6NiBNB8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAHrOB1Dmpw="
+ },
+ "font": "Arial;13;0",
+ "left": 3933,
+ "top": 2028,
+ "width": 134.05615234375,
+ "height": 13,
+ "text": "-nom: String",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3Bpk6NiEgW4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6NiBNB8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAHubx1JTgc="
+ },
+ "font": "Arial;13;0",
+ "left": 3933,
+ "top": 2043,
+ "width": 134.05615234375,
+ "height": 13,
+ "text": "-prenom: String",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3Bpk6NiFn9A=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6NiBNB8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAHxSR1PUSs="
+ },
+ "font": "Arial;13;0",
+ "left": 3933,
+ "top": 2058,
+ "width": 134.05615234375,
+ "height": 13,
+ "text": "-email: String",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3Bpk6NiGtyQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6NiBNB8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAH0SB1VgF8="
+ },
+ "font": "Arial;13;0",
+ "left": 3933,
+ "top": 2073,
+ "width": 134.05615234375,
+ "height": 13,
+ "text": "-sexe: String",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3Bpk6NiHvyA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6NiBNB8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAH2wh1b3Gg="
+ },
+ "font": "Arial;13;0",
+ "left": 3933,
+ "top": 2088,
+ "width": 134.05615234375,
+ "height": 13,
+ "text": "-taille: Float",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3Bpk6NiIsq0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6NiBNB8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAH5dB1h8j4="
+ },
+ "font": "Arial;13;0",
+ "left": 3933,
+ "top": 2103,
+ "width": 134.05615234375,
+ "height": 13,
+ "text": "-poids: float",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3Bpk6NiJqPU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6NiBNB8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAH8Jx1ngTU="
+ },
+ "font": "Arial;13;0",
+ "left": 3933,
+ "top": 2118,
+ "width": 134.05615234375,
+ "height": 13,
+ "text": "-motDePasse: String",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3Bpk6NiKgHM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6NiBNB8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAH+3B1t8HQ="
+ },
+ "font": "Arial;13;0",
+ "left": 3933,
+ "top": 2133,
+ "width": 134.05615234375,
+ "height": 13,
+ "text": "-dateNaissance: Date",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3928,
+ "top": 1993,
+ "width": 144.05615234375,
+ "height": 158
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3Bpk6NiLdbA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6Nh7nd8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "font": "Arial;13;0",
+ "left": 3928,
+ "top": 2151,
+ "width": 144.05615234375,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3Bpk6NiMKQ0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6Nh7nd8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3456,
+ "top": 1616,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3Bpk6NiNkKc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Bpk6Nh7nd8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3456,
+ "top": 1616,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3928,
+ "top": 1968,
+ "width": 144.05615234375,
+ "height": 193,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3Bpk6Nh8Lq8="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3Bpk6NiBNB8="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3Bpk6NiLdbA="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3Bpk6NiMKQ0="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3Bpk6NiNkKc="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3BqoCyTo5V4=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3BqoCyTpW4g=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTo5V4="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3BqoCyTqEq4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTpW4g="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2237,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "«abstract»"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3BqoCyTr0yo=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTpW4g="
+ },
+ "font": "Arial;13;1",
+ "left": 3941,
+ "top": 2252,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "Role"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3BqoCyTsjzM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTpW4g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 5049,
+ "top": 2094,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3BqoCyTt63k=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTpW4g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 5049,
+ "top": 2094,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3936,
+ "top": 2232,
+ "width": 469.21484375,
+ "height": 38,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3BqoCyTqEq4="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3BqoCyTr0yo="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3BqoCyTsjzM="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3BqoCyTt63k="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3BqoCyTuNbk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTo5V4="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "subViews": [
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3EO8K52/YfM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTuNbk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EO77J2JFbo="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2275,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "#id: int",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3936,
+ "top": 2270,
+ "width": 469.21484375,
+ "height": 23
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3BqoCyTvFJU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTo5V4="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL8lDIXnknspM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTvFJU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lDIQHjxa7g="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2298,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "+getUsersList(): ?array",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL+91tPmZKyM8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTvFJU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+91tC2YUaHo="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2313,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "+getUserList(user: User): ?User",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL+93wGZ1DB2g=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTvFJU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+93v8Z0NH0E="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2328,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "+getEntrainement(): ?EntrainementRepository",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL+90Kslfv1ko=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTvFJU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+90Kble5JDw="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2343,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "+getEntrainementsList(): ?array",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL+95cBqY03KQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTvFJU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+95b8qX+sig="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2358,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "+getEntrainementList(entrainement: Entrainement): ?EntrainementSportif",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL8lQnvRSBOMg=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTvFJU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lQnmhRLfho="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2373,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "+checkAdd(user: User): bool",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL8lRO7h1yezo=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTvFJU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lROwx08WBA="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2388,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "+chackAddEntrainement(entrainement: Entrainement): bool",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3B61kj4t0Y8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTvFJU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B61dD33CBk="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2403,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "+addUser(user: User): bool",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL58RPQfS6YrU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTvFJU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL58RPF/SE7Hs="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2418,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "+removeUser(user: User): bool",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL8lBBRXGB2H8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTvFJU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lBBHXFLScI="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2433,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "+addEntrainement(entr: Entrainement): bool",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL++FfCiqny8U=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTvFJU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Fe3CpxsSg="
+ },
+ "font": "Arial;13;0",
+ "left": 3941,
+ "top": 2448,
+ "width": 459.21484375,
+ "height": 13,
+ "text": "+removeEntrainement(entr: Entrainement): bool",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3936,
+ "top": 2293,
+ "width": 469.21484375,
+ "height": 173
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3BqoCyTwnlw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTo5V4="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2240,
+ "top": 536,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3BqoCyTxlpY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BqoCyTo5V4="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2240,
+ "top": 536,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3936,
+ "top": 2232,
+ "width": 469.21484375,
+ "height": 264,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3BqoCyTpW4g="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3BqoCyTuNbk="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3BqoCyTvFJU="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3BqoCyTwnlw="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3BqoCyTxlpY="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL3BrkEXIgRp8=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3BrkDnIc/Ag="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3BrkEnIhgag=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3BrkDnIc/Ag="
+ },
+ "font": "Arial;13;0",
+ "left": 4111,
+ "top": 2234,
+ "width": 29.26904296875,
+ "height": 13,
+ "alpha": 0.3204269313614675,
+ "distance": 68.41052550594829,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "edgePosition": 1,
+ "text": "+role"
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3BrkEnIiuII=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3BrkDnIc/Ag="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4099,
+ "top": 2174,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3BrkEnIj/vY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3BrkDnIc/Ag="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4061,
+ "top": 2197,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3BrkEnIk2Ck=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3BrkD3IdNgc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4080,
+ "top": 2169,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3BrkEnIlv/8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3BrkD3IdNgc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4092,
+ "top": 2165,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3BrkEnImsmA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3BrkD3IdNgc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4054,
+ "top": 2179,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3BrkEnInNc8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3BrkD3IeED0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4094,
+ "top": 2195,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3BrkEnIofzw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3BrkD3IeED0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4105,
+ "top": 2186,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3BrkEnIpNCY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3BrkD3IeED0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4073,
+ "top": 2212,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3BrkE3IqKYk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3BrkD3IdNgc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3BrkE3IrgMo=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkEXIgRp8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3BrkD3IeED0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3BqoCyTo5V4="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3Bpk6Nh7nd8="
+ },
+ "lineStyle": 1,
+ "points": "4054:2161;4095:2231",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3BrkEnIhgag="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3BrkEnIiuII="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3BrkEnIj/vY="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL3BrkEnIk2Ck="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL3BrkEnIlv/8="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL3BrkEnImsmA="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL3BrkEnInNc8="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL3BrkEnIofzw="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL3BrkEnIpNCY="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL3BrkE3IqKYk="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL3BrkE3IrgMo="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3BsTqaEI6W8=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3BsTqaEJsn8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEI6W8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3BsTqaEKhxM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEJsn8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 8083,
+ "top": 4718,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3BsTqaELxcM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEJsn8="
+ },
+ "font": "Arial;13;1",
+ "left": 4189,
+ "top": 2551,
+ "width": 171.62158203125,
+ "height": 13,
+ "text": "Athlete"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3BsTqaEMDwE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEJsn8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 8083,
+ "top": 4718,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3BsTqaENG6Q=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEJsn8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 8083,
+ "top": 4718,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4184,
+ "top": 2544,
+ "width": 181.62158203125,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3BsTqaEKhxM="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3BsTqaELxcM="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3BsTqaEMDwE="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3BsTqaENG6Q="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3BsTqaEO6QI=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEI6W8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "font": "Arial;13;0",
+ "left": 4184,
+ "top": 2569,
+ "width": 181.62158203125,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3BsTqaEQWyw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEI6W8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3Cav/l7YrXw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEQWyw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Cav216fXX4="
+ },
+ "font": "Arial;13;0",
+ "left": 4189,
+ "top": 2584,
+ "width": 171.62158203125,
+ "height": 13,
+ "text": "+getAthlete(): Athlete",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3CcA8mU47Ao=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEQWyw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3CcA1GT//kE="
+ },
+ "font": "Arial;13;0",
+ "left": 4189,
+ "top": 2599,
+ "width": 171.62158203125,
+ "height": 13,
+ "text": "+getActivite(): lesActivite",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3DDNi5ul+XY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEQWyw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DDNcZtsRlI="
+ },
+ "font": "Arial;13;0",
+ "left": 4189,
+ "top": 2614,
+ "width": 171.62158203125,
+ "height": 13,
+ "text": "+getStatistiques(): lesStats",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3EaR8i1ibdU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEQWyw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EaRsi0pEF4="
+ },
+ "font": "Arial;13;0",
+ "left": 4189,
+ "top": 2629,
+ "width": 171.62158203125,
+ "height": 13,
+ "text": "+getSourceDonnees(): lesSD",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3DEwIp45CMc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEQWyw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DEwGp4As4s="
+ },
+ "font": "Arial;13;0",
+ "left": 4189,
+ "top": 2644,
+ "width": 171.62158203125,
+ "height": 13,
+ "text": "+__toString(): String",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4184,
+ "top": 2579,
+ "width": 181.62158203125,
+ "height": 83
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3BsTqaERJ/c=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEI6W8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3672,
+ "top": 1728,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3BsTqaESBEk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BsTqaEI6W8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3672,
+ "top": 1728,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 4184,
+ "top": 2544,
+ "width": 181.62158203125,
+ "height": 193,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3BsTqaEJsn8="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3BsTqaEO6QI="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3BsTqaEQWyw="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3BsTqaERJ/c="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3BsTqaESBEk="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3BtJt/VYyF0=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3BtJt/VZIHE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BtJt/VYyF0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3BtJt/Va6uM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BtJt/VZIHE="
+ },
+ "font": "Arial;13;0",
+ "left": 3757,
+ "top": 2549,
+ "width": 145.58984375,
+ "height": 13,
+ "text": "«abstract»"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3BtJt/Vb5Cg=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BtJt/VZIHE="
+ },
+ "font": "Arial;13;1",
+ "left": 3757,
+ "top": 2564,
+ "width": 145.58984375,
+ "height": 13,
+ "text": "Coach"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3BtJt/VcVGI=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BtJt/VZIHE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 6001,
+ "top": 5422,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3BtJt/VdTcw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BtJt/VZIHE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 6001,
+ "top": 5422,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3752,
+ "top": 2544,
+ "width": 155.58984375,
+ "height": 38,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3BtJt/Va6uM="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3BtJt/Vb5Cg="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3BtJt/VcVGI="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3BtJt/VdTcw="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3BtJt/VeAHE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BtJt/VYyF0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "font": "Arial;13;0",
+ "left": 3752,
+ "top": 2582,
+ "width": 155.58984375,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3BtJt/VgHOE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BtJt/VYyF0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "font": "Arial;13;0",
+ "left": 3752,
+ "top": 2592,
+ "width": 155.58984375,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3BtJt/Vh00A=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BtJt/VYyF0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2880,
+ "top": 2080,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3BtJt/ViK6I=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BtJt/VYyF0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2880,
+ "top": 2080,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3752,
+ "top": 2544,
+ "width": 155.58984375,
+ "height": 65,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3BtJt/VZIHE="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3BtJt/VeAHE="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3BtJt/VgHOE="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3BtJt/Vh00A="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3BtJt/ViK6I="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGL3B0Tspu8D9c=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B0TsZu6iEw="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B0Ts5u9bfM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B0Tspu8D9c="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B0TsZu6iEw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3988,
+ "top": 2560,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B0Tspu8D9c="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B0Ts5u+QVY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B0Tspu8D9c="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B0TsZu6iEw="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3976,
+ "top": 2551,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B0Tspu8D9c="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B0Ts5u/JUw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B0Tspu8D9c="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B0TsZu6iEw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4011,
+ "top": 2579,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B0Tspu8D9c="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3BqoCyTo5V4="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3BsTqaEI6W8="
+ },
+ "lineStyle": 1,
+ "points": "4183:2619;4000:2576;4064:2496",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3B0Ts5u9bfM="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3B0Ts5u+QVY="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3B0Ts5u/JUw="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGL3B0hqKVLIeI=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B0hp6VJcj4="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B0hqaVMQzU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B0hqKVLIeI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B0hp6VJcj4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3988,
+ "top": 2560,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B0hqKVLIeI="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B0hqaVNgVQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B0hqKVLIeI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B0hp6VJcj4="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3976,
+ "top": 2551,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B0hqKVLIeI="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B0hqaVO884=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B0hqKVLIeI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B0hp6VJcj4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4011,
+ "top": 2579,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B0hqKVLIeI="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3BqoCyTo5V4="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3BtJt/VYyF0="
+ },
+ "lineStyle": 1,
+ "points": "3908:2576;4000:2576;4064:2496",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3B0hqaVMQzU="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3B0hqaVNgVQ="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3B0hqaVO884="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL3B3/zPI/wtk=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B3/yvI7wq4="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B3/zPJAevY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B3/yvI7wq4="
+ },
+ "font": "Arial;13;0",
+ "left": 3838,
+ "top": 2031,
+ "width": 76.24169921875,
+ "height": 13,
+ "alpha": -0.6874078923357949,
+ "distance": 209.60200380721554,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "edgePosition": 1,
+ "text": "#*lesUsers"
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B3/zPJBn8k=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B3/yvI7wq4="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3714,
+ "top": 2193,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B3/zPJC3Oo=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B3/yvI7wq4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3759,
+ "top": 2194,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B3/zPJDWvc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B3/yvI8/hQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3908,
+ "top": 2360,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B3/zPJEM5A=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B3/yvI8/hQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3905,
+ "top": 2373,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B3/zPJFcmY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B3/yvI8/hQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3913,
+ "top": 2333,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B3/zPJGtMk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B3/yvI9HQU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3901,
+ "top": 2040,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B3/zfJH08c=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B3/yvI9HQU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3899,
+ "top": 2026,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3B3/zfJI3Gs=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B3/yvI9HQU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3904,
+ "top": 2067,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3B3/zfJJbDQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B3/yvI8/hQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3B3/zfJKKCk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/zPI/wtk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3B3/yvI9HQU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3Bpk6Nh7nd8="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3BqoCyTo5V4="
+ },
+ "lineStyle": 1,
+ "points": "3935:2353;3744:2344;3744:2056;3927:2062",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3B3/zPJAevY="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3B3/zPJBn8k="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3B3/zPJC3Oo="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL3B3/zPJDWvc="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL3B3/zPJEM5A="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL3B3/zPJFcmY="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL3B3/zPJGtMk="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL3B3/zfJH08c="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL3B3/zfJI3Gs="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL3B3/zfJJbDQ="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL3B3/zfJKKCk="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3CMxnUgw9Qc=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3CMxnUgxJhM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnUgw9Qc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3CMxnUgy8AA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnUgxJhM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1328,
+ "top": 1120,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3CMxnUgztGY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnUgxJhM="
+ },
+ "font": "Arial;13;1",
+ "left": 3469,
+ "top": 2575,
+ "width": 135.47802734375,
+ "height": 13,
+ "text": "CoachAthlete"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3CMxnkg0N2A=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnUgxJhM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1328,
+ "top": 1120,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3CMxnkg1xaw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnUgxJhM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1328,
+ "top": 1120,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3464,
+ "top": 2568,
+ "width": 145.47802734375,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3CMxnUgy8AA="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3CMxnUgztGY="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3CMxnkg0N2A="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3CMxnkg1xaw="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3CMxnkg25RI=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnUgw9Qc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "font": "Arial;13;0",
+ "left": 3464,
+ "top": 2593,
+ "width": 145.47802734375,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3CMxnkg3D5k=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnUgw9Qc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "font": "Arial;13;0",
+ "left": 3464,
+ "top": 2603,
+ "width": 145.47802734375,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3CMxnkg4o/Y=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnUgw9Qc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3CMxnkg5gG4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnUgw9Qc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3464,
+ "top": 2568,
+ "width": 145.47802734375,
+ "height": 58,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3CMxnUgxJhM="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3CMxnkg25RI="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3CMxnkg3D5k="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3CMxnkg4o/Y="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3CMxnkg5gG4="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGL3CS00llKDD4=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3CS00FlI+OY="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3CS001lLo9U=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CS00llKDD4="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3CS00FlI+OY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3678,
+ "top": 2565,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3CS00llKDD4="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3CS01FlMCgk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CS00llKDD4="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3CS00FlI+OY="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3677,
+ "top": 2550,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3CS00llKDD4="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3CS01FlNYLY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CS00llKDD4="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3CS00FlI+OY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3681,
+ "top": 2594,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3CS00llKDD4="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3BtJt/VYyF0="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3CMxnUgw9Qc="
+ },
+ "lineStyle": 1,
+ "points": "3609:2591;3751:2581",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3CS001lLo9U="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3CS01FlMCgk="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3CS01FlNYLY="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3DH0VM3eelw=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3DH0VM3fysc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3eelw="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DH0VM3gY5o=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3fysc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 7526,
+ "top": 5046,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DH0VM3hGX8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3fysc="
+ },
+ "font": "Arial;13;1",
+ "left": 4253,
+ "top": 2983,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "Activite"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DH0VM3iMEw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3fysc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 7526,
+ "top": 5046,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DH0VM3j6No=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3fysc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 7526,
+ "top": 5046,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4248,
+ "top": 2976,
+ "width": 195.3388671875,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3DH0VM3gY5o="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3DH0VM3hGX8="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3DH0VM3iMEw="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3DH0VM3j6No="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3DH0VM3kbjc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3eelw="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "subViews": [
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3lc5Y=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCXSK/WOLkA="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3006,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-idActivite: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3mS/0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxCVfeebjRQ="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3021,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-type: string",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3n7eQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxCvKejL/fw="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3036,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-date: Date",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3oMXE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxDHu+n7GHc="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3051,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-heureDebut: time",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3pTPo=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxDu8esr6vo="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3066,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-heureFin: time",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3q4W0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxEIwOxboHI="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3081,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-effortRessenti: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3rtcU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxJXpe2Lor0="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3096,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-variabilite: float",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3s3TU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxKISe67v6E="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3111,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-variance: float",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3tB54=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxKpzu/rHo4="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3126,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-ecartType: float",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3uR/M=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxLaO/Ebr8k="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3141,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-moyenne: float",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3v9vo=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxL5PfJLk04="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3156,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-maximum: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3wYUA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxM0SfWY9pQ="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3171,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-minimum: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DH0VM3xJcc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxNQCvbIr2U="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3186,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-TemperatureMoyenne: float",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGMBkKgGyoAcM4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBkKf7yn3AyI="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3201,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "-pause: bool",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4248,
+ "top": 3001,
+ "width": 195.3388671875,
+ "height": 218
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3DH0VM3yGA4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3eelw="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3DQ2l6ufcOo=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3yGA4="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DQ2catj1/Q="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3224,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "+getActivite(): Activite",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3DTgR8iexiI=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3yGA4="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DTgKchiipU="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3239,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "+getAnalyse(a1: Activite): String",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3DXeXM52u3o=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3yGA4="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DXeGc46SeI="
+ },
+ "font": "Arial;13;0",
+ "left": 4253,
+ "top": 3254,
+ "width": 185.3388671875,
+ "height": 13,
+ "text": "+toString(Activite): String",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4248,
+ "top": 3219,
+ "width": 195.3388671875,
+ "height": 53
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3DH0VM3zpCE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3eelw="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3504,
+ "top": 1728,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3DH0VM30Qm4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DH0VM3eelw="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3504,
+ "top": 1728,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 4248,
+ "top": 2976,
+ "width": 195.3388671875,
+ "height": 296,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3DH0VM3fysc="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3DH0VM3kbjc="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3DH0VM3yGA4="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3DH0VM3zpCE="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3DH0VM30Qm4="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3DJHyBCPzHA=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3DJHyBCQzFI=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyBCPzHA="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DJHyRCRIbE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyBCQzFI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 7468,
+ "top": 3944,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DJHyRCSG8Y=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyBCQzFI="
+ },
+ "font": "Arial;13;1",
+ "left": 4581,
+ "top": 2471,
+ "width": 177.39794921875,
+ "height": 13,
+ "text": "Statistique"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DJHyRCTKdI=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyBCQzFI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 7468,
+ "top": 3944,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DJHyRCUC6A=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyBCQzFI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 7468,
+ "top": 3944,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4576,
+ "top": 2464,
+ "width": 187.39794921875,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3DJHyRCRIbE="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3DJHyRCSG8Y="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3DJHyRCTKdI="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3DJHyRCUC6A="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3DJHyRCVwdU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyBCPzHA="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "subViews": [
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DJHyRCWvV0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyRCVwdU="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrwixuGGJpE4="
+ },
+ "font": "Arial;13;0",
+ "left": 4581,
+ "top": 2494,
+ "width": 177.39794921875,
+ "height": 13,
+ "text": "-idStatistique: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DJHyRCXojk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyRCVwdU="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrwlhdmOIz0E="
+ },
+ "font": "Arial;13;0",
+ "left": 4581,
+ "top": 2509,
+ "width": 177.39794921875,
+ "height": 13,
+ "text": "-distanceTotale: float",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DJHyRCYR9w=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyRCVwdU="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrwmwgWUPuog="
+ },
+ "font": "Arial;13;0",
+ "left": 4581,
+ "top": 2524,
+ "width": 177.39794921875,
+ "height": 13,
+ "text": "-poids: float",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DJHyRCZ9DA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyRCVwdU="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrwnYLWYeNa4="
+ },
+ "font": "Arial;13;0",
+ "left": 4581,
+ "top": 2539,
+ "width": 177.39794921875,
+ "height": 13,
+ "text": "-tempsTotal: time",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DJHyRCavHw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyRCVwdU="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrwoPTGct0ws="
+ },
+ "font": "Arial;13;0",
+ "left": 4581,
+ "top": 2554,
+ "width": 177.39794921875,
+ "height": 13,
+ "text": "-FCmoyenne: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DJHyRCbZAA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyRCVwdU="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrwps72g8dI8="
+ },
+ "font": "Arial;13;0",
+ "left": 4581,
+ "top": 2569,
+ "width": 177.39794921875,
+ "height": 13,
+ "text": "-FCmin: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DJHyRCc4c8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyRCVwdU="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrwqb7mlLpYw="
+ },
+ "font": "Arial;13;0",
+ "left": 4581,
+ "top": 2584,
+ "width": 177.39794921875,
+ "height": 13,
+ "text": "-FCmax: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DJHyRCd7DA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyRCVwdU="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrwq/JGpaMCs="
+ },
+ "font": "Arial;13;0",
+ "left": 4581,
+ "top": 2599,
+ "width": 177.39794921875,
+ "height": 13,
+ "text": "-caloriesBrulées: int",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4576,
+ "top": 2489,
+ "width": 187.39794921875,
+ "height": 128
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3DJHyRCealo=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyBCPzHA="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3EVASgrSjt4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyRCealo="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EVAEQqWm2c="
+ },
+ "font": "Arial;13;0",
+ "left": 4581,
+ "top": 2622,
+ "width": 177.39794921875,
+ "height": 13,
+ "text": "+getStatistique(): Statistique",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3EWyfxByyz4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyRCealo="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EWydxA200E="
+ },
+ "font": "Arial;13;0",
+ "left": 4581,
+ "top": 2637,
+ "width": 177.39794921875,
+ "height": 13,
+ "text": "+__toString(Statistique): String",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4576,
+ "top": 2617,
+ "width": 187.39794921875,
+ "height": 38
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3DJHyRCfEJM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyBCPzHA="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3488,
+ "top": 1456,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3DJHyRCggVc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DJHyBCPzHA="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3488,
+ "top": 1456,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 4576,
+ "top": 2464,
+ "width": 187.39794921875,
+ "height": 191,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3DJHyBCQzFI="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3DJHyRCVwdU="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3DJHyRCealo="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3DJHyRCfEJM="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3DJHyRCggVc="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3DLQlyYtiTQ=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3DLQlyYubF0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQlyYtiTQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DLQlyYvw2U=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQlyYubF0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 6878,
+ "top": 3818,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DLQmCYwFXU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQlyYubF0="
+ },
+ "font": "Arial;13;1",
+ "left": 3997,
+ "top": 2807,
+ "width": 196.193359375,
+ "height": 13,
+ "text": "SourceDonnee"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DLQmCYxQMk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQlyYubF0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 6878,
+ "top": 3818,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DLQmCYyi5c=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQlyYubF0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 6878,
+ "top": 3818,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3992,
+ "top": 2800,
+ "width": 206.193359375,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3DLQlyYvw2U="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3DLQmCYwFXU="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3DLQmCYxQMk="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3DLQmCYyi5c="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3DLQmCYzLJk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQlyYtiTQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "subViews": [
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DLQmCY0y+0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQmCYzLJk="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxTIICbUAdU="
+ },
+ "font": "Arial;13;0",
+ "left": 3997,
+ "top": 2830,
+ "width": 196.193359375,
+ "height": 13,
+ "text": "-idSource: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DLQmCY1DTA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQmCYzLJk="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxTswiiLUpA="
+ },
+ "font": "Arial;13;0",
+ "left": 3997,
+ "top": 2845,
+ "width": 196.193359375,
+ "height": 13,
+ "text": "-Type: enum",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DLQmCY2rE8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQmCYzLJk="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxVKVSm7bms="
+ },
+ "font": "Arial;13;0",
+ "left": 3997,
+ "top": 2860,
+ "width": 196.193359375,
+ "height": 13,
+ "text": "-modele: string",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DLQmCY31Ao=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQmCYzLJk="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxV3+SrrCr8="
+ },
+ "font": "Arial;13;0",
+ "left": 3997,
+ "top": 2875,
+ "width": 196.193359375,
+ "height": 13,
+ "text": "-precision: enum",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DLQmCY46yk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQmCYzLJk="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxWfnSwbQ58="
+ },
+ "font": "Arial;13;0",
+ "left": 3997,
+ "top": 2890,
+ "width": 196.193359375,
+ "height": 13,
+ "text": "-dateDerniereUtilisation: Date",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3992,
+ "top": 2825,
+ "width": 206.193359375,
+ "height": 83
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3DLQmCY54P8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQlyYtiTQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3EcVKzvuuFk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQmCY54P8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EcVFjuykz0="
+ },
+ "font": "Arial;13;0",
+ "left": 3997,
+ "top": 2913,
+ "width": 196.193359375,
+ "height": 13,
+ "text": "+getSD(SourceDonnee): String",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3Eee900OLuk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQmCY54P8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EeezUzS6YA="
+ },
+ "font": "Arial;13;0",
+ "left": 3997,
+ "top": 2928,
+ "width": 196.193359375,
+ "height": 13,
+ "text": "+to_String(SourceDonnee): String",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3992,
+ "top": 2908,
+ "width": 206.193359375,
+ "height": 38
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3DLQmCY6OQc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQlyYtiTQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3280,
+ "top": 1352,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3DLQmCY7Ngc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DLQlyYtiTQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3280,
+ "top": 1352,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3992,
+ "top": 2800,
+ "width": 206.193359375,
+ "height": 146,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3DLQlyYubF0="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3DLQmCYzLJk="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3DLQmCY54P8="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3DLQmCY6OQc="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3DLQmCY7Ngc="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3DMzZkmwpP8=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3DMzZkmx2TA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkmwpP8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DMzZkmyRDk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkmx2TA="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 2885,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "«abstract»"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DMzZkmzoys=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkmx2TA="
+ },
+ "font": "Arial;13;1",
+ "left": 3357,
+ "top": 2900,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "Entrainement"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DMzZkm0anw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkmx2TA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4809,
+ "top": 2930,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3DMzZkm1g4k=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkmx2TA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4809,
+ "top": 2930,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3352,
+ "top": 2880,
+ "width": 175.115234375,
+ "height": 38,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3DMzZkmyRDk="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3DMzZkmzoys="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3DMzZkm0anw="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3DMzZkm1g4k="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3DMzZkm2VYs=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkmwpP8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "subViews": [
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DMzZkm3yLU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkm2VYs="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxcxm0yu9ck="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 2923,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "+idEntrainement: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DMzZkm45Gk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkm2VYs="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxdjg05lkd0="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 2938,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "+date: Date",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL7QbRQNBhx7c=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkm2VYs="
+ },
+ "model": {
+ "$ref": "AAAAAAGL7QbRBNAl41g="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 2953,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "+latitude: float",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DMzZkm59RQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkm2VYs="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxeDFU+VhpI="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 2968,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "+longitude: float",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DMzZkm6JIs=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkm2VYs="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxezwlDFkh4="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 2983,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "+description: text",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL3DMzZkm7L1c=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkm2VYs="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxfiTFH1ArI="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 2998,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "+feedback: text",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3352,
+ "top": 2918,
+ "width": 175.115234375,
+ "height": 98
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3DMzZkm8ngY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkmwpP8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL3D2GBgECc9M=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkm8ngY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3D2F3gDGuRs="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 3021,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "+getId(): int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL++UQVUMgtH4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkm8ngY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++UQDELkhBM="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 3036,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "+getDate(): DateTime",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL++U2mUfQLgw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkm8ngY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++U2j0eU938="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 3051,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "+getLocation(): String",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL++Vh8UyAceA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkm8ngY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Vh50xEGPg="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 3066,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "+getDescription(): Text",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL++WjXFEwtks=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkm8ngY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++WjUVD03ak="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 3081,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "+getFeedBack(): String",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL++XHPVXggdY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkm8ngY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++XHM1Wk8GA="
+ },
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 3096,
+ "width": 165.115234375,
+ "height": 13,
+ "text": "+__toString(): String",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3352,
+ "top": 3016,
+ "width": 175.115234375,
+ "height": 98
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3DMzZkm9E/c=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkmwpP8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2472,
+ "top": 1024,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3DMzZkm+Ato=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DMzZkmwpP8="
+ },
+ "model": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2472,
+ "top": 1024,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3352,
+ "top": 2880,
+ "width": 175.115234375,
+ "height": 234,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3DMzZkmx2TA="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3DMzZkm2VYs="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3DMzZkm8ngY="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3DMzZkm9E/c="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3DMzZkm+Ato="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL3DO5DGG3okQ=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DO5CWGzYdk="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DO5DWG4Vxk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DO5CWGzYdk="
+ },
+ "font": "Arial;13;0",
+ "left": 4326,
+ "top": 2927,
+ "width": 77.669921875,
+ "height": 13,
+ "alpha": 0.4974685789155705,
+ "distance": 97.8008179924892,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "edgePosition": 1,
+ "text": "-*activiteList"
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DO5DWG5mQE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DO5CWGzYdk="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4334,
+ "top": 2845,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DO5DWG6kmk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DO5CWGzYdk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4290,
+ "top": 2852,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DO5DWG7U68=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DO5CWG0ZOw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4306,
+ "top": 2754,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DO5DWG8UHU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DO5CWG0ZOw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4320,
+ "top": 2754,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DO5DWG9eyk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DO5CWG0ZOw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4278,
+ "top": 2754,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DO5DWG+1dY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DO5CmG1yFk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4334,
+ "top": 2941,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DO5DWG/mG8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DO5CmG1yFk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4346,
+ "top": 2936,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DO5DWHAtAE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DO5CmG1yFk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4307,
+ "top": 2949,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3DO5DWHBZf0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DO5CWG0ZOw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3DO5DWHC8CY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5DGG3okQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DO5CmG1yFk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3DH0VM3eelw="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3BsTqaEI6W8="
+ },
+ "lineStyle": 1,
+ "points": "4288:2737;4323:2975",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3DO5DWG4Vxk="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3DO5DWG5mQE="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3DO5DWG6kmk="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL3DO5DWG7U68="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL3DO5DWG8UHU="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL3DO5DWG9eyk="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL3DO5DWG+1dY="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL3DO5DWG/mG8="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL3DO5DWHAtAE="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL3DO5DWHBZf0="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL3DO5DWHC8CY="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL3DdoAArKtwk=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Ddn/grGOiw="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DdoAArLq4o=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Ddn/grGOiw="
+ },
+ "font": "Arial;13;0",
+ "left": 4162,
+ "top": 2788,
+ "width": 47.328125,
+ "height": 13,
+ "alpha": 1.0433323237988876,
+ "distance": 28.653097563788805,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "edgePosition": 1,
+ "text": "-*sdList"
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DdoAArM1RQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Ddn/grGOiw="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4198,
+ "top": 2780,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DdoAArN2G8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Ddn/grGOiw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4163,
+ "top": 2752,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DdoAArOnkE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Ddn/grHlaI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4194,
+ "top": 2760,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DdoAArPOz4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Ddn/grHlaI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4204,
+ "top": 2770,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DdoAArQnj0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Ddn/grHlaI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4175,
+ "top": 2740,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DdoAArRcIQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Ddn/grIS6Y="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4178,
+ "top": 2781,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DdoAArS3XI=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Ddn/grIS6Y="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4190,
+ "top": 2787,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DdoAArT1Uk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Ddn/grIS6Y="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4154,
+ "top": 2768,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3DdoAArU9sw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Ddn/grHlaI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3DdoAArVCNA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DdoAArKtwk="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3Ddn/grIS6Y="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3DLQlyYtiTQ="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3BsTqaEI6W8="
+ },
+ "lineStyle": 1,
+ "points": "4199:2737;4151:2799",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3DdoAArLq4o="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3DdoAArM1RQ="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3DdoAArN2G8="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL3DdoAArOnkE="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL3DdoAArPOz4="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL3DdoAArQnj0="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL3DdoAArRcIQ="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL3DdoAArS3XI="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL3DdoAArT1Uk="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL3DdoAArU9sw="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL3DdoAArVCNA="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL3DewVyCoB1Q=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DewVSCksyY="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DewWCCp9IE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DewVSCksyY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4196,
+ "top": 2989,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DewWCCqFY4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DewVSCksyY="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4185,
+ "top": 3000,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DewWCCrus4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DewVSCksyY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4217,
+ "top": 2968,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DewWCCsgRA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DewViClTrY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4218,
+ "top": 3011,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DewWCCttCE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DewViClTrY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4207,
+ "top": 3019,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DewWCCuzq0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DewViClTrY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4240,
+ "top": 2994,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DewWCCv920=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DewViCmmWs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4175,
+ "top": 2968,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DewWCCwtKA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DewViCmmWs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4168,
+ "top": 2980,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DewWCCxEwU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DewViCmmWs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4192,
+ "top": 2946,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3DewWCCy+4I=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DewViClTrY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3DewWCCzXsQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVyCoB1Q="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DewViCmmWs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3DLQlyYtiTQ="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3DH0VM3eelw="
+ },
+ "lineStyle": 1,
+ "points": "4247:3025;4168:2946",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3DewWCCp9IE="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3DewWCCqFY4="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3DewWCCrus4="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL3DewWCCsgRA="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL3DewWCCttCE="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL3DewWCCuzq0="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL3DewWCCv920="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL3DewWCCwtKA="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL3DewWCCxEwU="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL3DewWCCy+4I="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL3DewWCCzXsQ="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL3DgOnTog8NI=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DgOmzocF5c="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DgOnjohHis=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DgOmzocF5c="
+ },
+ "font": "Arial;13;0",
+ "left": 4509,
+ "top": 2559,
+ "width": 60.33447265625,
+ "height": 13,
+ "alpha": 0.2589997153205553,
+ "distance": 76.96752561957543,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "edgePosition": 1,
+ "text": "-*statsList"
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DgOnjoiojs=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DgOmzocF5c="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4464,
+ "top": 2563,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DgOnjojT9Y=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DgOmzocF5c="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4472,
+ "top": 2607,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DgOnjokvV8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DgOnDodXGk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4388,
+ "top": 2595,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DgOnjolI+M=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DgOnDodXGk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4388,
+ "top": 2581,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DgOnjom8EQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DgOnDodXGk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4389,
+ "top": 2622,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DgOnjonKzk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DgOnDoedKI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4546,
+ "top": 2562,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DgOnjoobA8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DgOnDoedKI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4541,
+ "top": 2549,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3DgOnjopwyY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DgOnDoedKI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4556,
+ "top": 2588,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3DgOnjoqPJw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DgOnDodXGk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3DgOnjora1c=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOnTog8NI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3DgOnDoedKI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 664,
+ "top": 560,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3DJHyBCPzHA="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3BsTqaEI6W8="
+ },
+ "lineStyle": 1,
+ "points": "4366:2621;4575:2578",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3DgOnjohHis="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3DgOnjoiojs="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3DgOnjojT9Y="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL3DgOnjokvV8="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL3DgOnjolI+M="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL3DgOnjom8EQ="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL3DgOnjonKzk="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL3DgOnjoobA8="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL3DgOnjopwyY="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL3DgOnjoqPJw="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL3DgOnjora1c="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3EA5py45w5E=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3EA5py46RZs=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5py45w5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EA5py47qQ4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5py46RZs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2784,
+ "top": 48,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EA5py48ztA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5py46RZs="
+ },
+ "font": "Arial;13;1",
+ "left": 4221,
+ "top": 1175,
+ "width": 93.18994140625,
+ "height": 13,
+ "text": "CoachManager"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EA5qC499bk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5py46RZs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2784,
+ "top": 48,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EA5qC4+erY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5py46RZs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2784,
+ "top": 48,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4216,
+ "top": 1168,
+ "width": 103.18994140625,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3EA5py47qQ4="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3EA5py48ztA="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3EA5qC499bk="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3EA5qC4+erY="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3EA5qC4/sY4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5py45w5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "font": "Arial;13;0",
+ "left": 4216,
+ "top": 1193,
+ "width": 103.18994140625,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3EA5qC5AD5k=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5py45w5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "font": "Arial;13;0",
+ "left": 4216,
+ "top": 1203,
+ "width": 103.18994140625,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3EA5qC5B3KQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5py45w5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1392,
+ "top": 24,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3EA5qC5CL3c=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5py45w5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1392,
+ "top": 24,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 4216,
+ "top": 1168,
+ "width": 103.18994140625,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3EA5py46RZs="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3EA5qC4/sY4="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3EA5qC5AD5k="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3EA5qC5B3KQ="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3EA5qC5CL3c="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3EC6NugSKAY=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7nD48sOfVM="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3EC6NugTD+k=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugSKAY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7nD48sOfVM="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6NugUf44=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugTD+k="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2881,
+ "top": -777,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6NugVIHM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugTD+k="
+ },
+ "font": "Arial;13;1",
+ "left": 2878,
+ "top": 822,
+ "width": 61.38818359375,
+ "height": 13,
+ "text": "index.php"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6NugW6ig=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugTD+k="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2881,
+ "top": -777,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6NugXQtk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugTD+k="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2881,
+ "top": -777,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 2873,
+ "top": 815,
+ "width": 71.38818359375,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3EC6NugUf44="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3EC6NugVIHM="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3EC6NugW6ig="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3EC6NugXQtk="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3EC6NugYR90=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugSKAY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7nD48sOfVM="
+ },
+ "font": "Arial;13;0",
+ "left": 2873,
+ "top": 840,
+ "width": 71.38818359375,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3EC6NugZZ5k=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugSKAY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7nD48sOfVM="
+ },
+ "font": "Arial;13;0",
+ "left": 2873,
+ "top": 850,
+ "width": 71.38818359375,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3EC6Nugaz2E=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugSKAY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7nD48sOfVM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2209,
+ "top": -49,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3EC6NugbE8o=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugSKAY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7nD48sOfVM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2209,
+ "top": -49,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 2873,
+ "top": 815,
+ "width": 71.38818359375,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3EC6NugTD+k="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3EC6NugYR90="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3EC6NugZZ5k="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3EC6Nugaz2E="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3EC6NugbE8o="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3EC6NugccSE=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7oXg9WQpWI="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3EC6NugdYDM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugccSE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7oXg9WQpWI="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6NugedV8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugdYDM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3553,
+ "top": -889,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6Nugfy9g=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugdYDM="
+ },
+ "font": "Arial;13;1",
+ "left": 3286,
+ "top": 838,
+ "width": 78.71728515625,
+ "height": 13,
+ "text": "Console.php"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6Nugg3/Q=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugdYDM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3553,
+ "top": -889,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6NughFjQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugdYDM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3553,
+ "top": -889,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3281,
+ "top": 831,
+ "width": 88.71728515625,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3EC6NugedV8="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3EC6Nugfy9g="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3EC6Nugg3/Q="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3EC6NughFjQ="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3EC6NugilgA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugccSE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7oXg9WQpWI="
+ },
+ "font": "Arial;13;0",
+ "left": 3281,
+ "top": 856,
+ "width": 88.71728515625,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3EC6NugjjkY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugccSE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7oXg9WQpWI="
+ },
+ "font": "Arial;13;0",
+ "left": 3281,
+ "top": 866,
+ "width": 88.71728515625,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3EC6NugkPS4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugccSE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7oXg9WQpWI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2545,
+ "top": -105,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3EC6NuglsZk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugccSE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7oXg9WQpWI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2545,
+ "top": -105,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3281,
+ "top": 831,
+ "width": 88.71728515625,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3EC6NugdYDM="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3EC6NugilgA="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3EC6NugjjkY="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3EC6NugkPS4="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3EC6NuglsZk="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL3EC6Nugm4CE=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7pt1PGAP1c="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6Nugnevw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7pt1PGAP1c="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3112,
+ "top": 823,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6NugoFWs=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7pt1PGAP1c="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3113,
+ "top": 808,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6NugpkNw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7pt1PGAP1c="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3111,
+ "top": 852,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6NugqVoQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7pt1PGB1i0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2970,
+ "top": 818,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6Nugr4Fs=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7pt1PGB1i0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2973,
+ "top": 804,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6NugscZs=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7pt1PGB1i0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2965,
+ "top": 845,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6NugtRDc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7pt1PGCpVw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3254,
+ "top": 829,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6NuguAY0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7pt1PGCpVw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3252,
+ "top": 815,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6Nugv3Bs=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7pt1PGCpVw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3257,
+ "top": 856,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3EC6NugwZMg=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7pt1PGB1i0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2649,
+ "top": 111,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL3EC6Nugxzvc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugm4CE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7pt1PGCpVw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2649,
+ "top": 111,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3EC6NugccSE="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3EC6NugSKAY="
+ },
+ "lineStyle": 1,
+ "points": "2944:838;3280:851",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3EC6Nugnevw="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3EC6NugoFWs="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3EC6NugpkNw="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL3EC6NugqVoQ="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL3EC6Nugr4Fs="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL3EC6NugscZs="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL3EC6NugtRDc="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL3EC6NuguAY0="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL3EC6Nugv3Bs="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL3EC6NugwZMg="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL3EC6Nugxzvc="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3EC6NugywOI=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3EC6Nugz9NQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugywOI="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6Nug0I+c=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugz9NQ="
+ },
+ "font": "Arial;13;0",
+ "left": 3590,
+ "top": 844,
+ "width": 81.63720703125,
+ "height": 13,
+ "text": "«abstract»"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6Nug1sZU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugz9NQ="
+ },
+ "font": "Arial;13;1",
+ "left": 3590,
+ "top": 859,
+ "width": 81.63720703125,
+ "height": 13,
+ "text": "DataManager"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6Nug2Jf8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugz9NQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3041,
+ "top": -585,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6Nug3TP0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nugz9NQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3041,
+ "top": -585,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3585,
+ "top": 839,
+ "width": 91.63720703125,
+ "height": 38,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3EC6Nug0I+c="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3EC6Nug1sZU="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3EC6Nug2Jf8="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3EC6Nug3TP0="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3EC6Nug47Vw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugywOI="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ },
+ "font": "Arial;13;0",
+ "left": 3585,
+ "top": 877,
+ "width": 91.63720703125,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3EC6Nug5yqc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugywOI="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ },
+ "font": "Arial;13;0",
+ "left": 3585,
+ "top": 887,
+ "width": 91.63720703125,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3EC6Nug6/JU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugywOI="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2289,
+ "top": 47,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3EC6Nug7Jso=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NugywOI="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2289,
+ "top": 47,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3585,
+ "top": 839,
+ "width": 91.63720703125,
+ "height": 58,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3EC6Nugz9NQ="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3EC6Nug47Vw="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3EC6Nug5yqc="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3EC6Nug6/JU="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3EC6Nug7Jso="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL3EC6Nug8Ro0=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL3EC6Nug9ngw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nug8Ro0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6Nug+fE0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nug9ngw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3679,
+ "top": -695,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6Nug/ut4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nug9ngw="
+ },
+ "font": "Arial;13;1",
+ "left": 3565,
+ "top": 991,
+ "width": 41.919921875,
+ "height": 13,
+ "text": "Stub"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6NuhA9+g=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nug9ngw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3679,
+ "top": -695,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL3EC6NuhBHQ0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nug9ngw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3679,
+ "top": -695,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3560,
+ "top": 984,
+ "width": 51.919921875,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3EC6Nug+fE0="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL3EC6Nug/ut4="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL3EC6NuhA9+g="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3EC6NuhBHQ0="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL3EC6NuhC6ng=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nug8Ro0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "font": "Arial;13;0",
+ "left": 3560,
+ "top": 1009,
+ "width": 51.919921875,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL3EC6NuhDUz0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nug8Ro0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "font": "Arial;13;0",
+ "left": 3560,
+ "top": 1019,
+ "width": 51.919921875,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL3EC6NuhEj+Y=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nug8Ro0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2608,
+ "top": -8,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL3EC6NuhFxZI=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6Nug8Ro0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 2608,
+ "top": -8,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3560,
+ "top": 984,
+ "width": 51.919921875,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL3EC6Nug9ngw="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL3EC6NuhC6ng="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL3EC6NuhDUz0="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL3EC6NuhEj+Y="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL3EC6NuhFxZI="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGL3EC6NuhGMoE=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7xJLQpG+ik="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6NuhHoNM=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NuhGMoE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7xJLQpG+ik="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3591,
+ "top": 929,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6NuhGMoE="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6NuhI1H0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NuhGMoE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7xJLQpG+ik="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3577,
+ "top": 924,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6NuhGMoE="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6NuhJlKQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NuhGMoE="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw7xJLQpG+ik="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3620,
+ "top": 938,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6NuhGMoE="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3EC6NugywOI="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3EC6Nug8Ro0="
+ },
+ "lineStyle": 1,
+ "points": "3592:983;3620:897",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3EC6NuhHoNM="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3EC6NuhI1H0="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3EC6NuhJlKQ="
+ }
+ },
+ {
+ "_type": "UMLDependencyView",
+ "_id": "AAAAAAGL3EC6NuhKhx0=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw8OfyokBM5A="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6NuhLBMA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NuhKhx0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw8OfyokBM5A="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3477,
+ "top": 839,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6NuhKhx0="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6NuhMeaQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NuhKhx0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw8OfyokBM5A="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3478,
+ "top": 824,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6NuhKhx0="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EC6NuhN5ak=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EC6NuhKhx0="
+ },
+ "model": {
+ "$ref": "AAAAAAGLw8OfyokBM5A="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3476,
+ "top": 868,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EC6NuhKhx0="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3EC6NugywOI="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3EC6NugccSE="
+ },
+ "lineStyle": 1,
+ "points": "3370:855;3584:865",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3EC6NuhLBMA="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3EC6NuhMeaQ="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3EC6NuhN5ak="
+ }
+ },
+ {
+ "_type": "UMLDependencyView",
+ "_id": "AAAAAAGL3EhnLQk/wU8=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EhnKwk9Pw0="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EhnLQlAeLk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EhnLQk/wU8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EhnKwk9Pw0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3773,
+ "top": 2707,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EhnLQk/wU8="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EhnLglBTew=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EhnLQk/wU8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EhnKwk9Pw0="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3770,
+ "top": 2692,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EhnLQk/wU8="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL3EhnLglC42U=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EhnLQk/wU8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL3EhnKwk9Pw0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3778,
+ "top": 2736,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL3EhnLQk/wU8="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3BsTqaEI6W8="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3CMxnUgw9Qc="
+ },
+ "lineStyle": 1,
+ "points": "3591:2626;3776:2728;4183:2656",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL3EhnLQlAeLk="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL3EhnLglBTew="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL3EhnLglC42U="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL8e8PL0VmSkQ=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL8e8PMEVnGz8=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PL0VmSkQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8e8PMEVoIWg=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PMEVnGz8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1408,
+ "top": 992,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8e8PMUVpAU4=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PMEVnGz8="
+ },
+ "font": "Arial;13;1",
+ "left": 3965,
+ "top": 1799,
+ "width": 96.80810546875,
+ "height": 13,
+ "text": "UserRepository"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8e8PMUVqQ5g=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PMEVnGz8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1408,
+ "top": 992,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8e8PMUVrcd4=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PMEVnGz8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1408,
+ "top": 992,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3960,
+ "top": 1792,
+ "width": 106.80810546875,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL8e8PMEVoIWg="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL8e8PMUVpAU4="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL8e8PMUVqQ5g="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL8e8PMUVrcd4="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL8e8PMUVsK2E=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PL0VmSkQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "subViews": [
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGL+8w3rCz3EQg=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PMUVsK2E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8w3liysleM="
+ },
+ "font": "Arial;13;0",
+ "left": 3965,
+ "top": 1822,
+ "width": 96.80810546875,
+ "height": 13,
+ "text": "-users: array",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3960,
+ "top": 1817,
+ "width": 106.80810546875,
+ "height": 23
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL8e8PMUVtEH0=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PL0VmSkQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "font": "Arial;13;0",
+ "left": 3960,
+ "top": 1840,
+ "width": 106.80810546875,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL8e8PMUVurv4=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PL0VmSkQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 704,
+ "top": 496,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL8e8PMUVvyqI=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PL0VmSkQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 704,
+ "top": 496,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3960,
+ "top": 1792,
+ "width": 106.80810546875,
+ "height": 71,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL8e8PMEVnGz8="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL8e8PMUVsK2E="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL8e8PMUVtEH0="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL8e8PMUVurv4="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL8e8PMUVvyqI="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL8e9J0ldJrjo=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL8e9J01dKxDk=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J0ldJrjo="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8e9J01dLMhE=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J01dKxDk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1952,
+ "top": -704,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8e9J01dMxu0=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J01dKxDk="
+ },
+ "font": "Arial;13;1",
+ "left": 4061,
+ "top": 959,
+ "width": 75.86083984375,
+ "height": 13,
+ "text": "AuthService"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8e9J01dN/AA=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J01dKxDk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1952,
+ "top": -704,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8e9J01dOzTw=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J01dKxDk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1952,
+ "top": -704,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4056,
+ "top": 952,
+ "width": 85.86083984375,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL8e9J01dLMhE="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL8e9J01dMxu0="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL8e9J01dN/AA="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL8e9J01dOzTw="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL8e9J01dPxyE=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J0ldJrjo="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "font": "Arial;13;0",
+ "left": 4056,
+ "top": 977,
+ "width": 85.86083984375,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL8e9J01dQhvI=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J0ldJrjo="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "font": "Arial;13;0",
+ "left": 4056,
+ "top": 987,
+ "width": 85.86083984375,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL8e9J01dRnSs=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J0ldJrjo="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 976,
+ "top": -352,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL8e9J01dSt+8=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J0ldJrjo="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 976,
+ "top": -352,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 4056,
+ "top": 952,
+ "width": 85.86083984375,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL8e9J01dKxDk="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL8e9J01dPxyE="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL8e9J01dQhvI="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL8e9J01dRnSs="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL8e9J01dSt+8="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL8fAHTpcfcxQ=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL8fAHTpcgm1k=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTpcfcxQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8fAHT5chwjE=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTpcgm1k="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1248,
+ "top": -416,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8fAHT5ciXp0=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTpcgm1k="
+ },
+ "font": "Arial;13;1",
+ "left": 3685,
+ "top": 1175,
+ "width": 82.3671875,
+ "height": 13,
+ "text": "UserManager"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8fAHT5cjZF4=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTpcgm1k="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1248,
+ "top": -416,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8fAHT5cki6A=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTpcgm1k="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1248,
+ "top": -416,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3680,
+ "top": 1168,
+ "width": 92.3671875,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL8fAHT5chwjE="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL8fAHT5ciXp0="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL8fAHT5cjZF4="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL8fAHT5cki6A="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL8fAHT5clCB0=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTpcfcxQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "font": "Arial;13;0",
+ "left": 3680,
+ "top": 1193,
+ "width": 92.3671875,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL8fAHT5cmKsU=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTpcfcxQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "font": "Arial;13;0",
+ "left": 3680,
+ "top": 1203,
+ "width": 92.3671875,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL8fAHT5cnzVg=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTpcfcxQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 624,
+ "top": -208,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL8fAHT5cobGg=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTpcfcxQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 624,
+ "top": -208,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3680,
+ "top": 1168,
+ "width": 92.3671875,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL8fAHTpcgm1k="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL8fAHT5clCB0="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL8fAHT5cmKsU="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL8fAHT5cnzVg="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL8fAHT5cobGg="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL8kwWNOvs/ko=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL8kwWNevt7h4=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWNOvs/ko="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8kwWNevuGgw=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWNevt7h4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -544,
+ "top": 432,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8kwWNevv/0Y=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWNevt7h4="
+ },
+ "font": "Arial;13;1",
+ "left": 3189,
+ "top": 2743,
+ "width": 150.97265625,
+ "height": 13,
+ "text": "EntrainementRepository"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8kwWNevwRpI=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWNevt7h4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -544,
+ "top": 432,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL8kwWNevx3X0=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWNevt7h4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -544,
+ "top": 432,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3184,
+ "top": 2736,
+ "width": 160.97265625,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL8kwWNevuGgw="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL8kwWNevv/0Y="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL8kwWNevwRpI="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL8kwWNevx3X0="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL8kwWNevy7vE=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWNOvs/ko="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "font": "Arial;13;0",
+ "left": 3184,
+ "top": 2761,
+ "width": 160.97265625,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL8kwWNevzRQQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWNOvs/ko="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "font": "Arial;13;0",
+ "left": 3184,
+ "top": 2771,
+ "width": 160.97265625,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL8kwWNev0nPo=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWNOvs/ko="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -272,
+ "top": 216,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL8kwWNev1L3w=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWNOvs/ko="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -272,
+ "top": 216,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3184,
+ "top": 2736,
+ "width": 160.97265625,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL8kwWNevt7h4="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL8kwWNevy7vE="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL8kwWNevzRQQ="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL8kwWNev0nPo="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL8kwWNev1L3w="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL8lO7+WPDWLU=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lO7+GO/UQE="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lO7+mPEK6o=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lO7+GO/UQE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4021,
+ "top": 1909,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lO7+mPF070=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lO7+GO/UQE="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4036,
+ "top": 1910,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lO7+mPGdnA=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lO7+GO/UQE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3992,
+ "top": 1908,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lO7+mPHYXo=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lO7+GPAblU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4023,
+ "top": 1883,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lO7+mPIjKE=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lO7+GPAblU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4036,
+ "top": 1886,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lO7+mPJ378=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lO7+GPAblU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3996,
+ "top": 1877,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lO7+mPK26w=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lO7+GPBs+g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4020,
+ "top": 1935,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lO7+mPLcXE=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lO7+GPBs+g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4033,
+ "top": 1934,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lO7+mPMY/Y=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lO7+GPBs+g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3992,
+ "top": 1938,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL8lO7+mPN9/A=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lO7+GPAblU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL8lO7+mPOJ04=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+WPDWLU="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lO7+GPBs+g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3Bpk6Nh7nd8="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL8e8PL0VmSkQ="
+ },
+ "lineStyle": 1,
+ "points": "4010:1863;4004:1967",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL8lO7+mPEK6o="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL8lO7+mPF070="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL8lO7+mPGdnA="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL8lO7+mPHYXo="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL8lO7+mPIjKE="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL8lO7+mPJ378="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL8lO7+mPK26w="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL8lO7+mPLcXE="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL8lO7+mPMY/Y="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL8lO7+mPN9/A="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL8lO7+mPOJ04="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL8lXBS67DYgg=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lXBSa6/2w4="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lXBS67EK3I=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lXBSa6/2w4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3869,
+ "top": 900,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lXBS67F6AQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lXBSa6/2w4="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3872,
+ "top": 885,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lXBS67Gc4s=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lXBSa6/2w4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3862,
+ "top": 929,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lXBTK7HYIA=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lXBSa7AoxY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3705,
+ "top": 863,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lXBTK7Ivfo=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lXBSa7AoxY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3710,
+ "top": 850,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lXBTK7JxMA=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lXBSa7AoxY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3695,
+ "top": 888,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lXBTK7KBwQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lXBSa7B00o="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4032,
+ "top": 937,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lXBTK7LPto=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lXBSa7B00o="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4033,
+ "top": 924,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL8lXBTK7MGZo=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lXBSa7B00o="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4031,
+ "top": 965,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL8lXBTK7NaZA=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lXBSa7AoxY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL8lXBTK7OIvI=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBS67DYgg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL8lXBSa7B00o="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL8e9J0ldJrjo="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3EC6NugywOI="
+ },
+ "lineStyle": 1,
+ "points": "3677:878;4055:964",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL8lXBS67EK3I="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL8lXBS67F6AQ="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL8lXBS67Gc4s="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL8lXBTK7HYIA="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL8lXBTK7Ivfo="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL8lXBTK7JxMA="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL8lXBTK7KBwQ="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL8lXBTK7LPto="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL8lXBTK7MGZo="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL8lXBTK7NaZA="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL8lXBTK7OIvI="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL+8rOIEknLJI=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8rOHkkjQa8="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8rOIUko0e8=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8rOHkkjQa8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4170,
+ "top": 1085,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8rOIUkpnxA=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8rOHkkjQa8="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4158,
+ "top": 1094,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8rOIUkqzew=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8rOHkkjQa8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4193,
+ "top": 1066,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8rOIUkrcbw=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8rOH0kk5Us="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4221,
+ "top": 1149,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8rOIUks864=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8rOH0kk5Us="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4209,
+ "top": 1156,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8rOIUktsAY=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8rOH0kk5Us="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4245,
+ "top": 1136,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8rOIUkuZk8=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8rOH0kl1Ag="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4120,
+ "top": 1020,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8rOIUkv5a8=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8rOH0kl1Ag="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4111,
+ "top": 1030,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8rOIUkwAc4=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8rOH0kl1Ag="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4139,
+ "top": 1000,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL+8rOIUkx/wo=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8rOH0kk5Us="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL+8rOIUkyAUc=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOIEknLJI="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8rOH0kl1Ag="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL8e9J0ldJrjo="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3EA5py45w5E="
+ },
+ "lineStyle": 1,
+ "points": "4249:1167;4116:997",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL+8rOIUko0e8="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+8rOIUkpnxA="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+8rOIUkqzew="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL+8rOIUkrcbw="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL+8rOIUks864="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL+8rOIUktsAY="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL+8rOIUkuZk8="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL+8rOIUkv5a8="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL+8rOIUkwAc4="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL+8rOIUkx/wo="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL+8rOIUkyAUc="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL+8tZ+K7c/nM=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8tZ967YT0Q="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8tZ+a7digU=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8tZ967YT0Q="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4369,
+ "top": 1116,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8tZ+a7eLHc=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8tZ967YT0Q="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4354,
+ "top": 1119,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8tZ+a7fiuQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8tZ967YT0Q="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4398,
+ "top": 1111,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8tZ+a7gF+o=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8tZ967ZQD0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3799,
+ "top": 1176,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8tZ+a7hbVM=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8tZ967ZQD0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3802,
+ "top": 1163,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8tZ+a7iO2M=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8tZ967ZQD0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3792,
+ "top": 1203,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8tZ+a7j0rE=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8tZ967azMY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4167,
+ "top": 985,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8tZ+a7kGIo=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8tZ967azMY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4169,
+ "top": 999,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+8tZ+a7lIZQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8tZ967azMY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4164,
+ "top": 958,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL+8tZ+a7mZBU=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8tZ967ZQD0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL+8tZ+a7nWnA=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ+K7c/nM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+8tZ967azMY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL8e9J0ldJrjo="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL8fAHTpcfcxQ="
+ },
+ "lineStyle": 1,
+ "points": "3772:1195;4408:1256;4360:984;4142:976",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL+8tZ+a7digU="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+8tZ+a7eLHc="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+8tZ+a7fiuQ="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL+8tZ+a7gF+o="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL+8tZ+a7hbVM="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL+8tZ+a7iO2M="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL+8tZ+a7j0rE="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL+8tZ+a7kGIo="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL+8tZ+a7lIZQ="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL+8tZ+a7mZBU="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL+8tZ+a7nWnA="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL+82j3FEcyoc=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL+82j3FEdnM8=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3FEcyoc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL+82j3VEef7E=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3FEdnM8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -64,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL+82j3VEfYy0=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3FEdnM8="
+ },
+ "font": "Arial;13;1",
+ "left": 3605,
+ "top": 1295,
+ "width": 665.8564453125,
+ "height": 13,
+ "text": "IGenericRepository"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL+82j3VEgwrw=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3FEdnM8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -64,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL+82j3VEha1o=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3FEdnM8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -64,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3600,
+ "top": 1288,
+ "width": 675.8564453125,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+82j3VEef7E="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL+82j3VEfYy0="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL+82j3VEgwrw="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+82j3VEha1o="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL+82j3VEiTxc=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3FEcyoc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "font": "Arial;13;0",
+ "left": 3600,
+ "top": 1313,
+ "width": 675.8564453125,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL+82j3VEjiyg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3FEcyoc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL+84t2m6K78I=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3VEjiyg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+84tpm4nUBQ="
+ },
+ "font": "Arial;13;0",
+ "left": 3605,
+ "top": 1328,
+ "width": 665.8564453125,
+ "height": 13,
+ "text": "+getItemById(id: int)",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL+86cfHnTO3k=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3VEjiyg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+86cPHlwc+E="
+ },
+ "font": "Arial;13;0",
+ "left": 3605,
+ "top": 1343,
+ "width": 665.8564453125,
+ "height": 13,
+ "text": "+getNbItems(): int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL+86fd305Cww=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3VEjiyg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+86fO3zWI0s="
+ },
+ "font": "Arial;13;0",
+ "left": 3605,
+ "top": 1358,
+ "width": 665.8564453125,
+ "height": 13,
+ "text": "+getItems(index: int, count: int, orderingPropertyName: ?String, descending: bool): array",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL+86ns4CfwV0=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3VEjiyg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+86ncIA8/pY="
+ },
+ "font": "Arial;13;0",
+ "left": 3605,
+ "top": 1373,
+ "width": 665.8564453125,
+ "height": 13,
+ "text": "+getItemsByName(substring: String, index: int, count: int, orderingPropertyName: ?String, descending: bool): ?array",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL+86qHYQFmS4=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3VEjiyg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+86p3oOiaNc="
+ },
+ "font": "Arial;13;0",
+ "left": 3605,
+ "top": 1388,
+ "width": 665.8564453125,
+ "height": 13,
+ "text": "+getItemsByName(substring: String, index: int, count: int, orderingPropertyName: ?String, descending: bool)",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL+86sjYdrzkU=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3VEjiyg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+86sTYcItmQ="
+ },
+ "font": "Arial;13;0",
+ "left": 3605,
+ "top": 1403,
+ "width": 665.8564453125,
+ "height": 13,
+ "text": "+updateItem(oldItem, newItem): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGL+86uxIrRU/g=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3VEjiyg="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+86ui4puvnk="
+ },
+ "font": "Arial;13;0",
+ "left": 3605,
+ "top": 1418,
+ "width": 665.8564453125,
+ "height": 13,
+ "text": "+deleteItem(item): bool",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3600,
+ "top": 1323,
+ "width": 675.8564453125,
+ "height": 113
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL+82j3VEkf/0=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3FEcyoc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -32,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL+82j3VEleEk=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j3FEcyoc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -32,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3600,
+ "top": 1288,
+ "width": 675.8564453125,
+ "height": 148,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL+82j3FEdnM8="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL+82j3VEiTxc="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL+82j3VEjiyg="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL+82j3VEkf/0="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL+82j3VEleEk="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL+9O3Fr8A9kM=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9O3E77+iB4="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL+9O3F78BOMg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9O3Fr8A9kM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9O3E77+iB4="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL+9O3F78CrIE=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9O3F78BOMg="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL+9O3F78DySM=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9O3F78BOMg="
+ },
+ "font": "Arial;13;1",
+ "left": 3709,
+ "top": 1519,
+ "width": 122.07177734375,
+ "height": 13,
+ "text": "ITrainingRepository"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL+9O3F78EMdg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9O3F78BOMg="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL+9O3F78FN9A=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9O3F78BOMg="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3704,
+ "top": 1512,
+ "width": 132.07177734375,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+9O3F78CrIE="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL+9O3F78DySM="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL+9O3F78EMdg="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+9O3F78FN9A="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL+9O3F78GjZg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9O3Fr8A9kM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9O3E77+iB4="
+ },
+ "font": "Arial;13;0",
+ "left": 3704,
+ "top": 1537,
+ "width": 132.07177734375,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL+9O3F78H6KE=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9O3Fr8A9kM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9O3E77+iB4="
+ },
+ "font": "Arial;13;0",
+ "left": 3704,
+ "top": 1547,
+ "width": 132.07177734375,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL+9O3F78IiiI=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9O3Fr8A9kM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9O3E77+iB4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL+9O3GL8J2/s=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9O3Fr8A9kM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9O3E77+iB4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3704,
+ "top": 1512,
+ "width": 132.07177734375,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL+9O3F78BOMg="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL+9O3F78GjZg="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL+9O3F78H6KE="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL+9O3F78IiiI="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL+9O3GL8J2/s="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL+9PoNNQIuXw=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9PoMtQG54g="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL+9PoNdQJC5U=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9PoNNQIuXw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9PoMtQG54g="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL+9PoNdQKlXY=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9PoNdQJC5U="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 848,
+ "top": 48,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL+9PoNdQLUfI=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9PoNdQJC5U="
+ },
+ "font": "Arial;13;1",
+ "left": 4085,
+ "top": 1527,
+ "width": 100.419921875,
+ "height": 13,
+ "text": "IUserRepository"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL+9PoNdQM5Ew=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9PoNdQJC5U="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 848,
+ "top": 48,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL+9PoNdQN2fA=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9PoNdQJC5U="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 848,
+ "top": 48,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4080,
+ "top": 1520,
+ "width": 110.419921875,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+9PoNdQKlXY="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL+9PoNdQLUfI="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL+9PoNdQM5Ew="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+9PoNdQN2fA="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL+9PoNdQOmYg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9PoNNQIuXw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9PoMtQG54g="
+ },
+ "font": "Arial;13;0",
+ "left": 4080,
+ "top": 1545,
+ "width": 110.419921875,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL+9PoNdQPg/M=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9PoNNQIuXw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9PoMtQG54g="
+ },
+ "font": "Arial;13;0",
+ "left": 4080,
+ "top": 1555,
+ "width": 110.419921875,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL+9PoNdQQOeE=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9PoNNQIuXw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9PoMtQG54g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 424,
+ "top": 24,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL+9PoNdQRN8A=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9PoNNQIuXw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9PoMtQG54g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 424,
+ "top": 24,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 4080,
+ "top": 1520,
+ "width": 110.419921875,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL+9PoNdQJC5U="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL+9PoNdQOmYg="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL+9PoNdQPg/M="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL+9PoNdQQOeE="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL+9PoNdQRN8A="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGL+9RSGxB+nHc=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9RSGRB8+vM="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9RSGxB/KpY=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9RSGxB+nHc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9RSGRB8+vM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3816,
+ "top": 1456,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9RSGxB+nHc="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9RSGxCAPdg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9RSGxB+nHc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9RSGRB8+vM="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3805,
+ "top": 1445,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9RSGxB+nHc="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9RSGxCBVsg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9RSGxB+nHc="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9RSGRB8+vM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3837,
+ "top": 1477,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9RSGxB+nHc="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL+82j3FEcyoc="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL+9O3Fr8A9kM="
+ },
+ "lineStyle": 1,
+ "points": "3791:1511;3864:1436",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL+9RSGxB/KpY="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+9RSGxCAPdg="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+9RSGxCBVsg="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGL+9RdJRsYynw=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9RdJBsWH7s="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9RdJRsZl4s=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9RdJRsYynw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9RdJBsWH7s="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4053,
+ "top": 1482,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9RdJRsYynw="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9RdJhsaMvs=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9RdJRsYynw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9RdJBsWH7s="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4043,
+ "top": 1493,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9RdJRsYynw="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9RdJhsbpBU=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9RdJRsYynw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9RdJBsWH7s="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4074,
+ "top": 1459,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9RdJRsYynw="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL+82j3FEcyoc="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL+9PoNNQIuXw="
+ },
+ "lineStyle": 1,
+ "points": "4109:1519;4019:1436",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL+9RdJRsZl4s="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+9RdJhsaMvs="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+9RdJhsbpBU="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGL+9Ru2jbFEaA=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9Ru2TbDJ+A="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9Ru2zbGfmg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9Ru2jbFEaA="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9Ru2TbDJ+A="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4061,
+ "top": 1666,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9Ru2jbFEaA="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9Ru2zbHIig=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9Ru2jbFEaA="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9Ru2TbDJ+A="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4047,
+ "top": 1660,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9Ru2jbFEaA="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9Ru2zbIGgw=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9Ru2jbFEaA="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9Ru2TbDJ+A="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4088,
+ "top": 1677,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9Ru2jbFEaA="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL+9PoNNQIuXw="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL8e8PL0VmSkQ="
+ },
+ "lineStyle": 1,
+ "points": "4027:1791;4124:1565",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL+9Ru2zbGfmg="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+9Ru2zbHIig="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+9Ru2zbIGgw="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGL+9Se8smboVw=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9Se8MmZLdo="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9Se8smclxw=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9Se8smboVw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9Se8MmZLdo="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3357,
+ "top": 1895,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9Se8smboVw="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9Se8smdmXM=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9Se8smboVw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9Se8MmZLdo="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3347,
+ "top": 1884,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9Se8smboVw="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9Se8smeaGk=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9Se8smboVw="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9Se8MmZLdo="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3378,
+ "top": 1916,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9Se8smboVw="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL+9O3Fr8A9kM="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL8kwWNOvs/ko="
+ },
+ "lineStyle": 1,
+ "points": "3266:2735;3368:1912;3745:1557",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL+9Se8smclxw="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+9Se8smdmXM="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+9Se8smeaGk="
+ }
+ },
+ {
+ "_type": "UMLDependencyView",
+ "_id": "AAAAAAGL+9V6x0TV/+Y=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9V6xkTTcHA="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9V6yETWAtw=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9V6x0TV/+Y="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9V6xkTTcHA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3526,
+ "top": 1588,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9V6x0TV/+Y="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9V6yETXVbY=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9V6x0TV/+Y="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9V6xkTTcHA="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3532,
+ "top": 1574,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9V6x0TV/+Y="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9V6yETYeeg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9V6x0TV/+Y="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9V6xkTTcHA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3513,
+ "top": 1615,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9V6x0TV/+Y="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL8e8PL0VmSkQ="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3EC6Nug8Ro0="
+ },
+ "lineStyle": 1,
+ "points": "3583:1029;3520:1608;3959:1803",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL+9V6yETWAtw="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+9V6yETXVbY="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+9V6yETYeeg="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL+9YU3awXKn8=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9YU26wTNo0="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9YU3qwY2s8=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9YU26wTNo0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4041,
+ "top": 1141,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9YU3qwZHX0=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9YU26wTNo0="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4055,
+ "top": 1147,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9YU3qwaaAc=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9YU26wTNo0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4014,
+ "top": 1130,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9YU3qwbL8I=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9YU26wUZOY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4091,
+ "top": 1020,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9YU3qwcWnI=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9YU26wUZOY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4103,
+ "top": 1027,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9YU3qwd9bg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9YU26wUZOY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4068,
+ "top": 1006,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9YU3qwe/3E=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9YU26wVXhc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3991,
+ "top": 1262,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9YU3qwfUbg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9YU26wVXhc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4004,
+ "top": 1265,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9YU3qwgFmc=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9YU26wVXhc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3964,
+ "top": 1256,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL+9YU3qwhe/Y=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9YU26wUZOY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL+9YU3qwiTuU=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU3awXKn8="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9YU26wVXhc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL+82j3FEcyoc="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL8e9J0ldJrjo="
+ },
+ "lineStyle": 1,
+ "points": "4088:997;3968:1287",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL+9YU3qwY2s8="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+9YU3qwZHX0="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+9YU3qwaaAc="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL+9YU3qwbL8I="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL+9YU3qwcWnI="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL+9YU3qwd9bg="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL+9YU3qwe/3E="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL+9YU3qwfUbg="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL+9YU3qwgFmc="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL+9YU3qwhe/Y="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL+9YU3qwiTuU="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL+9lB22JQZ5E=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lB2GJMfIE="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lB22JRtlE=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lB2GJMfIE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3666,
+ "top": 1082,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lB22JSZXA=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lB2GJMfIE="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3678,
+ "top": 1073,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lB22JT9HQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lB2GJMfIE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3643,
+ "top": 1101,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lB22JUfvg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lB2WJNfVI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3630,
+ "top": 1034,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lB22JV6mA=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lB2WJNfVI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3642,
+ "top": 1028,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lB22JWWlA=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lB2WJNfVI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3606,
+ "top": 1047,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lB22JX5gk=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lB2WJO1RQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3704,
+ "top": 1131,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lB22JYWWM=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lB2WJO1RQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3713,
+ "top": 1121,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lB22JZ4j0=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lB2WJO1RQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3684,
+ "top": 1151,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL+9lB22JagX4=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lB2WJNfVI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL+9lB3GJbP0E=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB22JQZ5E="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lB2WJO1RQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL8fAHTpcfcxQ="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3EC6Nug8Ro0="
+ },
+ "lineStyle": 1,
+ "points": "3603:1029;3708:1167",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL+9lB22JRtlE="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+9lB22JSZXA="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+9lB22JT9HQ="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL+9lB22JUfvg="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL+9lB22JV6mA="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL+9lB22JWWlA="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL+9lB22JX5gk="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL+9lB22JYWWM="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL+9lB22JZ4j0="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL+9lB22JagX4="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL+9lB3GJbP0E="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL+9lQ0XokzqM=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lQz3og1pg="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lQ0XolXG4=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lQz3og1pg="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3916,
+ "top": 1073,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lQ0Xomv/A=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lQz3og1pg="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3920,
+ "top": 1059,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lQ0XoniIU=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lQz3og1pg="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3909,
+ "top": 1102,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lQ0XoorW0=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lQz3ohaCY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3640,
+ "top": 999,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lQ0Xop+7o=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lQz3ohaCY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3646,
+ "top": 987,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lQ0noqobQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lQz3ohaCY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3629,
+ "top": 1024,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lQ0norYrs=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lQz3oiCYc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4193,
+ "top": 1148,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lQ0nosRNA=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lQz3oiCYc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4195,
+ "top": 1135,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL+9lQ0notl+k=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lQz3oiCYc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4190,
+ "top": 1176,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL+9lQ0nou4Os=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lQz3ohaCY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL+9lQ0nov3ao=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQ0XokzqM="
+ },
+ "model": {
+ "$ref": "AAAAAAGL+9lQz3oiCYc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3EA5py45w5E="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3EC6Nug8Ro0="
+ },
+ "lineStyle": 1,
+ "points": "3612:1013;4215:1176",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL+9lQ0XolXG4="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL+9lQ0Xomv/A="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL+9lQ0XoniIU="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL+9lQ0XoorW0="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL+9lQ0Xop+7o="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL+9lQ0noqobQ="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL+9lQ0norYrs="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL+9lQ0nosRNA="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL+9lQ0notl+k="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL+9lQ0nou4Os="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL+9lQ0nov3ao="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL++Z1Ierpd8M=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Z1IOrl2bA="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++Z1Iurq+hE=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Z1IOrl2bA="
+ },
+ "font": "Arial;13;0",
+ "left": 3351,
+ "top": 2848,
+ "width": 121.03076171875,
+ "height": 13,
+ "alpha": 0.6921845475682045,
+ "distance": 98.95453501482385,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "edgePosition": 1,
+ "text": "-entrainementList"
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++Z1Iurrux4=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Z1IOrl2bA="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3340,
+ "top": 2806,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++Z1IursKqY=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Z1IOrl2bA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3303,
+ "top": 2832,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++Z1IurtNUc=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Z1IOrmj24="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3307,
+ "top": 2787,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++Z1IuruW3k=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Z1IOrmj24="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3319,
+ "top": 2781,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++Z1Iurv9ho=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Z1IOrmj24="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3282,
+ "top": 2799,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++Z1Iurw9sk=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Z1IOrnew4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3348,
+ "top": 2843,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++Z1Iurx+J8=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Z1IOrnew4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3358,
+ "top": 2833,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++Z1IuryFxs=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Z1IOrnew4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3329,
+ "top": 2862,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL++Z1Iurz82s=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Z1IOrmj24="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL++Z1Iur0tvc=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1Ierpd8M="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++Z1IOrnew4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3DMzZkmwpP8="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL8kwWNOvs/ko="
+ },
+ "lineStyle": 1,
+ "points": "3280:2781;3352:2879",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL++Z1Iurq+hE="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL++Z1Iurrux4="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL++Z1IursKqY="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL++Z1IurtNUc="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL++Z1IuruW3k="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL++Z1Iurv9ho="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL++Z1Iurw9sk="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL++Z1Iurx+J8="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL++Z1IuryFxs="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL++Z1Iurz82s="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL++Z1Iur0tvc="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGL++aCHApuNNY=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++aCGgpsPN4="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGL++aCHApv9g0=",
+ "_parent": {
+ "$ref": "AAAAAAGL++aCHApuNNY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++aCGgpsPN4="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL++aCHApwYGY=",
+ "_parent": {
+ "$ref": "AAAAAAGL++aCHApv9g0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL++aCHApxh8E=",
+ "_parent": {
+ "$ref": "AAAAAAGL++aCHApv9g0="
+ },
+ "font": "Arial;13;1",
+ "left": 3397,
+ "top": 3215,
+ "width": 124.95361328125,
+ "height": 13,
+ "text": "EntrainementSportif"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL++aCHApytmc=",
+ "_parent": {
+ "$ref": "AAAAAAGL++aCHApv9g0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGL++aCHApzgMU=",
+ "_parent": {
+ "$ref": "AAAAAAGL++aCHApv9g0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 3392,
+ "top": 3208,
+ "width": 134.95361328125,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL++aCHApwYGY="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGL++aCHApxh8E="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGL++aCHApytmc="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL++aCHApzgMU="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGL++aCHAp0YNk=",
+ "_parent": {
+ "$ref": "AAAAAAGL++aCHApuNNY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++aCGgpsPN4="
+ },
+ "font": "Arial;13;0",
+ "left": 3392,
+ "top": 3233,
+ "width": 134.95361328125,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGL++aCHQp1bng=",
+ "_parent": {
+ "$ref": "AAAAAAGL++aCHApuNNY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++aCGgpsPN4="
+ },
+ "font": "Arial;13;0",
+ "left": 3392,
+ "top": 3243,
+ "width": 134.95361328125,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGL++aCHQp2hLc=",
+ "_parent": {
+ "$ref": "AAAAAAGL++aCHApuNNY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++aCGgpsPN4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGL++aCHQp3KP0=",
+ "_parent": {
+ "$ref": "AAAAAAGL++aCHApuNNY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++aCGgpsPN4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 3392,
+ "top": 3208,
+ "width": 134.95361328125,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGL++aCHApv9g0="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGL++aCHAp0YNk="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGL++aCHQp1bng="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGL++aCHQp2hLc="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGL++aCHQp3KP0="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGL++arOhiEW1s=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++arORiCGus="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++arOxiFTMI=",
+ "_parent": {
+ "$ref": "AAAAAAGL++arOhiEW1s="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++arORiCGus="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3437,
+ "top": 3154,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++arOhiEW1s="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++arOxiGkAc=",
+ "_parent": {
+ "$ref": "AAAAAAGL++arOhiEW1s="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++arORiCGus="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3422,
+ "top": 3155,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++arOhiEW1s="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++arOxiHKFc=",
+ "_parent": {
+ "$ref": "AAAAAAGL++arOhiEW1s="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++arORiCGus="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3466,
+ "top": 3153,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++arOhiEW1s="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL3DMzZkmwpP8="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL++aCHApuNNY="
+ },
+ "lineStyle": 1,
+ "points": "3456:3207;3449:3114",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL++arOxiFTMI="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL++arOxiGkAc="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL++arOxiHKFc="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGL++iBH/dTm1o=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++iBHvdP07A="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++iBH/dUZHc=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++iBHvdP07A="
+ },
+ "font": "Arial;13;0",
+ "left": 3352,
+ "top": 2440,
+ "width": 145.60888671875,
+ "height": 13,
+ "alpha": 3.678431948894711,
+ "distance": 42,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "edgePosition": 1,
+ "text": "#entrainementRepository"
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++iBIPdVuVs=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++iBHvdP07A="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 3449,
+ "top": 2497,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++iBIPdW3Xk=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++iBHvdP07A="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3411,
+ "top": 2474,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++iBIPdXmHU=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++iBHvdQzLE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3911,
+ "top": 2415,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++iBIPdY5+E=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++iBHvdQzLE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3911,
+ "top": 2428,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++iBIPdZNqU=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++iBHvdQzLE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3911,
+ "top": 2387,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++iBIPdaKH4=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++iBHvdR3xE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3303,
+ "top": 2714,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++iBIPdblc8=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++iBHvdR3xE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3315,
+ "top": 2719,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGL++iBIPdcVS0=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++iBHvdR3xE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 3277,
+ "top": 2704,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL++iBIPddals=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++iBHvdQzLE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGL++iBIPdem5g=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBH/dTm1o="
+ },
+ "model": {
+ "$ref": "AAAAAAGL++iBHvdR3xE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGL8kwWNOvs/ko="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3BqoCyTo5V4="
+ },
+ "lineStyle": 1,
+ "points": "3935:2402;3424:2488;3277:2735",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGL++iBH/dUZHc="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGL++iBIPdVuVs="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGL++iBIPdW3Xk="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGL++iBIPdXmHU="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGL++iBIPdY5+E="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGL++iBIPdZNqU="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGL++iBIPdaKH4="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGL++iBIPdblc8="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGL++iBIPdcVS0="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGL++iBIPddals="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGL++iBIPdem5g="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGMBpdAZwuU9Ko=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpdAZQuSkhA="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGMBpdAaAuVC8E=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpdAZwuU9Ko="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpdAZQuSkhA="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpdAaAuWiv8=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpdAaAuVC8E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -16,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpdAaAuXB5Q=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpdAaAuVC8E="
+ },
+ "font": "Arial;13;1",
+ "left": 4613,
+ "top": 815,
+ "width": 70.08447265625,
+ "height": 13,
+ "text": "IFileReader"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpdAaAuY0IM=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpdAaAuVC8E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -16,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpdAaAuZ2rI=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpdAaAuVC8E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -16,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4608,
+ "top": 808,
+ "width": 80.08447265625,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGMBpdAaAuWiv8="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGMBpdAaAuXB5Q="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGMBpdAaAuY0IM="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGMBpdAaAuZ2rI="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGMBpdAaQuaSkI=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpdAZwuU9Ko="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpdAZQuSkhA="
+ },
+ "font": "Arial;13;0",
+ "left": 4608,
+ "top": 833,
+ "width": 80.08447265625,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGMBpdAaQubhRA=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpdAZwuU9Ko="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpdAZQuSkhA="
+ },
+ "font": "Arial;13;0",
+ "left": 4608,
+ "top": 843,
+ "width": 80.08447265625,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGMBpdAaQucVWQ=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpdAZwuU9Ko="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpdAZQuSkhA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -8,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGMBpdAaQudKxk=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpdAZwuU9Ko="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpdAZQuSkhA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -8,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 4608,
+ "top": 808,
+ "width": 80.08447265625,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGMBpdAaAuVC8E="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGMBpdAaQuaSkI="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGMBpdAaQubhRA="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGMBpdAaQucVWQ="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGMBpdAaQudKxk="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGMBpd9jA67nyk=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpd9ig65uB8="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGMBpd9jA68eic=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpd9jA67nyk="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpd9ig65uB8="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpd9jA69DEg=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpd9jA68eic="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpd9jA6++N4=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpd9jA68eic="
+ },
+ "font": "Arial;13;1",
+ "left": 4573,
+ "top": 1175,
+ "width": 75.1181640625,
+ "height": 13,
+ "text": "AthlketeMgr"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpd9jA6/8qY=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpd9jA68eic="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpd9jA7AJO0=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpd9jA68eic="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4568,
+ "top": 1168,
+ "width": 85.1181640625,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGMBpd9jA69DEg="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGMBpd9jA6++N4="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGMBpd9jA6/8qY="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGMBpd9jA7AJO0="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGMBpd9jA7B6Ps=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpd9jA67nyk="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpd9ig65uB8="
+ },
+ "font": "Arial;13;0",
+ "left": 4568,
+ "top": 1193,
+ "width": 85.1181640625,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGMBpd9jQ7CylI=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpd9jA67nyk="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpd9ig65uB8="
+ },
+ "font": "Arial;13;0",
+ "left": 4568,
+ "top": 1203,
+ "width": 85.1181640625,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGMBpd9jQ7DFus=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpd9jA67nyk="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpd9ig65uB8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGMBpd9jQ7EUI0=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpd9jA67nyk="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpd9ig65uB8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 4568,
+ "top": 1168,
+ "width": 85.1181640625,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGMBpd9jA68eic="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGMBpd9jA7B6Ps="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGMBpd9jQ7CylI="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGMBpd9jQ7DFus="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGMBpd9jQ7EUI0="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGMBperHCDV/Mc=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBperGiDRgno="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBperHCDWjP4=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBperGiDRgno="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4613,
+ "top": 1002,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBperHCDXrqs=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBperGiDRgno="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4598,
+ "top": 1000,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBperHCDYm6E=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBperGiDRgno="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4642,
+ "top": 1005,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBperHCDZ0hM=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBperGiDSkv4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4599,
+ "top": 1133,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBperHCDa9C0=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBperGiDSkv4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4586,
+ "top": 1129,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBperHCDbV2Q=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBperGiDSkv4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4626,
+ "top": 1140,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBperHSDcI7U=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBperGiDT2kA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4627,
+ "top": 871,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBperHSDdRYk=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBperGiDT2kA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4613,
+ "top": 872,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBperHSDee18=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBperGiDT2kA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4655,
+ "top": 869,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGMBperHSDfwBk=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBperGiDSkv4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGMBperHSDgy0c=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperHCDV/Mc="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBperGiDT2kA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGMBpdAZwuU9Ko="
+ },
+ "tail": {
+ "$ref": "AAAAAAGMBpd9jA67nyk="
+ },
+ "lineStyle": 1,
+ "points": "4612:1167;4645:853",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGMBperHCDWjP4="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGMBperHCDXrqs="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGMBperHCDYm6E="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGMBperHCDZ0hM="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGMBperHCDa9C0="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGMBperHCDbV2Q="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGMBperHSDcI7U="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGMBperHSDdRYk="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGMBperHSDee18="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGMBperHSDfwBk="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGMBperHSDgy0c="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGMBpe7/iSd2yE=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpe7/CSbj9A="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGMBpe7/iSeTew=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpe7/iSd2yE="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpe7/CSbj9A="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpe7/iSfpKY=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpe7/iSeTew="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpe7/iSg9/o=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpe7/iSeTew="
+ },
+ "font": "Arial;13;1",
+ "left": 4845,
+ "top": 999,
+ "width": 41.919921875,
+ "height": 13,
+ "text": "Fit"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpe7/iShO0o=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpe7/iSeTew="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpe7/iSizgA=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpe7/iSeTew="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4840,
+ "top": 992,
+ "width": 51.919921875,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGMBpe7/iSfpKY="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGMBpe7/iSg9/o="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGMBpe7/iShO0o="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGMBpe7/iSizgA="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGMBpe7/iSjG28=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpe7/iSd2yE="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpe7/CSbj9A="
+ },
+ "font": "Arial;13;0",
+ "left": 4840,
+ "top": 1017,
+ "width": 51.919921875,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGMBpe7/iSkAzo=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpe7/iSd2yE="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpe7/CSbj9A="
+ },
+ "font": "Arial;13;0",
+ "left": 4840,
+ "top": 1027,
+ "width": 51.919921875,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGMBpe7/ySlufY=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpe7/iSd2yE="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpe7/CSbj9A="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGMBpe7/ySmCFQ=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpe7/iSd2yE="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpe7/CSbj9A="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 4840,
+ "top": 992,
+ "width": 51.919921875,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGMBpe7/iSeTew="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGMBpe7/iSjG28="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGMBpe7/iSkAzo="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGMBpe7/ySlufY="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGMBpe7/ySmCFQ="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGMBpfYWy3ZgGs=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpfYWi3Xomc="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBpfYXC3aIX8=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpfYWy3ZgGs="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpfYWi3Xomc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4746,
+ "top": 927,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBpfYWy3ZgGs="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBpfYXC3btwY=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpfYWy3ZgGs="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpfYWi3Xomc="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4736,
+ "top": 938,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBpfYWy3ZgGs="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBpfYXC3c538=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpfYWy3ZgGs="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpfYWi3Xomc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4765,
+ "top": 904,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBpfYWy3ZgGs="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGMBpdAZwuU9Ko="
+ },
+ "tail": {
+ "$ref": "AAAAAAGMBpe7/iSd2yE="
+ },
+ "lineStyle": 1,
+ "points": "4839:992;4674:853",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGMBpfYXC3aIX8="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGMBpfYXC3btwY="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGMBpfYXC3c538="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGMBpo0VtxckhI=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpo0VdxaKM0="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGMBpo0V9xdlNU=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpo0VtxckhI="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpo0VdxaKM0="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpo0V9xe4j4=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpo0V9xdlNU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpo0V9xfU9w=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpo0V9xdlNU="
+ },
+ "font": "Arial;13;1",
+ "left": 4805,
+ "top": 3055,
+ "width": 66.47265625,
+ "height": 13,
+ "text": "IAnalyseur"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpo0V9xgOy8=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpo0V9xdlNU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBpo0V9xhYak=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpo0V9xdlNU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4800,
+ "top": 3048,
+ "width": 76.47265625,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGMBpo0V9xe4j4="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGMBpo0V9xfU9w="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGMBpo0V9xgOy8="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGMBpo0V9xhYak="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGMBpo0V9xinDc=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpo0VtxckhI="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpo0VdxaKM0="
+ },
+ "font": "Arial;13;0",
+ "left": 4800,
+ "top": 3073,
+ "width": 76.47265625,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGMBpo0V9xjdcE=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpo0VtxckhI="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpo0VdxaKM0="
+ },
+ "font": "Arial;13;0",
+ "left": 4800,
+ "top": 3083,
+ "width": 76.47265625,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGMBpo0V9xk5v8=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpo0VtxckhI="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpo0VdxaKM0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGMBpo0V9xl6vk=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpo0VtxckhI="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBpo0VdxaKM0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 4800,
+ "top": 3048,
+ "width": 76.47265625,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGMBpo0V9xdlNU="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGMBpo0V9xinDc="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGMBpo0V9xjdcE="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGMBpo0V9xk5v8="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGMBpo0V9xl6vk="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGMBppPXOnSowQ=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBppPWenO/AQ="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBppPXenT8H4=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBppPWenO/AQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4619,
+ "top": 3072,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBppPXenUjNw=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBppPWenO/AQ="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4617,
+ "top": 3057,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBppPXenVYiY=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBppPWenO/AQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4622,
+ "top": 3101,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBppPXenWrjU=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBppPWunPg3A="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4467,
+ "top": 3088,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBppPXenXSC0=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBppPWunPg3A="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4468,
+ "top": 3074,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBppPXenY2s0=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBppPWunPg3A="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4465,
+ "top": 3116,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBppPXenZWUM=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBppPWunQr5E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4771,
+ "top": 3055,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBppPXenavXk=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBppPWunQr5E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4767,
+ "top": 3042,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBppPXenbBMk=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBppPWunQr5E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4778,
+ "top": 3082,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGMBppPXunclvs=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBppPWunPg3A="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGMBppPXundICc=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPXOnSowQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBppPWunQr5E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGMBpo0VtxckhI="
+ },
+ "tail": {
+ "$ref": "AAAAAAGL3DH0VM3eelw="
+ },
+ "lineStyle": 1,
+ "points": "4443:3112;4799:3074",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGMBppPXenT8H4="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGMBppPXenUjNw="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGMBppPXenVYiY="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGMBppPXenWrjU="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGMBppPXenXSC0="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGMBppPXenY2s0="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGMBppPXenZWUM="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGMBppPXenavXk="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGMBppPXenbBMk="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGMBppPXunclvs="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGMBppPXundICc="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGMBqILMi7wY5A=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBqILMC7uP0g="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGMBqILMi7xX9g=",
+ "_parent": {
+ "$ref": "AAAAAAGMBqILMi7wY5A="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBqILMC7uP0g="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBqILMi7yY/E=",
+ "_parent": {
+ "$ref": "AAAAAAGMBqILMi7xX9g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -496,
+ "top": 224,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBqILMi7zRDg=",
+ "_parent": {
+ "$ref": "AAAAAAGMBqILMi7xX9g="
+ },
+ "font": "Arial;13;1",
+ "left": 4805,
+ "top": 3191,
+ "width": 62.86083984375,
+ "height": 13,
+ "text": "Analyseur"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBqILMi70pg8=",
+ "_parent": {
+ "$ref": "AAAAAAGMBqILMi7xX9g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -496,
+ "top": 224,
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGMBqILMi71Nx4=",
+ "_parent": {
+ "$ref": "AAAAAAGMBqILMi7xX9g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -496,
+ "top": 224,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 4800,
+ "top": 3184,
+ "width": 72.86083984375,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGMBqILMi7yY/E="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGMBqILMi7zRDg="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGMBqILMi70pg8="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGMBqILMi71Nx4="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGMBqILMi72bC0=",
+ "_parent": {
+ "$ref": "AAAAAAGMBqILMi7wY5A="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBqILMC7uP0g="
+ },
+ "font": "Arial;13;0",
+ "left": 4800,
+ "top": 3209,
+ "width": 72.86083984375,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGMBqILMy73IbQ=",
+ "_parent": {
+ "$ref": "AAAAAAGMBqILMi7wY5A="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBqILMC7uP0g="
+ },
+ "font": "Arial;13;0",
+ "left": 4800,
+ "top": 3219,
+ "width": 72.86083984375,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGMBqILMy74L7c=",
+ "_parent": {
+ "$ref": "AAAAAAGMBqILMi7wY5A="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBqILMC7uP0g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -248,
+ "top": 112,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGMBqILMy75p6M=",
+ "_parent": {
+ "$ref": "AAAAAAGMBqILMi7wY5A="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBqILMC7uP0g="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -248,
+ "top": 112,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 4800,
+ "top": 3184,
+ "width": 72.86083984375,
+ "height": 45,
+ "nameCompartment": {
+ "$ref": "AAAAAAGMBqILMi7xX9g="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGMBqILMi72bC0="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGMBqILMy73IbQ="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGMBqILMy74L7c="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGMBqILMy75p6M="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGMBsEyOiaLjws=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBsEyOCaJKLw="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBsEyOiaMm/Q=",
+ "_parent": {
+ "$ref": "AAAAAAGMBsEyOiaLjws="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBsEyOCaJKLw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4821,
+ "top": 3131,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBsEyOiaLjws="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBsEyOiaNpAg=",
+ "_parent": {
+ "$ref": "AAAAAAGMBsEyOiaLjws="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBsEyOCaJKLw="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 4806,
+ "top": 3131,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBsEyOiaLjws="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGMBsEyOiaOgTs=",
+ "_parent": {
+ "$ref": "AAAAAAGMBsEyOiaLjws="
+ },
+ "model": {
+ "$ref": "AAAAAAGMBsEyOCaJKLw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 4850,
+ "top": 3132,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGMBsEyOiaLjws="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGMBpo0VtxckhI="
+ },
+ "tail": {
+ "$ref": "AAAAAAGMBqILMi7wY5A="
+ },
+ "lineStyle": 1,
+ "points": "4835:3183;4837:3093",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGMBsEyOiaMm/Q="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGMBsEyOiaNpAg="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGMBsEyOiaOgTs="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLo/fkFXnWSO0=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Utilisateur",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGLpAecPh2uaoQ=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "source": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "target": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ }
+ },
+ {
+ "_type": "UMLConstraint",
+ "_id": "AAAAAAGLpAxpgR4ZI4c=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "Constraint1"
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLw8Girlz2pU0=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw8Girlz3DrY=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8Girlz2pU0="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw8Girlz43FQ=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8Girlz2pU0="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL3BrkDnIc/Ag=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "role",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3BrkD3IdNgc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkDnIc/Ag="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3BrkD3IeED0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BrkDnIc/Ag="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ],
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGL+9pa8rlijfg=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "id",
+ "visibility": "private",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGL4p5pjeQNzxA=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "username",
+ "visibility": "private",
+ "type": "String"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLpAD5vx0yijE=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "id",
+ "type": ""
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLpAHrOB1Dmpw=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "nom",
+ "visibility": "private",
+ "type": "String"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLpAHubx1JTgc=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "prenom",
+ "visibility": "private",
+ "type": "String"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLpAHxSR1PUSs=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "email",
+ "visibility": "private",
+ "type": "String"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLpAH0SB1VgF8=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "sexe",
+ "visibility": "private",
+ "type": "String"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLpAH2wh1b3Gg=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "taille",
+ "visibility": "private",
+ "type": "Float"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLpAH5dB1h8j4=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "poids",
+ "visibility": "private",
+ "type": "float"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLpAH8Jx1ngTU=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "motDePasse",
+ "visibility": "private",
+ "type": "String"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLpAH+3B1t8HQ=",
+ "_parent": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "name": "dateNaissance",
+ "visibility": "private",
+ "type": "Date"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLpAZHmx2CSnc=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Coach",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGLpAzL8h4kabg=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "source": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "target": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLpCliuwcCjzg=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpCliuwcDUVw=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCliuwcCjzg="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpCliuwcEgfY=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCliuwcCjzg="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCIKk+d152w="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLrxtF+5qFc8A=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLrxtF+5qGyTw=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxtF+5qFc8A="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLrxtF+5qHrhY=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxtF+5qFc8A="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLrxlW1I2zOyU="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLDependency",
+ "_id": "AAAAAAGLrxumQrU4vyI=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "source": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "target": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ }
+ },
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGLw8G3EmoOXHk=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "source": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL3BvCOTlsc2M=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "name": "*lesAthletes",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3BvCOjltmkU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BvCOTlsc2M="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3BvCOjluKwE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3BvCOTlsc2M="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL3B0hp6VJcj4=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "source": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ }
+ }
+ ],
+ "stereotype": "abstract"
+ },
+ {
+ "_type": "UMLInterface",
+ "_id": "AAAAAAGLpAwf8B3QX1g=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Interface1"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLpAzboB41ECQ=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Athlete",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGLpAz8rx5frvk=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "source": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "target": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLpCNbyef3xVM=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpCNbyuf4TUk=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCNbyef3xVM="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpCNbyuf5Owk=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCNbyef3xVM="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCMdQOfM2Wo="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLDependency",
+ "_id": "AAAAAAGLpCUhQfKy6BM=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "source": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "target": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLrw2ZlZxbXCg=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLrw2ZlZxcFvQ=",
+ "_parent": {
+ "$ref": "AAAAAAGLrw2ZlZxbXCg="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLrw2ZlZxdZjo=",
+ "_parent": {
+ "$ref": "AAAAAAGLrw2ZlZxbXCg="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLrxtvS62Q1yw=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLrxtvS62RQtA=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxtvS62Q1yw="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLrxtvTK2SVQE=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxtvS62Q1yw="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLrxlW1I2zOyU="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLDependency",
+ "_id": "AAAAAAGLrx7/fTi27wg=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "source": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "target": {
+ "$ref": "AAAAAAGLpCMdQOfM2Wo="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLrx/5OVEi78k=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLrx/5OVEjXTE=",
+ "_parent": {
+ "$ref": "AAAAAAGLrx/5OVEi78k="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLrx/5OVEkE+s=",
+ "_parent": {
+ "$ref": "AAAAAAGLrx/5OVEi78k="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLDependency",
+ "_id": "AAAAAAGLryAmY1g6f3w=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "source": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "target": {
+ "$ref": "AAAAAAGLpC6+3hxaFwM="
+ }
+ },
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGLw8HHMXjjv4w=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "source": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ }
+ },
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL3B0TsZu6iEw=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "source": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL3DO5CWGzYdk=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "name": "*activiteList",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3DO5CWG0ZOw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5CWGzYdk="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3DO5CmG1yFk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DO5CWGzYdk="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "navigable": "navigable"
+ },
+ "visibility": "private"
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL3Ddn/grGOiw=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "name": "*sdList",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3Ddn/grHlaI=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Ddn/grGOiw="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3Ddn/grIS6Y=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Ddn/grGOiw="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "navigable": "navigable"
+ },
+ "visibility": "private"
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL3DgOmzocF5c=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "name": "*statsList",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3DgOnDodXGk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOmzocF5c="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3DgOnDoedKI=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DgOmzocF5c="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "navigable": "navigable"
+ },
+ "visibility": "private"
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL3D32NRysQcE=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3D32NRytcgc=",
+ "_parent": {
+ "$ref": "AAAAAAGL3D32NRysQcE="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3D32NRyuVZo=",
+ "_parent": {
+ "$ref": "AAAAAAGL3D32NRysQcE="
+ },
+ "name": "ent",
+ "reference": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3Cav216fXX4=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "name": "getAthlete",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3CbrLmGdRT8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3Cav216fXX4="
+ },
+ "type": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3CcA1GT//kE=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "name": "getActivite",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3Cg0I2bvypE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CcA1GT//kE="
+ },
+ "type": "lesActivite",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3DDNcZtsRlI=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "name": "getStatistiques",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3DEvup1chzs=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DDNcZtsRlI="
+ },
+ "type": "lesStats",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3EaRsi0pEF4=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "name": "getSourceDonnees",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3EbayDAnCWI=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EaRsi0pEF4="
+ },
+ "type": "lesSD",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3DEwGp4As4s=",
+ "_parent": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "name": "__toString",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3DGxWJ/xM/c=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DEwGp4As4s="
+ },
+ "type": "String",
+ "direction": "return"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLpCIKk+d152w=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Analyse",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLpDFQTUb/JFU=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCIKk+d152w="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpDFQTUcAb8I=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDFQTUb/JFU="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCIKk+d152w="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpDFQTUcBF6U=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDFQTUb/JFU="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLpCJOKOeiXS4=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Activite",
+ "ownedElements": [
+ {
+ "_type": "UMLDependency",
+ "_id": "AAAAAAGLpCQyD+pd5dY=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "source": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "target": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLpCkkyQISTtc=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpCkkyQIT3V8=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCkkyQISTtc="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpCkkyQIUk7c=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCkkyQISTtc="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCIKk+d152w="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLpCrtIwt6IIM=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpCrtJAt7teE=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCrtIwt6IIM="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpCrtJAt8tqE=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCrtIwt6IIM="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL3DewVSCksyY=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3DewViClTrY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVSCksyY="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3DewViCmmWs=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DewVSCksyY="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGMBppPWenO/AQ=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGMBppPWunPg3A=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPWenO/AQ="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGMBppPWunQr5E=",
+ "_parent": {
+ "$ref": "AAAAAAGMBppPWenO/AQ="
+ },
+ "reference": {
+ "$ref": "AAAAAAGMBpo0VdxaKM0="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ],
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLpCXSK/WOLkA=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "idActivite",
+ "visibility": "private",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxCVfeebjRQ=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "type",
+ "visibility": "private",
+ "type": "string"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxCvKejL/fw=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "date",
+ "visibility": "private",
+ "type": "Date"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxDHu+n7GHc=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "heureDebut",
+ "visibility": "private",
+ "type": "time"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxDu8esr6vo=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "heureFin",
+ "visibility": "private",
+ "type": "time"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxEIwOxboHI=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "effortRessenti",
+ "visibility": "private",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxJXpe2Lor0=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "variabilite",
+ "visibility": "private",
+ "type": "float"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxKISe67v6E=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "variance",
+ "visibility": "private",
+ "type": "float"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxKpzu/rHo4=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "ecartType",
+ "visibility": "private",
+ "type": "float"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxLaO/Ebr8k=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "moyenne",
+ "visibility": "private",
+ "type": "float"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxL5PfJLk04=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "maximum",
+ "visibility": "private",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxM0SfWY9pQ=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "minimum",
+ "visibility": "private",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxNQCvbIr2U=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "TemperatureMoyenne",
+ "visibility": "private",
+ "type": "float"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGMBkKf7yn3AyI=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "pause",
+ "visibility": "private",
+ "type": "bool"
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3DQ2catj1/Q=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "getActivite",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3DSrMq6LST8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DQ2catj1/Q="
+ },
+ "type": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3DTgKchiipU=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "getAnalyse",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3DXHucptwRw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DTgKchiipU="
+ },
+ "name": "a1",
+ "type": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ }
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3DXHuspuz9Q=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DTgKchiipU="
+ },
+ "type": "String",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3DXeGc46SeI=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "name": "toString",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3DYdBdBF0T4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DXeGc46SeI="
+ },
+ "name": "Activite",
+ "type": ""
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3DYdBtBGMg8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DXeGc46SeI="
+ },
+ "type": "String",
+ "direction": "return"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLpCMdQOfM2Wo=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Activitheque",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLpCN16+h8aQ0=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCMdQOfM2Wo="
+ },
+ "name": "lesActivites",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpCN17+h9pms=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCN16+h8aQ0="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCMdQOfM2Wo="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpCN17+h+bfw=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCN16+h8aQ0="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "navigable": "navigable"
+ },
+ "visibility": "private"
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLpCTkfe4C0zU=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCMdQOfM2Wo="
+ },
+ "name": "*lesActivites",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpCTkfu4DUbA=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCTkfe4C0zU="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCMdQOfM2Wo="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpCTkfu4EADw=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCTkfe4C0zU="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpCJOKOeiXS4="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGLpCVoW/TUDTs=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCMdQOfM2Wo="
+ },
+ "name": "Operation1"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLpCqsVQhTM54=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "SourceDonnee",
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxTIICbUAdU=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "name": "idSource",
+ "visibility": "private",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxTswiiLUpA=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "name": "Type",
+ "visibility": "private",
+ "type": "enum"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxVKVSm7bms=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "name": "modele",
+ "visibility": "private",
+ "type": "string"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxV3+SrrCr8=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "name": "precision",
+ "visibility": "private",
+ "type": "enum"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxWfnSwbQ58=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "name": "dateDerniereUtilisation",
+ "visibility": "private",
+ "type": "Date"
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3EcVFjuykz0=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "name": "getSD",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3Ed/tEBUogw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EcVFjuykz0="
+ },
+ "name": "SourceDonnee",
+ "type": ""
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3Ed/tUBVIpo=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EcVFjuykz0="
+ },
+ "type": "String",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3EeezUzS6YA=",
+ "_parent": {
+ "$ref": "AAAAAAGLpCqsVQhTM54="
+ },
+ "name": "to_String",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3EfxCE/QIC8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EeezUzS6YA="
+ },
+ "name": "SourceDonnee",
+ "type": ""
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3EfxCk/RWz4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EeezUzS6YA="
+ },
+ "type": "String",
+ "direction": "return"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLpC6+3hxaFwM=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Notification",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLpC8ityhF+Rs=",
+ "_parent": {
+ "$ref": "AAAAAAGLpC6+3hxaFwM="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpC8iuChGpgc=",
+ "_parent": {
+ "$ref": "AAAAAAGLpC8ityhF+Rs="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpC6+3hxaFwM="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpC8iuChHuYc=",
+ "_parent": {
+ "$ref": "AAAAAAGLpC8ityhF+Rs="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ],
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwTQNkoBs18=",
+ "_parent": {
+ "$ref": "AAAAAAGLpC6+3hxaFwM="
+ },
+ "name": "idNotification",
+ "visibility": "private",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwWAclJrDg4=",
+ "_parent": {
+ "$ref": "AAAAAAGLpC6+3hxaFwM="
+ },
+ "name": "message",
+ "visibility": "private",
+ "type": "text"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwXMTFPyfWM=",
+ "_parent": {
+ "$ref": "AAAAAAGLpC6+3hxaFwM="
+ },
+ "name": "date",
+ "visibility": "private",
+ "type": "Date"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwXq6FUBKfs=",
+ "_parent": {
+ "$ref": "AAAAAAGLpC6+3hxaFwM="
+ },
+ "name": "statut",
+ "visibility": "private",
+ "type": "boolean"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwhVcFox6nk=",
+ "_parent": {
+ "$ref": "AAAAAAGLpC6+3hxaFwM="
+ },
+ "name": "Urgence",
+ "visibility": "private",
+ "type": "enum"
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGLrwVqf1F1q2A=",
+ "_parent": {
+ "$ref": "AAAAAAGLpC6+3hxaFwM="
+ },
+ "name": "Operation1"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLpDCydyvBWA4=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Statistique",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLpDDf2zNOiFs=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpDDf2zNP3wA=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDDf2zNOiFs="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLpDDf2zNQzDU=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDDf2zNOiFs="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ],
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwixuGGJpE4=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "name": "idStatistique",
+ "visibility": "private",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwlhdmOIz0E=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "name": "distanceTotale",
+ "visibility": "private",
+ "type": "float"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwmwgWUPuog=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "name": "poids",
+ "visibility": "private",
+ "type": "float"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwnYLWYeNa4=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "name": "tempsTotal",
+ "visibility": "private",
+ "type": "time"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwoPTGct0ws=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "name": "FCmoyenne",
+ "visibility": "private",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwps72g8dI8=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "name": "FCmin",
+ "visibility": "private",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwqb7mlLpYw=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "name": "FCmax",
+ "visibility": "private",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrwq/JGpaMCs=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "name": "caloriesBrulées",
+ "visibility": "private",
+ "type": "int"
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3EVAEQqWm2c=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "name": "getStatistique",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3EWyFw84O9s=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EVAEQqWm2c="
+ },
+ "type": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3EWydxA200E=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDCydyvBWA4="
+ },
+ "name": "__toString",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3EX7bBOIgbw=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EWydxA200E="
+ },
+ "name": "Statistique",
+ "type": ""
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3EX7bROJu3A=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EWydxA200E="
+ },
+ "type": "String",
+ "direction": "return"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLpDGNPV37CeU=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Main",
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGLpDG1k1/VDfE=",
+ "_parent": {
+ "$ref": "AAAAAAGLpDGNPV37CeU="
+ },
+ "name": "Operation1"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLpDN9jGOcNzo=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Afficheur"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLpDOU2mUWdIY=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Saissiseur"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLpDO85Wao3Xs=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Suppresseur"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLrxb6dUqeBKo=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Entrainement",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL++OFOjnitkY=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "source": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "target": {
+ "$ref": "AAAAAAGL8lJC3yKeddk="
+ }
+ }
+ ],
+ "stereotype": "abstract",
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxcxm0yu9ck=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "name": "idEntrainement",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxdjg05lkd0=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "name": "date",
+ "type": "Date"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGL7QbRBNAl41g=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "name": "latitude",
+ "type": "float"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxeDFU+VhpI=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "name": "longitude",
+ "type": "float"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxezwlDFkh4=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "name": "description",
+ "type": "text"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGLrxfiTFH1ArI=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "name": "feedback",
+ "type": "text"
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3D2F3gDGuRs=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "name": "getId",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3D3LVQdJ3C4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3D2F3gDGuRs="
+ },
+ "type": "int",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL++UQDELkhBM=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "name": "getDate",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL++U2OEZpVpc=",
+ "_parent": {
+ "$ref": "AAAAAAGL++UQDELkhBM="
+ },
+ "type": "DateTime",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL++U2j0eU938=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "name": "getLocation",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL++VhlEsZBcw=",
+ "_parent": {
+ "$ref": "AAAAAAGL++U2j0eU938="
+ },
+ "type": "String",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL++Vh50xEGPg=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "name": "getDescription",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL++Wi6k/JzIU=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Vh50xEGPg="
+ },
+ "type": "Text",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL++WjUVD03ak=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "name": "getFeedBack",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL++XGtVR5vT8=",
+ "_parent": {
+ "$ref": "AAAAAAGL++WjUVD03ak="
+ },
+ "type": "String",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL++XHM1Wk8GA=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "name": "__toString",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL++XvGlkp8eA=",
+ "_parent": {
+ "$ref": "AAAAAAGL++XHM1Wk8GA="
+ },
+ "type": "String",
+ "direction": "return"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLrxlW1I2zOyU=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Groupe",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLrxtgF6RW9mw=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxlW1I2zOyU="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLrxtgF6RXHhs=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxtgF6RW9mw="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLrxlW1I2zOyU="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLrxtgF6RY8Ic=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxtgF6RW9mw="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLrxxzThcUhGA=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxlW1I2zOyU="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLrxxzThcVL6o=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxxzThcUhGA="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLrxlW1I2zOyU="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLrxxzThcWPZ8=",
+ "_parent": {
+ "$ref": "AAAAAAGLrxxzThcUhGA="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw7nD48sOfVM=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "index.php",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLw7pt1PGAP1c=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7nD48sOfVM="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw7pt1PGB1i0=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7pt1PGAP1c="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7nD48sOfVM="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw7pt1PGCpVw=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7pt1PGAP1c="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7oXg9WQpWI="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw7oXg9WQpWI=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Console.php",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLw7x8nxMcncI=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7oXg9WQpWI="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw7x8nxMdRU0=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7x8nxMcncI="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7oXg9WQpWI="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw7x8nxMeKxY=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7x8nxMcncI="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLDependency",
+ "_id": "AAAAAAGLw8OfyokBM5A=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7oXg9WQpWI="
+ },
+ "source": {
+ "$ref": "AAAAAAGLw7oXg9WQpWI="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw7v65PPlleU=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "DataManager",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLw739qDtrDhg=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw739qDtsLsw=",
+ "_parent": {
+ "$ref": "AAAAAAGLw739qDtrDhg="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw739qDtt8oQ=",
+ "_parent": {
+ "$ref": "AAAAAAGLw739qDtrDhg="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw722NTGx6eY="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL3EEppBTCx28=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3EEppBTDPCs=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EEppBTCx28="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3EEppBTE3EY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EEppBTCx28="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8lXBSa6/2w4=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lXBSa7AoxY=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBSa6/2w4="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lXBSa7B00o=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lXBSa6/2w4="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ],
+ "stereotype": "abstract"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw7wcvPtpS0g=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Stub",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGLw7xJLQpG+ik=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "source": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLw79ywHVPvfw=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw79ywHVQcT8=",
+ "_parent": {
+ "$ref": "AAAAAAGLw79ywHVPvfw="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw79ywHVRW1U=",
+ "_parent": {
+ "$ref": "AAAAAAGLw79ywHVPvfw="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw722NTGx6eY="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLDependency",
+ "_id": "AAAAAAGLw8O3vpcZDOs=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "source": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw722NTGx6eY="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8e3m2zur3i0=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8e3m3DusHLI=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e3m2zur3i0="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8e3m3Dut15M=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e3m2zur3i0="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8lNA6tzH31s=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lNA6tzIag0=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lNA6tzH31s="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lNA6tzJ0wg=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lNA6tzH31s="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL+8owjNKG+JM=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+8owjNKHXMk=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8owjNKG+JM="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+8owjNKIBW4=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8owjNKG+JM="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL+8nHIFKZGGE="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLDependency",
+ "_id": "AAAAAAGL+9V6xkTTcHA=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "source": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "target": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL+9lB2GJMfIE=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+9lB2WJNfVI=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB2GJMfIE="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+9lB2WJO1RQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lB2GJMfIE="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL+9lQz3og1pg=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+9lQz3ohaCY=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQz3og1pg="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7wcvPtpS0g="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+9lQz3oiCYc=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9lQz3og1pg="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw722NTGx6eY=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "IUserManager",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLw77Um1toR1M=",
+ "_parent": {
+ "$ref": "AAAAAAGLw722NTGx6eY="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw77Um1tpvS8=",
+ "_parent": {
+ "$ref": "AAAAAAGLw77Um1toR1M="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw722NTGx6eY="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw77Um1tqTz8=",
+ "_parent": {
+ "$ref": "AAAAAAGLw77Um1toR1M="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw75/NVNSG5E="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ],
+ "stereotype": "sbtract"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw74acUM+FsM=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "UserManager",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGLw75J1lDRG8o=",
+ "_parent": {
+ "$ref": "AAAAAAGLw74acUM+FsM="
+ },
+ "source": {
+ "$ref": "AAAAAAGLw74acUM+FsM="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw722NTGx6eY="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLw7+J/n3/B1Y=",
+ "_parent": {
+ "$ref": "AAAAAAGLw74acUM+FsM="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw7+J/n4AoQo=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7+J/n3/B1Y="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw74acUM+FsM="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw7+J/n4BrBk=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7+J/n3/B1Y="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw75/NVNSG5E="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLDependency",
+ "_id": "AAAAAAGLw8PRbqZ11JM=",
+ "_parent": {
+ "$ref": "AAAAAAGLw74acUM+FsM="
+ },
+ "source": {
+ "$ref": "AAAAAAGLw74acUM+FsM="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw75/NVNSG5E="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw75/NVNSG5E=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "IAuthService",
+ "stereotype": "abstract"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw77mx15mj/c=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "AuthService",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGLw78az2rf0JI=",
+ "_parent": {
+ "$ref": "AAAAAAGLw77mx15mj/c="
+ },
+ "source": {
+ "$ref": "AAAAAAGLw77mx15mj/c="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw75/NVNSG5E="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLw8AdI58up9U=",
+ "_parent": {
+ "$ref": "AAAAAAGLw77mx15mj/c="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw8AdI58v8mI=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8AdI58up9U="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw77mx15mj/c="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw8AdI58w4bI=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8AdI58up9U="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7+uCZK14Kw="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLw8DsaAT3Z3E=",
+ "_parent": {
+ "$ref": "AAAAAAGLw77mx15mj/c="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw8DsaQT4sn8=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8DsaAT3Z3E="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw77mx15mj/c="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw8DsaQT5+dg=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8DsaAT3Z3E="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw8CsTvtt06M="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw7+uCZK14Kw=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "IHashPasswd",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLw8CDXMoYIRA=",
+ "_parent": {
+ "$ref": "AAAAAAGLw7+uCZK14Kw="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw8CDXMoZH4o=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8CDXMoYIRA="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw7+uCZK14Kw="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw8CDXMoaWgc=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8CDXMoYIRA="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw8A1cbelFNg="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ],
+ "stereotype": "abstract"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw8A1cbelFNg=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "HashPasswd",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGLw8P2P7Eq0Zg=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8A1cbelFNg="
+ },
+ "source": {
+ "$ref": "AAAAAAGLw8A1cbelFNg="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw7+uCZK14Kw="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw8CsTvtt06M=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "IUserRepository",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLw8E4dyjMplk=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8CsTvtt06M="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw8E4dyjNt00=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8E4dyjMplk="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw8CsTvtt06M="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw8E4dyjOpGg=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8E4dyjMplk="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw8ERdB3gYJY="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw8ERdB3gYJY=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "UserRepository",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGLw8FINzNWfKU=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8ERdB3gYJY="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw8FINzNXfFM=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8FINzNWfKU="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw8ERdB3gYJY="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGLw8FINzNYczE=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8FINzNWfKU="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGLw8GJdFMAfwk=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Role",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL3B3/yvI7wq4=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "*lesUsers",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3B3/yvI8/hQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/yvI7wq4="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3B3/yvI9HQU=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B3/yvI7wq4="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "navigable": "navigable"
+ },
+ "visibility": "protected"
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8lAAXUGgrrQ=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lAAXUGh/wI=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lAAXUGgrrQ="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lAAXUGi4/c=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lAAXUGgrrQ="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8lKzBWBVyb4=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lKzBWBWoKM=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lKzBWBVyb4="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lKzBWBXFpY=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lKzBWBVyb4="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8lJC3yKeddk="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL++ZRWq9wC2Q=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL++ZRWq9xmHA=",
+ "_parent": {
+ "$ref": "AAAAAAGL++ZRWq9wC2Q="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL++ZRWq9yVyo=",
+ "_parent": {
+ "$ref": "AAAAAAGL++ZRWq9wC2Q="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL++iBHvdP07A=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "entrainementRepository",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL++iBHvdQzLE=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBHvdP07A="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL++iBHvdR3xE=",
+ "_parent": {
+ "$ref": "AAAAAAGL++iBHvdP07A="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "navigable": "navigable"
+ },
+ "visibility": "protected"
+ }
+ ],
+ "stereotype": "abstract",
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGL3EO77J2JFbo=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "id",
+ "visibility": "protected",
+ "type": "int"
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL8lDIQHjxa7g=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "getUsersList",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9z2Wk7Rkl0=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lDIQHjxa7g="
+ },
+ "type": "?array",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL+91tC2YUaHo=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "getUserList",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+93WVmslMmk=",
+ "_parent": {
+ "$ref": "AAAAAAGL+91tC2YUaHo="
+ },
+ "name": "user",
+ "type": "User"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+93WWGsme7k=",
+ "_parent": {
+ "$ref": "AAAAAAGL+91tC2YUaHo="
+ },
+ "type": "?User",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL+93v8Z0NH0E=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "getEntrainement",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+95FxaCSyVw=",
+ "_parent": {
+ "$ref": "AAAAAAGL+93v8Z0NH0E="
+ },
+ "type": "?EntrainementRepository",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL+90Kble5JDw=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "getEntrainementsList",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+91Bwls+tYg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+90Kble5JDw="
+ },
+ "type": "?array",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL+95b8qX+sig=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "getEntrainementList",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+97c6amDCSE=",
+ "_parent": {
+ "$ref": "AAAAAAGL+95b8qX+sig="
+ },
+ "name": "entrainement",
+ "type": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ }
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+97c66mEPPE=",
+ "_parent": {
+ "$ref": "AAAAAAGL+95b8qX+sig="
+ },
+ "type": "?EntrainementSportif",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL8lQnmhRLfho=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "checkAdd",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL8lRFEBfQcoA=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lQnmhRLfho="
+ },
+ "type": "bool",
+ "direction": "return"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL8lTMXSaTy7k=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lQnmhRLfho="
+ },
+ "name": "user",
+ "type": "User"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL8lROwx08WBA=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "chackAddEntrainement",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL8lSScCDBz5M=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lROwx08WBA="
+ },
+ "name": "entrainement",
+ "type": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ }
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL8lSSciDCofo=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lROwx08WBA="
+ },
+ "type": "bool",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL3B61dD33CBk=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "addUser",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3CF8BUD1MaE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B61dD33CBk="
+ },
+ "name": "user",
+ "type": "User"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL3CF8BkD2uFE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3B61dD33CBk="
+ },
+ "type": "bool",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL58RPF/SE7Hs=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "removeUser",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL58SDNfeCYS0=",
+ "_parent": {
+ "$ref": "AAAAAAGL58RPF/SE7Hs="
+ },
+ "name": "user",
+ "type": "User"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL58SDN/eDi6M=",
+ "_parent": {
+ "$ref": "AAAAAAGL58RPF/SE7Hs="
+ },
+ "type": "bool",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL8lBBHXFLScI=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "addEntrainement",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL8lCF13QufIw=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lBBHXFLScI="
+ },
+ "name": "entr",
+ "type": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ }
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL8lCF2HQvGso=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lBBHXFLScI="
+ },
+ "type": "bool",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL++Fe3CpxsSg=",
+ "_parent": {
+ "$ref": "AAAAAAGLw8GJdFMAfwk="
+ },
+ "name": "removeEntrainement",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL++GDKi32bTY=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Fe3CpxsSg="
+ },
+ "name": "entr",
+ "type": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ }
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL++GDKy3305U=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Fe3CpxsSg="
+ },
+ "type": "bool",
+ "direction": "return"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL3CMxnEguLCQ=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "CoachAthlete",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL3CS00FlI+OY=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "source": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "target": {
+ "$ref": "AAAAAAGLpAZHmx2CSnc="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL3DzrydAwEjA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "name": "ent",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3DzrydAx3B4=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DzrydAwEjA="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3DzrydAyGD8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3DzrydAwEjA="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLDependency",
+ "_id": "AAAAAAGL3EhnKwk9Pw0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "source": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "target": {
+ "$ref": "AAAAAAGLpAzboB41ECQ="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL++fe3kQi84s=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL++fe3kQjPRk=",
+ "_parent": {
+ "$ref": "AAAAAAGL++fe3kQi84s="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL++fe3kQkqMw=",
+ "_parent": {
+ "$ref": "AAAAAAGL++fe3kQi84s="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL++hbOMaLLhI=",
+ "_parent": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL++hbOMaMnnU=",
+ "_parent": {
+ "$ref": "AAAAAAGL++hbOMaLLhI="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL3CMxnEguLCQ="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL++hbOMaN3HA=",
+ "_parent": {
+ "$ref": "AAAAAAGL++hbOMaLLhI="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL3EA5pS43tRY=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "CoachManager",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL3EE9vyQmH2s=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3EE9wCQnjEA=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EE9vyQmH2s="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL3EE9wCQorTo=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EE9vyQmH2s="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8lOXnTwD+Jk=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lOXnTwEKpY=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lOXnTwD+Jk="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lOXnTwFBh4=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lOXnTwD+Jk="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL+8nwg3agVXE=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "source": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "target": {
+ "$ref": "AAAAAAGL+8nHIFKZGGE="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL+8rOHkkjQa8=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+8rOH0kk5Us=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOHkkjQa8="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+8rOH0kl1Ag=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8rOHkkjQa8="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL+9dNnjZFrD0=",
+ "_parent": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "source": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL8e8PLkVkOWg=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "UserRepository",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8lO7+GO/UQE=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lO7+GPAblU=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+GO/UQE="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lO7+GPBs+g=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lO7+GO/UQE="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL+9Ru2TbDJ+A=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "source": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "target": {
+ "$ref": "AAAAAAGL+9PoMtQG54g="
+ }
+ }
+ ],
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGL+8w3liysleM=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "name": "users",
+ "visibility": "private",
+ "type": "array"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL8e9J0FdHmso=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "AuthService",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8lNUk/Ru41c=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lNUk/RvtFM=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lNUk/Ru41c="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lNUk/RwcBM=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lNUk/Ru41c="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL3EA5pS43tRY="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8lNl2wXc834=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lNl2wXdgpY=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lNl2wXc834="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lNl2wXekOo=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lNl2wXc834="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL+8pYQv2ZiyI=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+8pYQv2aok8=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8pYQv2ZiyI="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+8pYQv2bihk=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8pYQv2ZiyI="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL+9YU26wTNo0=",
+ "_parent": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+9YU26wUZOY=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU26wTNo0="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+9YU26wVXhc=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9YU26wTNo0="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL8fAHTJcd2Kc=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "UserManager",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8lNzphcjVzA=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lNzphckA0Q=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lNzphcjVzA="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lNzphcloeU=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lNzphcjVzA="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLo/fkFXnWSO0="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8lOuHlPLHnQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lOuHlPMMOQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lOuHlPLHnQ="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lOuHlPNza4=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lOuHlPLHnQ="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8e8PLkVkOWg="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL+8oAEIaDan4=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "source": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "target": {
+ "$ref": "AAAAAAGL+8nHIFKZGGE="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL+8tZ967YT0Q=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+8tZ967ZQD0=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ967YT0Q="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL+8tZ967azMY=",
+ "_parent": {
+ "$ref": "AAAAAAGL+8tZ967YT0Q="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8e9J0FdHmso="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL+9c7CRuveJk=",
+ "_parent": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "source": {
+ "$ref": "AAAAAAGL8fAHTJcd2Kc="
+ },
+ "target": {
+ "$ref": "AAAAAAGLw7v65PPlleU="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL8kwWMOvqRNg=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "EntrainementRepository",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8kz1eGm5YVc=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "name": "*lesEntrainements",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8kz1eGm6iIc=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kz1eGm5YVc="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8kz1eWm7nGc=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kz1eGm5YVc="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL+9Se8MmZLdo=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "source": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "target": {
+ "$ref": "AAAAAAGL+9O3E77+iB4="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL++NtKh6cvUs=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL++NtKh6dcW8=",
+ "_parent": {
+ "$ref": "AAAAAAGL++NtKh6cvUs="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL++NtKh6eGOg=",
+ "_parent": {
+ "$ref": "AAAAAAGL++NtKh6cvUs="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8lJC3yKeddk="
+ },
+ "navigable": "navigable"
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL++Z1IOrl2bA=",
+ "_parent": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "name": "entrainementList",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL++Z1IOrmj24=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1IOrl2bA="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL++Z1IOrnew4=",
+ "_parent": {
+ "$ref": "AAAAAAGL++Z1IOrl2bA="
+ },
+ "reference": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ },
+ "navigable": "navigable"
+ },
+ "visibility": "private"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL8lJC3yKeddk=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Entrainement",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGL8lLYKYP6eHU=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lJC3yKeddk="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lLYKYP7ejM=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lLYKYP6eHU="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8lJC3yKeddk="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGL8lLYKYP8bHc=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lLYKYP6eHU="
+ },
+ "reference": {
+ "$ref": "AAAAAAGL8kwWMOvqRNg="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ],
+ "stereotype": "interfaces",
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGL++Q3gS35XNs=",
+ "_parent": {
+ "$ref": "AAAAAAGL8lJC3yKeddk="
+ },
+ "name": "Attribute1",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "_type": "UMLModel",
+ "_id": "AAAAAAGL8oOYXQr/AQc=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Models"
+ },
+ {
+ "_type": "UMLPackage",
+ "_id": "AAAAAAGL8oPx1E8rJeI=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Package1"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL8qWWJj6joa0=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Responsabilité",
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGL8qXHfUcNtPA=",
+ "_parent": {
+ "$ref": "AAAAAAGL8qWWJj6joa0="
+ },
+ "name": "But principale de la classe",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL+8nHIFKZGGE=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "DataManager"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL+82j2lEaUGY=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "IGenericRepository",
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL+84tpm4nUBQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "name": "getItemById",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+86GNHNuQcE=",
+ "_parent": {
+ "$ref": "AAAAAAGL+84tpm4nUBQ="
+ },
+ "name": "id",
+ "type": "int"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL+86cPHlwc+E=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "name": "getNbItems",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+88J8ZbWW34=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86cPHlwc+E="
+ },
+ "type": "int",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL+86fO3zWI0s=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "name": "getItems",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9DcKZwZz84=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86fO3zWI0s="
+ },
+ "name": "index",
+ "type": "int"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9DcLJwaaCk=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86fO3zWI0s="
+ },
+ "name": "count",
+ "type": "int"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9DcLJwbnOI=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86fO3zWI0s="
+ },
+ "name": "orderingPropertyName",
+ "type": "?String"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9DcLZwcFiA=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86fO3zWI0s="
+ },
+ "name": "descending",
+ "type": "bool"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9DcLZwdTV8=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86fO3zWI0s="
+ },
+ "type": "array",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL+86ncIA8/pY=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "name": "getItemsByName",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9H4NaLkbQE=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86ncIA8/pY="
+ },
+ "name": "substring",
+ "type": "String"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9H4N6Llqjg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86ncIA8/pY="
+ },
+ "name": "index",
+ "type": "int"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9H4N6LmObw=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86ncIA8/pY="
+ },
+ "name": "count",
+ "type": "int"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9H4N6LnQEw=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86ncIA8/pY="
+ },
+ "name": "orderingPropertyName",
+ "type": "?String"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9H4OKLo8r8=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86ncIA8/pY="
+ },
+ "name": "descending",
+ "type": "bool"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9H4OKLph44=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86ncIA8/pY="
+ },
+ "type": "?array",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL+86p3oOiaNc=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "name": "getItemsByName",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9JcOrExLOI=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86p3oOiaNc="
+ },
+ "name": "substring",
+ "type": "String"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9JcPLEybNk=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86p3oOiaNc="
+ },
+ "name": "index",
+ "type": "int"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9JcPbEz+zo=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86p3oOiaNc="
+ },
+ "name": "count",
+ "type": "int"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9JcPbE0XQI=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86p3oOiaNc="
+ },
+ "name": "orderingPropertyName",
+ "type": "?String"
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9JcPbE1q0s=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86p3oOiaNc="
+ },
+ "name": "descending",
+ "type": "bool"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL+86sTYcItmQ=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "name": "updateItem",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9LXLLf8t0A=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86sTYcItmQ="
+ },
+ "name": "oldItem",
+ "type": ""
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9LXLrf9C5A=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86sTYcItmQ="
+ },
+ "name": "newItem",
+ "type": ""
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9LXLrf+Tzg=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86sTYcItmQ="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGL+86ui4puvnk=",
+ "_parent": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ },
+ "name": "deleteItem",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9MCVL4Dc40=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86ui4puvnk="
+ },
+ "name": "item",
+ "type": ""
+ },
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGL+9MCVb4E2Hk=",
+ "_parent": {
+ "$ref": "AAAAAAGL+86ui4puvnk="
+ },
+ "type": "bool",
+ "direction": "return"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL+9O3E77+iB4=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "ITrainingRepository",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL+9RSGRB8+vM=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9O3E77+iB4="
+ },
+ "source": {
+ "$ref": "AAAAAAGL+9O3E77+iB4="
+ },
+ "target": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL+9PlDtA7iBo=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Class1"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL+9PoMtQG54g=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "IUserRepository",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL+9RdJBsWH7s=",
+ "_parent": {
+ "$ref": "AAAAAAGL+9PoMtQG54g="
+ },
+ "source": {
+ "$ref": "AAAAAAGL+9PoMtQG54g="
+ },
+ "target": {
+ "$ref": "AAAAAAGL+82j2lEaUGY="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL+9Qa4uFEN74=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Class2"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGL++aCGgpsPN4=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "EntrainementSportif",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGL++arORiCGus=",
+ "_parent": {
+ "$ref": "AAAAAAGL++aCGgpsPN4="
+ },
+ "source": {
+ "$ref": "AAAAAAGL++aCGgpsPN4="
+ },
+ "target": {
+ "$ref": "AAAAAAGLrxb6dUqeBKo="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGMBpdAZQuSkhA=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "IFileReader"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGMBpd9ig65uB8=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "AthlketeMgr",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGMBperGiDRgno=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpd9ig65uB8="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGMBperGiDSkv4=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperGiDRgno="
+ },
+ "reference": {
+ "$ref": "AAAAAAGMBpd9ig65uB8="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGMBperGiDT2kA=",
+ "_parent": {
+ "$ref": "AAAAAAGMBperGiDRgno="
+ },
+ "reference": {
+ "$ref": "AAAAAAGMBpdAZQuSkhA="
+ },
+ "navigable": "navigable"
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGMBpe7/CSbj9A=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Fit",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGMBpfYWi3Xomc=",
+ "_parent": {
+ "$ref": "AAAAAAGMBpe7/CSbj9A="
+ },
+ "source": {
+ "$ref": "AAAAAAGMBpe7/CSbj9A="
+ },
+ "target": {
+ "$ref": "AAAAAAGMBpdAZQuSkhA="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGMBpo0VdxaKM0=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "IAnalyseur"
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGMBqILMC7uP0g=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Analyseur",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGMBsEyOCaJKLw=",
+ "_parent": {
+ "$ref": "AAAAAAGMBqILMC7uP0g="
+ },
+ "source": {
+ "$ref": "AAAAAAGMBqILMC7uP0g="
+ },
+ "target": {
+ "$ref": "AAAAAAGMBpo0VdxaKM0="
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Documents/Diagramme/DiagrammeDeClasses/README_DIAGRAMME.md b/Documents/Diagramme/DiagrammeDeClasses/README_DIAGRAMME.md
new file mode 100644
index 00000000..5ee68278
--- /dev/null
+++ b/Documents/Diagramme/DiagrammeDeClasses/README_DIAGRAMME.md
@@ -0,0 +1,203 @@
+[retour au README.md](../../../README.md)
+[Retour aux Documents](../../README_DOCUMENTS.md)
+[Retour au diagramme de classes](../README_DIAGRAMMES.md)
+
+# Introduction au Diagramme de Classes : Plateforme de Gestion d'Activités Sportives
+
+Bienvenue dans l'écosystème dynamique de notre plateforme de gestion d'activités sportives ! Ce diagramme de classes offre une vision complète des entités et des relations qui façonnent l'expérience des utilisateurs au sein de notre système.
+
+**Entités Principales :**
+
+- **Utilisateur (User) :** Représente les individus inscrits sur notre plateforme, avec des détails personnels tels que le nom, le prénom, l'email, etc. Chaque utilisateur a un rôle spécifique (Athlete, Coach) qui détermine ses interactions au sein de l'application.
+
+- **Rôle (Role) :** Classe abstraite qui définit les rôles spécifiques des utilisateurs (Athlete, Coach). Contient des méthodes pour gérer les amis, les entraînements, et les demandes.
+
+- **Athlète (Athlete) :** Spécialisation de la classe Role, représentant les utilisateurs actifs qui enregistrent des activités sportives, des statistiques, et interagissent avec d'autres athlètes.
+
+- **Activité (Activite) :** Contient des détails sur une activité sportive tels que le type, la date, la durée, la fréquence cardiaque, etc.
+
+- **Notification (Notification) :** Messages pour informer les utilisateurs des actions importantes.
+
+- **Entraînement (Entrainement) :** Sessions planifiées d'activités physiques avec des détails comme la date, la localisation, la description, et les retours.
+
+- **Statistique (Statistique) :** Informations détaillées sur les performances sportives d'un athlète, comprenant la distance totale, le poids, le temps total, la fréquence cardiaque, etc.
+
+- **Source de Données (SourceDonnees) :** Représente les sources utilisées pour collecter des données, telles que les montres connectées.
+
+**Relations Clés :**
+
+- Les Utilisateurs ont un rôle spécifique (Athlete, Coach) qui détermine leurs fonctionnalités.
+
+- Un Athlète peut enregistrer plusieurs Activités, Statistiques, et interagir avec différentes Sources de Données.
+
+- Les Entraînements sont liés aux Utilisateurs, permettant une planification efficace.
+
+- Les Notifications informent les Utilisateurs des événements importants.
+
+Explorez ce diagramme pour comprendre comment notre plateforme offre une expérience complète, de la gestion des utilisateurs à l'enregistrement des activités sportives et au suivi des performances.
+
+
+```plantuml
+@startuml
+class User {
+ - id: int
+ - username: String
+ - nom: string
+ - prenom: string
+ - email: string
+ - motDePasse: string
+ - sexe: string
+ - taille: float
+ - poids: float
+ - dateNaissance: \DateTime
+ + getId(): int
+ + getUsername(): string
+ + setUsername(string $username): void
+ + setId(int $id): void
+ + getNom(): string
+ + setNom(string $nom): void
+ + getPrenom(): string
+ + setPrenom(string $prenom): void
+ + getEmail(): string
+ + setEmail(string $email): void
+ + getMotDePasse(): string
+ + setMotDePasse(string $motDePasse): void
+ + getSexe(): string
+ + setSexe(string $sexe): void
+ + getTaille(): float
+ + setTaille(float $taille): void
+ + getPoids(): float
+ + setPoids(float $poids): void
+ + getDateNaissance(): \DateTime
+ + setDateNaissance(\DateTime $dateNaissance): void
+ + getRole(): Role
+ + setRole(Role $role): void
+ + addNotification($notification): void
+ + deleteNotification($index): void
+ + isValidPassword(string $password): bool
+ + __toString(): string
+}
+abstract class Role {
+ - id: int
+ - usersRequests: array
+ + getUsersList(): array
+ + getUsersRequests(): array
+ + addUsersRequests(RelationshipRequest $request): void
+ + removeRequest(RelationshipRequest $req): bool
+ + CheckAdd(User $user): bool
+ + addUser(User $user): bool
+ + removeUser(User $user): bool
+ + addTraining(Training $training): bool
+ + getTrainingsList(): array
+}
+abstract class Coach extends Role {
+}
+class CoachAthlete extends Coach {
+ + CheckAdd(User $user): bool
+}
+class Athlete extends Role {
+ + getActivities(): array
+ + addActivity(Activity $myActivity): bool
+ + CheckAdd(User $user): bool
+}
+class Activite {
+ - idActivity: int
+ - type: String
+ - date: \DateTime
+ - heureDebut: \DateTime
+ - heureFin: \DateTime
+ - effortRessenti: int
+ - variability: float
+ - variance: float
+ - standardDeviation: float
+ - average: int
+ - maximum: int
+ - minimum: int
+ - avrTemperature: float
+ - hasAutoPause: bool
+ + getIdActivity(): int
+ + getType(): String
+ + getDate(): \DateTime
+ + getHeureDebut(): \DateTime
+ + getHeureFin(): \DateTime
+ + getEffortRessenti(): int
+ + getVariability(): float
+ + getVariance(): float
+ + getStandardDeviation(): float
+ + getAverage(): float
+ + getMaximum(): int
+ + getMinimum(): int
+ + getAvrTemperature(): float
+ + setType(String $type): void
+ + setEffortRessenti(int $effortRessenti): void
+ + __toString(): String
+}
+class Notification {
+ - type: string
+ - message: string
+ - toUserId: int
+ + getType(): string
+ + setType(string $type): void
+ + getMessage(): string
+ + setMessage(string $message): void
+ + getToUserId(): int
+ + setToUserId(int $toUserId): void
+ + __construct(int $toUserId,string $type, string $message)
+ + __toString(): string
+}
+class Entrainement {
+ - idTraining: int
+ - date: \DateTime
+ - latitude: float
+ - longitude: float
+ - description: String
+ - feedback: String
+ + getId(): int
+ + getDate(): \DateTime
+ + getLocation(): String
+ + getDescription(): String
+ + getFeedback(): String
+ + __toString(): String
+}
+class Statistique {
+ - idStat: int
+ - distanceTotale: float
+ - poids: float
+ - tempsTotal: time
+ - FCmoyenne: int
+ - FCmin: int
+ - FCmax: int
+ - cloriesBrulees: int
+ + getIdStat(): int
+ + getDistanceTotale(): float
+ + getPoids(): float
+ + getTempsTotal(): time
+ + getFCmoyenne(): int
+ + getFCmin(): int
+ + getFCmax(): int
+ + getCloriesBrulees(): int
+ + __toString(): String
+}
+class SourceDonnees {
+ - idSource: int
+ - nom: String
+ - type: String
+ - precision: enum
+ - dateDerniereUtilisation: \DateTime
+ + getIdSource(): int
+ + getNom(): String
+ + getType(): String
+ + getPrecision(): enum
+ + getDateDerniereUtilisation(): \DateTime
+ + __toString(): String
+}
+User -> Role : role
+Role -> User : usersList
+Athlete -> Statistique : statsList
+Athlete -> Activite : activityList
+Athlete -> SourceDonnees : sdList
+User -> Notification : notificationList
+User -> Entrainement : trainingsList
+Activite -> SourceDonnees : maSource
+@enduml
+```
\ No newline at end of file
diff --git a/Documents/Diagramme/DiagrammeDeClasses/README_accesDonnees.md b/Documents/Diagramme/DiagrammeDeClasses/README_accesDonnees.md
new file mode 100644
index 00000000..c580460f
--- /dev/null
+++ b/Documents/Diagramme/DiagrammeDeClasses/README_accesDonnees.md
@@ -0,0 +1,91 @@
+[retour au README.md](../../../README.md)
+[Retour aux Documents](../../README_DOCUMENTS.md)
+[Retour au diagramme de classes](../README_DIAGRAMMES.md)
+
+# Introduction au Diagramme de la Couche d'Accès aux Données
+
+Bienvenue dans le cœur de notre système, où les données prennent vie à travers des ensembles de données (repositories) structurés et performants. Ce diagramme met en lumière la conception de la couche d'accès aux données de notre application, offrant un aperçu clair de la gestion des entités clées telles que les utilisateurs, les notifications, les demandes de relations et les entraînements.
+
+**Principes Fondamentaux :**
+
+- **IGenericRepository :** Une abstraction générique établissant les contrats essentiels pour l'accès aux données. Définissant des opérations standardisées telles que la récupération, la mise à jour, l'ajout et la suppression d'entités.
+
+- **Interfaces Spécialisées :** Des interfaces telles que `IUserRepository`, `INotificationRepository`, `IRelationshipRequestRepository` et `ITrainingRepository` étendent les fonctionnalités génériques pour répondre aux besoins spécifiques de chaque entité.
+
+**Repositories Concrets :**
+
+- **UserRepository :** Gère les données relatives aux utilisateurs, permettant des opérations de récupération, de mise à jour et de suppression avec une efficacité optimale.
+
+- **NotificationRepository :** Responsable de la gestion des notifications, assurant un accès structuré et une manipulation sécurisée de ces informations cruciales.
+
+- **RelationshipRequestRepository :** Facilite la gestion des demandes de relations entre utilisateurs, garantissant une interaction claire et ordonnée.
+
+- **TrainingRepository :** Permet l'accès et la manipulation des données liées aux entraînements, facilitant le suivi des performances athlétiques.
+
+Explorez ce diagramme pour découvrir la robustesse de notre architecture de gestion des données, mettant en œuvre des pratiques de développement SOLID pour assurer une expérience utilisateur fiable et évolutive.
+
+```plantuml
+@startuml couche_acces_aux_donnees
+abstract class IGenericRepository {
+ + getItemById(int id) : object
+ + getNbItems() : int
+ + getItems(int index, int count, string orderingPropertyName, bool descending) : array
+ + getItemsByName(string substring, int index, int count, string orderingPropertyName, bool descending) : array
+ + getItemByName(string substring, int index, int count, string orderingPropertyName, bool descending) : object
+ + updateItem(oldItem, newItem) : void
+ + addItem(item) : void
+ + deleteItem(item) : bool
+}
+interface IUserRepository extends IGenericRepository {
+}
+interface INotificationRepository extends IGenericRepository {
+}
+interface IRelationshipRequestRepository extends IGenericRepository {
+}
+interface ITrainingRepository extends IGenericRepository {
+}
+class NotificationRepository implements INotificationRepository {
+ - notifications : array
+ + getItemById(int id) : object
+ + getNbItems() : int
+ + getItems(int index, int count, string orderingPropertyName, bool descending) : array
+ + getItemsByName(string substring, int index, int count, string orderingPropertyName, bool descending) : array
+ + getItemByName(string substring, int index, int count, string orderingPropertyName, bool descending) : object
+ + updateItem(oldItem, newItem) : void
+ + addItem(item) : void
+ + deleteItem(item) : bool
+}
+class RelationshipRequestRepository implements IRelationshipRequestRepository {
+ - requests : array
+ + getItemById(int id) : object
+ + getNbItems() : int
+ + getItems(int index, int count, string orderingPropertyName, bool descending) : array
+ + getItemsByName(string substring, int index, int count, string orderingPropertyName, bool descending) : array
+ + getItemByName(string substring, int index, int count, string orderingPropertyName, bool descending) : object
+ + updateItem(oldItem, newItem) : void
+ + addItem(item) : void
+ + deleteItem(item) : bool
+}
+class TrainingRepository implements ITrainingRepository {
+ - trainings : array
+ + getItemById(int id) : object
+ + getNbItems() : int
+ + getItems(int index, int count, string orderingPropertyName, bool descending) : array
+ + getItemsByDate(date, int index, int count, string orderingPropertyName, bool descending) : array
+ + updateItem(oldItem, newItem) : void
+ + addItem(item) : void
+ + deleteItem(item) : bool
+}
+class UserRepository implements IUserRepository {
+ - users : array
+ + getItemById(int id) : object
+ + getNbItems() : int
+ + getItems(int index, int count, string orderingPropertyName, bool descending) : array
+ + getItemsByName(string substring, int index, int count, string orderingPropertyName, bool descending) : array
+ + getItemByName(string substring, int index, int count, string orderingPropertyName, bool descending) : object
+ + updateItem(oldItem, newItem) : void
+ + addItem(item) : void
+ + deleteItem(item) : bool
+}
+@enduml
+```
\ No newline at end of file
diff --git a/Documents/Diagramme/DiagrammeDeClasses/README_issue016.md b/Documents/Diagramme/DiagrammeDeClasses/README_issue016.md
new file mode 100644
index 00000000..035cde6d
--- /dev/null
+++ b/Documents/Diagramme/DiagrammeDeClasses/README_issue016.md
@@ -0,0 +1,139 @@
+[retour au README.md](../../../README.md)
+[Retour aux Documents](../../README_DOCUMENTS.md)
+[Retour au diagramme de classes](../README_DIAGRAMMES.md)
+
+# Introduction au Diagramme de Classes : Statistiques pour Coach
+
+Bienvenue dans l'univers captivant de notre système de gestion d'activités sportives avec une mise au point spéciale sur les statistiques destinées aux coaches. Ce diagramme de classes offre une vue approfondie de la manière dont les utilisateurs, en particulier les athlètes et les coaches, interagissent avec les données de performance.
+
+**Entités Principales :**
+
+- **Utilisateur (User) :** Représente les individus inscrits sur notre plateforme, avec des détails personnels et un rôle spécifique dans l'écosystème sportif.
+
+- **Athlète (Athlete) :** Un type spécialisé d'utilisateur qui peut enregistrer des statistiques liées à ses activités sportives.
+
+- **Coach (Coach) :** Un rôle qui s'étend à partir de la classe abstraite Role, dédié à la gestion des athlètes et de leurs statistiques.
+
+- **Statistique (Statistique) :** Contient des informations détaillées sur les performances sportives d'un athlète, telles que la distance totale, le poids, le temps total, la fréquence cardiaque moyenne, minimale et maximale, ainsi que les calories brûlées.
+
+**Relations Clés :**
+
+- Les Utilisateurs ont un rôle spécifique (Athlete, Coach) qui influence leurs interactions au sein de la plateforme.
+
+- Un Coach peut gérer une liste d'athlètes et avoir accès à leurs statistiques.
+
+- Un Athlète peut enregistrer plusieurs statistiques liées à ses activités.
+
+**Objectif Principal :**
+
+- Permettre aux coaches d'accéder et de surveiller les statistiques détaillées de leurs athlètes, offrant ainsi un aperçu complet de leurs performances sportives.
+
+Explorez ce diagramme pour découvrir comment notre application crée une synergie entre les utilisateurs, les rôles, et les statistiques, contribuant ainsi à une expérience enrichissante dans le suivi des activités sportives.
+
+
+```plantuml
+@startuml
+class Athlete {
+ + getAthlete(): Athlete
+ + getStatistic(): ?array
+ + getUsersList(): array
+ + getUserList(user: User): User
+ + CheckAdd(user: User): bool
+ + addUser(user: User): bool
+ + removeUser(user: User): bool
+}
+
+abstract class Coach {
+ + abstract getUsersList(): ?array
+ + abstract getUserList(user: User): User
+}
+
+class CoachAthlete {
+ + getUsersList(): ?array
+ + getUserList(user: User): User
+}
+
+abstract class Role {
+ - int id
+ - array usersList
+ - TrainingRepository trainingRepository
+ + abstract __construct(trainingRepository: ?TrainingRepository)
+ + abstract getUsersList(): ?array
+ + abstract getUserList(user: User): User
+ + abstract getTraining(): ?TrainingRepository
+ + abstract getTrainingsList(): ?array
+ + abstract getTrainingList(training: Training): ?Training
+ + abstract CheckAdd(user: User): bool
+ + abstract CheckAddTraining(training: Training): bool
+ + abstract addUser(user: User): bool
+ + abstract removeUser(user: User): bool
+ + abstract addTraining(training: Training): bool
+ + abstract removeTraining(training: Training): bool
+}
+
+class User {
+ - int id
+ - String username
+ - string nom
+ - string prenom
+ - string email
+ - string motDePasse
+ - string sexe
+ - float taille
+ - float poids
+ - DateTime dateNaissance
+ + __construct(id: int, username: String, nom: string, prenom: string, email: string, motDePasse: string, sexe: string, taille: float, poids: float, dateNaissance: DateTime, role: Role)
+ + getId(): int
+ + setId(id: int): void
+ + getUsername(): String
+ + setUsername(username: int): void
+ + getNom(): string
+ + setNom(nom: string): void
+ + getPrenom(): string
+ + setPrenom(prenom: string): void
+ + getEmail(): string
+ + setEmail(email: string): void
+ + getMotDePasse(): string
+ + setMotDePasse(motDePasse: string): void
+ + getSexe(): string
+ + setSexe(sexe: string): void
+ + getTaille(): float
+ + setTaille(taille: float): void
+ + getPoids(): float
+ + setPoids(poids: float): void
+ + getDateNaissance(): DateTime
+ + setDateNaissance(dateNaissance: DateTime): void
+ + getRole(): Role
+ + setRole(role: Role): void
+ + isValidPassword(password: string): bool
+ + __toString(): String
+}
+
+class Statistique {
+ - idStat: int
+ - distanceTotale: float
+ - poids: float
+ - tempsTotal: time
+ - FCmoyenne: int
+ - FCmin: int
+ - FCmax: int
+ - cloriesBrulees: int
+ + getIdStat(): int
+ + getDistanceTotale(): float
+ + getPoids(): float
+ + getTempsTotal(): time
+ + getFCmoyenne(): int
+ + getFCmin(): int
+ + getFCmax(): int
+ + getCloriesBrulees(): int
+ + __toString(): String
+}
+
+CoachAthlete --|> Coach
+Coach --|> Role
+Athlete --|> Role
+User -> Role : role
+Role -> User : usersList
+Athlete -> Statistique : statsList
+@enduml
+````
diff --git a/Documents/Diagramme/DiagrammeDeClasses/README_issue022.md b/Documents/Diagramme/DiagrammeDeClasses/README_issue022.md
new file mode 100644
index 00000000..77b8e832
--- /dev/null
+++ b/Documents/Diagramme/DiagrammeDeClasses/README_issue022.md
@@ -0,0 +1,92 @@
+[retour au README.md](../../../README.md)
+[Retour aux Documents](../../README_DOCUMENTS.md)
+[Retour au diagramme de classes](../README_DIAGRAMMES.md)
+
+# Diagramme de Classes : Gestion des Utilisateurs et Notifications
+
+Bienvenue dans le cœur de notre système, où la gestion des utilisateurs et des notifications prend vie à travers ce diagramme de classes. Explorez les relations et les fonctionnalités essentielles qui orchestrent l'interaction entre les utilisateurs, les demandes d'amis, et les notifications.
+
+**Entités Principales :**
+
+- **Utilisateur (User) :** Représente les individus inscrits sur notre plateforme, caractérisés par leur nom et établissant des liens d'amitié avec d'autres utilisateurs.
+
+- **Notification (Notification) :** Contient le texte informatif des notifications qui peuvent être émises par le système.
+
+- **Demande d'Ami (Ask) :** Modélise une demande d'amitié émise par un utilisateur en direction d'un autre.
+
+**Interfaces et Classes Abstraites :**
+
+- **INotifier :** Interface définissant la méthode `notify()`, implémentée par des classes concrètes pour gérer la notification aux observateurs.
+
+- **Observer :** Interface définissant la méthode `update()`, implémentée par les classes qui souhaitent être informées des changements dans un sujet observé.
+
+- **UserManager :** Classe abstraite gérant la logique métier liée aux utilisateurs, tels que l'ajout ou la suppression d'amis, la réponse aux demandes d'amis, et la récupération de la liste d'amis.
+
+- **IUserRepository :** Interface définissant les méthodes pour la recherche d'utilisateurs et l'ajout d'un nouvel utilisateur.
+
+**Relations Clés :**
+
+- Les utilisateurs peuvent avoir plusieurs amis et plusieurs notifications.
+
+- La classe UserManager est connectée à IUserRepository pour gérer les opérations liées aux utilisateurs.
+
+- Observer et Subject sont des composants du modèle de conception "Observer", permettant la notification efficace des changements dans le système.
+
+Plongez-vous dans ce diagramme pour découvrir comment notre application crée un écosystème social dynamique, permettant aux utilisateurs d'interagir, de rester informés et de développer des liens significatifs au sein de la communauté.
+
+
+```plantuml
+class User {
+ + name : string
+}
+
+User "1" --> "*" User: friends
+User "1" --> "*" Notification: notifications
+User "1" --> "*" Ask: friendRequests
+class Notification {
+ - text : string
+}
+
+interface INotifier {
+ + notify() : void
+}
+
+INotifier --|> Observer
+
+abstract class UserManager {
+ - currentUser : User
+ + deleteFriend(userId : int) : void
+ + addFriend(userId : int) : void
+ + respondToFriendRequest(requestId : int, choice : bool) : void
+ + getFriends(userId : int) : User[]
+}
+
+class Ask {
+ - fromUser : int
+ - toUser : int
+}
+
+Ask --|> Subject
+
+abstract class Subject {
+ + attach(o : Observer) : void
+ + detach(o : Observer) : void
+ + notify() : void
+}
+
+Subject "1" --> "*" Observer
+interface Observer {
+ + update() : void
+}
+
+UserManager ..> User
+UserManager o-- IUserRepository
+UserManager o-- INotifier
+
+interface IUserRepository {
+ + findByUsername(username : string) : User
+ + addUser(user : User) : bool
+}
+
+IUserRepository ..> User
+```
\ No newline at end of file
diff --git a/Documents/Diagramme/DiagrammeDeClasses/README_issue023.md b/Documents/Diagramme/DiagrammeDeClasses/README_issue023.md
new file mode 100644
index 00000000..9c3dc5d8
--- /dev/null
+++ b/Documents/Diagramme/DiagrammeDeClasses/README_issue023.md
@@ -0,0 +1,201 @@
+[retour au README.md](../../../README.md)
+[Retour aux Documents](../../README_DOCUMENTS.md)
+[Retour au diagramme de classes](../README_DIAGRAMMES.md)
+
+# Introduction au Modèle de Données de l'Application
+
+L'architecture de données de notre application de suivi d'activités sportives repose sur un modèle robuste, avec des entités clés pour représenter les activités, les athlètes et les coachs. Découvrez les composants principaux de notre modèle de données :
+
+## Activité
+L'entité Activité représente une session d'activité sportive avec des détails variés tels que le type d'activité, la date, la durée, l'effort ressenti, etc. Le `ActiviteEntity` encapsule ces données, tandis que le `ActiviteGateway` gère la communication avec la base de données pour les activités.
+
+## Athlète
+L'entité Athlète représente un utilisateur de l'application qui participe à des activités sportives. Le `AthleteEntity` stocke les détails de l'athlète, et le `AtheletGateway` facilite l'accès et la gestion des données des athlètes.
+
+## Coach
+L'entité Coach représente un utilisateur qui peut superviser et coacher d'autres athlètes. Le `CoachEntity` stocke les détails du coach, tandis que le `CoachGateway` gère les interactions avec la base de données.
+
+## Mapper
+Les mappers, tels que `ActiviteMapper`, `AthleteMapper`, et `CoachMapper`, facilitent la conversion entre les entités et les modèles utilisés dans l'application.
+
+## Connexion à la Base de Données
+La classe `Connection` étend de `PDO` et assure la connexion à la base de données. Chaque Gateway utilise cette connexion pour interagir avec la base de données.
+
+
+```plantuml
+@startuml
+class ActiviteEntity {
+ - idActivite: int
+ - type: string
+ - date: string
+ - heureDebut: string
+ - heureFin: string
+ - effortRessenti: int
+ - variabilite: int
+ - variance: int
+ - ecartType: int
+ - moyenne: int
+ - maximum: int
+ - minimum: int
+ - temperatureMoyenne: int
+ + getIdActivite(): int
+ + getType(): string
+ + getDate(): string
+ + getHeureDebut(): string
+ + getHeureFin(): string
+ + getEffortRessenti(): int
+ + getVariabilite(): int
+ + getVariance(): int
+ + getEcartType(): int
+ + getMoyenne(): int
+ + getMaximum(): int
+ + getMinimum(): int
+ + getTemperatureMoyenne(): int
+ + setIdActivite(idActivite: int): void
+ + setType(type: string): void
+ + setDate(date: string): void
+ + setHeureDebut(heureDebut: string): void
+ + setHeureFin(heureFin: string): void
+ + setEffortRessenti(effortRessenti: int): void
+ + setVariabilite(variabilite: int): void
+ + setVariance(variance: int): void
+ + setEcartType(ecartType: int): void
+ + setMoyenne(moyenne: int): void
+ + setMaximum(maximum: int): void
+ + setMinimum(minimum: int): void
+ + setTemperatureMoyenne(temperatureMoyenne: int): void
+}
+class ActiviteGateway {
+ + __construct(connection: Connection)
+ + getActivite(): ?array
+ + getActiviteById(activiteId: int): ?array
+ + getActiviteByType(type: string): ?array
+ + getActiviteByDate(date: string): ?array
+ + getActiviteByTimeRange(startTime: string, endTime: string): ?array
+ + getActiviteByEffort(effortRessenti: int): ?array
+ + getActiviteByVariability(variabilite: int): ?array
+ + getActiviteByTemperature(temperatureMoyenne: int): ?array
+ + addActivite(activite: ActiviteEntity): bool
+ + updateActivite(oldActivite: ActiviteEntity, newActivite: ActiviteEntity): bool
+ + deleteActivite(idActivite: int): bool
+}
+class ActiviteMapper {
+ + map(data: array): ActiviteEntity
+ + ActiviteEntityToModel(activiteEntity: ActiviteEntity): Activite
+}
+class AthleteEntity {
+ - idAthlete: int
+ - nom: string
+ - prenom: string
+ - email: string
+ - sexe: string
+ - taille: float
+ - poids: float
+ - motDePasse: string
+ - dateNaissance: string
+ + getIdAthlete(): int
+ + getNom(): string
+ + getPrenom(): string
+ + getEmail(): string
+ + getSexe(): string
+ + getTaille(): float
+ + getPoids(): float
+ + getMotDePasse(): string
+ + getDateNaissance(): string
+ + setIdAthlete(idAthlete: int): void
+ + setNom(nom: string): void
+ + setPrenom(prenom: string): void
+ + setEmail(email: string): void
+ + setSexe(sexe: string): void
+ + setTaille(taille: float): void
+ + setPoids(poids: float): void
+ + setMotDePasse(motDePasse: string): void
+ + setDateNaissance(dateNaissance: string): void
+}
+class AtheletGateway {
+ + __construct(connection: Connection)
+ + getAthlete(): ?array
+ + getAthleteById(userId: int): ?array
+ + getAthleteByName(name: string): ?array
+ + getAthleteByFirstName(firstName: string): ?array
+ + getAthleteByEmail(email: string): ?array
+ + getAthleteByGender(gender: string): ?array
+ + getAthleteByHeight(height: int): ?array
+ + getAthleteByWeight(weight: int): ?array
+ + getAthleteByBirthDate(birthdate: string): ?array
+ + addAthlete(athlete: AthleteEntity): bool
+ + updateAthlete(oldAthlete: AthleteEntity, newAthlete: AthleteEntity): bool
+ + deleteAthlete(idAthlete: int): bool
+}
+class AthleteMapper {
+ + fromSqlToEntity(data: array): array
+ + athleteEntityToModel(athleteEntity: AthleteEntity): User
+ + athleteToEntity(user: User): AthleteEntity
+}
+class CoachEntity {
+ - idCoach: int
+ - nom: string
+ - prenom: string
+ - email: string
+ - sexe: string
+ - taille: float
+ - poids: float
+ - motDePasse: string
+ - dateNaissance: string
+ + getIdCoach(): int
+ + getNom(): string
+ + getPrenom(): string
+ + getEmail(): string
+ + getSexe(): string
+ + getTaille(): float
+ + getPoids(): float
+ + getMotDePasse(): string
+ + getDateNaissance(): string
+ + setIdCoach(idCoach: int): void
+ + setNom(nom: string): void
+ + setPrenom(prenom: string): void
+ + setEmail(email: string): void
+ + setSexe(sexe: string): void
+ + setTaille(taille: float): void
+ + setPoids(poids: float): void
+ + setMotDePasse(motDePasse: string): void
+ + setDateNaissance(dateNaissance: string): void
+}
+class CoachGateway {
+ + __construct(connection: Connection)
+ + getCoach(): ?array
+ + getCoachById(userId: int): ?array
+ + getCoachByName(name: string): ?array
+ + getCoachByFirstName(firstName: string): ?array
+ + getCoachByEmail(email: string): ?array
+ + getCoachByGender(gender : string): ?array
+ + getCoachByHeight(height: int): ?array
+ + getCoachByBirthDate(birthdate: string): ?array
+ + addCoach(coach: CoachEntity): bool
+ + updateCoach(oldCoach: CoachEntity, newCoach: CoachEntity): bool
+ + deleteCoach(idCoach: int): bool
+}
+class CoachMapper {
+ + map(data: array): CoachEntity
+ + CoachEntityToModel(coachEntity: CoachEntity): User
+ + CoachToEntity(user: User): CoachEntity
+}
+class Connection extends PDO {
+ - stmt
+ + __construct(dsn: string, username: string, password: string)
+ + executeQuery(query: string, parameters: array): bool
+ + executeWithErrorHandling(query: string, params: array): array
+ + getResults(): array
+}
+
+Connection <- ActiviteGateway : connection
+Connection <- AtheletGateway : connection
+Connection <- CoachGateway : connection
+AthleteMapper -> AthleteEntity
+CoachMapper -> CoachEntity
+ActiviteMapper -> ActiviteEntity
+ActiviteMapper -> ActiviteGateway
+CoachMapper -> CoachGateway
+AthleteMapper -> AtheletGateway
+@enduml
+```
\ No newline at end of file
diff --git a/Documents/Diagramme/DiagrammeDeClasses/README_issue028.md b/Documents/Diagramme/DiagrammeDeClasses/README_issue028.md
new file mode 100644
index 00000000..b029361f
--- /dev/null
+++ b/Documents/Diagramme/DiagrammeDeClasses/README_issue028.md
@@ -0,0 +1,137 @@
+[retour au README.md](../../../README.md)
+[Retour aux Documents](../../README_DOCUMENTS.md)
+[Retour au diagramme de classes](../README_DIAGRAMMES.md)
+
+# Diagramme de classes pour l'importation de fichiers .fit
+
+Bienvenue dans le monde de la gestion d'activités sportives avec notre application innovante ! Cette user story se concentre sur une fonctionnalité essentielle qui améliorera l'expérience des utilisateurs : l'importation de fichiers .fit. Nous avons conçu un diagramme de classes pour vous offrir une vision claire et structurée de la manière dont cette fonctionnalité est implémentée au sein de notre application.
+
+**Acteurs Principaux :**
+
+- Utilisateur (User) : Représente un individu inscrit sur notre plateforme, avec la capacité d'importer des fichiers .fit.
+- Athlète (Athlete) : Un type spécialisé d'utilisateur, bénéficiant de fonctionnalités supplémentaires liées à la gestion d'activités sportives.
+
+**Entités Clés :**
+
+- Activité (Activity) : Représente une session d'activité physique, avec des détails tels que le type, la date, la durée, et plus encore.
+- Gestionnaires (Managers) : Gérant différentes facettes de l'application, notamment les utilisateurs, les activités et les fichiers.
+
+**Fonctionnalité Clé :**
+
+- Importation de fichiers .fit : Permet aux utilisateurs de charger des données provenant de fichiers .fit, générés par des dispositifs de suivi d'activité. Ces fichiers contiennent des informations précieuses telles que la fréquence cardiaque, la distance parcourue et d'autres métriques essentielles.
+
+**Architecture :**
+
+- AuthService (Service d'Authentification) : Gère l'authentification des utilisateurs, garantissant un accès sécurisé à la fonction d'importation.
+- UserManager (Gestionnaire d'Utilisateurs) : Gère les opérations liées aux utilisateurs, y compris l'importation de fichiers .fit.
+ActivityManager (Gestionnaire d'Activités) : Responsable du stockage et de la gestion des activités importées.
+
+**Objectif :**
+
+Offrir aux utilisateurs, en particulier aux athlètes, la possibilité d'enrichir leur profil et de suivre leur performance en important des données détaillées à partir de fichiers .fit.
+
+
+```plantuml
+@startuml issue028_DiagrammeDeClasses
+class Activite {
+ -idActivite:int
+ -type:String
+ -date:Date
+ -heureDebut:Date
+ -heureFin:Date
+ -effortRessenti:int
+ -variability:float
+ -variance:float
+ -standardDeviation:float
+ -average:float
+ -maximum:int
+ -minimum:int
+ -avrTemperature:float
+ -hasAutoPause:boolean
+ +getIdActivite():int
+ +getType():String
+ +getDate():Date
+ +getHeureDebut():Date
+ +getHeureFin():Date
+ +getEffortRessenti():int
+ +getVariability():float
+ +getVariance():float
+ +getStandardDeviation():float
+ +getAverage():float
+ +getMaximum():int
+ +getMinimum():int
+ +getAvrTemperature():float
+ +setType(type:String):void
+ +setEffortRessenti(effortRessenti:int):void
+ +__toString():String
+}
+class Role {
+ -id:int
+}
+class Athlete {
+ +getActivities():array
+ +addActivity(myActivity:Activity):boolean
+}
+class User {
+ -id:int
+ -username:String
+ -nom:String
+ -prenom:String
+ -email:String
+ -motDePasse:String
+ -sexe:String
+ -taille:float
+ -poids:float
+ -dateNaissance:Date
+ +getId():int
+ +setId(id:int):void
+ +getUsername():String
+ +setUsername(username:String):void
+ +getNom():String
+ +setNom(nom:String):void
+ +getPrenom():String
+ +setPrenom(prenom:String):void
+ +getEmail():String
+ +setEmail(email:String):void
+ +getMotDePasse():String
+ +setMotDePasse(motDePasse:String):void
+ +getSexe():String
+ +setSexe(sexe:String):void
+ +getTaille():float
+ +setTaille(taille:float):void
+ +getPoids():float
+ +setPoids(poids:float):void
+ +getDateNaissance():Date
+ +setDateNaissance(dateNaissance:Date):void
+ +getRole():Role
+ +setRole(role:Role):void
+ +isValidPassword(password:String):boolean
+ +__toString():String
+}
+class AthleteManager {
+ +getActivities():array
+}
+class ActivityManager {
+ +saveFitFileToJSON(monFichierFit:object):boolean
+ +uploadFile(type:string, effortRessenti:int, file_path_or_data:string|resource, options:array):boolean
+}
+class DataManager {
+}
+class UserManager {
+ +login(loginUser:string, passwordUser:string):boolean
+ +register(loginUser:string, passwordUser:string, data:array):boolean
+ +deconnecter():boolean
+}
+
+User -> Role: role
+Athlete -|> Role
+DataManager -> UserManager: -userMgr
+DataManager -> AthleteManager: -athleteMgr
+DataManager -> ActivityManager: -activityMgr
+UserManager -> AuthService: -authService
+UserManager -> User: -currentUser
+ActivityManager -> AuthService: -authService
+Athlete -> Activite: listActivite
+AthleteManager -> AuthService: -authService
+@enduml
+```
\ No newline at end of file
diff --git a/Documents/Diagram/Analyse/Sequence/AjouterAmis.png b/Documents/Diagramme/DiagrammeDeSequence/AjouterAmis.png
similarity index 100%
rename from Documents/Diagram/Analyse/Sequence/AjouterAmis.png
rename to Documents/Diagramme/DiagrammeDeSequence/AjouterAmis.png
diff --git a/Documents/Diagramme/DiagrammeDeSequence/README_accepterAmi.md b/Documents/Diagramme/DiagrammeDeSequence/README_accepterAmi.md
new file mode 100644
index 00000000..0d62e391
--- /dev/null
+++ b/Documents/Diagramme/DiagrammeDeSequence/README_accepterAmi.md
@@ -0,0 +1,50 @@
+[retour au README.md](../../../README.md)
+[Retour aux Documents](../../README_DOCUMENTS.md)
+[Retour au diagramme de classes](../README_DIAGRAMMES.md)
+
+# Introduction au Diagramme de Séquence : Gestion des Demandes d'Amis
+
+Bienvenue dans le processus dynamique de gestion des demandes d'amis au sein de notre application ! Ce diagramme de séquence met en évidence les étapes clés impliquées dans la gestion des demandes d'amis entre utilisateurs.
+
+**Acteurs Principaux :**
+
+- **Utilisateur (u) :** L'individu interagissant avec l'application, recevant et répondant aux demandes d'amis.
+
+**Flux d'Interaction :**
+
+1. **Réception d'une Demande d'Ami :** Lorsqu'un utilisateur reçoit une demande d'ami, le modèle (Model) notifie le contrôleur (Controller) de la nouvelle demande, spécifiant l'identifiant de l'utilisateur émetteur.
+
+2. **Affichage de la Demande d'Ami :** Le contrôleur transmet l'information à la vue (View), qui affiche la demande d'ami à l'utilisateur.
+
+3. **Affichage de la Page des Demandes d'Amis :** L'utilisateur visualise la page des demandes d'amis dans l'interface utilisateur.
+
+4. **Réponse à la Demande d'Ami :** L'utilisateur prend une décision quant à la demande d'ami, en répondant par un choix binaire (accepter ou refuser).
+
+5. **Enregistrement de la Réponse :** La vue (View) transmet la réponse de l'utilisateur au contrôleur, qui enregistre cette réponse.
+
+6. **Envoi de la Réponse :** Le contrôleur communique avec le modèle pour envoyer la réponse, indiquant si la demande a été acceptée (true) ou refusée (false).
+
+À travers ce diagramme de séquence, découvrez comment notre application gère efficacement le processus de gestion des demandes d'amis, offrant aux utilisateurs une expérience transparente et réactive lors de l'établissement de connexions sociales au sein de la plateforme.
+
+````plantuml
+@startuml
+actor User as u
+boundary View as v
+control Controller as c
+entity Model as m
+
+m-->c: pendingRequests: Request[]
+
+c-->v: DisplayPendingRequests(pendingRequests)
+v-->u: Show Friend Requests
+
+u->v: RespondToRequest(requestId, response)
+v-->c: RecordResponse(requestId, response)
+
+ c->m: UpdateRequestStatus(requestId, response)
+ m-->c: updateStatus: success/failure
+ c-->v: NotifyUpdateResult(updateStatus)
+ v-->u: Show Response Result
+
+@enduml
+``````
\ No newline at end of file
diff --git a/Documents/Diagramme/DiagrammeDeSequence/README_demandeAmi.md b/Documents/Diagramme/DiagrammeDeSequence/README_demandeAmi.md
new file mode 100644
index 00000000..c5a1fa9d
--- /dev/null
+++ b/Documents/Diagramme/DiagrammeDeSequence/README_demandeAmi.md
@@ -0,0 +1,31 @@
+[retour au README.md](../../../README.md)
+[Retour aux Documents](../../README_DOCUMENTS.md)
+[Retour au diagramme de classes](../README_DIAGRAMMES.md)
+
+# Introduction au Diagramme de Séquence : Recherche d'Amis
+
+Bienvenue dans le processus dynamique de recherche d'amis au sein de notre application ! Ce diagramme de séquence met en lumière les étapes clés impliquées lorsque les utilisateurs recherchent des amis en utilisant un pseudo spécifique.
+
+**Acteurs Principaux :**
+
+- **Utilisateur (u) :** L'individu interagissant avec l'application, initié à la recherche d'amis.
+
+**Flux d'Interaction :**
+
+1. **Accès à la Fonctionnalité de Recherche :** L'utilisateur déclenche la fonctionnalité de recherche d'amis depuis son interface utilisateur.
+
+2. **Saisie du Pseudo :** L'utilisateur entre le pseudo de l'ami qu'il souhaite rechercher.
+
+3. **Requête de Recherche :** La vue (View) transmet la demande de recherche au contrôleur (Controller), qui déclenche une requête GET au serveur pour récupérer la liste des amis correspondant au pseudo saisi.
+
+4. **Traitement de la Requête :** Le modèle (Model) récupère la liste d'amis correspondante en utilisant l'identifiant de l'utilisateur et notifie le contrôleur du résultat.
+
+5. **Notification des Utilisateurs :** Le modèle informe également les utilisateurs concernés (émetteur et destinataire) de l'action de recherche effectuée.
+
+6. **Rendu de la Vue :** Le contrôleur reçoit la liste d'amis du modèle et rend cette liste à la vue.
+
+7. **Affichage des Résultats :** La vue affiche les résultats de la recherche à l'utilisateur, montrant les amis qui correspondent au pseudo saisi.
+
+À travers ce diagramme de séquence, découvrez comment notre application facilite le processus de recherche d'amis, fournissant aux utilisateurs une interface conviviale et réactive pour élargir leur réseau social au sein de la plateforme.
+
+
\ No newline at end of file
diff --git a/Documents/Diagramme/DiagrammeDeSequence/README_issue021.md b/Documents/Diagramme/DiagrammeDeSequence/README_issue021.md
new file mode 100644
index 00000000..0cb1e1bf
--- /dev/null
+++ b/Documents/Diagramme/DiagrammeDeSequence/README_issue021.md
@@ -0,0 +1,41 @@
+[retour au README.md](../../../README.md)
+[Retour aux Documents](../../README_DOCUMENTS.md)
+[Retour au diagramme de classes](../README_DIAGRAMMES.md)
+
+# Introduction au Processus de Connexion sur la Plateforme
+
+Bienvenue sur notre plateforme de gestion d'activités sportives ! Pour offrir une expérience fluide et sécurisée, nous avons mis en place un processus de connexion intuitif. Découvrez comment accéder à votre compte ou créer un nouveau compte en quelques étapes simples.
+
+**Étapes du Processus :**
+
+1. **Demande de Page de Connexion :** L'utilisateur démarre en exprimant le désir de se connecter à la plateforme.
+
+2. **Vérification de la Connexion Préexistante :** Le système vérifie si l'utilisateur est déjà connecté. En cas de connexion active, l'utilisateur est redirigé directement vers sa page de compte.
+
+3. **Page de Connexion :** Si l'utilisateur n'est pas encore connecté, il est dirigé vers la page de connexion, où il peut saisir ses informations d'identification.
+
+4. **Choix pour les Utilisateurs Possédant un Compte :** Si l'utilisateur a déjà un compte, il peut fournir ses informations de connexion existantes.
+
+5. **Création de Compte pour les Nouveaux Utilisateurs :** Pour ceux qui n'ont pas encore de compte, l'option de création de compte est disponible. L'utilisateur peut fournir les détails nécessaires pour créer son compte.
+
+6. **Page de Création de Compte :** Une page dédiée guide l'utilisateur tout au long du processus de création de compte, lui permettant de saisir les informations nécessaires.
+
+7. **Validation et Connexion :** Une fois que les informations de connexion ou de création de compte sont fournies, le système procède à la vérification et connecte l'utilisateur à son compte.
+
+
+```plantuml
+actor User as u
+u->Systeme : demandePageConnexion()
+alt User déjà connecté
+ Systeme-->u : redirectionPageCompte()
+end
+Systeme-->u : PageConnexion()
+alt User possède déjà un compte
+ u->Systeme:InfosConnexion()
+else
+ u->Systeme:CreerCompte()
+ Systeme-->u :PageCreationCompte()
+ u->Systeme:InfosCreationCompte()
+end
+Systeme-->u :Connecter()
+```
\ No newline at end of file
diff --git a/Documents/Diagramme/DiagrammeDeSequence/README_suppressionAmi.md b/Documents/Diagramme/DiagrammeDeSequence/README_suppressionAmi.md
new file mode 100644
index 00000000..f741e08a
--- /dev/null
+++ b/Documents/Diagramme/DiagrammeDeSequence/README_suppressionAmi.md
@@ -0,0 +1,64 @@
+[retour au README.md](../../../README.md)
+[Retour aux Documents](../../README_DOCUMENTS.md)
+[Retour au diagramme de classes](../README_DIAGRAMMES.md)
+
+# Introduction au Diagramme de Séquence : Gestion des Amis
+
+Bienvenue dans le processus dynamique de gestion des amis au sein de notre application ! Ce diagramme de séquence met en lumière les interactions entre l'utilisateur et l'application, ainsi que le flux d'informations entre les différentes composantes du système.
+
+**Acteurs Principaux :**
+
+- **Utilisateur (u) :** L'individu interagissant avec l'application, souhaitant consulter et gérer sa liste d'amis.
+
+**Flux d'Interaction :**
+
+1. **Demande de la Page d'Amis :** L'utilisateur déclenche la demande de la page d'amis, amorçant le processus d'affichage de sa liste d'amis.
+
+2. **Récupération des Amis :** Le contrôleur (Controller) reçoit la demande et interagit avec le modèle (Model) pour récupérer la liste d'amis associée à l'identifiant de l'utilisateur.
+
+ - *Cas de Récupération Réussi :* Si la récupération est réussie, le modèle transmet la liste d'amis au contrôleur.
+
+ - *Cas d'Échec de Récupération :* En cas d'échec, une notification d'erreur est renvoyée.
+
+3. **Affichage de la Liste d'Amis :** Le contrôleur rend la vue (View) en utilisant la liste d'amis récupérée, qui est ensuite affichée à l'utilisateur.
+
+4. **Suppression d'un Ami :** L'utilisateur décide de supprimer un ami spécifique en cliquant sur l'option correspondante.
+
+5. **Traitement de la Suppression :** Le contrôleur, en réponse à la demande de suppression, envoie une requête au modèle pour effectuer la suppression de l'ami identifié par son identifiant utilisateur (idUser).
+
+ - *Cas de Suppression Réussie :* Si la suppression est réussie, le modèle renvoie la liste d'amis mise à jour.
+
+ - *Cas d'Échec de Suppression :* En cas d'échec, une notification d'erreur est renvoyée.
+
+6. **Affichage de la Liste d'Amis Mise à Jour :** La vue est mise à jour avec la nouvelle liste d'amis, qui est ensuite affichée à l'utilisateur.
+
+À travers ce diagramme de séquence, découvrez comment notre application gère de manière fluide et réactive les interactions de l'utilisateur avec sa liste d'amis, garantissant une expérience utilisateur cohérente et sans heurts.
+
+```plantuml
+actor User as u
+boundary View as v
+control Controller as c
+entity Model as m
+
+u->v: Request Friends Page
+v->c: Get /Friends
+c->m: getFriends(userId)
+alt successful retrieval
+ m-->c: friendsList: User[]
+else retrieval failed
+ m-->c: error
+end
+c-->v: renderView(friendsList)
+v-->u: Display Friends
+
+u->v: clickDeleteFriend(idUser)
+v->c: Post: deleteFriend(idUser)
+c->m: deleteFriend(idUser)
+alt successful deletion
+ m-->c: updatedFriendsList: User[]
+else deletion failed
+ m-->c: error
+end
+c-->v: renderView(updatedFriendsList)
+v-->u: Display Updated Friends
+```
\ No newline at end of file
diff --git a/Documents/Diagramme/README_DIAGRAMMES.md b/Documents/Diagramme/README_DIAGRAMMES.md
new file mode 100644
index 00000000..ae7c906e
--- /dev/null
+++ b/Documents/Diagramme/README_DIAGRAMMES.md
@@ -0,0 +1,23 @@
+[retour au README.md](../../README.md)
+[Retour aux Documents](../README_DOCUMENTS.md)
+
+# Diagrammes nécéssaires à notre projet
+
+## Diagrammes de classes
+- [issue016 - Statistiques coach ](DiagrammeDeClasses/README_issue016.md)
+- [issue022 - Ajout des amis ](DiagrammeDeClasses/README_issue022.md)
+- [issue023 - User Gateway ](DiagrammeDeClasses/README_issue023.md)
+- [issue028 - Importation de fichiers .fit](DiagrammeDeClasses/README_issue028.md)
+- [couche d'accès aux données](DiagrammeDeClasses/README_accesDonnees.md)
+- [Diagramme général](DiagrammeDeClasses/README_DIAGRAMME.md)
+
+## Diagrammes de séquence
+- [Envoi de demande d'ami](DiagrammeDeSequence/README_demandeAmi.md)
+- [Accepter une demande d'ami](DiagrammeDeSequence/README_accepterAmi.md)
+- [Supprimer un ami](DiagrammeDeSequence/README_suppressionAmi.md)
+- [issue021 - Authentification ](DiagrammeDeSequence/README_issue021.md)
+
+## Diagrammes de cas d'utilisation
+- [Cas d'utilisation pour la gestion du compte et des amitiés](CasUtilisations/README_gestionCompteAmitie.md)
+- [Cas d'utilisation pour la gestion des activités et données](CasUtilisations/README_gestionActivites.md)
+- [Cas d'utilisation pour la suivi d'une équipe sportive](CasUtilisations/README_coachSuiviSportif.md)
\ No newline at end of file
diff --git a/Documents/Gantt Antoine David Paul Kevin Antoine.mpp b/Documents/Gantt Antoine David Paul Kevin Antoine.mpp
deleted file mode 100755
index e934e2dc..00000000
Binary files a/Documents/Gantt Antoine David Paul Kevin Antoine.mpp and /dev/null differ
diff --git a/Documents/Gestion/BILAN_AVANCEMENT_2.pptx b/Documents/Gestion/BILAN_AVANCEMENT_2.pptx
new file mode 100644
index 00000000..5405c57e
Binary files /dev/null and b/Documents/Gestion/BILAN_AVANCEMENT_2.pptx differ
diff --git a/Documents/ComparaisonGANTT.png b/Documents/Gestion/GANTT/ComparaisonGANTT.png
similarity index 100%
rename from Documents/ComparaisonGANTT.png
rename to Documents/Gestion/GANTT/ComparaisonGANTT.png
diff --git a/Documents/CompraraisonGANTT.xlsx b/Documents/Gestion/GANTT/CompraraisonGANTT.xlsx
similarity index 100%
rename from Documents/CompraraisonGANTT.xlsx
rename to Documents/Gestion/GANTT/CompraraisonGANTT.xlsx
diff --git a/Documents/Gestion/GANTT/GANTTPrevisionel-old.mpp b/Documents/Gestion/GANTT/GANTTPrevisionel-old.mpp
new file mode 100644
index 00000000..5e328c54
Binary files /dev/null and b/Documents/Gestion/GANTT/GANTTPrevisionel-old.mpp differ
diff --git a/Documents/Gestion/GANTT/GANTTPrevisionnelV2 - Copie.mpp b/Documents/Gestion/GANTT/GANTTPrevisionnelV2 - Copie.mpp
new file mode 100755
index 00000000..1f5ad1a7
Binary files /dev/null and b/Documents/Gestion/GANTT/GANTTPrevisionnelV2 - Copie.mpp differ
diff --git a/Documents/Gestion/GANTT/GANTTReel-old.mpp b/Documents/Gestion/GANTT/GANTTReel-old.mpp
new file mode 100644
index 00000000..361aacef
Binary files /dev/null and b/Documents/Gestion/GANTT/GANTTReel-old.mpp differ
diff --git a/Documents/Gestion/GANTT/GANTTReel.mpp b/Documents/Gestion/GANTT/GANTTReel.mpp
new file mode 100755
index 00000000..d716efa5
Binary files /dev/null and b/Documents/Gestion/GANTT/GANTTReel.mpp differ
diff --git a/Documents/Gestion/GANTT/GANTTReel.pdf b/Documents/Gestion/GANTT/GANTTReel.pdf
new file mode 100755
index 00000000..c8e22967
Binary files /dev/null and b/Documents/Gestion/GANTT/GANTTReel.pdf differ
diff --git a/Documents/Gantt Antoine David Paul Kevin Antoine.pdf b/Documents/Gestion/GANTT/Gantt.pdf
similarity index 100%
rename from Documents/Gantt Antoine David Paul Kevin Antoine.pdf
rename to Documents/Gestion/GANTT/Gantt.pdf
diff --git a/Documents/Gestion/GANTT/README_GANTT.md b/Documents/Gestion/GANTT/README_GANTT.md
new file mode 100644
index 00000000..4f5460e0
--- /dev/null
+++ b/Documents/Gestion/GANTT/README_GANTT.md
@@ -0,0 +1,13 @@
+[retour au README.md](../../../README.md)
+[Retour aux Documents](../../README_DOCUMENTS.md)
+[Retour à la Gestion](../README_GESTION.md)
+
+# GANTT
+## Comparaison GANTT
+- [Comparaison GANTT - Excel](CompraraisonGANTT.xlsx)
+
+
+
+## Gestion de projet - MSProject
+- [Gestion de projet - MSProject](Gantt.mpp)
+- [GANTT - PDF](Gantt.pdf)
\ No newline at end of file
diff --git a/Documents/Gestion/GANTT/couts.png b/Documents/Gestion/GANTT/couts.png
new file mode 100755
index 00000000..3ec2f67b
Binary files /dev/null and b/Documents/Gestion/GANTT/couts.png differ
diff --git a/Documents/Gestion/PERT temps.xlsx b/Documents/Gestion/PERT/PERT.xlsx
similarity index 100%
rename from Documents/Gestion/PERT temps.xlsx
rename to Documents/Gestion/PERT/PERT.xlsx
diff --git a/Documents/PERT1.png b/Documents/Gestion/PERT/PERT1.png
similarity index 100%
rename from Documents/PERT1.png
rename to Documents/Gestion/PERT/PERT1.png
diff --git a/Documents/PERT2.png b/Documents/Gestion/PERT/PERT2.png
similarity index 100%
rename from Documents/PERT2.png
rename to Documents/Gestion/PERT/PERT2.png
diff --git a/Documents/Gestion/PERT/README_PERT.md b/Documents/Gestion/PERT/README_PERT.md
new file mode 100644
index 00000000..ddc8e348
--- /dev/null
+++ b/Documents/Gestion/PERT/README_PERT.md
@@ -0,0 +1,10 @@
+[retour au README.md](../../../README.md)
+[Retour aux Documents](../../README_DOCUMENTS.md)
+[Retour à la Gestion](../README_GESTION.md)
+
+## PERT
+- [PERT - Excel](PERT.xlsx)
+
+### PERT - Image
+
+
\ No newline at end of file
diff --git a/Documents/Gestion/README_GESTION.md b/Documents/Gestion/README_GESTION.md
new file mode 100644
index 00000000..6497de0f
--- /dev/null
+++ b/Documents/Gestion/README_GESTION.md
@@ -0,0 +1,10 @@
+[retour au README.md](../../README.md)
+[Retour aux Documents](../README_DOCUMENTS.md)
+
+# Gestion de projet
+
+## PERT
+- [PERT](PERT/README_PERT.md)
+
+## GANTT
+- [GANTT](GANTT/README_GANTT.md)
diff --git a/Documents/Partie prenantes/Parties prenantes.docx b/Documents/PartiePrenantes/partiesPrenantes.docx
similarity index 100%
rename from Documents/Partie prenantes/Parties prenantes.docx
rename to Documents/PartiePrenantes/partiesPrenantes.docx
diff --git a/Documents/Persona/Elsa Justin.pdf b/Documents/Personnas/ElsaJustin.pdf
similarity index 100%
rename from Documents/Persona/Elsa Justin.pdf
rename to Documents/Personnas/ElsaJustin.pdf
diff --git a/Documents/Persona/Ethan Hulist.pdf b/Documents/Personnas/EthanHulist.pdf
similarity index 100%
rename from Documents/Persona/Ethan Hulist.pdf
rename to Documents/Personnas/EthanHulist.pdf
diff --git a/Documents/Persona/Jules Gerdoli.pdf b/Documents/Personnas/JulesGerdoli.pdf
similarity index 100%
rename from Documents/Persona/Jules Gerdoli.pdf
rename to Documents/Personnas/JulesGerdoli.pdf
diff --git a/Documents/Personnas/README_PERSONNAS.md b/Documents/Personnas/README_PERSONNAS.md
new file mode 100644
index 00000000..a7292b29
--- /dev/null
+++ b/Documents/Personnas/README_PERSONNAS.md
@@ -0,0 +1,8 @@
+[retour au README.md](../../README.md)
+[Retour aux Documents](../README_DOCUMENTS.md)
+
+
+# Personas
+- [Personas Elsa Justin - PDF](ElsaJustin.pdf)
+- [Personas Ethan Hulist - PDF](EthanHulist.pdf)
+- [Personas Jules Gerdoli - PDF](JulesGerdoli.pdf)
\ No newline at end of file
diff --git a/Documents/Questionnaire/Questionnaire 1.docx b/Documents/Questionnaire/Questionnaire.docx
similarity index 100%
rename from Documents/Questionnaire/Questionnaire 1.docx
rename to Documents/Questionnaire/Questionnaire.docx
diff --git a/Documents/README_DOCUMENTS.md b/Documents/README_DOCUMENTS.md
new file mode 100644
index 00000000..80bdd98c
--- /dev/null
+++ b/Documents/README_DOCUMENTS.md
@@ -0,0 +1,11 @@
+[README.md](../README.md)
+## SOMMAIRE
+# Diagrammes
+- [Diagrammes](Diagramme/README_DIAGRAMMES.md)
+
+# Personnas
+- [Personnas](Personnas/README_PERSONNAS.md)
+
+
+# Gestion de projet
+- [Gestion de projet](Gestion/README_GESTION.md)
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 00000000..7f497918
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 antoine.perederii
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
index 7e1db97d..d42495b8 100755
--- a/README.md
+++ b/README.md
@@ -1,26 +1,34 @@
+
HeartTrack
+
+
+
-[Présentation](#présentation) | [Répartion](#répartition-du-git) | [Développement](#développement) | [Wiki](https://codefirst.iut.uca.fr/git/HeartTrack_Dev/Web/wiki)
----
+---





-
+
+
----
-
-
+
+
+# Table des matières
+[Présentation](#présentation) | [Répartition du Git](#répartition-du-git) | [Documentation](#documentation) | [Prerequisites](#prerequisites) | [Getting Started](#getting-started) | [Features](#features) | [Ce que nous avons fait](#ce-que-nous-avons-fait) | [Fabriqué avec](#fabriqué-avec) | [Contributeurs](#contributeurs) | [Comment contribuer](#comment-contribuer) | [License](#license) | [Remerciements](#remerciements)
-# HeartTrack
## Présentation
@@ -29,20 +37,22 @@
### Contexte
-HeartTrack est une application web PHP et mobile Android destinée aux sportifs pour l'analyse de courbes cardiaques. L'objectif principal de cette application est de récupérer les données de fréquence cardiaque à partir d'une montre, de les afficher sous forme de courbes, d'identifier des patterns, de fournir des statistiques et de réaliser des prédictions liées à l'effort physique, à la chaleur, à la récupération, etc.
+HeartTrack est une application web PHP et mobile Android destinée aux sportifs et aux coachs afin de permettre l'analyse de courbes de fréquences cardiaques et le suivi d'équipe sportive. L'objectif principal de cette application est de récupérer les données de fréquence cardiaque à partir de fichiers .FIT, de les afficher sous forme de courbes, d'identifier des paternes, de fournir des statistiques et de réaliser des prédictions liées à l'effort physique, à la chaleur, à la récupération, etc.
### Récapitulatif du Projet
-Le projet HeartTrack, avec son application HeartTrack, vise à offrir une solution complète pour l'analyse des données de fréquence cardiaque, en mettant l'accent sur les besoins des sportifs. L'application sera capable de traiter et d'interpréter les données de manière intelligente, fournissant ainsi des informations précieuses pour optimiser les performances sportives et la santé.
+Le projet HeartTrack, avec son application HeartTrack, vise à offrir une solution Open Source d'analyse des données de fréquence cardiaque, en mettant l'accent sur les besoins des sportifs et des coachs. L'application sera capable de traiter et d'interpréter les données de manière intelligente, fournissant ainsi des informations précieuses pour optimiser les performances sportives et la santé.
## Répartition du Git
-[**Sources**](Sources) : **Code de l'application**
+[**Sources**](Sources/) : **Code de l'application**
-[**Documents**](Documents) : **Documentation de l'application**
+[**Documents**](Documents/README_DOCUMENTS.md) : **Documentation de l'application et diagrammes**
---
+[**Wiki**](https://codefirst.iut.uca.fr/git/HeartDev/Web/wiki/PHP) : **Wiki de notre projet (attendus PHP)**
+
+---
Le projet HeartTrack utilise un modèle de flux de travail Git (Gitflow) pour organiser le développement. Voici une brève explication des principales branches :
@@ -50,70 +60,79 @@ Le projet HeartTrack utilise un modèle de flux de travail Git (Gitflow) pour or
- **branche master** : La branche master est similaire à la branche de production, mais elle peut contenir des fonctionnalités en cours de développement qui sont presque prêtes pour une mise en production.
-- **branche test** : Cette branche est utilisée pour déployer une version démo de l'application. Elle est mise à jour avec les dernières fonctionnalités et surtout la totalité de leurs test en développement.
+- **branche test** : Cette branche est utilisée pour permettre différents tests sur l'application.
- **branche issue** : Pour chaque problème (issue) que vous résolvez, vous devez créer une branche portant le nom de l'issue, par exemple, "issue_#32_nom" où 32 est le numéro de l'issue et nom est une description courte de l'issue. Une fois l'issue résolue, assurez-vous de mettre à jour le changelog et de créer une merge request.
-
-
-## Développement
-
-### Travailler sur une Issue
-
-Si vous êtes amené à travailler sur une issue, suivez ces principes :
-
-1. Les issues sont créées dans le système de gestion de versions (Git), chaque issue ayant un numéro unique.
-
-2. Lorsque vous décidez de travailler sur une issue, attribuez-vous l'issue et créez une branche avec un nom correspondant à l'issue sous la forme suivante : "issue_#32_nom" où 32 est le numéro de l'issue et nom est son libellé.
-
-3. Une fois que vous avez résolu l'issue dans votre branche, assurez-vous de mettre à jour le changelog avec les modifications apportées.
-
-4. Ensuite, poussez votre branche sur le référentiel distant et créez une merge request pour que vos modifications soient examinées par les autres membres de l'équipe.
-
-## Prérequis
-
-Avant de commencer à travailler sur le projet HeartTrack, assurez-vous d'avoir les prérequis suivants installés :
-
-- Serveur web (par exemple, Apache)
-- PHP (version recommandée)
-- Base de données (par exemple, MySQL)
-- Git
-
-## Installation
-
-Pour installer et exécuter le projet HeartTrack, suivez ces étapes :
-
-1. Clonez ce référentiel sur votre machine locale en utilisant la commande suivante :
- `git clone https://codefirst.iut.uca.fr/git/FitDev/Projet_fit_web`
-
-2. Configurez votre environnement de développement avec les prérequis mentionnés ci-dessus.
-
-3. Copiez le fichier de configuration d'exemple et configurez les paramètres de l'application :
-
-cp config/config.example.php config/config.php
-[pas encore la pour l'instant]
-4. Importez la structure de la base de données à partir du fichier SQL fourni :
-
-mysql -u votre_nom_utilisateur -p < db_schema.sql ou psql comme vous le souhaitez
-
-
-5. Démarrez votre serveur web et accédez à l'application via le navigateur.
-
-`npm run dev`
-ou
-`composer dev` e.q `php composer.phar dev`
-
-## Exécution
-
-Pour exécuter l'application, suivez les instructions d'installation ci-dessus. Une fois l'application configurée et le serveur web en cours d'exécution, accédez à l'application via votre navigateur web.
-
-## Déploiement en Démo
-
-Pour déployer une version de démonstration de l'application, utilisez la branche "demo" du référentiel. Cette branche est généralement mise à jour avec les dernières fonctionnalités en développement.
-
-## Déploiement en Production
-
-Pour déployer la version de production de l'application, utilisez la branche "prod" du référentiel.
-
----
-
-N'hésitez pas à contribuer au développement de HeartTrack en résolvant des issues ou en ajoutant de nouvelles fonctionnalités. Nous vous encourageons à suivre les principes et les pratiques décrites dans ce document pour un développement efficace et collaboratif.
\ No newline at end of file
+- **branche démo** : Cette branche est utilisée pour déployer une version démo de l'application. Elle est mise à jour avec les dernières fonctionnalités en développement.
+
+## Documentation
+Documentation et informations à propos de `HearthTrack` disponible [ici]()
+
+### Prerequisites
+* [Visual Studio code](https://code.visualstudio.com/) - exemple d'IDE gratuit
+* [Git](https://git-scm.com/) - Versioning
+* [XAMPP : X, Apache, MySQL, Perl, PHP](https://www.apachefriends.org/fr/index.html) - Langages
+
+## Getting Started
+1. Cloner le répos
+2. Faire un `composer install` dans le dossier `Sources/`
+3. Importer la base de données `Sources/Database/hearttrack.sql`
+4. Lancer le serveur Apache et MySQL
+5. Lancer le projet avec `php -S localhost:8000 -t Sources/`
+6. Ouvrir le navigateur et aller sur `localhost:8000/index.php`
+
+## Features
+* [x] Import de fichier .fit
+* [x] Ajout d'amis
+* [x] Création de compte
+* [x] Ajout d'athlete pour le coach
+* [x] Création d'entrainement
+* [x] Création de courbes
+* [x] Gérer ses permissions
+
+## Ce que nous avons fait
+* [x] PDO et Pattern Gateway
+* [x] implémentation MVC et 2 contrôleurs
+* [x] pattern Frontcontroleur sans routage
+* [x] autoloader simple sans namespace ?
+* [x] validation des entrées
+* [x] vues dont vue erreur
+* [x] partie administration ou équivalent
+* [x] vues complètes bien segmentées et utilisation bootstrap
+* [x] utilisation namespace et psr4
+* [x] moteur twig pour les vues
+* [x] pattern Frontcontroleur avec routage
+* [x] Javascript
+* [x] pattern fabrique
+
+## Fabriqué avec
+* [JetBrains Toolbox](https://www.jetbrains.com/fr-fr/toolbox-app/) - IDE
+* [CodeFirst](https://codefirst.iut.uca.fr/) - Gitea
+ * [Drone](https://codefirst.iut.uca.fr/) - CI
+ * [SonarQube](https://codefirst.iut.uca.fr/sonar/) - Qualité
+* [PHP 8](https://www.php.net/downloads) - Langage
+ * [html 5, CSS 3](https://developer.mozilla.org/fr/docs/Web/HTML) - Langage
+ * [Twig](https://twig.symfony.com/) - Langage
+* [Doxygen](https://codefirst.iut.uca.fr/sonar/) - Documentation
+
+
+## Contributeurs
+* [Antoine PEREDERII](https://codefirst.iut.uca.fr/git/antoine.perederii)
+* [Paul LEVRAULT](https://codefirst.iut.uca.fr/git/paul.levrault)
+* [Kevin MONTEIRO](https://codefirst.iut.uca.fr/git/kevin.monteiro)
+* [Antoine PINAGOT](https://codefirst.iut.uca.fr/git/antoine.pinagot)
+* [David D'HALMEIDA](https://codefirst.iut.uca.fr/git/david.d_almeida)
+
+## Comment contribuer
+1. Forkez le projet ()
+2. Créez votre branche (`git checkout -b feature/featureName`)
+3. commit vos changements (`git commit -am 'Add some feature'`)
+4. Push sur la branche (`git push origin feature/featureName`)
+5. Créez une nouvelle Pull Request
+
+
+## License
+Ce projet est sous licence ``MIT`` - voir le fichier [LICENSE.md](LICENSE.md) pour plus d'informations.
+
+## Remerciements
+Ce projet a été réalisé dans le cadre de la SAÉ Projet Web et Mobile de l'IUT de Clermont-Ferrand.
\ No newline at end of file
diff --git a/Sources/config/config.php b/Sources/config/config.php
index 2471db5c..a42b62cd 100755
--- a/Sources/config/config.php
+++ b/Sources/config/config.php
@@ -1,6 +1,5 @@
code {
+ color: inherit;
+}
+
+kbd {
+ padding: 0.1875rem 0.375rem;
+ font-size: 0.875em;
+ color: var(--bs-body-bg);
+ background-color: var(--bs-body-color);
+ border-radius: 0.25rem;
+}
+kbd kbd {
+ padding: 0;
+ font-size: 1em;
+}
+
+figure {
+ margin: 0 0 1rem;
+}
+
+img,
+svg {
+ vertical-align: middle;
+}
+
+table {
+ caption-side: bottom;
+ border-collapse: collapse;
+}
+
+caption {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ color: #6c757d;
+ text-align: left;
+}
+
+th {
+ text-align: inherit;
+ text-align: -webkit-match-parent;
+}
+
+thead,
+tbody,
+tfoot,
+tr,
+td,
+th {
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+}
+
+label {
+ display: inline-block;
+}
+
+button {
+ border-radius: 0;
+}
+
+button:focus:not(:focus-visible) {
+ outline: 0;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+ margin: 0;
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+}
+
+button,
+select {
+ text-transform: none;
+}
+
+[role=button] {
+ cursor: pointer;
+}
+
+select {
+ word-wrap: normal;
+}
+select:disabled {
+ opacity: 1;
+}
+
+[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
+ display: none !important;
+}
+
+button,
+[type=button],
+[type=reset],
+[type=submit] {
+ -webkit-appearance: button;
+}
+button:not(:disabled),
+[type=button]:not(:disabled),
+[type=reset]:not(:disabled),
+[type=submit]:not(:disabled) {
+ cursor: pointer;
+}
+
+::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+textarea {
+ resize: vertical;
+}
+
+fieldset {
+ min-width: 0;
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+legend {
+ float: left;
+ width: 100%;
+ padding: 0;
+ margin-bottom: 0.5rem;
+ font-size: calc(1.275rem + 0.3vw);
+ line-height: inherit;
+}
+@media (min-width: 1200px) {
+ legend {
+ font-size: 1.5rem;
+ }
+}
+legend + * {
+ clear: left;
+}
+
+::-webkit-datetime-edit-fields-wrapper,
+::-webkit-datetime-edit-text,
+::-webkit-datetime-edit-minute,
+::-webkit-datetime-edit-hour-field,
+::-webkit-datetime-edit-day-field,
+::-webkit-datetime-edit-month-field,
+::-webkit-datetime-edit-year-field {
+ padding: 0;
+}
+
+::-webkit-inner-spin-button {
+ height: auto;
+}
+
+[type=search] {
+ outline-offset: -2px;
+ -webkit-appearance: textfield;
+}
+
+/* rtl:raw:
+[type="tel"],
+[type="url"],
+[type="email"],
+[type="number"] {
+ direction: ltr;
+}
+*/
+::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+::-webkit-color-swatch-wrapper {
+ padding: 0;
+}
+
+::file-selector-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+
+output {
+ display: inline-block;
+}
+
+iframe {
+ border: 0;
+}
+
+summary {
+ display: list-item;
+ cursor: pointer;
+}
+
+progress {
+ vertical-align: baseline;
+}
+
+[hidden] {
+ display: none !important;
+}
+
+.lead {
+ font-size: 1.25rem;
+ font-weight: 300;
+}
+
+.display-1 {
+ font-size: calc(1.625rem + 4.5vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-1 {
+ font-size: 5rem;
+ }
+}
+
+.display-2 {
+ font-size: calc(1.575rem + 3.9vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-2 {
+ font-size: 4.5rem;
+ }
+}
+
+.display-3 {
+ font-size: calc(1.525rem + 3.3vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-3 {
+ font-size: 4rem;
+ }
+}
+
+.display-4 {
+ font-size: calc(1.475rem + 2.7vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-4 {
+ font-size: 3.5rem;
+ }
+}
+
+.display-5 {
+ font-size: calc(1.425rem + 2.1vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-5 {
+ font-size: 3rem;
+ }
+}
+
+.display-6 {
+ font-size: calc(1.375rem + 1.5vw);
+ font-weight: 300;
+ line-height: 1.2;
+}
+@media (min-width: 1200px) {
+ .display-6 {
+ font-size: 2.5rem;
+ }
+}
+
+.list-unstyled {
+ padding-left: 0;
+ list-style: none;
+}
+
+.list-inline {
+ padding-left: 0;
+ list-style: none;
+}
+
+.list-inline-item {
+ display: inline-block;
+}
+.list-inline-item:not(:last-child) {
+ margin-right: 0.5rem;
+}
+
+.initialism {
+ font-size: 0.875em;
+ text-transform: uppercase;
+}
+
+.blockquote {
+ margin-bottom: 1rem;
+ font-size: 1.25rem;
+}
+.blockquote > :last-child {
+ margin-bottom: 0;
+}
+
+.blockquote-footer {
+ margin-top: -1rem;
+ margin-bottom: 1rem;
+ font-size: 0.875em;
+ color: #6c757d;
+}
+.blockquote-footer::before {
+ content: "— ";
+}
+
+.img-fluid {
+ max-width: 100%;
+ height: auto;
+}
+
+.img-thumbnail {
+ padding: 0.25rem;
+ background-color: #fff;
+ border: 1px solid var(--bs-border-color);
+ border-radius: 0.375rem;
+ max-width: 100%;
+ height: auto;
+}
+
+.figure {
+ display: inline-block;
+}
+
+.figure-img {
+ margin-bottom: 0.5rem;
+ line-height: 1;
+}
+
+.figure-caption {
+ font-size: 0.875em;
+ color: #6c757d;
+}
+
+.container,
+.container-fluid,
+.container-xxl,
+.container-xl,
+.container-lg,
+.container-md,
+.container-sm {
+ --bs-gutter-x: 1.5rem;
+ --bs-gutter-y: 0;
+ width: 100%;
+ padding-right: calc(var(--bs-gutter-x) * 0.5);
+ padding-left: calc(var(--bs-gutter-x) * 0.5);
+ margin-right: auto;
+ margin-left: auto;
+}
+
+@media (min-width: 576px) {
+ .container-sm, .container {
+ max-width: 540px;
+ }
+}
+@media (min-width: 768px) {
+ .container-md, .container-sm, .container {
+ max-width: 720px;
+ }
+}
+@media (min-width: 992px) {
+ .container-lg, .container-md, .container-sm, .container {
+ max-width: 960px;
+ }
+}
+@media (min-width: 1200px) {
+ .container-xl, .container-lg, .container-md, .container-sm, .container {
+ max-width: 1140px;
+ }
+}
+@media (min-width: 1400px) {
+ .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
+ max-width: 1320px;
+ }
+}
+.row {
+ --bs-gutter-x: 1.5rem;
+ --bs-gutter-y: 0;
+ display: flex;
+ flex-wrap: wrap;
+ margin-top: calc(-1 * var(--bs-gutter-y));
+ margin-right: calc(-0.5 * var(--bs-gutter-x));
+ margin-left: calc(-0.5 * var(--bs-gutter-x));
+}
+.row > * {
+ flex-shrink: 0;
+ width: 100%;
+ max-width: 100%;
+ padding-right: calc(var(--bs-gutter-x) * 0.5);
+ padding-left: calc(var(--bs-gutter-x) * 0.5);
+ margin-top: var(--bs-gutter-y);
+}
+
+.col {
+ flex: 1 0 0%;
+}
+
+.row-cols-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+}
+
+.row-cols-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+}
+
+.row-cols-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+}
+
+.row-cols-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+}
+
+.row-cols-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+}
+
+.row-cols-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+}
+
+.row-cols-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+}
+
+.col-auto {
+ flex: 0 0 auto;
+ width: auto;
+}
+
+.col-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+}
+
+.col-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+}
+
+.col-3 {
+ flex: 0 0 auto;
+ width: 25%;
+}
+
+.col-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+}
+
+.col-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+}
+
+.col-6 {
+ flex: 0 0 auto;
+ width: 50%;
+}
+
+.col-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+}
+
+.col-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+}
+
+.col-9 {
+ flex: 0 0 auto;
+ width: 75%;
+}
+
+.col-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+}
+
+.col-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+}
+
+.col-12 {
+ flex: 0 0 auto;
+ width: 100%;
+}
+
+.offset-1 {
+ margin-left: 8.33333333%;
+}
+
+.offset-2 {
+ margin-left: 16.66666667%;
+}
+
+.offset-3 {
+ margin-left: 25%;
+}
+
+.offset-4 {
+ margin-left: 33.33333333%;
+}
+
+.offset-5 {
+ margin-left: 41.66666667%;
+}
+
+.offset-6 {
+ margin-left: 50%;
+}
+
+.offset-7 {
+ margin-left: 58.33333333%;
+}
+
+.offset-8 {
+ margin-left: 66.66666667%;
+}
+
+.offset-9 {
+ margin-left: 75%;
+}
+
+.offset-10 {
+ margin-left: 83.33333333%;
+}
+
+.offset-11 {
+ margin-left: 91.66666667%;
+}
+
+.g-0,
+.gx-0 {
+ --bs-gutter-x: 0;
+}
+
+.g-0,
+.gy-0 {
+ --bs-gutter-y: 0;
+}
+
+.g-1,
+.gx-1 {
+ --bs-gutter-x: 0.25rem;
+}
+
+.g-1,
+.gy-1 {
+ --bs-gutter-y: 0.25rem;
+}
+
+.g-2,
+.gx-2 {
+ --bs-gutter-x: 0.5rem;
+}
+
+.g-2,
+.gy-2 {
+ --bs-gutter-y: 0.5rem;
+}
+
+.g-3,
+.gx-3 {
+ --bs-gutter-x: 1rem;
+}
+
+.g-3,
+.gy-3 {
+ --bs-gutter-y: 1rem;
+}
+
+.g-4,
+.gx-4 {
+ --bs-gutter-x: 1.5rem;
+}
+
+.g-4,
+.gy-4 {
+ --bs-gutter-y: 1.5rem;
+}
+
+.g-5,
+.gx-5 {
+ --bs-gutter-x: 3rem;
+}
+
+.g-5,
+.gy-5 {
+ --bs-gutter-y: 3rem;
+}
+
+@media (min-width: 576px) {
+ .col-sm {
+ flex: 1 0 0%;
+ }
+ .row-cols-sm-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-sm-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-sm-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-sm-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+ .row-cols-sm-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-sm-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-sm-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+ .col-sm-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-sm-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-sm-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-sm-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-sm-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-sm-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-sm-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-sm-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-sm-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-sm-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-sm-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-sm-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-sm-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-sm-0 {
+ margin-left: 0;
+ }
+ .offset-sm-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-sm-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-sm-3 {
+ margin-left: 25%;
+ }
+ .offset-sm-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-sm-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-sm-6 {
+ margin-left: 50%;
+ }
+ .offset-sm-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-sm-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-sm-9 {
+ margin-left: 75%;
+ }
+ .offset-sm-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-sm-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-sm-0,
+ .gx-sm-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-sm-0,
+ .gy-sm-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-sm-1,
+ .gx-sm-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-sm-1,
+ .gy-sm-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-sm-2,
+ .gx-sm-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-sm-2,
+ .gy-sm-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-sm-3,
+ .gx-sm-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-sm-3,
+ .gy-sm-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-sm-4,
+ .gx-sm-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-sm-4,
+ .gy-sm-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-sm-5,
+ .gx-sm-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-sm-5,
+ .gy-sm-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 768px) {
+ .col-md {
+ flex: 1 0 0%;
+ }
+ .row-cols-md-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-md-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-md-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-md-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+ .row-cols-md-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-md-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-md-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+ .col-md-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-md-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-md-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-md-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-md-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-md-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-md-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-md-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-md-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-md-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-md-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-md-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-md-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-md-0 {
+ margin-left: 0;
+ }
+ .offset-md-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-md-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-md-3 {
+ margin-left: 25%;
+ }
+ .offset-md-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-md-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-md-6 {
+ margin-left: 50%;
+ }
+ .offset-md-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-md-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-md-9 {
+ margin-left: 75%;
+ }
+ .offset-md-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-md-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-md-0,
+ .gx-md-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-md-0,
+ .gy-md-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-md-1,
+ .gx-md-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-md-1,
+ .gy-md-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-md-2,
+ .gx-md-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-md-2,
+ .gy-md-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-md-3,
+ .gx-md-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-md-3,
+ .gy-md-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-md-4,
+ .gx-md-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-md-4,
+ .gy-md-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-md-5,
+ .gx-md-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-md-5,
+ .gy-md-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 992px) {
+ .col-lg {
+ flex: 1 0 0%;
+ }
+ .row-cols-lg-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-lg-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-lg-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-lg-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+ .row-cols-lg-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-lg-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-lg-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+ .col-lg-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-lg-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-lg-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-lg-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-lg-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-lg-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-lg-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-lg-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-lg-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-lg-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-lg-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-lg-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-lg-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-lg-0 {
+ margin-left: 0;
+ }
+ .offset-lg-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-lg-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-lg-3 {
+ margin-left: 25%;
+ }
+ .offset-lg-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-lg-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-lg-6 {
+ margin-left: 50%;
+ }
+ .offset-lg-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-lg-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-lg-9 {
+ margin-left: 75%;
+ }
+ .offset-lg-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-lg-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-lg-0,
+ .gx-lg-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-lg-0,
+ .gy-lg-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-lg-1,
+ .gx-lg-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-lg-1,
+ .gy-lg-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-lg-2,
+ .gx-lg-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-lg-2,
+ .gy-lg-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-lg-3,
+ .gx-lg-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-lg-3,
+ .gy-lg-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-lg-4,
+ .gx-lg-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-lg-4,
+ .gy-lg-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-lg-5,
+ .gx-lg-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-lg-5,
+ .gy-lg-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 1200px) {
+ .col-xl {
+ flex: 1 0 0%;
+ }
+ .row-cols-xl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-xl-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-xl-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-xl-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+ .row-cols-xl-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-xl-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-xl-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+ .col-xl-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-xl-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-xl-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-xl-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-xl-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-xl-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-xl-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-xl-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-xl-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-xl-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-xl-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-xl-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-xl-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-xl-0 {
+ margin-left: 0;
+ }
+ .offset-xl-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-xl-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-xl-3 {
+ margin-left: 25%;
+ }
+ .offset-xl-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-xl-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-xl-6 {
+ margin-left: 50%;
+ }
+ .offset-xl-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-xl-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-xl-9 {
+ margin-left: 75%;
+ }
+ .offset-xl-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-xl-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-xl-0,
+ .gx-xl-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-xl-0,
+ .gy-xl-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-xl-1,
+ .gx-xl-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-xl-1,
+ .gy-xl-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-xl-2,
+ .gx-xl-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-xl-2,
+ .gy-xl-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-xl-3,
+ .gx-xl-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-xl-3,
+ .gy-xl-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-xl-4,
+ .gx-xl-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-xl-4,
+ .gy-xl-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-xl-5,
+ .gx-xl-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-xl-5,
+ .gy-xl-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+@media (min-width: 1400px) {
+ .col-xxl {
+ flex: 1 0 0%;
+ }
+ .row-cols-xxl-auto > * {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .row-cols-xxl-1 > * {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .row-cols-xxl-2 > * {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .row-cols-xxl-3 > * {
+ flex: 0 0 auto;
+ width: 33.3333333333%;
+ }
+ .row-cols-xxl-4 > * {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .row-cols-xxl-5 > * {
+ flex: 0 0 auto;
+ width: 20%;
+ }
+ .row-cols-xxl-6 > * {
+ flex: 0 0 auto;
+ width: 16.6666666667%;
+ }
+ .col-xxl-auto {
+ flex: 0 0 auto;
+ width: auto;
+ }
+ .col-xxl-1 {
+ flex: 0 0 auto;
+ width: 8.33333333%;
+ }
+ .col-xxl-2 {
+ flex: 0 0 auto;
+ width: 16.66666667%;
+ }
+ .col-xxl-3 {
+ flex: 0 0 auto;
+ width: 25%;
+ }
+ .col-xxl-4 {
+ flex: 0 0 auto;
+ width: 33.33333333%;
+ }
+ .col-xxl-5 {
+ flex: 0 0 auto;
+ width: 41.66666667%;
+ }
+ .col-xxl-6 {
+ flex: 0 0 auto;
+ width: 50%;
+ }
+ .col-xxl-7 {
+ flex: 0 0 auto;
+ width: 58.33333333%;
+ }
+ .col-xxl-8 {
+ flex: 0 0 auto;
+ width: 66.66666667%;
+ }
+ .col-xxl-9 {
+ flex: 0 0 auto;
+ width: 75%;
+ }
+ .col-xxl-10 {
+ flex: 0 0 auto;
+ width: 83.33333333%;
+ }
+ .col-xxl-11 {
+ flex: 0 0 auto;
+ width: 91.66666667%;
+ }
+ .col-xxl-12 {
+ flex: 0 0 auto;
+ width: 100%;
+ }
+ .offset-xxl-0 {
+ margin-left: 0;
+ }
+ .offset-xxl-1 {
+ margin-left: 8.33333333%;
+ }
+ .offset-xxl-2 {
+ margin-left: 16.66666667%;
+ }
+ .offset-xxl-3 {
+ margin-left: 25%;
+ }
+ .offset-xxl-4 {
+ margin-left: 33.33333333%;
+ }
+ .offset-xxl-5 {
+ margin-left: 41.66666667%;
+ }
+ .offset-xxl-6 {
+ margin-left: 50%;
+ }
+ .offset-xxl-7 {
+ margin-left: 58.33333333%;
+ }
+ .offset-xxl-8 {
+ margin-left: 66.66666667%;
+ }
+ .offset-xxl-9 {
+ margin-left: 75%;
+ }
+ .offset-xxl-10 {
+ margin-left: 83.33333333%;
+ }
+ .offset-xxl-11 {
+ margin-left: 91.66666667%;
+ }
+ .g-xxl-0,
+ .gx-xxl-0 {
+ --bs-gutter-x: 0;
+ }
+ .g-xxl-0,
+ .gy-xxl-0 {
+ --bs-gutter-y: 0;
+ }
+ .g-xxl-1,
+ .gx-xxl-1 {
+ --bs-gutter-x: 0.25rem;
+ }
+ .g-xxl-1,
+ .gy-xxl-1 {
+ --bs-gutter-y: 0.25rem;
+ }
+ .g-xxl-2,
+ .gx-xxl-2 {
+ --bs-gutter-x: 0.5rem;
+ }
+ .g-xxl-2,
+ .gy-xxl-2 {
+ --bs-gutter-y: 0.5rem;
+ }
+ .g-xxl-3,
+ .gx-xxl-3 {
+ --bs-gutter-x: 1rem;
+ }
+ .g-xxl-3,
+ .gy-xxl-3 {
+ --bs-gutter-y: 1rem;
+ }
+ .g-xxl-4,
+ .gx-xxl-4 {
+ --bs-gutter-x: 1.5rem;
+ }
+ .g-xxl-4,
+ .gy-xxl-4 {
+ --bs-gutter-y: 1.5rem;
+ }
+ .g-xxl-5,
+ .gx-xxl-5 {
+ --bs-gutter-x: 3rem;
+ }
+ .g-xxl-5,
+ .gy-xxl-5 {
+ --bs-gutter-y: 3rem;
+ }
+}
+.table {
+ --bs-table-color: var(--bs-body-color);
+ --bs-table-bg: transparent;
+ --bs-table-border-color: var(--bs-border-color);
+ --bs-table-accent-bg: transparent;
+ --bs-table-striped-color: var(--bs-body-color);
+ --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
+ --bs-table-active-color: var(--bs-body-color);
+ --bs-table-active-bg: rgba(0, 0, 0, 0.1);
+ --bs-table-hover-color: var(--bs-body-color);
+ --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
+ width: 100%;
+ margin-bottom: 1rem;
+ color: var(--bs-table-color);
+ vertical-align: top;
+ border-color: var(--bs-table-border-color);
+}
+.table > :not(caption) > * > * {
+ padding: 0.5rem 0.5rem;
+ background-color: var(--bs-table-bg);
+ border-bottom-width: 1px;
+ box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
+}
+.table > tbody {
+ vertical-align: inherit;
+}
+.table > thead {
+ vertical-align: bottom;
+}
+
+.table-group-divider {
+ border-top: 2px solid currentcolor;
+}
+
+.caption-top {
+ caption-side: top;
+}
+
+.table-sm > :not(caption) > * > * {
+ padding: 0.25rem 0.25rem;
+}
+
+.table-bordered > :not(caption) > * {
+ border-width: 1px 0;
+}
+.table-bordered > :not(caption) > * > * {
+ border-width: 0 1px;
+}
+
+.table-borderless > :not(caption) > * > * {
+ border-bottom-width: 0;
+}
+.table-borderless > :not(:first-child) {
+ border-top-width: 0;
+}
+
+.table-striped > tbody > tr:nth-of-type(odd) > * {
+ --bs-table-accent-bg: var(--bs-table-striped-bg);
+ color: var(--bs-table-striped-color);
+}
+
+.table-striped-columns > :not(caption) > tr > :nth-child(even) {
+ --bs-table-accent-bg: var(--bs-table-striped-bg);
+ color: var(--bs-table-striped-color);
+}
+
+.table-active {
+ --bs-table-accent-bg: var(--bs-table-active-bg);
+ color: var(--bs-table-active-color);
+}
+
+.table-hover > tbody > tr:hover > * {
+ --bs-table-accent-bg: var(--bs-table-hover-bg);
+ color: var(--bs-table-hover-color);
+}
+
+.table-primary {
+ --bs-table-color: #000;
+ --bs-table-bg: #d4d7fc;
+ --bs-table-border-color: #bfc2e3;
+ --bs-table-striped-bg: #c9ccef;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #bfc2e3;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #c4c7e9;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-secondary {
+ --bs-table-color: #000;
+ --bs-table-bg: #ecd1f9;
+ --bs-table-border-color: #d4bce0;
+ --bs-table-striped-bg: #e0c7ed;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #d4bce0;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #dac1e6;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-success {
+ --bs-table-color: #000;
+ --bs-table-bg: #d1e7dd;
+ --bs-table-border-color: #bcd0c7;
+ --bs-table-striped-bg: #c7dbd2;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #bcd0c7;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #c1d6cc;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-info {
+ --bs-table-color: #000;
+ --bs-table-bg: #cff4fc;
+ --bs-table-border-color: #badce3;
+ --bs-table-striped-bg: #c5e8ef;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #badce3;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #bfe2e9;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-warning {
+ --bs-table-color: #000;
+ --bs-table-bg: #fff3cd;
+ --bs-table-border-color: #e6dbb9;
+ --bs-table-striped-bg: #f2e7c3;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #e6dbb9;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #ece1be;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-danger {
+ --bs-table-color: #000;
+ --bs-table-bg: #f8d7da;
+ --bs-table-border-color: #dfc2c4;
+ --bs-table-striped-bg: #eccccf;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #dfc2c4;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #e5c7ca;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-light {
+ --bs-table-color: #000;
+ --bs-table-bg: #f8f9fa;
+ --bs-table-border-color: #dfe0e1;
+ --bs-table-striped-bg: #ecedee;
+ --bs-table-striped-color: #000;
+ --bs-table-active-bg: #dfe0e1;
+ --bs-table-active-color: #000;
+ --bs-table-hover-bg: #e5e6e7;
+ --bs-table-hover-color: #000;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-dark {
+ --bs-table-color: #fff;
+ --bs-table-bg: #212529;
+ --bs-table-border-color: #373b3e;
+ --bs-table-striped-bg: #2c3034;
+ --bs-table-striped-color: #fff;
+ --bs-table-active-bg: #373b3e;
+ --bs-table-active-color: #fff;
+ --bs-table-hover-bg: #323539;
+ --bs-table-hover-color: #fff;
+ color: var(--bs-table-color);
+ border-color: var(--bs-table-border-color);
+}
+
+.table-responsive {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+}
+
+@media (max-width: 575.98px) {
+ .table-responsive-sm {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 767.98px) {
+ .table-responsive-md {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 991.98px) {
+ .table-responsive-lg {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 1199.98px) {
+ .table-responsive-xl {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+@media (max-width: 1399.98px) {
+ .table-responsive-xxl {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+ }
+}
+.form-label {
+ margin-bottom: 0.5rem;
+}
+
+.col-form-label {
+ padding-top: calc(0.375rem + 1px);
+ padding-bottom: calc(0.375rem + 1px);
+ margin-bottom: 0;
+ font-size: inherit;
+ line-height: 1.5;
+}
+
+.col-form-label-lg {
+ padding-top: calc(0.5rem + 1px);
+ padding-bottom: calc(0.5rem + 1px);
+ font-size: 1.25rem;
+}
+
+.col-form-label-sm {
+ padding-top: calc(0.25rem + 1px);
+ padding-bottom: calc(0.25rem + 1px);
+ font-size: 0.875rem;
+}
+
+.form-text {
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: #6c757d;
+}
+
+.form-control {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 500;
+ line-height: 1.5;
+ color: #212529;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid #ced4da;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ border-radius: 0.375rem;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control {
+ transition: none;
+ }
+}
+.form-control[type=file] {
+ overflow: hidden;
+}
+.form-control[type=file]:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control:focus {
+ color: #212529;
+ background-color: #fff;
+ border-color: #949bf8;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(41, 55, 240, 0.25);
+}
+.form-control::-webkit-date-and-time-value {
+ height: 1.5em;
+}
+.form-control::-moz-placeholder {
+ color: #6c757d;
+ opacity: 1;
+}
+.form-control::placeholder {
+ color: #6c757d;
+ opacity: 1;
+}
+.form-control:disabled {
+ background-color: #e9ecef;
+ opacity: 1;
+}
+.form-control::file-selector-button {
+ padding: 0.375rem 0.75rem;
+ margin: -0.375rem -0.75rem;
+ -webkit-margin-end: 0.75rem;
+ margin-inline-end: 0.75rem;
+ color: #212529;
+ background-color: #e9ecef;
+ pointer-events: none;
+ border-color: inherit;
+ border-style: solid;
+ border-width: 0;
+ border-inline-end-width: 1px;
+ border-radius: 0;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-control::file-selector-button {
+ transition: none;
+ }
+}
+.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
+ background-color: #dde0e3;
+}
+
+.form-control-plaintext {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 0;
+ margin-bottom: 0;
+ line-height: 1.5;
+ color: #212529;
+ background-color: transparent;
+ border: solid transparent;
+ border-width: 1px 0;
+}
+.form-control-plaintext:focus {
+ outline: 0;
+}
+.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
+ padding-right: 0;
+ padding-left: 0;
+}
+
+.form-control-sm {
+ min-height: calc(1.5em + 0.5rem + 2px);
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.25rem;
+}
+.form-control-sm::file-selector-button {
+ padding: 0.25rem 0.5rem;
+ margin: -0.25rem -0.5rem;
+ -webkit-margin-end: 0.5rem;
+ margin-inline-end: 0.5rem;
+}
+
+.form-control-lg {
+ min-height: calc(1.5em + 1rem + 2px);
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: 0.5rem;
+}
+.form-control-lg::file-selector-button {
+ padding: 0.5rem 1rem;
+ margin: -0.5rem -1rem;
+ -webkit-margin-end: 1rem;
+ margin-inline-end: 1rem;
+}
+
+textarea.form-control {
+ min-height: calc(1.5em + 0.75rem + 2px);
+}
+textarea.form-control-sm {
+ min-height: calc(1.5em + 0.5rem + 2px);
+}
+textarea.form-control-lg {
+ min-height: calc(1.5em + 1rem + 2px);
+}
+
+.form-control-color {
+ width: 3rem;
+ height: calc(1.5em + 0.75rem + 2px);
+ padding: 0.375rem;
+}
+.form-control-color:not(:disabled):not([readonly]) {
+ cursor: pointer;
+}
+.form-control-color::-moz-color-swatch {
+ border: 0 !important;
+ border-radius: 0.375rem;
+}
+.form-control-color::-webkit-color-swatch {
+ border-radius: 0.375rem;
+}
+.form-control-color.form-control-sm {
+ height: calc(1.5em + 0.5rem + 2px);
+}
+.form-control-color.form-control-lg {
+ height: calc(1.5em + 1rem + 2px);
+}
+
+.form-select {
+ display: block;
+ width: 100%;
+ padding: 0.375rem 2.25rem 0.375rem 0.75rem;
+ -moz-padding-start: calc(0.75rem - 3px);
+ font-size: 1rem;
+ font-weight: 500;
+ line-height: 1.5;
+ color: #212529;
+ background-color: #fff;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right 0.75rem center;
+ background-size: 16px 12px;
+ border: 1px solid #ced4da;
+ border-radius: 0.375rem;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-select {
+ transition: none;
+ }
+}
+.form-select:focus {
+ border-color: #949bf8;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(41, 55, 240, 0.25);
+}
+.form-select[multiple], .form-select[size]:not([size="1"]) {
+ padding-right: 0.75rem;
+ background-image: none;
+}
+.form-select:disabled {
+ background-color: #e9ecef;
+}
+.form-select:-moz-focusring {
+ color: transparent;
+ text-shadow: 0 0 0 #212529;
+}
+
+.form-select-sm {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+ padding-left: 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.25rem;
+}
+
+.form-select-lg {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ padding-left: 1rem;
+ font-size: 1.25rem;
+ border-radius: 0.5rem;
+}
+
+.form-check {
+ display: block;
+ min-height: 1.5rem;
+ padding-left: 1.5em;
+ margin-bottom: 0.125rem;
+}
+.form-check .form-check-input {
+ float: left;
+ margin-left: -1.5em;
+}
+
+.form-check-reverse {
+ padding-right: 1.5em;
+ padding-left: 0;
+ text-align: right;
+}
+.form-check-reverse .form-check-input {
+ float: right;
+ margin-right: -1.5em;
+ margin-left: 0;
+}
+
+.form-check-input {
+ width: 1em;
+ height: 1em;
+ margin-top: 0.25em;
+ vertical-align: top;
+ background-color: #fff;
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: contain;
+ border: 1px solid rgba(0, 0, 0, 0.25);
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ -webkit-print-color-adjust: exact;
+ print-color-adjust: exact;
+}
+.form-check-input[type=checkbox] {
+ border-radius: 0.25em;
+}
+.form-check-input[type=radio] {
+ border-radius: 50%;
+}
+.form-check-input:active {
+ filter: brightness(90%);
+}
+.form-check-input:focus {
+ border-color: #949bf8;
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(41, 55, 240, 0.25);
+}
+.form-check-input:checked {
+ background-color: #2937f0;
+ border-color: #2937f0;
+}
+.form-check-input:checked[type=checkbox] {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
+}
+.form-check-input:checked[type=radio] {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
+}
+.form-check-input[type=checkbox]:indeterminate {
+ background-color: #2937f0;
+ border-color: #2937f0;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
+}
+.form-check-input:disabled {
+ pointer-events: none;
+ filter: none;
+ opacity: 0.5;
+}
+.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
+ cursor: default;
+ opacity: 0.5;
+}
+
+.form-switch {
+ padding-left: 2.5em;
+}
+.form-switch .form-check-input {
+ width: 2em;
+ margin-left: -2.5em;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
+ background-position: left center;
+ border-radius: 2em;
+ transition: background-position 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-switch .form-check-input {
+ transition: none;
+ }
+}
+.form-switch .form-check-input:focus {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23949bf8'/%3e%3c/svg%3e");
+}
+.form-switch .form-check-input:checked {
+ background-position: right center;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
+}
+.form-switch.form-check-reverse {
+ padding-right: 2.5em;
+ padding-left: 0;
+}
+.form-switch.form-check-reverse .form-check-input {
+ margin-right: -2.5em;
+ margin-left: 0;
+}
+
+.form-check-inline {
+ display: inline-block;
+ margin-right: 1rem;
+}
+
+.btn-check {
+ position: absolute;
+ clip: rect(0, 0, 0, 0);
+ pointer-events: none;
+}
+.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
+ pointer-events: none;
+ filter: none;
+ opacity: 0.65;
+}
+
+.form-range {
+ width: 100%;
+ height: 1.5rem;
+ padding: 0;
+ background-color: transparent;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+}
+.form-range:focus {
+ outline: 0;
+}
+.form-range:focus::-webkit-slider-thumb {
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(41, 55, 240, 0.25);
+}
+.form-range:focus::-moz-range-thumb {
+ box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(41, 55, 240, 0.25);
+}
+.form-range::-moz-focus-outer {
+ border: 0;
+}
+.form-range::-webkit-slider-thumb {
+ width: 1rem;
+ height: 1rem;
+ margin-top: -0.25rem;
+ background-color: #2937f0;
+ border: 0;
+ border-radius: 1rem;
+ -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -webkit-appearance: none;
+ appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-webkit-slider-thumb {
+ -webkit-transition: none;
+ transition: none;
+ }
+}
+.form-range::-webkit-slider-thumb:active {
+ background-color: #bfc3fb;
+}
+.form-range::-webkit-slider-runnable-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: #dee2e6;
+ border-color: transparent;
+ border-radius: 1rem;
+}
+.form-range::-moz-range-thumb {
+ width: 1rem;
+ height: 1rem;
+ background-color: #2937f0;
+ border: 0;
+ border-radius: 1rem;
+ -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ -moz-appearance: none;
+ appearance: none;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-range::-moz-range-thumb {
+ -moz-transition: none;
+ transition: none;
+ }
+}
+.form-range::-moz-range-thumb:active {
+ background-color: #bfc3fb;
+}
+.form-range::-moz-range-track {
+ width: 100%;
+ height: 0.5rem;
+ color: transparent;
+ cursor: pointer;
+ background-color: #dee2e6;
+ border-color: transparent;
+ border-radius: 1rem;
+}
+.form-range:disabled {
+ pointer-events: none;
+}
+.form-range:disabled::-webkit-slider-thumb {
+ background-color: #adb5bd;
+}
+.form-range:disabled::-moz-range-thumb {
+ background-color: #adb5bd;
+}
+
+.form-floating {
+ position: relative;
+}
+.form-floating > .form-control,
+.form-floating > .form-control-plaintext,
+.form-floating > .form-select {
+ height: calc(3.5rem + 2px);
+ line-height: 1.25;
+}
+.form-floating > label {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ padding: 1rem 0.75rem;
+ overflow: hidden;
+ text-align: start;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ pointer-events: none;
+ border: 1px solid transparent;
+ transform-origin: 0 0;
+ transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .form-floating > label {
+ transition: none;
+ }
+}
+.form-floating > .form-control,
+.form-floating > .form-control-plaintext {
+ padding: 1rem 0.75rem;
+}
+.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder {
+ color: transparent;
+}
+.form-floating > .form-control::placeholder,
+.form-floating > .form-control-plaintext::placeholder {
+ color: transparent;
+}
+.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
+.form-floating > .form-control-plaintext:focus,
+.form-floating > .form-control-plaintext:not(:placeholder-shown) {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:-webkit-autofill,
+.form-floating > .form-control-plaintext:-webkit-autofill {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-select {
+ padding-top: 1.625rem;
+ padding-bottom: 0.625rem;
+}
+.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:focus ~ label,
+.form-floating > .form-control:not(:placeholder-shown) ~ label,
+.form-floating > .form-control-plaintext ~ label,
+.form-floating > .form-select ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control:-webkit-autofill ~ label {
+ opacity: 0.65;
+ transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+}
+.form-floating > .form-control-plaintext ~ label {
+ border-width: 1px 0;
+}
+
+.input-group {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: stretch;
+ width: 100%;
+}
+.input-group > .form-control,
+.input-group > .form-select,
+.input-group > .form-floating {
+ position: relative;
+ flex: 1 1 auto;
+ width: 1%;
+ min-width: 0;
+}
+.input-group > .form-control:focus,
+.input-group > .form-select:focus,
+.input-group > .form-floating:focus-within {
+ z-index: 5;
+}
+.input-group .btn {
+ position: relative;
+ z-index: 2;
+}
+.input-group .btn:focus {
+ z-index: 5;
+}
+
+.input-group-text {
+ display: flex;
+ align-items: center;
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 500;
+ line-height: 1.5;
+ color: #212529;
+ text-align: center;
+ white-space: nowrap;
+ background-color: #e9ecef;
+ border: 1px solid #ced4da;
+ border-radius: 0.375rem;
+}
+
+.input-group-lg > .form-control,
+.input-group-lg > .form-select,
+.input-group-lg > .input-group-text,
+.input-group-lg > .btn {
+ padding: 0.5rem 1rem;
+ font-size: 1.25rem;
+ border-radius: 0.5rem;
+}
+
+.input-group-sm > .form-control,
+.input-group-sm > .form-select,
+.input-group-sm > .input-group-text,
+.input-group-sm > .btn {
+ padding: 0.25rem 0.5rem;
+ font-size: 0.875rem;
+ border-radius: 0.25rem;
+}
+
+.input-group-lg > .form-select,
+.input-group-sm > .form-select {
+ padding-right: 3rem;
+}
+
+.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
+.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
+.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
+.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
+.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
+.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
+.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
+ margin-left: -1px;
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.input-group > .form-floating:not(:first-child) > .form-control,
+.input-group > .form-floating:not(:first-child) > .form-select {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.valid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: #198754;
+}
+
+.valid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.5rem;
+ margin-top: 0.1rem;
+ font-size: 0.875rem;
+ color: #fff;
+ background-color: rgba(25, 135, 84, 0.9);
+ border-radius: 0.375rem;
+}
+
+.was-validated :valid ~ .valid-feedback,
+.was-validated :valid ~ .valid-tooltip,
+.is-valid ~ .valid-feedback,
+.is-valid ~ .valid-tooltip {
+ display: block;
+}
+
+.was-validated .form-control:valid, .form-control.is-valid {
+ border-color: #198754;
+ padding-right: calc(1.5em + 0.75rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right calc(0.375em + 0.1875rem) center;
+ background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
+ border-color: #198754;
+ box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
+}
+
+.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
+ padding-right: calc(1.5em + 0.75rem);
+ background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
+}
+
+.was-validated .form-select:valid, .form-select.is-valid {
+ border-color: #198754;
+}
+.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
+ padding-right: 4.125rem;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
+ background-position: right 0.75rem center, center right 2.25rem;
+ background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
+ border-color: #198754;
+ box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
+}
+
+.was-validated .form-control-color:valid, .form-control-color.is-valid {
+ width: calc(3rem + calc(1.5em + 0.75rem));
+}
+
+.was-validated .form-check-input:valid, .form-check-input.is-valid {
+ border-color: #198754;
+}
+.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
+ background-color: #198754;
+}
+.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
+ box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
+}
+.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
+ color: #198754;
+}
+
+.form-check-inline .form-check-input ~ .valid-feedback {
+ margin-left: 0.5em;
+}
+
+.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
+.was-validated .input-group > .form-select:not(:focus):valid,
+.input-group > .form-select:not(:focus).is-valid,
+.was-validated .input-group > .form-floating:not(:focus-within):valid,
+.input-group > .form-floating:not(:focus-within).is-valid {
+ z-index: 3;
+}
+
+.invalid-feedback {
+ display: none;
+ width: 100%;
+ margin-top: 0.25rem;
+ font-size: 0.875em;
+ color: #dc3545;
+}
+
+.invalid-tooltip {
+ position: absolute;
+ top: 100%;
+ z-index: 5;
+ display: none;
+ max-width: 100%;
+ padding: 0.25rem 0.5rem;
+ margin-top: 0.1rem;
+ font-size: 0.875rem;
+ color: #fff;
+ background-color: rgba(220, 53, 69, 0.9);
+ border-radius: 0.375rem;
+}
+
+.was-validated :invalid ~ .invalid-feedback,
+.was-validated :invalid ~ .invalid-tooltip,
+.is-invalid ~ .invalid-feedback,
+.is-invalid ~ .invalid-tooltip {
+ display: block;
+}
+
+.was-validated .form-control:invalid, .form-control.is-invalid {
+ border-color: #dc3545;
+ padding-right: calc(1.5em + 0.75rem);
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
+ background-repeat: no-repeat;
+ background-position: right calc(0.375em + 0.1875rem) center;
+ background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
+ border-color: #dc3545;
+ box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
+}
+
+.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
+ padding-right: calc(1.5em + 0.75rem);
+ background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
+}
+
+.was-validated .form-select:invalid, .form-select.is-invalid {
+ border-color: #dc3545;
+}
+.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
+ padding-right: 4.125rem;
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
+ background-position: right 0.75rem center, center right 2.25rem;
+ background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
+}
+.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
+ border-color: #dc3545;
+ box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
+}
+
+.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
+ width: calc(3rem + calc(1.5em + 0.75rem));
+}
+
+.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
+ border-color: #dc3545;
+}
+.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
+ background-color: #dc3545;
+}
+.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
+ box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
+}
+.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
+ color: #dc3545;
+}
+
+.form-check-inline .form-check-input ~ .invalid-feedback {
+ margin-left: 0.5em;
+}
+
+.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
+.was-validated .input-group > .form-select:not(:focus):invalid,
+.input-group > .form-select:not(:focus).is-invalid,
+.was-validated .input-group > .form-floating:not(:focus-within):invalid,
+.input-group > .form-floating:not(:focus-within).is-invalid {
+ z-index: 4;
+}
+
+.btn {
+ --bs-btn-padding-x: 0.75rem;
+ --bs-btn-padding-y: 0.375rem;
+ --bs-btn-font-family: ;
+ --bs-btn-font-size: 1rem;
+ --bs-btn-font-weight: 500;
+ --bs-btn-line-height: 1.5;
+ --bs-btn-color: #212529;
+ --bs-btn-bg: transparent;
+ --bs-btn-border-width: 1px;
+ --bs-btn-border-color: transparent;
+ --bs-btn-border-radius: 0.375rem;
+ --bs-btn-hover-border-color: transparent;
+ --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
+ --bs-btn-disabled-opacity: 0.65;
+ --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
+ display: inline-block;
+ padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
+ font-family: var(--bs-btn-font-family);
+ font-size: var(--bs-btn-font-size);
+ font-weight: var(--bs-btn-font-weight);
+ line-height: var(--bs-btn-line-height);
+ color: var(--bs-btn-color);
+ text-align: center;
+ text-decoration: none;
+ vertical-align: middle;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
+ border-radius: var(--bs-btn-border-radius);
+ background-color: var(--bs-btn-bg);
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .btn {
+ transition: none;
+ }
+}
+.btn:hover {
+ color: var(--bs-btn-hover-color);
+ background-color: var(--bs-btn-hover-bg);
+ border-color: var(--bs-btn-hover-border-color);
+}
+.btn-check + .btn:hover {
+ color: var(--bs-btn-color);
+ background-color: var(--bs-btn-bg);
+ border-color: var(--bs-btn-border-color);
+}
+.btn:focus-visible {
+ color: var(--bs-btn-hover-color);
+ background-color: var(--bs-btn-hover-bg);
+ border-color: var(--bs-btn-hover-border-color);
+ outline: 0;
+ box-shadow: var(--bs-btn-focus-box-shadow);
+}
+.btn-check:focus-visible + .btn {
+ border-color: var(--bs-btn-hover-border-color);
+ outline: 0;
+ box-shadow: var(--bs-btn-focus-box-shadow);
+}
+.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
+ color: var(--bs-btn-active-color);
+ background-color: var(--bs-btn-active-bg);
+ border-color: var(--bs-btn-active-border-color);
+}
+.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
+ box-shadow: var(--bs-btn-focus-box-shadow);
+}
+.btn:disabled, .btn.disabled, fieldset:disabled .btn {
+ color: var(--bs-btn-disabled-color);
+ pointer-events: none;
+ background-color: var(--bs-btn-disabled-bg);
+ border-color: var(--bs-btn-disabled-border-color);
+ opacity: var(--bs-btn-disabled-opacity);
+}
+
+.btn-primary {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #2937f0;
+ --bs-btn-border-color: #2937f0;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #232fcc;
+ --bs-btn-hover-border-color: #212cc0;
+ --bs-btn-focus-shadow-rgb: 73, 85, 242;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #212cc0;
+ --bs-btn-active-border-color: #1f29b4;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #2937f0;
+ --bs-btn-disabled-border-color: #2937f0;
+}
+
+.btn-secondary {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #9f1ae2;
+ --bs-btn-border-color: #9f1ae2;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #8716c0;
+ --bs-btn-hover-border-color: #7f15b5;
+ --bs-btn-focus-shadow-rgb: 173, 60, 230;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #7f15b5;
+ --bs-btn-active-border-color: #7714aa;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #9f1ae2;
+ --bs-btn-disabled-border-color: #9f1ae2;
+}
+
+.btn-success {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #198754;
+ --bs-btn-border-color: #198754;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #157347;
+ --bs-btn-hover-border-color: #146c43;
+ --bs-btn-focus-shadow-rgb: 60, 153, 110;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #146c43;
+ --bs-btn-active-border-color: #13653f;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #198754;
+ --bs-btn-disabled-border-color: #198754;
+}
+
+.btn-info {
+ --bs-btn-color: #000;
+ --bs-btn-bg: #0dcaf0;
+ --bs-btn-border-color: #0dcaf0;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #31d2f2;
+ --bs-btn-hover-border-color: #25cff2;
+ --bs-btn-focus-shadow-rgb: 11, 172, 204;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #3dd5f3;
+ --bs-btn-active-border-color: #25cff2;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #000;
+ --bs-btn-disabled-bg: #0dcaf0;
+ --bs-btn-disabled-border-color: #0dcaf0;
+}
+
+.btn-warning {
+ --bs-btn-color: #000;
+ --bs-btn-bg: #ffc107;
+ --bs-btn-border-color: #ffc107;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #ffca2c;
+ --bs-btn-hover-border-color: #ffc720;
+ --bs-btn-focus-shadow-rgb: 217, 164, 6;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #ffcd39;
+ --bs-btn-active-border-color: #ffc720;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #000;
+ --bs-btn-disabled-bg: #ffc107;
+ --bs-btn-disabled-border-color: #ffc107;
+}
+
+.btn-danger {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #dc3545;
+ --bs-btn-border-color: #dc3545;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #bb2d3b;
+ --bs-btn-hover-border-color: #b02a37;
+ --bs-btn-focus-shadow-rgb: 225, 83, 97;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #b02a37;
+ --bs-btn-active-border-color: #a52834;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #dc3545;
+ --bs-btn-disabled-border-color: #dc3545;
+}
+
+.btn-light {
+ --bs-btn-color: #000;
+ --bs-btn-bg: #f8f9fa;
+ --bs-btn-border-color: #f8f9fa;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #d3d4d5;
+ --bs-btn-hover-border-color: #c6c7c8;
+ --bs-btn-focus-shadow-rgb: 211, 212, 213;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #c6c7c8;
+ --bs-btn-active-border-color: #babbbc;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #000;
+ --bs-btn-disabled-bg: #f8f9fa;
+ --bs-btn-disabled-border-color: #f8f9fa;
+}
+
+.btn-dark {
+ --bs-btn-color: #fff;
+ --bs-btn-bg: #212529;
+ --bs-btn-border-color: #212529;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #424649;
+ --bs-btn-hover-border-color: #373b3e;
+ --bs-btn-focus-shadow-rgb: 66, 70, 73;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #4d5154;
+ --bs-btn-active-border-color: #373b3e;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #fff;
+ --bs-btn-disabled-bg: #212529;
+ --bs-btn-disabled-border-color: #212529;
+}
+
+.btn-outline-primary {
+ --bs-btn-color: #2937f0;
+ --bs-btn-border-color: #2937f0;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #2937f0;
+ --bs-btn-hover-border-color: #2937f0;
+ --bs-btn-focus-shadow-rgb: 41, 55, 240;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #2937f0;
+ --bs-btn-active-border-color: #2937f0;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #2937f0;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #2937f0;
+ --bs-gradient: none;
+}
+
+.btn-outline-secondary {
+ --bs-btn-color: #9f1ae2;
+ --bs-btn-border-color: #9f1ae2;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #9f1ae2;
+ --bs-btn-hover-border-color: #9f1ae2;
+ --bs-btn-focus-shadow-rgb: 159, 26, 226;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #9f1ae2;
+ --bs-btn-active-border-color: #9f1ae2;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #9f1ae2;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #9f1ae2;
+ --bs-gradient: none;
+}
+
+.btn-outline-success {
+ --bs-btn-color: #198754;
+ --bs-btn-border-color: #198754;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #198754;
+ --bs-btn-hover-border-color: #198754;
+ --bs-btn-focus-shadow-rgb: 25, 135, 84;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #198754;
+ --bs-btn-active-border-color: #198754;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #198754;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #198754;
+ --bs-gradient: none;
+}
+
+.btn-outline-info {
+ --bs-btn-color: #0dcaf0;
+ --bs-btn-border-color: #0dcaf0;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #0dcaf0;
+ --bs-btn-hover-border-color: #0dcaf0;
+ --bs-btn-focus-shadow-rgb: 13, 202, 240;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #0dcaf0;
+ --bs-btn-active-border-color: #0dcaf0;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #0dcaf0;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #0dcaf0;
+ --bs-gradient: none;
+}
+
+.btn-outline-warning {
+ --bs-btn-color: #ffc107;
+ --bs-btn-border-color: #ffc107;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #ffc107;
+ --bs-btn-hover-border-color: #ffc107;
+ --bs-btn-focus-shadow-rgb: 255, 193, 7;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #ffc107;
+ --bs-btn-active-border-color: #ffc107;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #ffc107;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #ffc107;
+ --bs-gradient: none;
+}
+
+.btn-outline-danger {
+ --bs-btn-color: #dc3545;
+ --bs-btn-border-color: #dc3545;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #dc3545;
+ --bs-btn-hover-border-color: #dc3545;
+ --bs-btn-focus-shadow-rgb: 220, 53, 69;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #dc3545;
+ --bs-btn-active-border-color: #dc3545;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #dc3545;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #dc3545;
+ --bs-gradient: none;
+}
+
+.btn-outline-light {
+ --bs-btn-color: #f8f9fa;
+ --bs-btn-border-color: #f8f9fa;
+ --bs-btn-hover-color: #000;
+ --bs-btn-hover-bg: #f8f9fa;
+ --bs-btn-hover-border-color: #f8f9fa;
+ --bs-btn-focus-shadow-rgb: 248, 249, 250;
+ --bs-btn-active-color: #000;
+ --bs-btn-active-bg: #f8f9fa;
+ --bs-btn-active-border-color: #f8f9fa;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #f8f9fa;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #f8f9fa;
+ --bs-gradient: none;
+}
+
+.btn-outline-dark {
+ --bs-btn-color: #212529;
+ --bs-btn-border-color: #212529;
+ --bs-btn-hover-color: #fff;
+ --bs-btn-hover-bg: #212529;
+ --bs-btn-hover-border-color: #212529;
+ --bs-btn-focus-shadow-rgb: 33, 37, 41;
+ --bs-btn-active-color: #fff;
+ --bs-btn-active-bg: #212529;
+ --bs-btn-active-border-color: #212529;
+ --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+ --bs-btn-disabled-color: #212529;
+ --bs-btn-disabled-bg: transparent;
+ --bs-btn-disabled-border-color: #212529;
+ --bs-gradient: none;
+}
+
+.btn-link {
+ --bs-btn-font-weight: 500;
+ --bs-btn-color: var(--bs-link-color);
+ --bs-btn-bg: transparent;
+ --bs-btn-border-color: transparent;
+ --bs-btn-hover-color: var(--bs-link-hover-color);
+ --bs-btn-hover-border-color: transparent;
+ --bs-btn-active-color: var(--bs-link-hover-color);
+ --bs-btn-active-border-color: transparent;
+ --bs-btn-disabled-color: #6c757d;
+ --bs-btn-disabled-border-color: transparent;
+ --bs-btn-box-shadow: none;
+ --bs-btn-focus-shadow-rgb: 73, 85, 242;
+ text-decoration: underline;
+}
+.btn-link:focus-visible {
+ color: var(--bs-btn-color);
+}
+.btn-link:hover {
+ color: var(--bs-btn-hover-color);
+}
+
+.btn-lg, .btn-group-lg > .btn {
+ --bs-btn-padding-y: 0.5rem;
+ --bs-btn-padding-x: 1rem;
+ --bs-btn-font-size: 1.25rem;
+ --bs-btn-border-radius: 0.5rem;
+}
+
+.btn-sm, .btn-group-sm > .btn {
+ --bs-btn-padding-y: 0.25rem;
+ --bs-btn-padding-x: 0.5rem;
+ --bs-btn-font-size: 0.875rem;
+ --bs-btn-border-radius: 0.25rem;
+}
+
+.fade {
+ transition: opacity 0.15s linear;
+}
+@media (prefers-reduced-motion: reduce) {
+ .fade {
+ transition: none;
+ }
+}
+.fade:not(.show) {
+ opacity: 0;
+}
+
+.collapse:not(.show) {
+ display: none;
+}
+
+.collapsing {
+ height: 0;
+ overflow: hidden;
+ transition: height 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .collapsing {
+ transition: none;
+ }
+}
+.collapsing.collapse-horizontal {
+ width: 0;
+ height: auto;
+ transition: width 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .collapsing.collapse-horizontal {
+ transition: none;
+ }
+}
+
+.dropup,
+.dropend,
+.dropdown,
+.dropstart,
+.dropup-center,
+.dropdown-center {
+ position: relative;
+}
+
+.dropdown-toggle {
+ white-space: nowrap;
+}
+.dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0.3em solid;
+ border-right: 0.3em solid transparent;
+ border-bottom: 0;
+ border-left: 0.3em solid transparent;
+}
+.dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+
+.dropdown-menu {
+ --bs-dropdown-zindex: 1000;
+ --bs-dropdown-min-width: 10rem;
+ --bs-dropdown-padding-x: 0;
+ --bs-dropdown-padding-y: 0.5rem;
+ --bs-dropdown-spacer: 0.125rem;
+ --bs-dropdown-font-size: 1rem;
+ --bs-dropdown-color: #212529;
+ --bs-dropdown-bg: #fff;
+ --bs-dropdown-border-color: var(--bs-border-color-translucent);
+ --bs-dropdown-border-radius: 0.375rem;
+ --bs-dropdown-border-width: 1px;
+ --bs-dropdown-inner-border-radius: calc(0.375rem - 1px);
+ --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
+ --bs-dropdown-divider-margin-y: 0.5rem;
+ --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+ --bs-dropdown-link-color: #212529;
+ --bs-dropdown-link-hover-color: #1e2125;
+ --bs-dropdown-link-hover-bg: #e9ecef;
+ --bs-dropdown-link-active-color: #fff;
+ --bs-dropdown-link-active-bg: #2937f0;
+ --bs-dropdown-link-disabled-color: #adb5bd;
+ --bs-dropdown-item-padding-x: 1rem;
+ --bs-dropdown-item-padding-y: 0.25rem;
+ --bs-dropdown-header-color: #6c757d;
+ --bs-dropdown-header-padding-x: 1rem;
+ --bs-dropdown-header-padding-y: 0.5rem;
+ position: absolute;
+ z-index: var(--bs-dropdown-zindex);
+ display: none;
+ min-width: var(--bs-dropdown-min-width);
+ padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
+ margin: 0;
+ font-size: var(--bs-dropdown-font-size);
+ color: var(--bs-dropdown-color);
+ text-align: left;
+ list-style: none;
+ background-color: var(--bs-dropdown-bg);
+ background-clip: padding-box;
+ border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
+ border-radius: var(--bs-dropdown-border-radius);
+}
+.dropdown-menu[data-bs-popper] {
+ top: 100%;
+ left: 0;
+ margin-top: var(--bs-dropdown-spacer);
+}
+
+.dropdown-menu-start {
+ --bs-position: start;
+}
+.dropdown-menu-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+}
+
+.dropdown-menu-end {
+ --bs-position: end;
+}
+.dropdown-menu-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+}
+
+@media (min-width: 576px) {
+ .dropdown-menu-sm-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-sm-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+ .dropdown-menu-sm-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-sm-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+@media (min-width: 768px) {
+ .dropdown-menu-md-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-md-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+ .dropdown-menu-md-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-md-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+@media (min-width: 992px) {
+ .dropdown-menu-lg-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-lg-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+ .dropdown-menu-lg-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-lg-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+@media (min-width: 1200px) {
+ .dropdown-menu-xl-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-xl-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+ .dropdown-menu-xl-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-xl-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+@media (min-width: 1400px) {
+ .dropdown-menu-xxl-start {
+ --bs-position: start;
+ }
+ .dropdown-menu-xxl-start[data-bs-popper] {
+ right: auto;
+ left: 0;
+ }
+ .dropdown-menu-xxl-end {
+ --bs-position: end;
+ }
+ .dropdown-menu-xxl-end[data-bs-popper] {
+ right: 0;
+ left: auto;
+ }
+}
+.dropup .dropdown-menu[data-bs-popper] {
+ top: auto;
+ bottom: 100%;
+ margin-top: 0;
+ margin-bottom: var(--bs-dropdown-spacer);
+}
+.dropup .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0;
+ border-right: 0.3em solid transparent;
+ border-bottom: 0.3em solid;
+ border-left: 0.3em solid transparent;
+}
+.dropup .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+
+.dropend .dropdown-menu[data-bs-popper] {
+ top: 0;
+ right: auto;
+ left: 100%;
+ margin-top: 0;
+ margin-left: var(--bs-dropdown-spacer);
+}
+.dropend .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0.3em solid transparent;
+ border-right: 0;
+ border-bottom: 0.3em solid transparent;
+ border-left: 0.3em solid;
+}
+.dropend .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+.dropend .dropdown-toggle::after {
+ vertical-align: 0;
+}
+
+.dropstart .dropdown-menu[data-bs-popper] {
+ top: 0;
+ right: 100%;
+ left: auto;
+ margin-top: 0;
+ margin-right: var(--bs-dropdown-spacer);
+}
+.dropstart .dropdown-toggle::after {
+ display: inline-block;
+ margin-left: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+}
+.dropstart .dropdown-toggle::after {
+ display: none;
+}
+.dropstart .dropdown-toggle::before {
+ display: inline-block;
+ margin-right: 0.255em;
+ vertical-align: 0.255em;
+ content: "";
+ border-top: 0.3em solid transparent;
+ border-right: 0.3em solid;
+ border-bottom: 0.3em solid transparent;
+}
+.dropstart .dropdown-toggle:empty::after {
+ margin-left: 0;
+}
+.dropstart .dropdown-toggle::before {
+ vertical-align: 0;
+}
+
+.dropdown-divider {
+ height: 0;
+ margin: var(--bs-dropdown-divider-margin-y) 0;
+ overflow: hidden;
+ border-top: 1px solid var(--bs-dropdown-divider-bg);
+ opacity: 1;
+}
+
+.dropdown-item {
+ display: block;
+ width: 100%;
+ padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
+ clear: both;
+ font-weight: 500;
+ color: var(--bs-dropdown-link-color);
+ text-align: inherit;
+ text-decoration: none;
+ white-space: nowrap;
+ background-color: transparent;
+ border: 0;
+}
+.dropdown-item:hover, .dropdown-item:focus {
+ color: var(--bs-dropdown-link-hover-color);
+ background-color: var(--bs-dropdown-link-hover-bg);
+}
+.dropdown-item.active, .dropdown-item:active {
+ color: var(--bs-dropdown-link-active-color);
+ text-decoration: none;
+ background-color: var(--bs-dropdown-link-active-bg);
+}
+.dropdown-item.disabled, .dropdown-item:disabled {
+ color: var(--bs-dropdown-link-disabled-color);
+ pointer-events: none;
+ background-color: transparent;
+}
+
+.dropdown-menu.show {
+ display: block;
+}
+
+.dropdown-header {
+ display: block;
+ padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
+ margin-bottom: 0;
+ font-size: 0.875rem;
+ color: var(--bs-dropdown-header-color);
+ white-space: nowrap;
+}
+
+.dropdown-item-text {
+ display: block;
+ padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
+ color: var(--bs-dropdown-link-color);
+}
+
+.dropdown-menu-dark {
+ --bs-dropdown-color: #dee2e6;
+ --bs-dropdown-bg: #343a40;
+ --bs-dropdown-border-color: var(--bs-border-color-translucent);
+ --bs-dropdown-box-shadow: ;
+ --bs-dropdown-link-color: #dee2e6;
+ --bs-dropdown-link-hover-color: #fff;
+ --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
+ --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
+ --bs-dropdown-link-active-color: #fff;
+ --bs-dropdown-link-active-bg: #2937f0;
+ --bs-dropdown-link-disabled-color: #adb5bd;
+ --bs-dropdown-header-color: #adb5bd;
+}
+
+.btn-group,
+.btn-group-vertical {
+ position: relative;
+ display: inline-flex;
+ vertical-align: middle;
+}
+.btn-group > .btn,
+.btn-group-vertical > .btn {
+ position: relative;
+ flex: 1 1 auto;
+}
+.btn-group > .btn-check:checked + .btn,
+.btn-group > .btn-check:focus + .btn,
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn-check:checked + .btn,
+.btn-group-vertical > .btn-check:focus + .btn,
+.btn-group-vertical > .btn:hover,
+.btn-group-vertical > .btn:focus,
+.btn-group-vertical > .btn:active,
+.btn-group-vertical > .btn.active {
+ z-index: 1;
+}
+
+.btn-toolbar {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+.btn-toolbar .input-group {
+ width: auto;
+}
+
+.btn-group {
+ border-radius: 0.375rem;
+}
+.btn-group > :not(.btn-check:first-child) + .btn,
+.btn-group > .btn-group:not(:first-child) {
+ margin-left: -1px;
+}
+.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group > .btn.dropdown-toggle-split:first-child,
+.btn-group > .btn-group:not(:last-child) > .btn {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.btn-group > .btn:nth-child(n+3),
+.btn-group > :not(.btn-check) + .btn,
+.btn-group > .btn-group:not(:first-child) > .btn {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+.dropdown-toggle-split {
+ padding-right: 0.5625rem;
+ padding-left: 0.5625rem;
+}
+.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
+ margin-left: 0;
+}
+.dropstart .dropdown-toggle-split::before {
+ margin-right: 0;
+}
+
+.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+ padding-right: 0.375rem;
+ padding-left: 0.375rem;
+}
+
+.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
+}
+
+.btn-group-vertical {
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: center;
+}
+.btn-group-vertical > .btn,
+.btn-group-vertical > .btn-group {
+ width: 100%;
+}
+.btn-group-vertical > .btn:not(:first-child),
+.btn-group-vertical > .btn-group:not(:first-child) {
+ margin-top: -1px;
+}
+.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
+.btn-group-vertical > .btn-group:not(:last-child) > .btn {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+}
+.btn-group-vertical > .btn ~ .btn,
+.btn-group-vertical > .btn-group:not(:first-child) > .btn {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.nav {
+ --bs-nav-link-padding-x: 1rem;
+ --bs-nav-link-padding-y: 0.5rem;
+ --bs-nav-link-font-weight: ;
+ --bs-nav-link-color: var(--bs-link-color);
+ --bs-nav-link-hover-color: var(--bs-link-hover-color);
+ --bs-nav-link-disabled-color: #6c757d;
+ display: flex;
+ flex-wrap: wrap;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+
+.nav-link {
+ display: block;
+ padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
+ font-size: var(--bs-nav-link-font-size);
+ font-weight: var(--bs-nav-link-font-weight);
+ color: var(--bs-nav-link-color);
+ text-decoration: none;
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .nav-link {
+ transition: none;
+ }
+}
+.nav-link:hover, .nav-link:focus {
+ color: var(--bs-nav-link-hover-color);
+}
+.nav-link.disabled {
+ color: var(--bs-nav-link-disabled-color);
+ pointer-events: none;
+ cursor: default;
+}
+
+.nav-tabs {
+ --bs-nav-tabs-border-width: 1px;
+ --bs-nav-tabs-border-color: #dee2e6;
+ --bs-nav-tabs-border-radius: 0.375rem;
+ --bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;
+ --bs-nav-tabs-link-active-color: #495057;
+ --bs-nav-tabs-link-active-bg: #fff;
+ --bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;
+ border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
+}
+.nav-tabs .nav-link {
+ margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
+ background: none;
+ border: var(--bs-nav-tabs-border-width) solid transparent;
+ border-top-left-radius: var(--bs-nav-tabs-border-radius);
+ border-top-right-radius: var(--bs-nav-tabs-border-radius);
+}
+.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
+ isolation: isolate;
+ border-color: var(--bs-nav-tabs-link-hover-border-color);
+}
+.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled {
+ color: var(--bs-nav-link-disabled-color);
+ background-color: transparent;
+ border-color: transparent;
+}
+.nav-tabs .nav-link.active,
+.nav-tabs .nav-item.show .nav-link {
+ color: var(--bs-nav-tabs-link-active-color);
+ background-color: var(--bs-nav-tabs-link-active-bg);
+ border-color: var(--bs-nav-tabs-link-active-border-color);
+}
+.nav-tabs .dropdown-menu {
+ margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+.nav-pills {
+ --bs-nav-pills-border-radius: 0.375rem;
+ --bs-nav-pills-link-active-color: #fff;
+ --bs-nav-pills-link-active-bg: #2937f0;
+}
+.nav-pills .nav-link {
+ background: none;
+ border: 0;
+ border-radius: var(--bs-nav-pills-border-radius);
+}
+.nav-pills .nav-link:disabled {
+ color: var(--bs-nav-link-disabled-color);
+ background-color: transparent;
+ border-color: transparent;
+}
+.nav-pills .nav-link.active,
+.nav-pills .show > .nav-link {
+ color: var(--bs-nav-pills-link-active-color);
+ background-color: var(--bs-nav-pills-link-active-bg);
+}
+
+.nav-fill > .nav-link,
+.nav-fill .nav-item {
+ flex: 1 1 auto;
+ text-align: center;
+}
+
+.nav-justified > .nav-link,
+.nav-justified .nav-item {
+ flex-basis: 0;
+ flex-grow: 1;
+ text-align: center;
+}
+
+.nav-fill .nav-item .nav-link,
+.nav-justified .nav-item .nav-link {
+ width: 100%;
+}
+
+.tab-content > .tab-pane {
+ display: none;
+}
+.tab-content > .active {
+ display: block;
+}
+
+.navbar {
+ --bs-navbar-padding-x: 0;
+ --bs-navbar-padding-y: 0.5rem;
+ --bs-navbar-color: rgba(0, 0, 0, 0.55);
+ --bs-navbar-hover-color: rgba(0, 0, 0, 0.7);
+ --bs-navbar-disabled-color: rgba(0, 0, 0, 0.3);
+ --bs-navbar-active-color: rgba(0, 0, 0, 0.9);
+ --bs-navbar-brand-padding-y: 0.3125rem;
+ --bs-navbar-brand-margin-end: 1rem;
+ --bs-navbar-brand-font-size: 1.25rem;
+ --bs-navbar-brand-color: rgba(0, 0, 0, 0.9);
+ --bs-navbar-brand-hover-color: rgba(0, 0, 0, 0.9);
+ --bs-navbar-nav-link-padding-x: 0.5rem;
+ --bs-navbar-toggler-padding-y: 0.25rem;
+ --bs-navbar-toggler-padding-x: 0.75rem;
+ --bs-navbar-toggler-font-size: 1.25rem;
+ --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+ --bs-navbar-toggler-border-color: rgba(0, 0, 0, 0.1);
+ --bs-navbar-toggler-border-radius: 0.375rem;
+ --bs-navbar-toggler-focus-width: 0.25rem;
+ --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+ padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
+}
+.navbar > .container,
+.navbar > .container-fluid,
+.navbar > .container-sm,
+.navbar > .container-md,
+.navbar > .container-lg,
+.navbar > .container-xl,
+.navbar > .container-xxl {
+ display: flex;
+ flex-wrap: inherit;
+ align-items: center;
+ justify-content: space-between;
+}
+.navbar-brand {
+ padding-top: var(--bs-navbar-brand-padding-y);
+ padding-bottom: var(--bs-navbar-brand-padding-y);
+ margin-right: var(--bs-navbar-brand-margin-end);
+ font-size: var(--bs-navbar-brand-font-size);
+ color: var(--bs-navbar-brand-color);
+ text-decoration: none;
+ white-space: nowrap;
+}
+.navbar-brand:hover, .navbar-brand:focus {
+ color: var(--bs-navbar-brand-hover-color);
+}
+
+.navbar-nav {
+ --bs-nav-link-padding-x: 0;
+ --bs-nav-link-padding-y: 0.5rem;
+ --bs-nav-link-font-weight: ;
+ --bs-nav-link-color: var(--bs-navbar-color);
+ --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
+ --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
+ display: flex;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+.navbar-nav .show > .nav-link,
+.navbar-nav .nav-link.active {
+ color: var(--bs-navbar-active-color);
+}
+.navbar-nav .dropdown-menu {
+ position: static;
+}
+
+.navbar-text {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+ color: var(--bs-navbar-color);
+}
+.navbar-text a,
+.navbar-text a:hover,
+.navbar-text a:focus {
+ color: var(--bs-navbar-active-color);
+}
+
+.navbar-collapse {
+ flex-basis: 100%;
+ flex-grow: 1;
+ align-items: center;
+}
+
+.navbar-toggler {
+ padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
+ font-size: var(--bs-navbar-toggler-font-size);
+ line-height: 1;
+ color: var(--bs-navbar-color);
+ background-color: transparent;
+ border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
+ border-radius: var(--bs-navbar-toggler-border-radius);
+ transition: var(--bs-navbar-toggler-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+ .navbar-toggler {
+ transition: none;
+ }
+}
+.navbar-toggler:hover {
+ text-decoration: none;
+}
+.navbar-toggler:focus {
+ text-decoration: none;
+ outline: 0;
+ box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
+}
+
+.navbar-toggler-icon {
+ display: inline-block;
+ width: 1.5em;
+ height: 1.5em;
+ vertical-align: middle;
+ background-image: var(--bs-navbar-toggler-icon-bg);
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 100%;
+}
+
+.navbar-nav-scroll {
+ max-height: var(--bs-scroll-height, 75vh);
+ overflow-y: auto;
+}
+
+@media (min-width: 576px) {
+ .navbar-expand-sm {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-sm .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-sm .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-sm .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-sm .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-sm .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-sm .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-sm .offcanvas {
+ position: static;
+ z-index: auto;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ transform: none !important;
+ transition: none;
+ }
+ .navbar-expand-sm .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-sm .offcanvas .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 768px) {
+ .navbar-expand-md {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-md .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-md .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-md .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-md .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-md .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-md .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-md .offcanvas {
+ position: static;
+ z-index: auto;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ transform: none !important;
+ transition: none;
+ }
+ .navbar-expand-md .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-md .offcanvas .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 992px) {
+ .navbar-expand-lg {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-lg .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-lg .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-lg .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-lg .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-lg .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-lg .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-lg .offcanvas {
+ position: static;
+ z-index: auto;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ transform: none !important;
+ transition: none;
+ }
+ .navbar-expand-lg .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-lg .offcanvas .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 1200px) {
+ .navbar-expand-xl {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-xl .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-xl .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-xl .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-xl .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-xl .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-xl .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-xl .offcanvas {
+ position: static;
+ z-index: auto;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ transform: none !important;
+ transition: none;
+ }
+ .navbar-expand-xl .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-xl .offcanvas .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+@media (min-width: 1400px) {
+ .navbar-expand-xxl {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+ }
+ .navbar-expand-xxl .navbar-nav {
+ flex-direction: row;
+ }
+ .navbar-expand-xxl .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-xxl .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+ }
+ .navbar-expand-xxl .navbar-nav-scroll {
+ overflow: visible;
+ }
+ .navbar-expand-xxl .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+ }
+ .navbar-expand-xxl .navbar-toggler {
+ display: none;
+ }
+ .navbar-expand-xxl .offcanvas {
+ position: static;
+ z-index: auto;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ transform: none !important;
+ transition: none;
+ }
+ .navbar-expand-xxl .offcanvas .offcanvas-header {
+ display: none;
+ }
+ .navbar-expand-xxl .offcanvas .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ }
+}
+.navbar-expand {
+ flex-wrap: nowrap;
+ justify-content: flex-start;
+}
+.navbar-expand .navbar-nav {
+ flex-direction: row;
+}
+.navbar-expand .navbar-nav .dropdown-menu {
+ position: absolute;
+}
+.navbar-expand .navbar-nav .nav-link {
+ padding-right: var(--bs-navbar-nav-link-padding-x);
+ padding-left: var(--bs-navbar-nav-link-padding-x);
+}
+.navbar-expand .navbar-nav-scroll {
+ overflow: visible;
+}
+.navbar-expand .navbar-collapse {
+ display: flex !important;
+ flex-basis: auto;
+}
+.navbar-expand .navbar-toggler {
+ display: none;
+}
+.navbar-expand .offcanvas {
+ position: static;
+ z-index: auto;
+ flex-grow: 1;
+ width: auto !important;
+ height: auto !important;
+ visibility: visible !important;
+ background-color: transparent !important;
+ border: 0 !important;
+ transform: none !important;
+ transition: none;
+}
+.navbar-expand .offcanvas .offcanvas-header {
+ display: none;
+}
+.navbar-expand .offcanvas .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+}
+
+.navbar-dark {
+ --bs-navbar-color: rgba(255, 255, 255, 0.55);
+ --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
+ --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
+ --bs-navbar-active-color: #fff;
+ --bs-navbar-brand-color: #fff;
+ --bs-navbar-brand-hover-color: #fff;
+ --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
+ --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
+}
+
+.card {
+ --bs-card-spacer-y: 1rem;
+ --bs-card-spacer-x: 1rem;
+ --bs-card-title-spacer-y: 0.5rem;
+ --bs-card-border-width: 1px;
+ --bs-card-border-color: var(--bs-border-color-translucent);
+ --bs-card-border-radius: 0.375rem;
+ --bs-card-box-shadow: ;
+ --bs-card-inner-border-radius: calc(0.375rem - 1px);
+ --bs-card-cap-padding-y: 0.5rem;
+ --bs-card-cap-padding-x: 1rem;
+ --bs-card-cap-bg: rgba(0, 0, 0, 0.03);
+ --bs-card-cap-color: ;
+ --bs-card-height: ;
+ --bs-card-color: ;
+ --bs-card-bg: #fff;
+ --bs-card-img-overlay-padding: 1rem;
+ --bs-card-group-margin: 0.75rem;
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+ height: var(--bs-card-height);
+ word-wrap: break-word;
+ background-color: var(--bs-card-bg);
+ background-clip: border-box;
+ border: var(--bs-card-border-width) solid var(--bs-card-border-color);
+ border-radius: var(--bs-card-border-radius);
+}
+.card > hr {
+ margin-right: 0;
+ margin-left: 0;
+}
+.card > .list-group {
+ border-top: inherit;
+ border-bottom: inherit;
+}
+.card > .list-group:first-child {
+ border-top-width: 0;
+ border-top-left-radius: var(--bs-card-inner-border-radius);
+ border-top-right-radius: var(--bs-card-inner-border-radius);
+}
+.card > .list-group:last-child {
+ border-bottom-width: 0;
+ border-bottom-right-radius: var(--bs-card-inner-border-radius);
+ border-bottom-left-radius: var(--bs-card-inner-border-radius);
+}
+.card > .card-header + .list-group,
+.card > .list-group + .card-footer {
+ border-top: 0;
+}
+
+.card-body {
+ flex: 1 1 auto;
+ padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
+ color: var(--bs-card-color);
+}
+
+.card-title {
+ margin-bottom: var(--bs-card-title-spacer-y);
+}
+
+.card-subtitle {
+ margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
+ margin-bottom: 0;
+}
+
+.card-text:last-child {
+ margin-bottom: 0;
+}
+
+.card-link + .card-link {
+ margin-left: var(--bs-card-spacer-x);
+}
+
+.card-header {
+ padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
+ margin-bottom: 0;
+ color: var(--bs-card-cap-color);
+ background-color: var(--bs-card-cap-bg);
+ border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
+}
+.card-header:first-child {
+ border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
+}
+
+.card-footer {
+ padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
+ color: var(--bs-card-cap-color);
+ background-color: var(--bs-card-cap-bg);
+ border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
+}
+.card-footer:last-child {
+ border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
+}
+
+.card-header-tabs {
+ margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
+ margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
+ margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
+ border-bottom: 0;
+}
+.card-header-tabs .nav-link.active {
+ background-color: var(--bs-card-bg);
+ border-bottom-color: var(--bs-card-bg);
+}
+
+.card-header-pills {
+ margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
+ margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
+}
+
+.card-img-overlay {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ padding: var(--bs-card-img-overlay-padding);
+ border-radius: var(--bs-card-inner-border-radius);
+}
+
+.card-img,
+.card-img-top,
+.card-img-bottom {
+ width: 100%;
+}
+
+.card-img,
+.card-img-top {
+ border-top-left-radius: var(--bs-card-inner-border-radius);
+ border-top-right-radius: var(--bs-card-inner-border-radius);
+}
+
+.card-img,
+.card-img-bottom {
+ border-bottom-right-radius: var(--bs-card-inner-border-radius);
+ border-bottom-left-radius: var(--bs-card-inner-border-radius);
+}
+
+.card-group > .card {
+ margin-bottom: var(--bs-card-group-margin);
+}
+@media (min-width: 576px) {
+ .card-group {
+ display: flex;
+ flex-flow: row wrap;
+ }
+ .card-group > .card {
+ flex: 1 0 0%;
+ margin-bottom: 0;
+ }
+ .card-group > .card + .card {
+ margin-left: 0;
+ border-left: 0;
+ }
+ .card-group > .card:not(:last-child) {
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-img-top,
+ .card-group > .card:not(:last-child) .card-header {
+ border-top-right-radius: 0;
+ }
+ .card-group > .card:not(:last-child) .card-img-bottom,
+ .card-group > .card:not(:last-child) .card-footer {
+ border-bottom-right-radius: 0;
+ }
+ .card-group > .card:not(:first-child) {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-img-top,
+ .card-group > .card:not(:first-child) .card-header {
+ border-top-left-radius: 0;
+ }
+ .card-group > .card:not(:first-child) .card-img-bottom,
+ .card-group > .card:not(:first-child) .card-footer {
+ border-bottom-left-radius: 0;
+ }
+}
+
+.accordion {
+ --bs-accordion-color: #212529;
+ --bs-accordion-bg: #fff;
+ --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
+ --bs-accordion-border-color: var(--bs-border-color);
+ --bs-accordion-border-width: 1px;
+ --bs-accordion-border-radius: 0.375rem;
+ --bs-accordion-inner-border-radius: calc(0.375rem - 1px);
+ --bs-accordion-btn-padding-x: 1.25rem;
+ --bs-accordion-btn-padding-y: 1rem;
+ --bs-accordion-btn-color: #212529;
+ --bs-accordion-btn-bg: var(--bs-accordion-bg);
+ --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ --bs-accordion-btn-icon-width: 1.25rem;
+ --bs-accordion-btn-icon-transform: rotate(-180deg);
+ --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
+ --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232532d8'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+ --bs-accordion-btn-focus-border-color: #949bf8;
+ --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(41, 55, 240, 0.25);
+ --bs-accordion-body-padding-x: 1.25rem;
+ --bs-accordion-body-padding-y: 1rem;
+ --bs-accordion-active-color: #2532d8;
+ --bs-accordion-active-bg: #eaebfe;
+}
+
+.accordion-button {
+ position: relative;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
+ font-size: 1rem;
+ color: var(--bs-accordion-btn-color);
+ text-align: left;
+ background-color: var(--bs-accordion-btn-bg);
+ border: 0;
+ border-radius: 0;
+ overflow-anchor: none;
+ transition: var(--bs-accordion-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button {
+ transition: none;
+ }
+}
+.accordion-button:not(.collapsed) {
+ color: var(--bs-accordion-active-color);
+ background-color: var(--bs-accordion-active-bg);
+ box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
+}
+.accordion-button:not(.collapsed)::after {
+ background-image: var(--bs-accordion-btn-active-icon);
+ transform: var(--bs-accordion-btn-icon-transform);
+}
+.accordion-button::after {
+ flex-shrink: 0;
+ width: var(--bs-accordion-btn-icon-width);
+ height: var(--bs-accordion-btn-icon-width);
+ margin-left: auto;
+ content: "";
+ background-image: var(--bs-accordion-btn-icon);
+ background-repeat: no-repeat;
+ background-size: var(--bs-accordion-btn-icon-width);
+ transition: var(--bs-accordion-btn-icon-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+ .accordion-button::after {
+ transition: none;
+ }
+}
+.accordion-button:hover {
+ z-index: 2;
+}
+.accordion-button:focus {
+ z-index: 3;
+ border-color: var(--bs-accordion-btn-focus-border-color);
+ outline: 0;
+ box-shadow: var(--bs-accordion-btn-focus-box-shadow);
+}
+
+.accordion-header {
+ margin-bottom: 0;
+}
+
+.accordion-item {
+ color: var(--bs-accordion-color);
+ background-color: var(--bs-accordion-bg);
+ border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
+}
+.accordion-item:first-of-type {
+ border-top-left-radius: var(--bs-accordion-border-radius);
+ border-top-right-radius: var(--bs-accordion-border-radius);
+}
+.accordion-item:first-of-type .accordion-button {
+ border-top-left-radius: var(--bs-accordion-inner-border-radius);
+ border-top-right-radius: var(--bs-accordion-inner-border-radius);
+}
+.accordion-item:not(:first-of-type) {
+ border-top: 0;
+}
+.accordion-item:last-of-type {
+ border-bottom-right-radius: var(--bs-accordion-border-radius);
+ border-bottom-left-radius: var(--bs-accordion-border-radius);
+}
+.accordion-item:last-of-type .accordion-button.collapsed {
+ border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
+ border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
+}
+.accordion-item:last-of-type .accordion-collapse {
+ border-bottom-right-radius: var(--bs-accordion-border-radius);
+ border-bottom-left-radius: var(--bs-accordion-border-radius);
+}
+
+.accordion-body {
+ padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
+}
+
+.accordion-flush .accordion-collapse {
+ border-width: 0;
+}
+.accordion-flush .accordion-item {
+ border-right: 0;
+ border-left: 0;
+ border-radius: 0;
+}
+.accordion-flush .accordion-item:first-child {
+ border-top: 0;
+}
+.accordion-flush .accordion-item:last-child {
+ border-bottom: 0;
+}
+.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {
+ border-radius: 0;
+}
+
+.breadcrumb {
+ --bs-breadcrumb-padding-x: 0;
+ --bs-breadcrumb-padding-y: 0;
+ --bs-breadcrumb-margin-bottom: 1rem;
+ --bs-breadcrumb-bg: ;
+ --bs-breadcrumb-border-radius: ;
+ --bs-breadcrumb-divider-color: #6c757d;
+ --bs-breadcrumb-item-padding-x: 0.5rem;
+ --bs-breadcrumb-item-active-color: #6c757d;
+ display: flex;
+ flex-wrap: wrap;
+ padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
+ margin-bottom: var(--bs-breadcrumb-margin-bottom);
+ font-size: var(--bs-breadcrumb-font-size);
+ list-style: none;
+ background-color: var(--bs-breadcrumb-bg);
+ border-radius: var(--bs-breadcrumb-border-radius);
+}
+
+.breadcrumb-item + .breadcrumb-item {
+ padding-left: var(--bs-breadcrumb-item-padding-x);
+}
+.breadcrumb-item + .breadcrumb-item::before {
+ float: left;
+ padding-right: var(--bs-breadcrumb-item-padding-x);
+ color: var(--bs-breadcrumb-divider-color);
+ content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
+}
+.breadcrumb-item.active {
+ color: var(--bs-breadcrumb-item-active-color);
+}
+
+.pagination {
+ --bs-pagination-padding-x: 0.75rem;
+ --bs-pagination-padding-y: 0.375rem;
+ --bs-pagination-font-size: 1rem;
+ --bs-pagination-color: var(--bs-link-color);
+ --bs-pagination-bg: #fff;
+ --bs-pagination-border-width: 1px;
+ --bs-pagination-border-color: #dee2e6;
+ --bs-pagination-border-radius: 0.375rem;
+ --bs-pagination-hover-color: var(--bs-link-hover-color);
+ --bs-pagination-hover-bg: #e9ecef;
+ --bs-pagination-hover-border-color: #dee2e6;
+ --bs-pagination-focus-color: var(--bs-link-hover-color);
+ --bs-pagination-focus-bg: #e9ecef;
+ --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(41, 55, 240, 0.25);
+ --bs-pagination-active-color: #fff;
+ --bs-pagination-active-bg: #2937f0;
+ --bs-pagination-active-border-color: #2937f0;
+ --bs-pagination-disabled-color: #6c757d;
+ --bs-pagination-disabled-bg: #fff;
+ --bs-pagination-disabled-border-color: #dee2e6;
+ display: flex;
+ padding-left: 0;
+ list-style: none;
+}
+
+.page-link {
+ position: relative;
+ display: block;
+ padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
+ font-size: var(--bs-pagination-font-size);
+ color: var(--bs-pagination-color);
+ text-decoration: none;
+ background-color: var(--bs-pagination-bg);
+ border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .page-link {
+ transition: none;
+ }
+}
+.page-link:hover {
+ z-index: 2;
+ color: var(--bs-pagination-hover-color);
+ background-color: var(--bs-pagination-hover-bg);
+ border-color: var(--bs-pagination-hover-border-color);
+}
+.page-link:focus {
+ z-index: 3;
+ color: var(--bs-pagination-focus-color);
+ background-color: var(--bs-pagination-focus-bg);
+ outline: 0;
+ box-shadow: var(--bs-pagination-focus-box-shadow);
+}
+.page-link.active, .active > .page-link {
+ z-index: 3;
+ color: var(--bs-pagination-active-color);
+ background-color: var(--bs-pagination-active-bg);
+ border-color: var(--bs-pagination-active-border-color);
+}
+.page-link.disabled, .disabled > .page-link {
+ color: var(--bs-pagination-disabled-color);
+ pointer-events: none;
+ background-color: var(--bs-pagination-disabled-bg);
+ border-color: var(--bs-pagination-disabled-border-color);
+}
+
+.page-item:not(:first-child) .page-link {
+ margin-left: -1px;
+}
+.page-item:first-child .page-link {
+ border-top-left-radius: var(--bs-pagination-border-radius);
+ border-bottom-left-radius: var(--bs-pagination-border-radius);
+}
+.page-item:last-child .page-link {
+ border-top-right-radius: var(--bs-pagination-border-radius);
+ border-bottom-right-radius: var(--bs-pagination-border-radius);
+}
+
+.pagination-lg {
+ --bs-pagination-padding-x: 1.5rem;
+ --bs-pagination-padding-y: 0.75rem;
+ --bs-pagination-font-size: 1.25rem;
+ --bs-pagination-border-radius: 0.5rem;
+}
+
+.pagination-sm {
+ --bs-pagination-padding-x: 0.5rem;
+ --bs-pagination-padding-y: 0.25rem;
+ --bs-pagination-font-size: 0.875rem;
+ --bs-pagination-border-radius: 0.25rem;
+}
+
+.badge {
+ --bs-badge-padding-x: 0.65em;
+ --bs-badge-padding-y: 0.35em;
+ --bs-badge-font-size: 0.75em;
+ --bs-badge-font-weight: 700;
+ --bs-badge-color: #fff;
+ --bs-badge-border-radius: 0.375rem;
+ display: inline-block;
+ padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
+ font-size: var(--bs-badge-font-size);
+ font-weight: var(--bs-badge-font-weight);
+ line-height: 1;
+ color: var(--bs-badge-color);
+ text-align: center;
+ white-space: nowrap;
+ vertical-align: baseline;
+ border-radius: var(--bs-badge-border-radius);
+}
+.badge:empty {
+ display: none;
+}
+
+.btn .badge {
+ position: relative;
+ top: -1px;
+}
+
+.alert {
+ --bs-alert-bg: transparent;
+ --bs-alert-padding-x: 1rem;
+ --bs-alert-padding-y: 1rem;
+ --bs-alert-margin-bottom: 1rem;
+ --bs-alert-color: inherit;
+ --bs-alert-border-color: transparent;
+ --bs-alert-border: 1px solid var(--bs-alert-border-color);
+ --bs-alert-border-radius: 0.375rem;
+ position: relative;
+ padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
+ margin-bottom: var(--bs-alert-margin-bottom);
+ color: var(--bs-alert-color);
+ background-color: var(--bs-alert-bg);
+ border: var(--bs-alert-border);
+ border-radius: var(--bs-alert-border-radius);
+}
+
+.alert-heading {
+ color: inherit;
+}
+
+.alert-link {
+ font-weight: 700;
+}
+
+.alert-dismissible {
+ padding-right: 3rem;
+}
+.alert-dismissible .btn-close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 2;
+ padding: 1.25rem 1rem;
+}
+
+.alert-primary {
+ --bs-alert-color: #192190;
+ --bs-alert-bg: #d4d7fc;
+ --bs-alert-border-color: #bfc3fb;
+}
+.alert-primary .alert-link {
+ color: #141a73;
+}
+
+.alert-secondary {
+ --bs-alert-color: #5f1088;
+ --bs-alert-bg: #ecd1f9;
+ --bs-alert-border-color: #e2baf6;
+}
+.alert-secondary .alert-link {
+ color: #4c0d6d;
+}
+
+.alert-success {
+ --bs-alert-color: #0f5132;
+ --bs-alert-bg: #d1e7dd;
+ --bs-alert-border-color: #badbcc;
+}
+.alert-success .alert-link {
+ color: #0c4128;
+}
+
+.alert-info {
+ --bs-alert-color: #055160;
+ --bs-alert-bg: #cff4fc;
+ --bs-alert-border-color: #b6effb;
+}
+.alert-info .alert-link {
+ color: #04414d;
+}
+
+.alert-warning {
+ --bs-alert-color: #664d03;
+ --bs-alert-bg: #fff3cd;
+ --bs-alert-border-color: #ffecb5;
+}
+.alert-warning .alert-link {
+ color: #523e02;
+}
+
+.alert-danger {
+ --bs-alert-color: #842029;
+ --bs-alert-bg: #f8d7da;
+ --bs-alert-border-color: #f5c2c7;
+}
+.alert-danger .alert-link {
+ color: #6a1a21;
+}
+
+.alert-light {
+ --bs-alert-color: #636464;
+ --bs-alert-bg: #fefefe;
+ --bs-alert-border-color: #fdfdfe;
+}
+.alert-light .alert-link {
+ color: #4f5050;
+}
+
+.alert-dark {
+ --bs-alert-color: #141619;
+ --bs-alert-bg: #d3d3d4;
+ --bs-alert-border-color: #bcbebf;
+}
+.alert-dark .alert-link {
+ color: #101214;
+}
+
+@keyframes progress-bar-stripes {
+ 0% {
+ background-position-x: 1rem;
+ }
+}
+.progress {
+ --bs-progress-height: 1rem;
+ --bs-progress-font-size: 0.75rem;
+ --bs-progress-bg: #e9ecef;
+ --bs-progress-border-radius: 0.375rem;
+ --bs-progress-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);
+ --bs-progress-bar-color: #fff;
+ --bs-progress-bar-bg: #2937f0;
+ --bs-progress-bar-transition: width 0.6s ease;
+ display: flex;
+ height: var(--bs-progress-height);
+ overflow: hidden;
+ font-size: var(--bs-progress-font-size);
+ background-color: var(--bs-progress-bg);
+ border-radius: var(--bs-progress-border-radius);
+}
+
+.progress-bar {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ overflow: hidden;
+ color: var(--bs-progress-bar-color);
+ text-align: center;
+ white-space: nowrap;
+ background-color: var(--bs-progress-bar-bg);
+ transition: var(--bs-progress-bar-transition);
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar {
+ transition: none;
+ }
+}
+
+.progress-bar-striped {
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-size: var(--bs-progress-height) var(--bs-progress-height);
+}
+
+.progress-bar-animated {
+ animation: 1s linear infinite progress-bar-stripes;
+}
+@media (prefers-reduced-motion: reduce) {
+ .progress-bar-animated {
+ animation: none;
+ }
+}
+
+.list-group {
+ --bs-list-group-color: #212529;
+ --bs-list-group-bg: #fff;
+ --bs-list-group-border-color: rgba(0, 0, 0, 0.125);
+ --bs-list-group-border-width: 1px;
+ --bs-list-group-border-radius: 0.375rem;
+ --bs-list-group-item-padding-x: 1rem;
+ --bs-list-group-item-padding-y: 0.5rem;
+ --bs-list-group-action-color: #495057;
+ --bs-list-group-action-hover-color: #495057;
+ --bs-list-group-action-hover-bg: #f8f9fa;
+ --bs-list-group-action-active-color: #212529;
+ --bs-list-group-action-active-bg: #e9ecef;
+ --bs-list-group-disabled-color: #6c757d;
+ --bs-list-group-disabled-bg: #fff;
+ --bs-list-group-active-color: #fff;
+ --bs-list-group-active-bg: #2937f0;
+ --bs-list-group-active-border-color: #2937f0;
+ display: flex;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ border-radius: var(--bs-list-group-border-radius);
+}
+
+.list-group-numbered {
+ list-style-type: none;
+ counter-reset: section;
+}
+.list-group-numbered > .list-group-item::before {
+ content: counters(section, ".") ". ";
+ counter-increment: section;
+}
+
+.list-group-item-action {
+ width: 100%;
+ color: var(--bs-list-group-action-color);
+ text-align: inherit;
+}
+.list-group-item-action:hover, .list-group-item-action:focus {
+ z-index: 1;
+ color: var(--bs-list-group-action-hover-color);
+ text-decoration: none;
+ background-color: var(--bs-list-group-action-hover-bg);
+}
+.list-group-item-action:active {
+ color: var(--bs-list-group-action-active-color);
+ background-color: var(--bs-list-group-action-active-bg);
+}
+
+.list-group-item {
+ position: relative;
+ display: block;
+ padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
+ color: var(--bs-list-group-color);
+ text-decoration: none;
+ background-color: var(--bs-list-group-bg);
+ border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
+}
+.list-group-item:first-child {
+ border-top-left-radius: inherit;
+ border-top-right-radius: inherit;
+}
+.list-group-item:last-child {
+ border-bottom-right-radius: inherit;
+ border-bottom-left-radius: inherit;
+}
+.list-group-item.disabled, .list-group-item:disabled {
+ color: var(--bs-list-group-disabled-color);
+ pointer-events: none;
+ background-color: var(--bs-list-group-disabled-bg);
+}
+.list-group-item.active {
+ z-index: 2;
+ color: var(--bs-list-group-active-color);
+ background-color: var(--bs-list-group-active-bg);
+ border-color: var(--bs-list-group-active-border-color);
+}
+.list-group-item + .list-group-item {
+ border-top-width: 0;
+}
+.list-group-item + .list-group-item.active {
+ margin-top: calc(-1 * var(--bs-list-group-border-width));
+ border-top-width: var(--bs-list-group-border-width);
+}
+
+.list-group-horizontal {
+ flex-direction: row;
+}
+.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+}
+.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+}
+.list-group-horizontal > .list-group-item.active {
+ margin-top: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+}
+.list-group-horizontal > .list-group-item + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+}
+
+@media (min-width: 576px) {
+ .list-group-horizontal-sm {
+ flex-direction: row;
+ }
+ .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+@media (min-width: 768px) {
+ .list-group-horizontal-md {
+ flex-direction: row;
+ }
+ .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-md > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-md > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-md > .list-group-item + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+@media (min-width: 992px) {
+ .list-group-horizontal-lg {
+ flex-direction: row;
+ }
+ .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+@media (min-width: 1200px) {
+ .list-group-horizontal-xl {
+ flex-direction: row;
+ }
+ .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+@media (min-width: 1400px) {
+ .list-group-horizontal-xxl {
+ flex-direction: row;
+ }
+ .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
+ border-bottom-left-radius: var(--bs-list-group-border-radius);
+ border-top-right-radius: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
+ border-top-right-radius: var(--bs-list-group-border-radius);
+ border-bottom-left-radius: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item.active {
+ margin-top: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item + .list-group-item {
+ border-top-width: var(--bs-list-group-border-width);
+ border-left-width: 0;
+ }
+ .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
+ margin-left: calc(-1 * var(--bs-list-group-border-width));
+ border-left-width: var(--bs-list-group-border-width);
+ }
+}
+.list-group-flush {
+ border-radius: 0;
+}
+.list-group-flush > .list-group-item {
+ border-width: 0 0 var(--bs-list-group-border-width);
+}
+.list-group-flush > .list-group-item:last-child {
+ border-bottom-width: 0;
+}
+
+.list-group-item-primary {
+ color: #192190;
+ background-color: #d4d7fc;
+}
+.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
+ color: #192190;
+ background-color: #bfc2e3;
+}
+.list-group-item-primary.list-group-item-action.active {
+ color: #fff;
+ background-color: #192190;
+ border-color: #192190;
+}
+
+.list-group-item-secondary {
+ color: #5f1088;
+ background-color: #ecd1f9;
+}
+.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
+ color: #5f1088;
+ background-color: #d4bce0;
+}
+.list-group-item-secondary.list-group-item-action.active {
+ color: #fff;
+ background-color: #5f1088;
+ border-color: #5f1088;
+}
+
+.list-group-item-success {
+ color: #0f5132;
+ background-color: #d1e7dd;
+}
+.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
+ color: #0f5132;
+ background-color: #bcd0c7;
+}
+.list-group-item-success.list-group-item-action.active {
+ color: #fff;
+ background-color: #0f5132;
+ border-color: #0f5132;
+}
+
+.list-group-item-info {
+ color: #055160;
+ background-color: #cff4fc;
+}
+.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
+ color: #055160;
+ background-color: #badce3;
+}
+.list-group-item-info.list-group-item-action.active {
+ color: #fff;
+ background-color: #055160;
+ border-color: #055160;
+}
+
+.list-group-item-warning {
+ color: #664d03;
+ background-color: #fff3cd;
+}
+.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
+ color: #664d03;
+ background-color: #e6dbb9;
+}
+.list-group-item-warning.list-group-item-action.active {
+ color: #fff;
+ background-color: #664d03;
+ border-color: #664d03;
+}
+
+.list-group-item-danger {
+ color: #842029;
+ background-color: #f8d7da;
+}
+.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
+ color: #842029;
+ background-color: #dfc2c4;
+}
+.list-group-item-danger.list-group-item-action.active {
+ color: #fff;
+ background-color: #842029;
+ border-color: #842029;
+}
+
+.list-group-item-light {
+ color: #636464;
+ background-color: #fefefe;
+}
+.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
+ color: #636464;
+ background-color: #e5e5e5;
+}
+.list-group-item-light.list-group-item-action.active {
+ color: #fff;
+ background-color: #636464;
+ border-color: #636464;
+}
+
+.list-group-item-dark {
+ color: #141619;
+ background-color: #d3d3d4;
+}
+.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
+ color: #141619;
+ background-color: #bebebf;
+}
+.list-group-item-dark.list-group-item-action.active {
+ color: #fff;
+ background-color: #141619;
+ border-color: #141619;
+}
+
+.btn-close {
+ box-sizing: content-box;
+ width: 1em;
+ height: 1em;
+ padding: 0.25em 0.25em;
+ color: #000;
+ background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
+ border: 0;
+ border-radius: 0.375rem;
+ opacity: 0.5;
+}
+.btn-close:hover {
+ color: #000;
+ text-decoration: none;
+ opacity: 0.75;
+}
+.btn-close:focus {
+ outline: 0;
+ box-shadow: 0 0 0 0.25rem rgba(41, 55, 240, 0.25);
+ opacity: 1;
+}
+.btn-close:disabled, .btn-close.disabled {
+ pointer-events: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ opacity: 0.25;
+}
+
+.btn-close-white {
+ filter: invert(1) grayscale(100%) brightness(200%);
+}
+
+.toast {
+ --bs-toast-zindex: 1090;
+ --bs-toast-padding-x: 0.75rem;
+ --bs-toast-padding-y: 0.5rem;
+ --bs-toast-spacing: 1.5rem;
+ --bs-toast-max-width: 350px;
+ --bs-toast-font-size: 0.875rem;
+ --bs-toast-color: ;
+ --bs-toast-bg: rgba(255, 255, 255, 0.85);
+ --bs-toast-border-width: 1px;
+ --bs-toast-border-color: var(--bs-border-color-translucent);
+ --bs-toast-border-radius: 0.375rem;
+ --bs-toast-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+ --bs-toast-header-color: #6c757d;
+ --bs-toast-header-bg: rgba(255, 255, 255, 0.85);
+ --bs-toast-header-border-color: rgba(0, 0, 0, 0.05);
+ width: var(--bs-toast-max-width);
+ max-width: 100%;
+ font-size: var(--bs-toast-font-size);
+ color: var(--bs-toast-color);
+ pointer-events: auto;
+ background-color: var(--bs-toast-bg);
+ background-clip: padding-box;
+ border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
+ box-shadow: var(--bs-toast-box-shadow);
+ border-radius: var(--bs-toast-border-radius);
+}
+.toast.showing {
+ opacity: 0;
+}
+.toast:not(.show) {
+ display: none;
+}
+
+.toast-container {
+ --bs-toast-zindex: 1090;
+ position: absolute;
+ z-index: var(--bs-toast-zindex);
+ width: -moz-max-content;
+ width: max-content;
+ max-width: 100%;
+ pointer-events: none;
+}
+.toast-container > :not(:last-child) {
+ margin-bottom: var(--bs-toast-spacing);
+}
+
+.toast-header {
+ display: flex;
+ align-items: center;
+ padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
+ color: var(--bs-toast-header-color);
+ background-color: var(--bs-toast-header-bg);
+ background-clip: padding-box;
+ border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
+ border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
+ border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
+}
+.toast-header .btn-close {
+ margin-right: calc(-0.5 * var(--bs-toast-padding-x));
+ margin-left: var(--bs-toast-padding-x);
+}
+
+.toast-body {
+ padding: var(--bs-toast-padding-x);
+ word-wrap: break-word;
+}
+
+.modal {
+ --bs-modal-zindex: 1055;
+ --bs-modal-width: 500px;
+ --bs-modal-padding: 1rem;
+ --bs-modal-margin: 0.5rem;
+ --bs-modal-color: ;
+ --bs-modal-bg: #fff;
+ --bs-modal-border-color: var(--bs-border-color-translucent);
+ --bs-modal-border-width: 1px;
+ --bs-modal-border-radius: 0.5rem;
+ --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
+ --bs-modal-inner-border-radius: calc(0.5rem - 1px);
+ --bs-modal-header-padding-x: 1rem;
+ --bs-modal-header-padding-y: 1rem;
+ --bs-modal-header-padding: 1rem 1rem;
+ --bs-modal-header-border-color: var(--bs-border-color);
+ --bs-modal-header-border-width: 1px;
+ --bs-modal-title-line-height: 1.5;
+ --bs-modal-footer-gap: 0.5rem;
+ --bs-modal-footer-bg: ;
+ --bs-modal-footer-border-color: var(--bs-border-color);
+ --bs-modal-footer-border-width: 1px;
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: var(--bs-modal-zindex);
+ display: none;
+ width: 100%;
+ height: 100%;
+ overflow-x: hidden;
+ overflow-y: auto;
+ outline: 0;
+}
+
+.modal-dialog {
+ position: relative;
+ width: auto;
+ margin: var(--bs-modal-margin);
+ pointer-events: none;
+}
+.modal.fade .modal-dialog {
+ transition: transform 0.3s ease-out;
+ transform: translate(0, -50px);
+}
+@media (prefers-reduced-motion: reduce) {
+ .modal.fade .modal-dialog {
+ transition: none;
+ }
+}
+.modal.show .modal-dialog {
+ transform: none;
+}
+.modal.modal-static .modal-dialog {
+ transform: scale(1.02);
+}
+
+.modal-dialog-scrollable {
+ height: calc(100% - var(--bs-modal-margin) * 2);
+}
+.modal-dialog-scrollable .modal-content {
+ max-height: 100%;
+ overflow: hidden;
+}
+.modal-dialog-scrollable .modal-body {
+ overflow-y: auto;
+}
+
+.modal-dialog-centered {
+ display: flex;
+ align-items: center;
+ min-height: calc(100% - var(--bs-modal-margin) * 2);
+}
+
+.modal-content {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ color: var(--bs-modal-color);
+ pointer-events: auto;
+ background-color: var(--bs-modal-bg);
+ background-clip: padding-box;
+ border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
+ border-radius: var(--bs-modal-border-radius);
+ outline: 0;
+}
+
+.modal-backdrop {
+ --bs-backdrop-zindex: 1050;
+ --bs-backdrop-bg: #000;
+ --bs-backdrop-opacity: 0.5;
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: var(--bs-backdrop-zindex);
+ width: 100vw;
+ height: 100vh;
+ background-color: var(--bs-backdrop-bg);
+}
+.modal-backdrop.fade {
+ opacity: 0;
+}
+.modal-backdrop.show {
+ opacity: var(--bs-backdrop-opacity);
+}
+
+.modal-header {
+ display: flex;
+ flex-shrink: 0;
+ align-items: center;
+ justify-content: space-between;
+ padding: var(--bs-modal-header-padding);
+ border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
+ border-top-left-radius: var(--bs-modal-inner-border-radius);
+ border-top-right-radius: var(--bs-modal-inner-border-radius);
+}
+.modal-header .btn-close {
+ padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
+ margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
+}
+
+.modal-title {
+ margin-bottom: 0;
+ line-height: var(--bs-modal-title-line-height);
+}
+
+.modal-body {
+ position: relative;
+ flex: 1 1 auto;
+ padding: var(--bs-modal-padding);
+}
+
+.modal-footer {
+ display: flex;
+ flex-shrink: 0;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: flex-end;
+ padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
+ background-color: var(--bs-modal-footer-bg);
+ border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
+ border-bottom-right-radius: var(--bs-modal-inner-border-radius);
+ border-bottom-left-radius: var(--bs-modal-inner-border-radius);
+}
+.modal-footer > * {
+ margin: calc(var(--bs-modal-footer-gap) * 0.5);
+}
+
+@media (min-width: 576px) {
+ .modal {
+ --bs-modal-margin: 1.75rem;
+ --bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+ }
+ .modal-dialog {
+ max-width: var(--bs-modal-width);
+ margin-right: auto;
+ margin-left: auto;
+ }
+ .modal-sm {
+ --bs-modal-width: 300px;
+ }
+}
+@media (min-width: 992px) {
+ .modal-lg,
+ .modal-xl {
+ --bs-modal-width: 800px;
+ }
+}
+@media (min-width: 1200px) {
+ .modal-xl {
+ --bs-modal-width: 1140px;
+ }
+}
+.modal-fullscreen {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+}
+.modal-fullscreen .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+}
+.modal-fullscreen .modal-header,
+.modal-fullscreen .modal-footer {
+ border-radius: 0;
+}
+.modal-fullscreen .modal-body {
+ overflow-y: auto;
+}
+
+@media (max-width: 575.98px) {
+ .modal-fullscreen-sm-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-sm-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-sm-down .modal-header,
+ .modal-fullscreen-sm-down .modal-footer {
+ border-radius: 0;
+ }
+ .modal-fullscreen-sm-down .modal-body {
+ overflow-y: auto;
+ }
+}
+@media (max-width: 767.98px) {
+ .modal-fullscreen-md-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-md-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-md-down .modal-header,
+ .modal-fullscreen-md-down .modal-footer {
+ border-radius: 0;
+ }
+ .modal-fullscreen-md-down .modal-body {
+ overflow-y: auto;
+ }
+}
+@media (max-width: 991.98px) {
+ .modal-fullscreen-lg-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-lg-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-lg-down .modal-header,
+ .modal-fullscreen-lg-down .modal-footer {
+ border-radius: 0;
+ }
+ .modal-fullscreen-lg-down .modal-body {
+ overflow-y: auto;
+ }
+}
+@media (max-width: 1199.98px) {
+ .modal-fullscreen-xl-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-xl-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-xl-down .modal-header,
+ .modal-fullscreen-xl-down .modal-footer {
+ border-radius: 0;
+ }
+ .modal-fullscreen-xl-down .modal-body {
+ overflow-y: auto;
+ }
+}
+@media (max-width: 1399.98px) {
+ .modal-fullscreen-xxl-down {
+ width: 100vw;
+ max-width: none;
+ height: 100%;
+ margin: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-content {
+ height: 100%;
+ border: 0;
+ border-radius: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-header,
+ .modal-fullscreen-xxl-down .modal-footer {
+ border-radius: 0;
+ }
+ .modal-fullscreen-xxl-down .modal-body {
+ overflow-y: auto;
+ }
+}
+.tooltip {
+ --bs-tooltip-zindex: 1080;
+ --bs-tooltip-max-width: 200px;
+ --bs-tooltip-padding-x: 0.5rem;
+ --bs-tooltip-padding-y: 0.25rem;
+ --bs-tooltip-margin: ;
+ --bs-tooltip-font-size: 0.875rem;
+ --bs-tooltip-color: #fff;
+ --bs-tooltip-bg: #000;
+ --bs-tooltip-border-radius: 0.375rem;
+ --bs-tooltip-opacity: 0.9;
+ --bs-tooltip-arrow-width: 0.8rem;
+ --bs-tooltip-arrow-height: 0.4rem;
+ z-index: var(--bs-tooltip-zindex);
+ display: block;
+ padding: var(--bs-tooltip-arrow-height);
+ margin: var(--bs-tooltip-margin);
+ font-family: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ font-style: normal;
+ font-weight: 500;
+ line-height: 1.5;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ white-space: normal;
+ word-spacing: normal;
+ line-break: auto;
+ font-size: var(--bs-tooltip-font-size);
+ word-wrap: break-word;
+ opacity: 0;
+}
+.tooltip.show {
+ opacity: var(--bs-tooltip-opacity);
+}
+.tooltip .tooltip-arrow {
+ display: block;
+ width: var(--bs-tooltip-arrow-width);
+ height: var(--bs-tooltip-arrow-height);
+}
+.tooltip .tooltip-arrow::before {
+ position: absolute;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+}
+
+.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
+ bottom: 0;
+}
+.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
+ top: -1px;
+ border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
+ border-top-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
+ left: 0;
+ width: var(--bs-tooltip-arrow-height);
+ height: var(--bs-tooltip-arrow-width);
+}
+.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
+ right: -1px;
+ border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
+ border-right-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:end:ignore */
+.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
+ top: 0;
+}
+.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
+ bottom: -1px;
+ border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
+ border-bottom-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
+ right: 0;
+ width: var(--bs-tooltip-arrow-height);
+ height: var(--bs-tooltip-arrow-width);
+}
+.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
+ left: -1px;
+ border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
+ border-left-color: var(--bs-tooltip-bg);
+}
+
+/* rtl:end:ignore */
+.tooltip-inner {
+ max-width: var(--bs-tooltip-max-width);
+ padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
+ color: var(--bs-tooltip-color);
+ text-align: center;
+ background-color: var(--bs-tooltip-bg);
+ border-radius: var(--bs-tooltip-border-radius);
+}
+
+.popover {
+ --bs-popover-zindex: 1070;
+ --bs-popover-max-width: 276px;
+ --bs-popover-font-size: 0.875rem;
+ --bs-popover-bg: #fff;
+ --bs-popover-border-width: 1px;
+ --bs-popover-border-color: var(--bs-border-color-translucent);
+ --bs-popover-border-radius: 0.5rem;
+ --bs-popover-inner-border-radius: calc(0.5rem - 1px);
+ --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+ --bs-popover-header-padding-x: 1rem;
+ --bs-popover-header-padding-y: 0.5rem;
+ --bs-popover-header-font-size: 1rem;
+ --bs-popover-header-color: ;
+ --bs-popover-header-bg: #f0f0f0;
+ --bs-popover-body-padding-x: 1rem;
+ --bs-popover-body-padding-y: 1rem;
+ --bs-popover-body-color: #212529;
+ --bs-popover-arrow-width: 1rem;
+ --bs-popover-arrow-height: 0.5rem;
+ --bs-popover-arrow-border: var(--bs-popover-border-color);
+ z-index: var(--bs-popover-zindex);
+ display: block;
+ max-width: var(--bs-popover-max-width);
+ font-family: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ font-style: normal;
+ font-weight: 500;
+ line-height: 1.5;
+ text-align: left;
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ white-space: normal;
+ word-spacing: normal;
+ line-break: auto;
+ font-size: var(--bs-popover-font-size);
+ word-wrap: break-word;
+ background-color: var(--bs-popover-bg);
+ background-clip: padding-box;
+ border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
+ border-radius: var(--bs-popover-border-radius);
+}
+.popover .popover-arrow {
+ display: block;
+ width: var(--bs-popover-arrow-width);
+ height: var(--bs-popover-arrow-height);
+}
+.popover .popover-arrow::before, .popover .popover-arrow::after {
+ position: absolute;
+ display: block;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+ border-width: 0;
+}
+
+.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
+ bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+}
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+ border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
+}
+.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
+ bottom: 0;
+ border-top-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+ bottom: var(--bs-popover-border-width);
+ border-top-color: var(--bs-popover-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
+ left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+ width: var(--bs-popover-arrow-height);
+ height: var(--bs-popover-arrow-width);
+}
+.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+ border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
+}
+.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
+ left: 0;
+ border-right-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+ left: var(--bs-popover-border-width);
+ border-right-color: var(--bs-popover-bg);
+}
+
+/* rtl:end:ignore */
+.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
+ top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+}
+.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+ border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
+}
+.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
+ top: 0;
+ border-bottom-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+ top: var(--bs-popover-border-width);
+ border-bottom-color: var(--bs-popover-bg);
+}
+.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ display: block;
+ width: var(--bs-popover-arrow-width);
+ margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
+ content: "";
+ border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
+}
+
+/* rtl:begin:ignore */
+.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
+ right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+ width: var(--bs-popover-arrow-height);
+ height: var(--bs-popover-arrow-width);
+}
+.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+ border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
+}
+.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
+ right: 0;
+ border-left-color: var(--bs-popover-arrow-border);
+}
+.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+ right: var(--bs-popover-border-width);
+ border-left-color: var(--bs-popover-bg);
+}
+
+/* rtl:end:ignore */
+.popover-header {
+ padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
+ margin-bottom: 0;
+ font-size: var(--bs-popover-header-font-size);
+ color: var(--bs-popover-header-color);
+ background-color: var(--bs-popover-header-bg);
+ border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
+ border-top-left-radius: var(--bs-popover-inner-border-radius);
+ border-top-right-radius: var(--bs-popover-inner-border-radius);
+}
+.popover-header:empty {
+ display: none;
+}
+
+.popover-body {
+ padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
+ color: var(--bs-popover-body-color);
+}
+
+.carousel {
+ position: relative;
+}
+
+.carousel.pointer-event {
+ touch-action: pan-y;
+}
+
+.carousel-inner {
+ position: relative;
+ width: 100%;
+ overflow: hidden;
+}
+.carousel-inner::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.carousel-item {
+ position: relative;
+ display: none;
+ float: left;
+ width: 100%;
+ margin-right: -100%;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ transition: transform 0.6s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-item {
+ transition: none;
+ }
+}
+
+.carousel-item.active,
+.carousel-item-next,
+.carousel-item-prev {
+ display: block;
+}
+
+.carousel-item-next:not(.carousel-item-start),
+.active.carousel-item-end {
+ transform: translateX(100%);
+}
+
+.carousel-item-prev:not(.carousel-item-end),
+.active.carousel-item-start {
+ transform: translateX(-100%);
+}
+
+.carousel-fade .carousel-item {
+ opacity: 0;
+ transition-property: opacity;
+ transform: none;
+}
+.carousel-fade .carousel-item.active,
+.carousel-fade .carousel-item-next.carousel-item-start,
+.carousel-fade .carousel-item-prev.carousel-item-end {
+ z-index: 1;
+ opacity: 1;
+}
+.carousel-fade .active.carousel-item-start,
+.carousel-fade .active.carousel-item-end {
+ z-index: 0;
+ opacity: 0;
+ transition: opacity 0s 0.6s;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-fade .active.carousel-item-start,
+ .carousel-fade .active.carousel-item-end {
+ transition: none;
+ }
+}
+
+.carousel-control-prev,
+.carousel-control-next {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ z-index: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 15%;
+ padding: 0;
+ color: #fff;
+ text-align: center;
+ background: none;
+ border: 0;
+ opacity: 0.5;
+ transition: opacity 0.15s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-control-prev,
+ .carousel-control-next {
+ transition: none;
+ }
+}
+.carousel-control-prev:hover, .carousel-control-prev:focus,
+.carousel-control-next:hover,
+.carousel-control-next:focus {
+ color: #fff;
+ text-decoration: none;
+ outline: 0;
+ opacity: 0.9;
+}
+
+.carousel-control-prev {
+ left: 0;
+}
+
+.carousel-control-next {
+ right: 0;
+}
+
+.carousel-control-prev-icon,
+.carousel-control-next-icon {
+ display: inline-block;
+ width: 2rem;
+ height: 2rem;
+ background-repeat: no-repeat;
+ background-position: 50%;
+ background-size: 100% 100%;
+}
+
+/* rtl:options: {
+ "autoRename": true,
+ "stringMap":[ {
+ "name" : "prev-next",
+ "search" : "prev",
+ "replace" : "next"
+ } ]
+} */
+.carousel-control-prev-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
+}
+
+.carousel-control-next-icon {
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
+}
+
+.carousel-indicators {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 2;
+ display: flex;
+ justify-content: center;
+ padding: 0;
+ margin-right: 15%;
+ margin-bottom: 1rem;
+ margin-left: 15%;
+ list-style: none;
+}
+.carousel-indicators [data-bs-target] {
+ box-sizing: content-box;
+ flex: 0 1 auto;
+ width: 30px;
+ height: 3px;
+ padding: 0;
+ margin-right: 3px;
+ margin-left: 3px;
+ text-indent: -999px;
+ cursor: pointer;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 0;
+ border-top: 10px solid transparent;
+ border-bottom: 10px solid transparent;
+ opacity: 0.5;
+ transition: opacity 0.6s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+ .carousel-indicators [data-bs-target] {
+ transition: none;
+ }
+}
+.carousel-indicators .active {
+ opacity: 1;
+}
+
+.carousel-caption {
+ position: absolute;
+ right: 15%;
+ bottom: 1.25rem;
+ left: 15%;
+ padding-top: 1.25rem;
+ padding-bottom: 1.25rem;
+ color: #fff;
+ text-align: center;
+}
+
+.carousel-dark .carousel-control-prev-icon,
+.carousel-dark .carousel-control-next-icon {
+ filter: invert(1) grayscale(100);
+}
+.carousel-dark .carousel-indicators [data-bs-target] {
+ background-color: #000;
+}
+.carousel-dark .carousel-caption {
+ color: #000;
+}
+
+.spinner-grow,
+.spinner-border {
+ display: inline-block;
+ width: var(--bs-spinner-width);
+ height: var(--bs-spinner-height);
+ vertical-align: var(--bs-spinner-vertical-align);
+ border-radius: 50%;
+ animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
+}
+
+@keyframes spinner-border {
+ to {
+ transform: rotate(360deg) /* rtl:ignore */;
+ }
+}
+.spinner-border {
+ --bs-spinner-width: 2rem;
+ --bs-spinner-height: 2rem;
+ --bs-spinner-vertical-align: -0.125em;
+ --bs-spinner-border-width: 0.25em;
+ --bs-spinner-animation-speed: 0.75s;
+ --bs-spinner-animation-name: spinner-border;
+ border: var(--bs-spinner-border-width) solid currentcolor;
+ border-right-color: transparent;
+}
+
+.spinner-border-sm {
+ --bs-spinner-width: 1rem;
+ --bs-spinner-height: 1rem;
+ --bs-spinner-border-width: 0.2em;
+}
+
+@keyframes spinner-grow {
+ 0% {
+ transform: scale(0);
+ }
+ 50% {
+ opacity: 1;
+ transform: none;
+ }
+}
+.spinner-grow {
+ --bs-spinner-width: 2rem;
+ --bs-spinner-height: 2rem;
+ --bs-spinner-vertical-align: -0.125em;
+ --bs-spinner-animation-speed: 0.75s;
+ --bs-spinner-animation-name: spinner-grow;
+ background-color: currentcolor;
+ opacity: 0;
+}
+
+.spinner-grow-sm {
+ --bs-spinner-width: 1rem;
+ --bs-spinner-height: 1rem;
+}
+
+@media (prefers-reduced-motion: reduce) {
+ .spinner-border,
+ .spinner-grow {
+ --bs-spinner-animation-speed: 1.5s;
+ }
+}
+.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
+ --bs-offcanvas-zindex: 1045;
+ --bs-offcanvas-width: 400px;
+ --bs-offcanvas-height: 30vh;
+ --bs-offcanvas-padding-x: 1rem;
+ --bs-offcanvas-padding-y: 1rem;
+ --bs-offcanvas-color: ;
+ --bs-offcanvas-bg: #fff;
+ --bs-offcanvas-border-width: 1px;
+ --bs-offcanvas-border-color: var(--bs-border-color-translucent);
+ --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
+}
+
+@media (max-width: 575.98px) {
+ .offcanvas-sm {
+ position: fixed;
+ bottom: 0;
+ z-index: var(--bs-offcanvas-zindex);
+ display: flex;
+ flex-direction: column;
+ max-width: 100%;
+ color: var(--bs-offcanvas-color);
+ visibility: hidden;
+ background-color: var(--bs-offcanvas-bg);
+ background-clip: padding-box;
+ outline: 0;
+ transition: transform 0.3s ease-in-out;
+ }
+}
+@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
+ .offcanvas-sm {
+ transition: none;
+ }
+}
+@media (max-width: 575.98px) {
+ .offcanvas-sm.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: var(--bs-offcanvas-width);
+ border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateX(-100%);
+ }
+}
+@media (max-width: 575.98px) {
+ .offcanvas-sm.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: var(--bs-offcanvas-width);
+ border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateX(100%);
+ }
+}
+@media (max-width: 575.98px) {
+ .offcanvas-sm.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateY(-100%);
+ }
+}
+@media (max-width: 575.98px) {
+ .offcanvas-sm.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateY(100%);
+ }
+}
+@media (max-width: 575.98px) {
+ .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
+ transform: none;
+ }
+}
+@media (max-width: 575.98px) {
+ .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
+ visibility: visible;
+ }
+}
+@media (min-width: 576px) {
+ .offcanvas-sm {
+ --bs-offcanvas-height: auto;
+ --bs-offcanvas-border-width: 0;
+ background-color: transparent !important;
+ }
+ .offcanvas-sm .offcanvas-header {
+ display: none;
+ }
+ .offcanvas-sm .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ background-color: transparent !important;
+ }
+}
+
+@media (max-width: 767.98px) {
+ .offcanvas-md {
+ position: fixed;
+ bottom: 0;
+ z-index: var(--bs-offcanvas-zindex);
+ display: flex;
+ flex-direction: column;
+ max-width: 100%;
+ color: var(--bs-offcanvas-color);
+ visibility: hidden;
+ background-color: var(--bs-offcanvas-bg);
+ background-clip: padding-box;
+ outline: 0;
+ transition: transform 0.3s ease-in-out;
+ }
+}
+@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
+ .offcanvas-md {
+ transition: none;
+ }
+}
+@media (max-width: 767.98px) {
+ .offcanvas-md.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: var(--bs-offcanvas-width);
+ border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateX(-100%);
+ }
+}
+@media (max-width: 767.98px) {
+ .offcanvas-md.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: var(--bs-offcanvas-width);
+ border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateX(100%);
+ }
+}
+@media (max-width: 767.98px) {
+ .offcanvas-md.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateY(-100%);
+ }
+}
+@media (max-width: 767.98px) {
+ .offcanvas-md.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateY(100%);
+ }
+}
+@media (max-width: 767.98px) {
+ .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
+ transform: none;
+ }
+}
+@media (max-width: 767.98px) {
+ .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
+ visibility: visible;
+ }
+}
+@media (min-width: 768px) {
+ .offcanvas-md {
+ --bs-offcanvas-height: auto;
+ --bs-offcanvas-border-width: 0;
+ background-color: transparent !important;
+ }
+ .offcanvas-md .offcanvas-header {
+ display: none;
+ }
+ .offcanvas-md .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ background-color: transparent !important;
+ }
+}
+
+@media (max-width: 991.98px) {
+ .offcanvas-lg {
+ position: fixed;
+ bottom: 0;
+ z-index: var(--bs-offcanvas-zindex);
+ display: flex;
+ flex-direction: column;
+ max-width: 100%;
+ color: var(--bs-offcanvas-color);
+ visibility: hidden;
+ background-color: var(--bs-offcanvas-bg);
+ background-clip: padding-box;
+ outline: 0;
+ transition: transform 0.3s ease-in-out;
+ }
+}
+@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
+ .offcanvas-lg {
+ transition: none;
+ }
+}
+@media (max-width: 991.98px) {
+ .offcanvas-lg.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: var(--bs-offcanvas-width);
+ border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateX(-100%);
+ }
+}
+@media (max-width: 991.98px) {
+ .offcanvas-lg.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: var(--bs-offcanvas-width);
+ border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateX(100%);
+ }
+}
+@media (max-width: 991.98px) {
+ .offcanvas-lg.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateY(-100%);
+ }
+}
+@media (max-width: 991.98px) {
+ .offcanvas-lg.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateY(100%);
+ }
+}
+@media (max-width: 991.98px) {
+ .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
+ transform: none;
+ }
+}
+@media (max-width: 991.98px) {
+ .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
+ visibility: visible;
+ }
+}
+@media (min-width: 992px) {
+ .offcanvas-lg {
+ --bs-offcanvas-height: auto;
+ --bs-offcanvas-border-width: 0;
+ background-color: transparent !important;
+ }
+ .offcanvas-lg .offcanvas-header {
+ display: none;
+ }
+ .offcanvas-lg .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ background-color: transparent !important;
+ }
+}
+
+@media (max-width: 1199.98px) {
+ .offcanvas-xl {
+ position: fixed;
+ bottom: 0;
+ z-index: var(--bs-offcanvas-zindex);
+ display: flex;
+ flex-direction: column;
+ max-width: 100%;
+ color: var(--bs-offcanvas-color);
+ visibility: hidden;
+ background-color: var(--bs-offcanvas-bg);
+ background-clip: padding-box;
+ outline: 0;
+ transition: transform 0.3s ease-in-out;
+ }
+}
+@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
+ .offcanvas-xl {
+ transition: none;
+ }
+}
+@media (max-width: 1199.98px) {
+ .offcanvas-xl.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: var(--bs-offcanvas-width);
+ border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateX(-100%);
+ }
+}
+@media (max-width: 1199.98px) {
+ .offcanvas-xl.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: var(--bs-offcanvas-width);
+ border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateX(100%);
+ }
+}
+@media (max-width: 1199.98px) {
+ .offcanvas-xl.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateY(-100%);
+ }
+}
+@media (max-width: 1199.98px) {
+ .offcanvas-xl.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateY(100%);
+ }
+}
+@media (max-width: 1199.98px) {
+ .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
+ transform: none;
+ }
+}
+@media (max-width: 1199.98px) {
+ .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
+ visibility: visible;
+ }
+}
+@media (min-width: 1200px) {
+ .offcanvas-xl {
+ --bs-offcanvas-height: auto;
+ --bs-offcanvas-border-width: 0;
+ background-color: transparent !important;
+ }
+ .offcanvas-xl .offcanvas-header {
+ display: none;
+ }
+ .offcanvas-xl .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ background-color: transparent !important;
+ }
+}
+
+@media (max-width: 1399.98px) {
+ .offcanvas-xxl {
+ position: fixed;
+ bottom: 0;
+ z-index: var(--bs-offcanvas-zindex);
+ display: flex;
+ flex-direction: column;
+ max-width: 100%;
+ color: var(--bs-offcanvas-color);
+ visibility: hidden;
+ background-color: var(--bs-offcanvas-bg);
+ background-clip: padding-box;
+ outline: 0;
+ transition: transform 0.3s ease-in-out;
+ }
+}
+@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
+ .offcanvas-xxl {
+ transition: none;
+ }
+}
+@media (max-width: 1399.98px) {
+ .offcanvas-xxl.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: var(--bs-offcanvas-width);
+ border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateX(-100%);
+ }
+}
+@media (max-width: 1399.98px) {
+ .offcanvas-xxl.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: var(--bs-offcanvas-width);
+ border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateX(100%);
+ }
+}
+@media (max-width: 1399.98px) {
+ .offcanvas-xxl.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateY(-100%);
+ }
+}
+@media (max-width: 1399.98px) {
+ .offcanvas-xxl.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateY(100%);
+ }
+}
+@media (max-width: 1399.98px) {
+ .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
+ transform: none;
+ }
+}
+@media (max-width: 1399.98px) {
+ .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
+ visibility: visible;
+ }
+}
+@media (min-width: 1400px) {
+ .offcanvas-xxl {
+ --bs-offcanvas-height: auto;
+ --bs-offcanvas-border-width: 0;
+ background-color: transparent !important;
+ }
+ .offcanvas-xxl .offcanvas-header {
+ display: none;
+ }
+ .offcanvas-xxl .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ background-color: transparent !important;
+ }
+}
+
+.offcanvas {
+ position: fixed;
+ bottom: 0;
+ z-index: var(--bs-offcanvas-zindex);
+ display: flex;
+ flex-direction: column;
+ max-width: 100%;
+ color: var(--bs-offcanvas-color);
+ visibility: hidden;
+ background-color: var(--bs-offcanvas-bg);
+ background-clip: padding-box;
+ outline: 0;
+ transition: transform 0.3s ease-in-out;
+}
+@media (prefers-reduced-motion: reduce) {
+ .offcanvas {
+ transition: none;
+ }
+}
+.offcanvas.offcanvas-start {
+ top: 0;
+ left: 0;
+ width: var(--bs-offcanvas-width);
+ border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateX(-100%);
+}
+.offcanvas.offcanvas-end {
+ top: 0;
+ right: 0;
+ width: var(--bs-offcanvas-width);
+ border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateX(100%);
+}
+.offcanvas.offcanvas-top {
+ top: 0;
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateY(-100%);
+}
+.offcanvas.offcanvas-bottom {
+ right: 0;
+ left: 0;
+ height: var(--bs-offcanvas-height);
+ max-height: 100%;
+ border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+ transform: translateY(100%);
+}
+.offcanvas.showing, .offcanvas.show:not(.hiding) {
+ transform: none;
+}
+.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
+ visibility: visible;
+}
+
+.offcanvas-backdrop {
+ position: fixed;
+ top: 0;
+ left: 0;
+ z-index: 1040;
+ width: 100vw;
+ height: 100vh;
+ background-color: #000;
+}
+.offcanvas-backdrop.fade {
+ opacity: 0;
+}
+.offcanvas-backdrop.show {
+ opacity: 0.5;
+}
+
+.offcanvas-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
+}
+.offcanvas-header .btn-close {
+ padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
+ margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
+ margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
+ margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
+}
+
+.offcanvas-title {
+ margin-bottom: 0;
+ line-height: 1.5;
+}
+
+.offcanvas-body {
+ flex-grow: 1;
+ padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
+ overflow-y: auto;
+}
+
+.placeholder {
+ display: inline-block;
+ min-height: 1em;
+ vertical-align: middle;
+ cursor: wait;
+ background-color: currentcolor;
+ opacity: 0.5;
+}
+.placeholder.btn::before {
+ display: inline-block;
+ content: "";
+}
+
+.placeholder-xs {
+ min-height: 0.6em;
+}
+
+.placeholder-sm {
+ min-height: 0.8em;
+}
+
+.placeholder-lg {
+ min-height: 1.2em;
+}
+
+.placeholder-glow .placeholder {
+ animation: placeholder-glow 2s ease-in-out infinite;
+}
+
+@keyframes placeholder-glow {
+ 50% {
+ opacity: 0.2;
+ }
+}
+.placeholder-wave {
+ -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
+ mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
+ -webkit-mask-size: 200% 100%;
+ mask-size: 200% 100%;
+ animation: placeholder-wave 2s linear infinite;
+}
+
+@keyframes placeholder-wave {
+ 100% {
+ -webkit-mask-position: -200% 0%;
+ mask-position: -200% 0%;
+ }
+}
+.clearfix::after {
+ display: block;
+ clear: both;
+ content: "";
+}
+
+.text-bg-primary {
+ color: #fff !important;
+ background-color: RGBA(41, 55, 240, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-secondary {
+ color: #fff !important;
+ background-color: RGBA(159, 26, 226, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-success {
+ color: #fff !important;
+ background-color: RGBA(25, 135, 84, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-info {
+ color: #000 !important;
+ background-color: RGBA(13, 202, 240, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-warning {
+ color: #000 !important;
+ background-color: RGBA(255, 193, 7, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-danger {
+ color: #fff !important;
+ background-color: RGBA(220, 53, 69, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-light {
+ color: #000 !important;
+ background-color: RGBA(248, 249, 250, var(--bs-bg-opacity, 1)) !important;
+}
+
+.text-bg-dark {
+ color: #fff !important;
+ background-color: RGBA(33, 37, 41, var(--bs-bg-opacity, 1)) !important;
+}
+
+.link-primary {
+ color: #2937f0 !important;
+}
+.link-primary:hover, .link-primary:focus {
+ color: #212cc0 !important;
+}
+
+.link-secondary {
+ color: #9f1ae2 !important;
+}
+.link-secondary:hover, .link-secondary:focus {
+ color: #7f15b5 !important;
+}
+
+.link-success {
+ color: #198754 !important;
+}
+.link-success:hover, .link-success:focus {
+ color: #146c43 !important;
+}
+
+.link-info {
+ color: #0dcaf0 !important;
+}
+.link-info:hover, .link-info:focus {
+ color: #3dd5f3 !important;
+}
+
+.link-warning {
+ color: #ffc107 !important;
+}
+.link-warning:hover, .link-warning:focus {
+ color: #ffcd39 !important;
+}
+
+.link-danger {
+ color: #dc3545 !important;
+}
+.link-danger:hover, .link-danger:focus {
+ color: #b02a37 !important;
+}
+
+.link-light {
+ color: #f8f9fa !important;
+}
+.link-light:hover, .link-light:focus {
+ color: #f9fafb !important;
+}
+
+.link-dark {
+ color: #212529 !important;
+}
+.link-dark:hover, .link-dark:focus {
+ color: #1a1e21 !important;
+}
+
+.ratio {
+ position: relative;
+ width: 100%;
+}
+.ratio::before {
+ display: block;
+ padding-top: var(--bs-aspect-ratio);
+ content: "";
+}
+.ratio > * {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.ratio-1x1 {
+ --bs-aspect-ratio: 100%;
+}
+
+.ratio-4x3 {
+ --bs-aspect-ratio: 75%;
+}
+
+.ratio-16x9 {
+ --bs-aspect-ratio: 56.25%;
+}
+
+.ratio-21x9 {
+ --bs-aspect-ratio: 42.8571428571%;
+}
+
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.sticky-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+}
+
+.sticky-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+}
+
+@media (min-width: 576px) {
+ .sticky-sm-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-sm-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 768px) {
+ .sticky-md-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-md-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 992px) {
+ .sticky-lg-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-lg-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1200px) {
+ .sticky-xl-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-xl-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+@media (min-width: 1400px) {
+ .sticky-xxl-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-xxl-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+.hstack {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ align-self: stretch;
+}
+
+.vstack {
+ display: flex;
+ flex: 1 1 auto;
+ flex-direction: column;
+ align-self: stretch;
+}
+
+.visually-hidden,
+.visually-hidden-focusable:not(:focus):not(:focus-within) {
+ position: absolute !important;
+ width: 1px !important;
+ height: 1px !important;
+ padding: 0 !important;
+ margin: -1px !important;
+ overflow: hidden !important;
+ clip: rect(0, 0, 0, 0) !important;
+ white-space: nowrap !important;
+ border: 0 !important;
+}
+
+.stretched-link::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ content: "";
+}
+
+.text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.vr {
+ display: inline-block;
+ align-self: stretch;
+ width: 1px;
+ min-height: 1em;
+ background-color: currentcolor;
+ opacity: 0.25;
+}
+
+.align-baseline {
+ vertical-align: baseline !important;
+}
+
+.align-top {
+ vertical-align: top !important;
+}
+
+.align-middle {
+ vertical-align: middle !important;
+}
+
+.align-bottom {
+ vertical-align: bottom !important;
+}
+
+.align-text-bottom {
+ vertical-align: text-bottom !important;
+}
+
+.align-text-top {
+ vertical-align: text-top !important;
+}
+
+.float-start {
+ float: left !important;
+}
+
+.float-end {
+ float: right !important;
+}
+
+.float-none {
+ float: none !important;
+}
+
+.opacity-0 {
+ opacity: 0 !important;
+}
+
+.opacity-25 {
+ opacity: 0.25 !important;
+}
+
+.opacity-50 {
+ opacity: 0.5 !important;
+}
+
+.opacity-75 {
+ opacity: 0.75 !important;
+}
+
+.opacity-100 {
+ opacity: 1 !important;
+}
+
+.overflow-auto {
+ overflow: auto !important;
+}
+
+.overflow-hidden {
+ overflow: hidden !important;
+}
+
+.overflow-visible {
+ overflow: visible !important;
+}
+
+.overflow-scroll {
+ overflow: scroll !important;
+}
+
+.d-inline {
+ display: inline !important;
+}
+
+.d-inline-block {
+ display: inline-block !important;
+}
+
+.d-block {
+ display: block !important;
+}
+
+.d-grid {
+ display: grid !important;
+}
+
+.d-table {
+ display: table !important;
+}
+
+.d-table-row {
+ display: table-row !important;
+}
+
+.d-table-cell {
+ display: table-cell !important;
+}
+
+.d-flex {
+ display: flex !important;
+}
+
+.d-inline-flex {
+ display: inline-flex !important;
+}
+
+.d-none {
+ display: none !important;
+}
+
+.shadow {
+ box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
+}
+
+.shadow-sm {
+ box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
+}
+
+.shadow-lg {
+ box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
+}
+
+.shadow-none {
+ box-shadow: none !important;
+}
+
+.position-static {
+ position: static !important;
+}
+
+.position-relative {
+ position: relative !important;
+}
+
+.position-absolute {
+ position: absolute !important;
+}
+
+.position-fixed {
+ position: fixed !important;
+}
+
+.position-sticky {
+ position: sticky !important;
+}
+
+.top-0 {
+ top: 0 !important;
+}
+
+.top-50 {
+ top: 50% !important;
+}
+
+.top-100 {
+ top: 100% !important;
+}
+
+.bottom-0 {
+ bottom: 0 !important;
+}
+
+.bottom-50 {
+ bottom: 50% !important;
+}
+
+.bottom-100 {
+ bottom: 100% !important;
+}
+
+.start-0 {
+ left: 0 !important;
+}
+
+.start-50 {
+ left: 50% !important;
+}
+
+.start-100 {
+ left: 100% !important;
+}
+
+.end-0 {
+ right: 0 !important;
+}
+
+.end-50 {
+ right: 50% !important;
+}
+
+.end-100 {
+ right: 100% !important;
+}
+
+.translate-middle {
+ transform: translate(-50%, -50%) !important;
+}
+
+.translate-middle-x {
+ transform: translateX(-50%) !important;
+}
+
+.translate-middle-y {
+ transform: translateY(-50%) !important;
+}
+
+.border {
+ border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-0 {
+ border: 0 !important;
+}
+
+.border-top {
+ border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-top-0 {
+ border-top: 0 !important;
+}
+
+.border-end {
+ border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-end-0 {
+ border-right: 0 !important;
+}
+
+.border-bottom {
+ border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-bottom-0 {
+ border-bottom: 0 !important;
+}
+
+.border-start {
+ border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
+}
+
+.border-start-0 {
+ border-left: 0 !important;
+}
+
+.border-primary {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-secondary {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-success {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-info {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-warning {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-danger {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-light {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-dark {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-white {
+ --bs-border-opacity: 1;
+ border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
+}
+
+.border-1 {
+ --bs-border-width: 1px;
+}
+
+.border-2 {
+ --bs-border-width: 2px;
+}
+
+.border-3 {
+ --bs-border-width: 3px;
+}
+
+.border-4 {
+ --bs-border-width: 4px;
+}
+
+.border-5 {
+ --bs-border-width: 5px;
+}
+
+.border-opacity-10 {
+ --bs-border-opacity: 0.1;
+}
+
+.border-opacity-25 {
+ --bs-border-opacity: 0.25;
+}
+
+.border-opacity-50 {
+ --bs-border-opacity: 0.5;
+}
+
+.border-opacity-75 {
+ --bs-border-opacity: 0.75;
+}
+
+.border-opacity-100 {
+ --bs-border-opacity: 1;
+}
+
+.w-25 {
+ width: 25% !important;
+}
+
+.w-50 {
+ width: 50% !important;
+}
+
+.w-75 {
+ width: 75% !important;
+}
+
+.w-100 {
+ width: 100% !important;
+}
+
+.w-auto {
+ width: auto !important;
+}
+
+.mw-100 {
+ max-width: 100% !important;
+}
+
+.vw-100 {
+ width: 100vw !important;
+}
+
+.min-vw-100 {
+ min-width: 100vw !important;
+}
+
+.h-25 {
+ height: 25% !important;
+}
+
+.h-50 {
+ height: 50% !important;
+}
+
+.h-75 {
+ height: 75% !important;
+}
+
+.h-100 {
+ height: 100% !important;
+}
+
+.h-auto {
+ height: auto !important;
+}
+
+.mh-100 {
+ max-height: 100% !important;
+}
+
+.vh-100 {
+ height: 100vh !important;
+}
+
+.min-vh-100 {
+ min-height: 100vh !important;
+}
+
+.flex-fill {
+ flex: 1 1 auto !important;
+}
+
+.flex-row {
+ flex-direction: row !important;
+}
+
+.flex-column {
+ flex-direction: column !important;
+}
+
+.flex-row-reverse {
+ flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+ flex-direction: column-reverse !important;
+}
+
+.flex-grow-0 {
+ flex-grow: 0 !important;
+}
+
+.flex-grow-1 {
+ flex-grow: 1 !important;
+}
+
+.flex-shrink-0 {
+ flex-shrink: 0 !important;
+}
+
+.flex-shrink-1 {
+ flex-shrink: 1 !important;
+}
+
+.flex-wrap {
+ flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+ flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+}
+
+.justify-content-start {
+ justify-content: flex-start !important;
+}
+
+.justify-content-end {
+ justify-content: flex-end !important;
+}
+
+.justify-content-center {
+ justify-content: center !important;
+}
+
+.justify-content-between {
+ justify-content: space-between !important;
+}
+
+.justify-content-around {
+ justify-content: space-around !important;
+}
+
+.justify-content-evenly {
+ justify-content: space-evenly !important;
+}
+
+.align-items-start {
+ align-items: flex-start !important;
+}
+
+.align-items-end {
+ align-items: flex-end !important;
+}
+
+.align-items-center {
+ align-items: center !important;
+}
+
+.align-items-baseline {
+ align-items: baseline !important;
+}
+
+.align-items-stretch {
+ align-items: stretch !important;
+}
+
+.align-content-start {
+ align-content: flex-start !important;
+}
+
+.align-content-end {
+ align-content: flex-end !important;
+}
+
+.align-content-center {
+ align-content: center !important;
+}
+
+.align-content-between {
+ align-content: space-between !important;
+}
+
+.align-content-around {
+ align-content: space-around !important;
+}
+
+.align-content-stretch {
+ align-content: stretch !important;
+}
+
+.align-self-auto {
+ align-self: auto !important;
+}
+
+.align-self-start {
+ align-self: flex-start !important;
+}
+
+.align-self-end {
+ align-self: flex-end !important;
+}
+
+.align-self-center {
+ align-self: center !important;
+}
+
+.align-self-baseline {
+ align-self: baseline !important;
+}
+
+.align-self-stretch {
+ align-self: stretch !important;
+}
+
+.order-first {
+ order: -1 !important;
+}
+
+.order-0 {
+ order: 0 !important;
+}
+
+.order-1 {
+ order: 1 !important;
+}
+
+.order-2 {
+ order: 2 !important;
+}
+
+.order-3 {
+ order: 3 !important;
+}
+
+.order-4 {
+ order: 4 !important;
+}
+
+.order-5 {
+ order: 5 !important;
+}
+
+.order-last {
+ order: 6 !important;
+}
+
+.m-0 {
+ margin: 0 !important;
+}
+
+.m-1 {
+ margin: 0.25rem !important;
+}
+
+.m-2 {
+ margin: 0.5rem !important;
+}
+
+.m-3 {
+ margin: 1rem !important;
+}
+
+.m-4 {
+ margin: 1.5rem !important;
+}
+
+.m-5 {
+ margin: 3rem !important;
+}
+
+.m-auto {
+ margin: auto !important;
+}
+
+.mx-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+}
+
+.mx-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+}
+
+.mx-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+}
+
+.mx-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+}
+
+.mx-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+}
+
+.mx-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+}
+
+.mx-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+}
+
+.my-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+
+.my-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+}
+
+.my-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+}
+
+.my-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+}
+
+.my-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+}
+
+.my-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+}
+
+.my-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+}
+
+.mt-0 {
+ margin-top: 0 !important;
+}
+
+.mt-1 {
+ margin-top: 0.25rem !important;
+}
+
+.mt-2 {
+ margin-top: 0.5rem !important;
+}
+
+.mt-3 {
+ margin-top: 1rem !important;
+}
+
+.mt-4 {
+ margin-top: 1.5rem !important;
+}
+
+.mt-5 {
+ margin-top: 3rem !important;
+}
+
+.mt-auto {
+ margin-top: auto !important;
+}
+
+.me-0 {
+ margin-right: 0 !important;
+}
+
+.me-1 {
+ margin-right: 0.25rem !important;
+}
+
+.me-2 {
+ margin-right: 0.5rem !important;
+}
+
+.me-3 {
+ margin-right: 1rem !important;
+}
+
+.me-4 {
+ margin-right: 1.5rem !important;
+}
+
+.me-5 {
+ margin-right: 3rem !important;
+}
+
+.me-auto {
+ margin-right: auto !important;
+}
+
+.mb-0 {
+ margin-bottom: 0 !important;
+}
+
+.mb-1 {
+ margin-bottom: 0.25rem !important;
+}
+
+.mb-2 {
+ margin-bottom: 0.5rem !important;
+}
+
+.mb-3 {
+ margin-bottom: 1rem !important;
+}
+
+.mb-4 {
+ margin-bottom: 1.5rem !important;
+}
+
+.mb-5 {
+ margin-bottom: 3rem !important;
+}
+
+.mb-auto {
+ margin-bottom: auto !important;
+}
+
+.ms-0 {
+ margin-left: 0 !important;
+}
+
+.ms-1 {
+ margin-left: 0.25rem !important;
+}
+
+.ms-2 {
+ margin-left: 0.5rem !important;
+}
+
+.ms-3 {
+ margin-left: 1rem !important;
+}
+
+.ms-4 {
+ margin-left: 1.5rem !important;
+}
+
+.ms-5 {
+ margin-left: 3rem !important;
+}
+
+.ms-auto {
+ margin-left: auto !important;
+}
+
+.p-0 {
+ padding: 0 !important;
+}
+
+.p-1 {
+ padding: 0.25rem !important;
+}
+
+.p-2 {
+ padding: 0.5rem !important;
+}
+
+.p-3 {
+ padding: 1rem !important;
+}
+
+.p-4 {
+ padding: 1.5rem !important;
+}
+
+.p-5 {
+ padding: 3rem !important;
+}
+
+.px-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+}
+
+.px-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+}
+
+.px-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+}
+
+.px-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+}
+
+.px-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+}
+
+.px-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+}
+
+.py-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+}
+
+.py-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+}
+
+.py-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+}
+
+.py-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+}
+
+.py-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+}
+
+.py-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+}
+
+.pt-0 {
+ padding-top: 0 !important;
+}
+
+.pt-1 {
+ padding-top: 0.25rem !important;
+}
+
+.pt-2 {
+ padding-top: 0.5rem !important;
+}
+
+.pt-3 {
+ padding-top: 1rem !important;
+}
+
+.pt-4 {
+ padding-top: 1.5rem !important;
+}
+
+.pt-5 {
+ padding-top: 3rem !important;
+}
+
+.pe-0 {
+ padding-right: 0 !important;
+}
+
+.pe-1 {
+ padding-right: 0.25rem !important;
+}
+
+.pe-2 {
+ padding-right: 0.5rem !important;
+}
+
+.pe-3 {
+ padding-right: 1rem !important;
+}
+
+.pe-4 {
+ padding-right: 1.5rem !important;
+}
+
+.pe-5 {
+ padding-right: 3rem !important;
+}
+
+.pb-0 {
+ padding-bottom: 0 !important;
+}
+
+.pb-1 {
+ padding-bottom: 0.25rem !important;
+}
+
+.pb-2 {
+ padding-bottom: 0.5rem !important;
+}
+
+.pb-3 {
+ padding-bottom: 1rem !important;
+}
+
+.pb-4 {
+ padding-bottom: 1.5rem !important;
+}
+
+.pb-5 {
+ padding-bottom: 3rem !important;
+}
+
+.ps-0 {
+ padding-left: 0 !important;
+}
+
+.ps-1 {
+ padding-left: 0.25rem !important;
+}
+
+.ps-2 {
+ padding-left: 0.5rem !important;
+}
+
+.ps-3 {
+ padding-left: 1rem !important;
+}
+
+.ps-4 {
+ padding-left: 1.5rem !important;
+}
+
+.ps-5 {
+ padding-left: 3rem !important;
+}
+
+.gap-0 {
+ gap: 0 !important;
+}
+
+.gap-1 {
+ gap: 0.25rem !important;
+}
+
+.gap-2 {
+ gap: 0.5rem !important;
+}
+
+.gap-3 {
+ gap: 1rem !important;
+}
+
+.gap-4 {
+ gap: 1.5rem !important;
+}
+
+.gap-5 {
+ gap: 3rem !important;
+}
+
+.font-monospace {
+ font-family: var(--bs-font-monospace) !important;
+}
+
+.fs-1 {
+ font-size: calc(1.375rem + 1.5vw) !important;
+}
+
+.fs-2 {
+ font-size: calc(1.325rem + 0.9vw) !important;
+}
+
+.fs-3 {
+ font-size: calc(1.3rem + 0.6vw) !important;
+}
+
+.fs-4 {
+ font-size: calc(1.275rem + 0.3vw) !important;
+}
+
+.fs-5 {
+ font-size: 1.25rem !important;
+}
+
+.fs-6 {
+ font-size: 1rem !important;
+}
+
+.fst-italic {
+ font-style: italic !important;
+}
+
+.fst-normal {
+ font-style: normal !important;
+}
+
+.fw-light {
+ font-weight: 300 !important;
+}
+
+.fw-lighter {
+ font-weight: lighter !important;
+}
+
+.fw-normal {
+ font-weight: 500 !important;
+}
+
+.fw-bold {
+ font-weight: 700 !important;
+}
+
+.fw-semibold {
+ font-weight: 600 !important;
+}
+
+.fw-bolder {
+ font-weight: bolder !important;
+}
+
+.lh-1 {
+ line-height: 1 !important;
+}
+
+.lh-sm {
+ line-height: 1.25 !important;
+}
+
+.lh-base {
+ line-height: 1.5 !important;
+}
+
+.lh-lg {
+ line-height: 2 !important;
+}
+
+.text-start {
+ text-align: left !important;
+}
+
+.text-end {
+ text-align: right !important;
+}
+
+.text-center {
+ text-align: center !important;
+}
+
+.text-decoration-none {
+ text-decoration: none !important;
+}
+
+.text-decoration-underline {
+ text-decoration: underline !important;
+}
+
+.text-decoration-line-through {
+ text-decoration: line-through !important;
+}
+
+.text-lowercase {
+ text-transform: lowercase !important;
+}
+
+.text-uppercase {
+ text-transform: uppercase !important;
+}
+
+.text-capitalize {
+ text-transform: capitalize !important;
+}
+
+.text-wrap {
+ white-space: normal !important;
+}
+
+.text-nowrap {
+ white-space: nowrap !important;
+}
+
+/* rtl:begin:remove */
+.text-break {
+ word-wrap: break-word !important;
+ word-break: break-word !important;
+}
+
+/* rtl:end:remove */
+.text-primary {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-secondary {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-success {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-info {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-warning {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-danger {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-light {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-dark {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-black {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-white {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-body {
+ --bs-text-opacity: 1;
+ color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
+}
+
+.text-muted {
+ --bs-text-opacity: 1;
+ color: #6c757d !important;
+}
+
+.text-black-50 {
+ --bs-text-opacity: 1;
+ color: rgba(0, 0, 0, 0.5) !important;
+}
+
+.text-white-50 {
+ --bs-text-opacity: 1;
+ color: rgba(255, 255, 255, 0.5) !important;
+}
+
+.text-reset {
+ --bs-text-opacity: 1;
+ color: inherit !important;
+}
+
+.text-opacity-25 {
+ --bs-text-opacity: 0.25;
+}
+
+.text-opacity-50 {
+ --bs-text-opacity: 0.5;
+}
+
+.text-opacity-75 {
+ --bs-text-opacity: 0.75;
+}
+
+.text-opacity-100 {
+ --bs-text-opacity: 1;
+}
+
+.bg-primary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-secondary {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-success {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-info {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-warning {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-danger {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-light {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-dark {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-black {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-white {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-body {
+ --bs-bg-opacity: 1;
+ background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
+}
+
+.bg-transparent {
+ --bs-bg-opacity: 1;
+ background-color: transparent !important;
+}
+
+.bg-opacity-10 {
+ --bs-bg-opacity: 0.1;
+}
+
+.bg-opacity-25 {
+ --bs-bg-opacity: 0.25;
+}
+
+.bg-opacity-50 {
+ --bs-bg-opacity: 0.5;
+}
+
+.bg-opacity-75 {
+ --bs-bg-opacity: 0.75;
+}
+
+.bg-opacity-100 {
+ --bs-bg-opacity: 1;
+}
+
+.bg-gradient {
+ background-image: var(--bs-gradient) !important;
+}
+
+.user-select-all {
+ -webkit-user-select: all !important;
+ -moz-user-select: all !important;
+ user-select: all !important;
+}
+
+.user-select-auto {
+ -webkit-user-select: auto !important;
+ -moz-user-select: auto !important;
+ user-select: auto !important;
+}
+
+.user-select-none {
+ -webkit-user-select: none !important;
+ -moz-user-select: none !important;
+ user-select: none !important;
+}
+
+.pe-none {
+ pointer-events: none !important;
+}
+
+.pe-auto {
+ pointer-events: auto !important;
+}
+
+.rounded {
+ border-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-0 {
+ border-radius: 0 !important;
+}
+
+.rounded-1 {
+ border-radius: var(--bs-border-radius-sm) !important;
+}
+
+.rounded-2 {
+ border-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-3 {
+ border-radius: var(--bs-border-radius-lg) !important;
+}
+
+.rounded-4 {
+ border-radius: var(--bs-border-radius-xl) !important;
+}
+
+.rounded-5 {
+ border-radius: var(--bs-border-radius-2xl) !important;
+}
+
+.rounded-circle {
+ border-radius: 50% !important;
+}
+
+.rounded-pill {
+ border-radius: var(--bs-border-radius-pill) !important;
+}
+
+.rounded-top {
+ border-top-left-radius: var(--bs-border-radius) !important;
+ border-top-right-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-end {
+ border-top-right-radius: var(--bs-border-radius) !important;
+ border-bottom-right-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-bottom {
+ border-bottom-right-radius: var(--bs-border-radius) !important;
+ border-bottom-left-radius: var(--bs-border-radius) !important;
+}
+
+.rounded-start {
+ border-bottom-left-radius: var(--bs-border-radius) !important;
+ border-top-left-radius: var(--bs-border-radius) !important;
+}
+
+.visible {
+ visibility: visible !important;
+}
+
+.invisible {
+ visibility: hidden !important;
+}
+
+@media (min-width: 576px) {
+ .float-sm-start {
+ float: left !important;
+ }
+ .float-sm-end {
+ float: right !important;
+ }
+ .float-sm-none {
+ float: none !important;
+ }
+ .d-sm-inline {
+ display: inline !important;
+ }
+ .d-sm-inline-block {
+ display: inline-block !important;
+ }
+ .d-sm-block {
+ display: block !important;
+ }
+ .d-sm-grid {
+ display: grid !important;
+ }
+ .d-sm-table {
+ display: table !important;
+ }
+ .d-sm-table-row {
+ display: table-row !important;
+ }
+ .d-sm-table-cell {
+ display: table-cell !important;
+ }
+ .d-sm-flex {
+ display: flex !important;
+ }
+ .d-sm-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-sm-none {
+ display: none !important;
+ }
+ .flex-sm-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-sm-row {
+ flex-direction: row !important;
+ }
+ .flex-sm-column {
+ flex-direction: column !important;
+ }
+ .flex-sm-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-sm-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-sm-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-sm-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-sm-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-sm-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-sm-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-sm-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-sm-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-sm-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-sm-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-sm-center {
+ justify-content: center !important;
+ }
+ .justify-content-sm-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-sm-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-sm-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-sm-start {
+ align-items: flex-start !important;
+ }
+ .align-items-sm-end {
+ align-items: flex-end !important;
+ }
+ .align-items-sm-center {
+ align-items: center !important;
+ }
+ .align-items-sm-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-sm-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-sm-start {
+ align-content: flex-start !important;
+ }
+ .align-content-sm-end {
+ align-content: flex-end !important;
+ }
+ .align-content-sm-center {
+ align-content: center !important;
+ }
+ .align-content-sm-between {
+ align-content: space-between !important;
+ }
+ .align-content-sm-around {
+ align-content: space-around !important;
+ }
+ .align-content-sm-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-sm-auto {
+ align-self: auto !important;
+ }
+ .align-self-sm-start {
+ align-self: flex-start !important;
+ }
+ .align-self-sm-end {
+ align-self: flex-end !important;
+ }
+ .align-self-sm-center {
+ align-self: center !important;
+ }
+ .align-self-sm-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-sm-stretch {
+ align-self: stretch !important;
+ }
+ .order-sm-first {
+ order: -1 !important;
+ }
+ .order-sm-0 {
+ order: 0 !important;
+ }
+ .order-sm-1 {
+ order: 1 !important;
+ }
+ .order-sm-2 {
+ order: 2 !important;
+ }
+ .order-sm-3 {
+ order: 3 !important;
+ }
+ .order-sm-4 {
+ order: 4 !important;
+ }
+ .order-sm-5 {
+ order: 5 !important;
+ }
+ .order-sm-last {
+ order: 6 !important;
+ }
+ .m-sm-0 {
+ margin: 0 !important;
+ }
+ .m-sm-1 {
+ margin: 0.25rem !important;
+ }
+ .m-sm-2 {
+ margin: 0.5rem !important;
+ }
+ .m-sm-3 {
+ margin: 1rem !important;
+ }
+ .m-sm-4 {
+ margin: 1.5rem !important;
+ }
+ .m-sm-5 {
+ margin: 3rem !important;
+ }
+ .m-sm-auto {
+ margin: auto !important;
+ }
+ .mx-sm-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-sm-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-sm-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-sm-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-sm-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-sm-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-sm-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-sm-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-sm-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-sm-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-sm-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-sm-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-sm-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-sm-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-sm-0 {
+ margin-top: 0 !important;
+ }
+ .mt-sm-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-sm-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-sm-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-sm-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-sm-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-sm-auto {
+ margin-top: auto !important;
+ }
+ .me-sm-0 {
+ margin-right: 0 !important;
+ }
+ .me-sm-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-sm-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-sm-3 {
+ margin-right: 1rem !important;
+ }
+ .me-sm-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-sm-5 {
+ margin-right: 3rem !important;
+ }
+ .me-sm-auto {
+ margin-right: auto !important;
+ }
+ .mb-sm-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-sm-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-sm-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-sm-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-sm-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-sm-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-sm-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-sm-0 {
+ margin-left: 0 !important;
+ }
+ .ms-sm-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-sm-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-sm-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-sm-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-sm-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-sm-auto {
+ margin-left: auto !important;
+ }
+ .p-sm-0 {
+ padding: 0 !important;
+ }
+ .p-sm-1 {
+ padding: 0.25rem !important;
+ }
+ .p-sm-2 {
+ padding: 0.5rem !important;
+ }
+ .p-sm-3 {
+ padding: 1rem !important;
+ }
+ .p-sm-4 {
+ padding: 1.5rem !important;
+ }
+ .p-sm-5 {
+ padding: 3rem !important;
+ }
+ .px-sm-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-sm-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-sm-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-sm-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-sm-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-sm-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-sm-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-sm-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-sm-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-sm-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-sm-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-sm-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-sm-0 {
+ padding-top: 0 !important;
+ }
+ .pt-sm-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-sm-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-sm-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-sm-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-sm-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-sm-0 {
+ padding-right: 0 !important;
+ }
+ .pe-sm-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-sm-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-sm-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-sm-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-sm-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-sm-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-sm-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-sm-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-sm-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-sm-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-sm-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-sm-0 {
+ padding-left: 0 !important;
+ }
+ .ps-sm-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-sm-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-sm-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-sm-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-sm-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-sm-0 {
+ gap: 0 !important;
+ }
+ .gap-sm-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-sm-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-sm-3 {
+ gap: 1rem !important;
+ }
+ .gap-sm-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-sm-5 {
+ gap: 3rem !important;
+ }
+ .text-sm-start {
+ text-align: left !important;
+ }
+ .text-sm-end {
+ text-align: right !important;
+ }
+ .text-sm-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 768px) {
+ .float-md-start {
+ float: left !important;
+ }
+ .float-md-end {
+ float: right !important;
+ }
+ .float-md-none {
+ float: none !important;
+ }
+ .d-md-inline {
+ display: inline !important;
+ }
+ .d-md-inline-block {
+ display: inline-block !important;
+ }
+ .d-md-block {
+ display: block !important;
+ }
+ .d-md-grid {
+ display: grid !important;
+ }
+ .d-md-table {
+ display: table !important;
+ }
+ .d-md-table-row {
+ display: table-row !important;
+ }
+ .d-md-table-cell {
+ display: table-cell !important;
+ }
+ .d-md-flex {
+ display: flex !important;
+ }
+ .d-md-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-md-none {
+ display: none !important;
+ }
+ .flex-md-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-md-row {
+ flex-direction: row !important;
+ }
+ .flex-md-column {
+ flex-direction: column !important;
+ }
+ .flex-md-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-md-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-md-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-md-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-md-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-md-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-md-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-md-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-md-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-md-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-md-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-md-center {
+ justify-content: center !important;
+ }
+ .justify-content-md-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-md-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-md-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-md-start {
+ align-items: flex-start !important;
+ }
+ .align-items-md-end {
+ align-items: flex-end !important;
+ }
+ .align-items-md-center {
+ align-items: center !important;
+ }
+ .align-items-md-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-md-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-md-start {
+ align-content: flex-start !important;
+ }
+ .align-content-md-end {
+ align-content: flex-end !important;
+ }
+ .align-content-md-center {
+ align-content: center !important;
+ }
+ .align-content-md-between {
+ align-content: space-between !important;
+ }
+ .align-content-md-around {
+ align-content: space-around !important;
+ }
+ .align-content-md-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-md-auto {
+ align-self: auto !important;
+ }
+ .align-self-md-start {
+ align-self: flex-start !important;
+ }
+ .align-self-md-end {
+ align-self: flex-end !important;
+ }
+ .align-self-md-center {
+ align-self: center !important;
+ }
+ .align-self-md-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-md-stretch {
+ align-self: stretch !important;
+ }
+ .order-md-first {
+ order: -1 !important;
+ }
+ .order-md-0 {
+ order: 0 !important;
+ }
+ .order-md-1 {
+ order: 1 !important;
+ }
+ .order-md-2 {
+ order: 2 !important;
+ }
+ .order-md-3 {
+ order: 3 !important;
+ }
+ .order-md-4 {
+ order: 4 !important;
+ }
+ .order-md-5 {
+ order: 5 !important;
+ }
+ .order-md-last {
+ order: 6 !important;
+ }
+ .m-md-0 {
+ margin: 0 !important;
+ }
+ .m-md-1 {
+ margin: 0.25rem !important;
+ }
+ .m-md-2 {
+ margin: 0.5rem !important;
+ }
+ .m-md-3 {
+ margin: 1rem !important;
+ }
+ .m-md-4 {
+ margin: 1.5rem !important;
+ }
+ .m-md-5 {
+ margin: 3rem !important;
+ }
+ .m-md-auto {
+ margin: auto !important;
+ }
+ .mx-md-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-md-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-md-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-md-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-md-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-md-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-md-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-md-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-md-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-md-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-md-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-md-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-md-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-md-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-md-0 {
+ margin-top: 0 !important;
+ }
+ .mt-md-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-md-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-md-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-md-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-md-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-md-auto {
+ margin-top: auto !important;
+ }
+ .me-md-0 {
+ margin-right: 0 !important;
+ }
+ .me-md-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-md-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-md-3 {
+ margin-right: 1rem !important;
+ }
+ .me-md-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-md-5 {
+ margin-right: 3rem !important;
+ }
+ .me-md-auto {
+ margin-right: auto !important;
+ }
+ .mb-md-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-md-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-md-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-md-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-md-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-md-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-md-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-md-0 {
+ margin-left: 0 !important;
+ }
+ .ms-md-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-md-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-md-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-md-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-md-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-md-auto {
+ margin-left: auto !important;
+ }
+ .p-md-0 {
+ padding: 0 !important;
+ }
+ .p-md-1 {
+ padding: 0.25rem !important;
+ }
+ .p-md-2 {
+ padding: 0.5rem !important;
+ }
+ .p-md-3 {
+ padding: 1rem !important;
+ }
+ .p-md-4 {
+ padding: 1.5rem !important;
+ }
+ .p-md-5 {
+ padding: 3rem !important;
+ }
+ .px-md-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-md-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-md-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-md-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-md-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-md-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-md-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-md-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-md-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-md-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-md-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-md-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-md-0 {
+ padding-top: 0 !important;
+ }
+ .pt-md-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-md-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-md-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-md-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-md-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-md-0 {
+ padding-right: 0 !important;
+ }
+ .pe-md-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-md-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-md-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-md-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-md-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-md-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-md-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-md-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-md-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-md-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-md-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-md-0 {
+ padding-left: 0 !important;
+ }
+ .ps-md-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-md-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-md-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-md-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-md-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-md-0 {
+ gap: 0 !important;
+ }
+ .gap-md-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-md-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-md-3 {
+ gap: 1rem !important;
+ }
+ .gap-md-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-md-5 {
+ gap: 3rem !important;
+ }
+ .text-md-start {
+ text-align: left !important;
+ }
+ .text-md-end {
+ text-align: right !important;
+ }
+ .text-md-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 992px) {
+ .float-lg-start {
+ float: left !important;
+ }
+ .float-lg-end {
+ float: right !important;
+ }
+ .float-lg-none {
+ float: none !important;
+ }
+ .d-lg-inline {
+ display: inline !important;
+ }
+ .d-lg-inline-block {
+ display: inline-block !important;
+ }
+ .d-lg-block {
+ display: block !important;
+ }
+ .d-lg-grid {
+ display: grid !important;
+ }
+ .d-lg-table {
+ display: table !important;
+ }
+ .d-lg-table-row {
+ display: table-row !important;
+ }
+ .d-lg-table-cell {
+ display: table-cell !important;
+ }
+ .d-lg-flex {
+ display: flex !important;
+ }
+ .d-lg-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-lg-none {
+ display: none !important;
+ }
+ .flex-lg-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-lg-row {
+ flex-direction: row !important;
+ }
+ .flex-lg-column {
+ flex-direction: column !important;
+ }
+ .flex-lg-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-lg-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-lg-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-lg-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-lg-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-lg-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-lg-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-lg-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-lg-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-lg-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-lg-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-lg-center {
+ justify-content: center !important;
+ }
+ .justify-content-lg-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-lg-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-lg-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-lg-start {
+ align-items: flex-start !important;
+ }
+ .align-items-lg-end {
+ align-items: flex-end !important;
+ }
+ .align-items-lg-center {
+ align-items: center !important;
+ }
+ .align-items-lg-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-lg-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-lg-start {
+ align-content: flex-start !important;
+ }
+ .align-content-lg-end {
+ align-content: flex-end !important;
+ }
+ .align-content-lg-center {
+ align-content: center !important;
+ }
+ .align-content-lg-between {
+ align-content: space-between !important;
+ }
+ .align-content-lg-around {
+ align-content: space-around !important;
+ }
+ .align-content-lg-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-lg-auto {
+ align-self: auto !important;
+ }
+ .align-self-lg-start {
+ align-self: flex-start !important;
+ }
+ .align-self-lg-end {
+ align-self: flex-end !important;
+ }
+ .align-self-lg-center {
+ align-self: center !important;
+ }
+ .align-self-lg-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-lg-stretch {
+ align-self: stretch !important;
+ }
+ .order-lg-first {
+ order: -1 !important;
+ }
+ .order-lg-0 {
+ order: 0 !important;
+ }
+ .order-lg-1 {
+ order: 1 !important;
+ }
+ .order-lg-2 {
+ order: 2 !important;
+ }
+ .order-lg-3 {
+ order: 3 !important;
+ }
+ .order-lg-4 {
+ order: 4 !important;
+ }
+ .order-lg-5 {
+ order: 5 !important;
+ }
+ .order-lg-last {
+ order: 6 !important;
+ }
+ .m-lg-0 {
+ margin: 0 !important;
+ }
+ .m-lg-1 {
+ margin: 0.25rem !important;
+ }
+ .m-lg-2 {
+ margin: 0.5rem !important;
+ }
+ .m-lg-3 {
+ margin: 1rem !important;
+ }
+ .m-lg-4 {
+ margin: 1.5rem !important;
+ }
+ .m-lg-5 {
+ margin: 3rem !important;
+ }
+ .m-lg-auto {
+ margin: auto !important;
+ }
+ .mx-lg-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-lg-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-lg-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-lg-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-lg-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-lg-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-lg-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-lg-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-lg-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-lg-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-lg-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-lg-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-lg-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-lg-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-lg-0 {
+ margin-top: 0 !important;
+ }
+ .mt-lg-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-lg-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-lg-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-lg-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-lg-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-lg-auto {
+ margin-top: auto !important;
+ }
+ .me-lg-0 {
+ margin-right: 0 !important;
+ }
+ .me-lg-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-lg-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-lg-3 {
+ margin-right: 1rem !important;
+ }
+ .me-lg-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-lg-5 {
+ margin-right: 3rem !important;
+ }
+ .me-lg-auto {
+ margin-right: auto !important;
+ }
+ .mb-lg-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-lg-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-lg-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-lg-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-lg-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-lg-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-lg-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-lg-0 {
+ margin-left: 0 !important;
+ }
+ .ms-lg-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-lg-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-lg-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-lg-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-lg-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-lg-auto {
+ margin-left: auto !important;
+ }
+ .p-lg-0 {
+ padding: 0 !important;
+ }
+ .p-lg-1 {
+ padding: 0.25rem !important;
+ }
+ .p-lg-2 {
+ padding: 0.5rem !important;
+ }
+ .p-lg-3 {
+ padding: 1rem !important;
+ }
+ .p-lg-4 {
+ padding: 1.5rem !important;
+ }
+ .p-lg-5 {
+ padding: 3rem !important;
+ }
+ .px-lg-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-lg-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-lg-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-lg-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-lg-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-lg-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-lg-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-lg-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-lg-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-lg-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-lg-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-lg-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-lg-0 {
+ padding-top: 0 !important;
+ }
+ .pt-lg-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-lg-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-lg-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-lg-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-lg-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-lg-0 {
+ padding-right: 0 !important;
+ }
+ .pe-lg-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-lg-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-lg-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-lg-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-lg-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-lg-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-lg-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-lg-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-lg-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-lg-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-lg-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-lg-0 {
+ padding-left: 0 !important;
+ }
+ .ps-lg-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-lg-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-lg-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-lg-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-lg-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-lg-0 {
+ gap: 0 !important;
+ }
+ .gap-lg-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-lg-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-lg-3 {
+ gap: 1rem !important;
+ }
+ .gap-lg-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-lg-5 {
+ gap: 3rem !important;
+ }
+ .text-lg-start {
+ text-align: left !important;
+ }
+ .text-lg-end {
+ text-align: right !important;
+ }
+ .text-lg-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 1200px) {
+ .float-xl-start {
+ float: left !important;
+ }
+ .float-xl-end {
+ float: right !important;
+ }
+ .float-xl-none {
+ float: none !important;
+ }
+ .d-xl-inline {
+ display: inline !important;
+ }
+ .d-xl-inline-block {
+ display: inline-block !important;
+ }
+ .d-xl-block {
+ display: block !important;
+ }
+ .d-xl-grid {
+ display: grid !important;
+ }
+ .d-xl-table {
+ display: table !important;
+ }
+ .d-xl-table-row {
+ display: table-row !important;
+ }
+ .d-xl-table-cell {
+ display: table-cell !important;
+ }
+ .d-xl-flex {
+ display: flex !important;
+ }
+ .d-xl-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-xl-none {
+ display: none !important;
+ }
+ .flex-xl-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-xl-row {
+ flex-direction: row !important;
+ }
+ .flex-xl-column {
+ flex-direction: column !important;
+ }
+ .flex-xl-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-xl-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-xl-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-xl-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-xl-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-xl-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-xl-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-xl-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-xl-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xl-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-xl-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-xl-center {
+ justify-content: center !important;
+ }
+ .justify-content-xl-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-xl-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-xl-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-xl-start {
+ align-items: flex-start !important;
+ }
+ .align-items-xl-end {
+ align-items: flex-end !important;
+ }
+ .align-items-xl-center {
+ align-items: center !important;
+ }
+ .align-items-xl-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-xl-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-xl-start {
+ align-content: flex-start !important;
+ }
+ .align-content-xl-end {
+ align-content: flex-end !important;
+ }
+ .align-content-xl-center {
+ align-content: center !important;
+ }
+ .align-content-xl-between {
+ align-content: space-between !important;
+ }
+ .align-content-xl-around {
+ align-content: space-around !important;
+ }
+ .align-content-xl-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-xl-auto {
+ align-self: auto !important;
+ }
+ .align-self-xl-start {
+ align-self: flex-start !important;
+ }
+ .align-self-xl-end {
+ align-self: flex-end !important;
+ }
+ .align-self-xl-center {
+ align-self: center !important;
+ }
+ .align-self-xl-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-xl-stretch {
+ align-self: stretch !important;
+ }
+ .order-xl-first {
+ order: -1 !important;
+ }
+ .order-xl-0 {
+ order: 0 !important;
+ }
+ .order-xl-1 {
+ order: 1 !important;
+ }
+ .order-xl-2 {
+ order: 2 !important;
+ }
+ .order-xl-3 {
+ order: 3 !important;
+ }
+ .order-xl-4 {
+ order: 4 !important;
+ }
+ .order-xl-5 {
+ order: 5 !important;
+ }
+ .order-xl-last {
+ order: 6 !important;
+ }
+ .m-xl-0 {
+ margin: 0 !important;
+ }
+ .m-xl-1 {
+ margin: 0.25rem !important;
+ }
+ .m-xl-2 {
+ margin: 0.5rem !important;
+ }
+ .m-xl-3 {
+ margin: 1rem !important;
+ }
+ .m-xl-4 {
+ margin: 1.5rem !important;
+ }
+ .m-xl-5 {
+ margin: 3rem !important;
+ }
+ .m-xl-auto {
+ margin: auto !important;
+ }
+ .mx-xl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-xl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-xl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-xl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-xl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-xl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-xl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-xl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-xl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-xl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-xl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-xl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-xl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-xl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-xl-0 {
+ margin-top: 0 !important;
+ }
+ .mt-xl-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-xl-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-xl-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-xl-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-xl-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-xl-auto {
+ margin-top: auto !important;
+ }
+ .me-xl-0 {
+ margin-right: 0 !important;
+ }
+ .me-xl-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-xl-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-xl-3 {
+ margin-right: 1rem !important;
+ }
+ .me-xl-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-xl-5 {
+ margin-right: 3rem !important;
+ }
+ .me-xl-auto {
+ margin-right: auto !important;
+ }
+ .mb-xl-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-xl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-xl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-xl-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-xl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-xl-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-xl-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-xl-0 {
+ margin-left: 0 !important;
+ }
+ .ms-xl-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-xl-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-xl-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-xl-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-xl-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-xl-auto {
+ margin-left: auto !important;
+ }
+ .p-xl-0 {
+ padding: 0 !important;
+ }
+ .p-xl-1 {
+ padding: 0.25rem !important;
+ }
+ .p-xl-2 {
+ padding: 0.5rem !important;
+ }
+ .p-xl-3 {
+ padding: 1rem !important;
+ }
+ .p-xl-4 {
+ padding: 1.5rem !important;
+ }
+ .p-xl-5 {
+ padding: 3rem !important;
+ }
+ .px-xl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-xl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-xl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-xl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-xl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-xl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-xl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-xl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-xl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-xl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-xl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-xl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-xl-0 {
+ padding-top: 0 !important;
+ }
+ .pt-xl-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-xl-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-xl-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-xl-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-xl-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-xl-0 {
+ padding-right: 0 !important;
+ }
+ .pe-xl-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-xl-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-xl-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-xl-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-xl-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-xl-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-xl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-xl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-xl-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-xl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-xl-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-xl-0 {
+ padding-left: 0 !important;
+ }
+ .ps-xl-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-xl-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-xl-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-xl-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-xl-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-xl-0 {
+ gap: 0 !important;
+ }
+ .gap-xl-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-xl-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-xl-3 {
+ gap: 1rem !important;
+ }
+ .gap-xl-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-xl-5 {
+ gap: 3rem !important;
+ }
+ .text-xl-start {
+ text-align: left !important;
+ }
+ .text-xl-end {
+ text-align: right !important;
+ }
+ .text-xl-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 1400px) {
+ .float-xxl-start {
+ float: left !important;
+ }
+ .float-xxl-end {
+ float: right !important;
+ }
+ .float-xxl-none {
+ float: none !important;
+ }
+ .d-xxl-inline {
+ display: inline !important;
+ }
+ .d-xxl-inline-block {
+ display: inline-block !important;
+ }
+ .d-xxl-block {
+ display: block !important;
+ }
+ .d-xxl-grid {
+ display: grid !important;
+ }
+ .d-xxl-table {
+ display: table !important;
+ }
+ .d-xxl-table-row {
+ display: table-row !important;
+ }
+ .d-xxl-table-cell {
+ display: table-cell !important;
+ }
+ .d-xxl-flex {
+ display: flex !important;
+ }
+ .d-xxl-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-xxl-none {
+ display: none !important;
+ }
+ .flex-xxl-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-xxl-row {
+ flex-direction: row !important;
+ }
+ .flex-xxl-column {
+ flex-direction: column !important;
+ }
+ .flex-xxl-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-xxl-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-xxl-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-xxl-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-xxl-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-xxl-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-xxl-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-xxl-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-xxl-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xxl-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-xxl-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-xxl-center {
+ justify-content: center !important;
+ }
+ .justify-content-xxl-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-xxl-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-xxl-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-xxl-start {
+ align-items: flex-start !important;
+ }
+ .align-items-xxl-end {
+ align-items: flex-end !important;
+ }
+ .align-items-xxl-center {
+ align-items: center !important;
+ }
+ .align-items-xxl-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-xxl-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-xxl-start {
+ align-content: flex-start !important;
+ }
+ .align-content-xxl-end {
+ align-content: flex-end !important;
+ }
+ .align-content-xxl-center {
+ align-content: center !important;
+ }
+ .align-content-xxl-between {
+ align-content: space-between !important;
+ }
+ .align-content-xxl-around {
+ align-content: space-around !important;
+ }
+ .align-content-xxl-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-xxl-auto {
+ align-self: auto !important;
+ }
+ .align-self-xxl-start {
+ align-self: flex-start !important;
+ }
+ .align-self-xxl-end {
+ align-self: flex-end !important;
+ }
+ .align-self-xxl-center {
+ align-self: center !important;
+ }
+ .align-self-xxl-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-xxl-stretch {
+ align-self: stretch !important;
+ }
+ .order-xxl-first {
+ order: -1 !important;
+ }
+ .order-xxl-0 {
+ order: 0 !important;
+ }
+ .order-xxl-1 {
+ order: 1 !important;
+ }
+ .order-xxl-2 {
+ order: 2 !important;
+ }
+ .order-xxl-3 {
+ order: 3 !important;
+ }
+ .order-xxl-4 {
+ order: 4 !important;
+ }
+ .order-xxl-5 {
+ order: 5 !important;
+ }
+ .order-xxl-last {
+ order: 6 !important;
+ }
+ .m-xxl-0 {
+ margin: 0 !important;
+ }
+ .m-xxl-1 {
+ margin: 0.25rem !important;
+ }
+ .m-xxl-2 {
+ margin: 0.5rem !important;
+ }
+ .m-xxl-3 {
+ margin: 1rem !important;
+ }
+ .m-xxl-4 {
+ margin: 1.5rem !important;
+ }
+ .m-xxl-5 {
+ margin: 3rem !important;
+ }
+ .m-xxl-auto {
+ margin: auto !important;
+ }
+ .mx-xxl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-xxl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-xxl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-xxl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-xxl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-xxl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-xxl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-xxl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-xxl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-xxl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-xxl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-xxl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-xxl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-xxl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-xxl-0 {
+ margin-top: 0 !important;
+ }
+ .mt-xxl-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-xxl-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-xxl-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-xxl-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-xxl-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-xxl-auto {
+ margin-top: auto !important;
+ }
+ .me-xxl-0 {
+ margin-right: 0 !important;
+ }
+ .me-xxl-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-xxl-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-xxl-3 {
+ margin-right: 1rem !important;
+ }
+ .me-xxl-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-xxl-5 {
+ margin-right: 3rem !important;
+ }
+ .me-xxl-auto {
+ margin-right: auto !important;
+ }
+ .mb-xxl-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-xxl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-xxl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-xxl-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-xxl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-xxl-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-xxl-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-xxl-0 {
+ margin-left: 0 !important;
+ }
+ .ms-xxl-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-xxl-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-xxl-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-xxl-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-xxl-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-xxl-auto {
+ margin-left: auto !important;
+ }
+ .p-xxl-0 {
+ padding: 0 !important;
+ }
+ .p-xxl-1 {
+ padding: 0.25rem !important;
+ }
+ .p-xxl-2 {
+ padding: 0.5rem !important;
+ }
+ .p-xxl-3 {
+ padding: 1rem !important;
+ }
+ .p-xxl-4 {
+ padding: 1.5rem !important;
+ }
+ .p-xxl-5 {
+ padding: 3rem !important;
+ }
+ .px-xxl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-xxl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-xxl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-xxl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-xxl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-xxl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-xxl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-xxl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-xxl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-xxl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-xxl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-xxl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-xxl-0 {
+ padding-top: 0 !important;
+ }
+ .pt-xxl-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-xxl-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-xxl-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-xxl-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-xxl-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-xxl-0 {
+ padding-right: 0 !important;
+ }
+ .pe-xxl-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-xxl-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-xxl-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-xxl-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-xxl-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-xxl-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-xxl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-xxl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-xxl-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-xxl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-xxl-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-xxl-0 {
+ padding-left: 0 !important;
+ }
+ .ps-xxl-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-xxl-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-xxl-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-xxl-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-xxl-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-xxl-0 {
+ gap: 0 !important;
+ }
+ .gap-xxl-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-xxl-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-xxl-3 {
+ gap: 1rem !important;
+ }
+ .gap-xxl-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-xxl-5 {
+ gap: 3rem !important;
+ }
+ .text-xxl-start {
+ text-align: left !important;
+ }
+ .text-xxl-end {
+ text-align: right !important;
+ }
+ .text-xxl-center {
+ text-align: center !important;
+ }
+}
+@media (min-width: 1200px) {
+ .fs-1 {
+ font-size: 2.5rem !important;
+ }
+ .fs-2 {
+ font-size: 2rem !important;
+ }
+ .fs-3 {
+ font-size: 1.75rem !important;
+ }
+ .fs-4 {
+ font-size: 1.5rem !important;
+ }
+}
+@media print {
+ .d-print-inline {
+ display: inline !important;
+ }
+ .d-print-inline-block {
+ display: inline-block !important;
+ }
+ .d-print-block {
+ display: block !important;
+ }
+ .d-print-grid {
+ display: grid !important;
+ }
+ .d-print-table {
+ display: table !important;
+ }
+ .d-print-table-row {
+ display: table-row !important;
+ }
+ .d-print-table-cell {
+ display: table-cell !important;
+ }
+ .d-print-flex {
+ display: flex !important;
+ }
+ .d-print-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-print-none {
+ display: none !important;
+ }
+}
+html {
+ scroll-padding-top: 4.5rem;
+}
+
+.bg-black {
+ background-color: #000 !important;
+}
+
+.bg-gradient-primary-to-secondary {
+ background: linear-gradient(45deg, #2937f0, #9f1ae2) !important;
+}
+
+.font-alt {
+ font-family: "Kanit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
+}
+
+.text-gradient {
+ background: -webkit-linear-gradient(#2937f0, #9f1ae2);
+ background-clip: text;
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+}
+
+aside,
+section {
+ padding-top: 5rem;
+ padding-bottom: 5rem;
+}
+
+.app-badge {
+ height: 3rem;
+}
+
+#mainNav {
+ padding-top: 1rem;
+ padding-bottom: 1rem;
+ background-color: #fff;
+}
+#mainNav .navbar-brand {
+ font-family: "Kanit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+}
+#mainNav .navbar-brand:hover, #mainNav .navbar-brand:active {
+ color: #2937f0;
+}
+#mainNav .navbar-toggler {
+ font-size: 0.875rem;
+ padding: 0.75rem 1rem;
+ color: #212529;
+}
+#mainNav .navbar-nav .nav-item .nav-link {
+ color: #212529;
+}
+#mainNav .navbar-nav .nav-item .nav-link:hover {
+ color: #6c757d;
+}
+#mainNav .navbar-nav .nav-item .nav-link.active {
+ color: #2937f0;
+}
+
+/*!
+ * html5-device-mockups (https://github.com/pixelsign/html5-device-mockups)
+ * Copyright 2013 - 2017 pixelsign
+ * Licensed under MIT (https://github.com/pixelsign/html5-device-mockups/blob/master/LICENSE.txt)
+ * Last Build: Tue Nov 14 2017 12:40:57
+ */
+.device-wrapper {
+ max-width: 300px;
+ width: 100%;
+}
+
+.device {
+ position: relative;
+ background-size: cover;
+}
+
+.device::after {
+ position: absolute;
+ background-size: cover;
+ width: 100%;
+ height: 100%;
+ pointer-events: none;
+}
+
+.device .screen {
+ position: absolute;
+ background-size: cover;
+ pointer-events: auto;
+}
+
+.device .button {
+ position: absolute;
+ cursor: pointer;
+}
+
+.device[data-device=iPhoneX][data-orientation=portrait][data-color=black] {
+ padding-bottom: 198.898071625%;
+}
+
+.device[data-device=iPhoneX][data-orientation=portrait][data-color=black] .screen {
+ top: 3.1855955679%;
+ left: 6.8870523416%;
+ width: 86.2258953168%;
+ height: 93.6288088643%;
+}
+
+.device[data-device=iPhoneX][data-orientation=portrait][data-color=black]::after {
+ content: "";
+ background-image: url("../assets/img/portrait_black.png");
+}
+
+.device[data-device=iPhoneX][data-orientation=portrait][data-color=black] .button {
+ display: none;
+ top: 0%;
+ left: 0%;
+ width: 100%;
+ height: 100%;
+}
+
+section.cta {
+ position: relative;
+ padding: 15rem 0;
+ background-image: url("https://img.freepik.com/photos-gratuite/homme-senior-athletique-s-entrainant-gymnastique_23-2150809355.jpg?w=1380&t=st=1701079471~exp=1701080071~hmac=baeec48b8d3a4c25cbbd821371bc8dcca048ba9c61d122963c1c0089bce690b3");
+ background-position: center;
+ background-size: cover;
+}
+section.cta .cta-content {
+ position: relative;
+ z-index: 1;
+}
+section.cta:before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.5);
+}
+
+.icon-feature {
+ font-size: 4rem;
+}
+
+.features-device-mockup {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+}
+.features-device-mockup .circle {
+ position: absolute;
+ left: 0;
+ fill: url(#circleGradient);
+ width: 70%;
+ display: none;
+}
+.features-device-mockup .circle .gradient-start-color {
+ stop-color: #2937f0;
+}
+.features-device-mockup .circle .gradient-end-color {
+ stop-color: #9f1ae2;
+}
+.features-device-mockup .shape-1 {
+ position: absolute;
+ height: 1rem;
+ width: 1rem;
+ transform: rotate(10deg);
+ fill: #2937f0;
+ top: 15%;
+ right: 10%;
+}
+.features-device-mockup .shape-2 {
+ position: absolute;
+ height: 0.75rem;
+ width: 0.75rem;
+ fill: #2937f0;
+ bottom: 15%;
+ left: 10%;
+}
+.features-device-mockup .device-wrapper {
+ max-width: 10rem;
+}
+
+@media (min-width: 576px) {
+ .features-device-mockup .circle {
+ width: 70%;
+ display: block;
+ left: auto;
+ }
+ .features-device-mockup .device-wrapper {
+ max-width: 12.5rem;
+ }
+}
+@media (min-width: 768px) {
+ .features-device-mockup .circle {
+ width: 60%;
+ left: auto;
+ }
+ .features-device-mockup .device-wrapper {
+ max-width: 15rem;
+ }
+}
+@media (min-width: 992px) {
+ .features-device-mockup .circle {
+ width: 90%;
+ left: -25%;
+ }
+ .features-device-mockup .shape-1 {
+ top: 5%;
+ right: -15%;
+ }
+ .features-device-mockup .shape-2 {
+ bottom: 10%;
+ left: -10%;
+ }
+ .features-device-mockup .device-wrapper {
+ max-width: 15rem;
+ margin-left: auto;
+ }
+}
+@media (min-width: 1200px) {
+ .features-device-mockup .circle {
+ width: 75%;
+ left: 0;
+ }
+ .features-device-mockup .shape-2 {
+ bottom: 15%;
+ left: 10%;
+ }
+ .features-device-mockup .device-wrapper {
+ max-width: 15rem;
+ }
+}
+@media (min-width: 1400px) {
+ .features-device-mockup .circle {
+ width: 80%;
+ left: 0;
+ }
+ .features-device-mockup .device-wrapper {
+ max-width: 17rem;
+ }
+}
+footer a {
+ color: rgba(255, 255, 255, 0.5);
+ text-decoration: none;
+}
+footer a:hover, footer a:active, footer a:focus {
+ color: rgba(255, 255, 255, 0.75);
+ text-decoration: underline;
+}
+
+.masthead {
+ background-color: #f8f9fa;
+ padding-top: 9.5rem;
+ padding-bottom: 5rem;
+}
+.masthead .masthead-device-mockup {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+}
+.masthead .masthead-device-mockup .circle {
+ position: absolute;
+ fill: url(#circleGradient);
+ width: 70%;
+ display: none;
+}
+.masthead .masthead-device-mockup .circle .gradient-start-color {
+ stop-color: #2937f0;
+}
+.masthead .masthead-device-mockup .circle .gradient-end-color {
+ stop-color: #9f1ae2;
+}
+.masthead .masthead-device-mockup .shape-1 {
+ position: absolute;
+ height: 1rem;
+ width: 1rem;
+ transform: rotate(-10deg);
+ fill: #2937f0;
+ bottom: 15%;
+ left: 10%;
+}
+.masthead .masthead-device-mockup .shape-2 {
+ position: absolute;
+ height: 0.75rem;
+ width: 0.75rem;
+ fill: #2937f0;
+ top: 15%;
+ right: 10%;
+}
+.masthead .masthead-device-mockup .device-wrapper {
+ max-width: 10rem;
+}
+@media (min-width: 576px) {
+ .masthead .masthead-device-mockup .circle {
+ width: 70%;
+ display: block;
+ }
+ .masthead .masthead-device-mockup .device-wrapper {
+ max-width: 12.5rem;
+ }
+}
+@media (min-width: 768px) {
+ .masthead .masthead-device-mockup .circle {
+ width: 60%;
+ }
+ .masthead .masthead-device-mockup .device-wrapper {
+ max-width: 15rem;
+ }
+}
+@media (min-width: 992px) {
+ .masthead .masthead-device-mockup .circle {
+ width: 90%;
+ }
+ .masthead .masthead-device-mockup .device-wrapper {
+ max-width: 15rem;
+ }
+}
+@media (min-width: 1200px) {
+ .masthead .masthead-device-mockup .circle {
+ width: 75%;
+ }
+ .masthead .masthead-device-mockup .device-wrapper {
+ max-width: 15rem;
+ }
+}
+@media (min-width: 1400px) {
+ .masthead .masthead-device-mockup .circle {
+ width: 70%;
+ }
+ .masthead .masthead-device-mockup .device-wrapper {
+ max-width: 17rem;
+ }
+}
\ No newline at end of file
diff --git a/Sources/public/js/script2.js b/Sources/public/js/script2.js
new file mode 100644
index 00000000..ab369326
--- /dev/null
+++ b/Sources/public/js/script2.js
@@ -0,0 +1,34 @@
+/*!
+* Start Bootstrap - New Age v6.0.7 (https://startbootstrap.com/theme/new-age)
+* Copyright 2013-2023 Start Bootstrap
+* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-new-age/blob/master/LICENSE)
+*/
+//
+// Scripts
+//
+
+window.addEventListener('DOMContentLoaded', event => {
+
+ // Activate Bootstrap scrollspy on the main nav element
+ const mainNav = document.body.querySelector('#mainNav');
+ if (mainNav) {
+ new bootstrap.ScrollSpy(document.body, {
+ target: '#mainNav',
+ offset: 74,
+ });
+ };
+
+ // Collapse responsive navbar when toggler is visible
+ const navbarToggler = document.body.querySelector('.navbar-toggler');
+ const responsiveNavItems = [].slice.call(
+ document.querySelectorAll('#navbarResponsive .nav-link')
+ );
+ responsiveNavItems.map(function (responsiveNavItem) {
+ responsiveNavItem.addEventListener('click', () => {
+ if (window.getComputedStyle(navbarToggler).display !== 'none') {
+ navbarToggler.click();
+ }
+ });
+ });
+
+});
diff --git a/Sources/public/js/scripts2.js b/Sources/public/js/scripts2.js
new file mode 100644
index 00000000..19c62bf3
--- /dev/null
+++ b/Sources/public/js/scripts2.js
@@ -0,0 +1,34 @@
+/*!
+* Start Bootstrap - New Age v6.0.7 (https://startbootstrap.com/theme/new-age)
+* Copyright 2013-2023 Start Bootstrap
+* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-new-age/blob/master/LICENSE)
+*/
+//
+// Scripts
+//
+
+window.addEventListener('DOMContentLoaded', event => {
+
+ // Activate Bootstrap scrollspy on the main nav element
+ const mainNav = document.body.querySelector('#mainNav');
+ if (mainNav) {
+ new bootstrap.ScrollSpy(document.body, {
+ target: '#mainNav',
+ offset: 74,
+ });
+ };
+
+ // Collapse responsive navbar when toggler is visible
+ const navbarToggler = document.body.querySelector('.navbar-toggler');
+ const responsiveNavItems = [].slice.call(
+ document.querySelectorAll('#navbarResponsive .nav-link')
+ );
+ responsiveNavItems.map(function (responsiveNavItem) {
+ responsiveNavItem.addEventListener('click', () => {
+ if (window.getComputedStyle(navbarToggler).display !== 'none') {
+ navbarToggler.click();
+ }
+ });
+ });
+
+});
diff --git a/Sources/reseau/scriptFirewall.sh b/Sources/reseau/scriptFirewall.sh
new file mode 100644
index 00000000..13f47935
--- /dev/null
+++ b/Sources/reseau/scriptFirewall.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+
diff --git a/Sources/reseau/scriptRouting.sh b/Sources/reseau/scriptRouting.sh
new file mode 100644
index 00000000..a13c295d
--- /dev/null
+++ b/Sources/reseau/scriptRouting.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+vdn-ssh root@web '
+'
+
diff --git a/Sources/src/app/controller/AthleteController.php b/Sources/src/app/controller/AthleteController.php
index 50567921..72c3031e 100644
--- a/Sources/src/app/controller/AthleteController.php
+++ b/Sources/src/app/controller/AthleteController.php
@@ -2,6 +2,10 @@
namespace App\Controller;
+use Database\AthleteMapper;
+use Database\EntrainementGateway;
+use Database\EntrainementMapper;
+use Shared\Validation;
use App\Container;
use App\Router\Request\IRequest;
use App\Router\Response\Response;
@@ -9,62 +13,132 @@ use Shared\Attributes\Route;
use Twig\Environment;
use Data\Core\Preferences;
use Shared\Log;
+use Manager\UserManager;
+use Database\Connexion;
+use Database\AthleteGateway;
class AthleteController extends BaseController
{
- #[Route(path: '/search-ath', name: 'search-ath', methods: ['GET'])]
+ private Environment $twig;
+ protected Preferences $preference;
+
+ public function __construct()
+ {
+ //session_start();
+ $this->preference = new Preferences();
+ }
+
+// #[Route(path: '/search-user', name: 'search-user', methods: ['GET'])]
+// public function searchUser(string $username, IRequest $req): Response
+// {
+// $taberror = [];
+// if(!Validation::val_string($username)){
+// print("Nom invalide.");
+// }
+// else {
+// try {
+// $athleteGateway = new AthleteGateway(new Connexion("mysql:host=localhost;dbname=sae_3", "Perederii", ""));
+//// $listSearch=$this->container->get(UserManager::class)->searchUsersByName($username);
+// $listSearch = $athleteGateway->getAthlete();
+// $map = new AthleteMapper ();
+// $athleteEntity = $map->athleteSqlToEntity($listSearch);
+// foreach ($athleteEntity as $entity) {
+// $users = $map->athleteEntityToModel($entity);
+// $listUsers[$i++]=['nom' => $users->getNom(), 'prenom'=>$users->getPrenom(), 'img'=>'john_doe'];
+// }
+//
+// $i=0;
+// foreach ($users as $user){
+// echo " HELLO
";
+// $listUsers[$i++]=['nom' => $user->getNom(), 'prenom'=>$user->getPrenom(), 'img'=>'john_doe', 'username'=>$user->getUsername()];
+// }
+// echo " HEllO
";
+// //$currentUser=$this->container->get(UserManager::class)->getCurrentUser();
+// //$currentUser=$_SESSION['user'];
+// $response = $this->render('./page/addfriend.html.twig',[
+// 'css' => $_COOKIE['preferences'],
+// 'pp' => "test",
+// 'user' => 'johndoe',//$currentUser->getUsername(),
+// 'role' => 'Athlete',//$currentUser->getRole(),
+// 'users' => $listUsers
+// ]);
+// } catch (\Throwable $th) {
+// throw $th;
+// return $this->render("addfriend.html.twig", ['tabError' => $taberror ]);
+// }
+// }
+// return $response;
+//
+// }
+
+ #[Route(path: '/search-user', name: 'search-user', methods: ['GET'])]
public function searchUser(string $username, IRequest $req): Response
{
$taberror = [];
- $utiliArray = [
- [
- 'nom' => 'John',
- 'prenom' => 'Doe',
- 'img' => 'john_doe',
- 'username' => 'johndoe',
- ],
- [
- 'nom' => 'Alice',
- 'prenom' => 'Smith',
- 'img' => 'alice_smith',
- 'username' => 'alicesmith',
- ],
- ];
- // if(!Validation::val_string($name)){
- try {
- //code...
- // $model->userMgr->getUser($name);
- return $this->render('./page/addfriend.html.twig', [
- 'css' => $this->preference->getCookie(),
- 'pp' => "test2",
- 'user' => "Doe",
- 'role' => "Athlète",
- 'friendship' => [],
- 'analyzes' => [],
- 'mails' => [],
- 'users' => $utiliArray,
- 'infoUser' => [],
- 'exos' => [],
- 'member' => [],
- 'responce' => "Notification d'ajout envoyée à $username"
- ]);
- } catch (\Throwable $th) {
- //throw $th;
- // return $this->render("addfriend.html.twig", ['tabError' => $taberror ]);
- }
- // }
+ if (!Validation::val_string($username)) {
+ print("Nom invalide.");
+ } else {
+ try {
+ $athleteGateway = new AthleteGateway(new Connexion("pgsql:host=localhost;dbname=sae_3", "Perederii", ""));
+ $listSearch = $athleteGateway->getAthlete($username);
+ $map = new AthleteMapper();
+ $athleteEntity = $map->athleteSqlToEntity($listSearch);
+
+ $listUsers = [];
+ $i = 0;
+ foreach ($athleteEntity as $entity) {
+ $user = $map->athleteEntityToModel($entity);
+ $listUsers[$i] = ['idathlete' => number_format($user->getId(), 1), 'nom' => $user->getNom(),
+ 'prenom' => $user->getPrenom(),'email' => $user->getEmail(), 'sexe' => $user->getSexe(),
+ 'taille' => $user->getTaille(), 'poids' => $user->getPoids(), 'motdepasse' => $user->getMotDePasse(),
+ 'datenaissance' => $user->getDateNaissance(), 'iscoach' => $user->getRole(), 'img' => 'test',
+ 'username' => $user->getUsername()];
+ $i++;
+ }
+
+ $response = $this->render('./page/addfriend.html.twig',[
+ 'css' => $_COOKIE['preferences'],
+ 'pp' => 'test',
+ 'user' => 'johndoe',//$currentUser->getUsername(),
+ 'role' => 'Athlete',//$currentUser->getRole(),
+ 'users' => $listUsers
+ ]);
+ } catch (\Throwable $th) {
+ throw $th;
+ return $this->render("addfriend.html.twig", ['tabError' => $taberror]);
+ }
+ }
+ return $response;
}
#[Route(path: '/analyses', name: 'analyses', methods: ['GET'])]
public function analyses(): Response
{
- return $this->render('./page/analyze.html.twig', [
+ return $this->render('./page/analyze.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
- 'user' => "Doe",
- 'role' => "Athlète",
+ 'user' => 'johndoe',//$currentUser->getUsername(),
+ 'role' => 'Athlete',//$currentUser->getRole(),
+ 'friendship' => [],
+ 'analyzes' => [],
+ 'mails' => [],
+ 'users' => [],
+ 'infoUser' => [],
+ 'exos' => [],
+ 'member' => []
+ ]);
+ }
+
+ #[Route(path: '/activity', name: 'activity', methods: ['GET'])]
+ public function activity(): Response
+ {
+ return $this->render('./page/activity.html.twig',[
+ 'css' => $this->preference->getCookie(),
+ 'pp' => "test",
+ 'user' => 'johndoe',//$currentUser->getUsername(),
+ 'role' => 'Athlete',//$currentUser->getRole(),
'friendship' => [],
'analyzes' => [],
'mails' => [],
@@ -79,17 +153,67 @@ class AthleteController extends BaseController
#[Route(path: '/exercice', name: 'exercice', methods: ['GET'])] // 8
public function exercice(): Response
{
- return $this->render('./page/exercice.html.twig', [
+ try {
+ $entrainementGateway = new EntrainementGateway(new Connexion("pgsql:host=localhost;dbname=sae_3", "Perederii", ""));
+ $listSearch = $entrainementGateway->getEntrainements();
+ $map = new EntrainementMapper();
+ $entrainementEntity = $map->entrainementSqlToEntity($listSearch);
+
+ $listUsers = [];
+ $i = 0;
+ foreach ($entrainementEntity as $entity) {
+ $user = $map->entrainementEntityToModel($entity);
+ $listUsers[$i] = ['idathlete' => number_format($user->getId(), 1), 'nom' => $user->getNom(),
+ 'prenom' => $user->getPrenom(),'email' => $user->getEmail(), 'sexe' => $user->getSexe(),
+ 'taille' => $user->getTaille(), 'poids' => $user->getPoids(), 'motdepasse' => $user->getMotDePasse(),
+ 'datenaissance' => $user->getDateNaissance(), 'iscoach' => $user->getRole(), 'img' => 'test',
+ 'username' => $user->getUsername()];
+ $i++;
+ }
+
+ $response = $this->render('./page/exercice.html.twig',[
+ 'css' => $this->preference->getCookie(),
+ 'pp' => "test2",
+ 'user' => 'johndoe',//$currentUser->getUsername(),
+ 'role' => 'Athlete',//$currentUser->getRole(),
+ 'friendship' => [],
+ 'analyzes' => [],
+ 'mails' => [],
+ 'users' => [],
+ 'infoUser' => [],
+ 'exos' => [],
+ 'member' => []
+ ]);
+
+ } catch (\Throwable $th) {
+ throw $th;
+ return $this->render("addfriend.html.twig", ['tabError' => $taberror]);
+ }
+ return $response;
+ }
+
+ #[Route(path: '/exercices', name: 'exercices', methods: ['POST'])] // 8
+ public function exercices(String $type, String $intensite, String $date, IRequest $req): Response
+ {
+ $exercicesArray = [
+ [
+ 'date' => $date,
+ 'type' => $type,
+ 'intensite' => $intensite,
+ 'status' => 'A venir',
+ ]
+ ];
+ return $this->render('./page/exercice.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
- 'user' => "Doe",
- 'role' => "Athlète",
+ 'user' => 'johndoe',//$currentUser->getUsername(),
+ 'role' => 'Athlete',//$currentUser->getRole(),
'friendship' => [],
'analyzes' => [],
'mails' => [],
'users' => [],
'infoUser' => [],
- 'exos' => [],
+ 'exos' => $exercicesArray,
'member' => []
]);
}
@@ -97,54 +221,61 @@ class AthleteController extends BaseController
#[Route(path: '/add-friend', name: 'add-friend', methods: ['POST'])]
public function addFriend(string $username, IRequest $req): Response
{
- $taberror = [];
- $utiliArray = [
- [
- 'nom' => 'John',
- 'prenom' => 'Doe',
- 'img' => 'john_doe',
- 'username' => 'johndoe',
- ],
- [
- 'nom' => 'Alice',
- 'prenom' => 'Smith',
- 'img' => 'alice_smith',
- 'username' => 'alicesmith',
- ],
- ];
- // if(!Validation::val_string($name)){
try {
- //code...
- // $model->userMgr->addFriend($name);
- return $this->render('./page/addfriend.html.twig', [
+ $athleteGateway = new AthleteGateway(new Connexion("pgsql:host=localhost;dbname=sae_3", "Perederii", ""));
+ $userSearched=$athleteGateway->getAthleteByFirstName($username);
+ $currentUser=$this->container->get(UserManager::class)->getUserById(1);
+ if ($userSearched!=null) {
+ $currentUser->addFriend($userSearched);
+ foreach ($userSearched as $user) {
+ $users = ['nom' => $user->getNom(), 'prenom' => $user->getPrenom(), 'img' => 'test', 'username' => $user->getUsername()];
+ }
+ }
+ else{
+ $users=[];
+ }
+ return $this->render('./page/addfriend.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
- 'user' => "Doe",
- 'role' => "Athlète",
+ 'user' => 'johndoe',//$currentUser->getUsername(),
+ 'role' => 'Athlete',//$currentUser->getRole(),
'friendship' => [],
'analyzes' => [],
'mails' => [],
- 'users' => $utiliArray,
+ 'users' => $users,
'infoUser' => [],
'exos' => [],
'member' => [],
'responce' => "Notification d'ajout envoyée à $username"
]);
} catch (\Throwable $th) {
- //throw $th;
- // return $this->render("addfriend.html.twig", ['tabError' => $taberror ]);
- }
- // }
-
+ throw $th;
+ return $this->render("addfriend.html.twig", ['tabError' => $taberror ]);
+ }
}
-
-
-
#[Route(path: '/friend', name: 'friend', methods: ['GET'])]
public function friend(): Response
{
- $utiliArray = [
+ return $this->render('./page/addfriend.html.twig',[
+ 'css' => $this->preference->getCookie(),
+ 'pp' => "test2",
+ 'user' => 'John',//$currentUser->getUsername(),
+ 'role' => 'Athlete',//$currentUser->getRole(),
+ 'friendship' => [],
+ 'analyzes' => [],
+ 'mails' => [],
+ 'users' => [],
+ 'infoUser' => [],
+ 'exos' => [],
+ 'member' => [],
+ ]);
+ }
+
+ /*#[Route(path: '/friendlist', name: 'friendlist', methods: ['POST'])]
+ public function friendlist(string $username, IRequest $req): Response
+ {
+ $friendList = [
[
'nom' => 'John',
'prenom' => 'Doe',
@@ -158,19 +289,44 @@ class AthleteController extends BaseController
'username' => 'alicesmith',
],
];
- return $this->render('./page/addfriend.html.twig',[
+ // TODO
+
+ // -> Enlever ou bloquer un utilisateur en fonction de son username
+ //$friendList = currentUser->getFriends();
+ return $this->render('./page/friend.html.twig',[
+ 'css' => $this->preference->getCookie(),
+ 'pp' => "test2",
+ 'user' => 'johndoe',//$currentUser->getUsername(),
+ 'role' => 'Athlete',//$currentUser->getRole(),
+ 'friendship' => $friendList,
+ ]);
+ }*/
+
+ #[Route(path: '/friendlist', name: 'friendlist2', methods: ['GET'])]
+ public function friendlist2(): Response
+ {
+ $athleteGateway = new AthleteGateway(new Connexion("pgsql:host=localhost;dbname=sae_3", "Perederii", ""));
+ $friendList = $athleteGateway->getListIdFriends(1);
+ foreach ($userSearched as $friendList) {
+ $users = ['nom' => $user->getNom(), 'prenom' => $user->getPrenom(), 'img' => 'test', 'username' => $user->getUsername()];
+ }
+ return $this->render('./page/friend.html.twig',[
'css' => $this->preference->getCookie(),
'pp' => "test2",
'user' => "Doe",
'role' => "Athlète",
- 'friendship' => [],
+ 'friendship' => $list,
'analyzes' => [],
'mails' => [],
- 'users' => $utiliArray,
+ 'users' => [],
'infoUser' => [],
'exos' => [],
'member' => [],
]);
}
-}
\ No newline at end of file
+ // #[Route(path: '/delete-friend', name: 'delete-friend', methods: ['POST'])]
+
+}
+
+?>
\ No newline at end of file
diff --git a/Sources/src/app/controller/AuthController.php b/Sources/src/app/controller/AuthController.php
index 92d50404..f145a32d 100644
--- a/Sources/src/app/controller/AuthController.php
+++ b/Sources/src/app/controller/AuthController.php
@@ -165,4 +165,4 @@ class AuthController extends BaseController
-}
+}
\ No newline at end of file
diff --git a/Sources/src/app/controller/CoachController.php b/Sources/src/app/controller/CoachController.php
index db95d553..9deb8b3d 100644
--- a/Sources/src/app/controller/CoachController.php
+++ b/Sources/src/app/controller/CoachController.php
@@ -1,49 +1,33 @@
coachManager = $dataManager->coachMgr;
-// $this->security = $security;
-// }
-
-// #[Route(path: '/', name: 'home', methods: ['GET'])]
-// public function index(): Response
-// {
-// return $this->render('./page/home.html.twig',[
-// 'css' => $this->preference->getCookie(),
-// 'pp' => "test2",
-// 'user' => "Doe",
-// 'role' => "Athlète",
-// 'friendship' => [],
-// 'analyzes' => [],
-// 'mails' => [],
-// 'users' => [],
-// 'infoUser' => [],
-// 'exos' => [],
-// 'member' => []
-// ]);
-// }
+ public function __construct(DataManager $dataManager, Security $security)
+ {
+ session_start();
+ $this->coachManager = $dataManager->coachMgr;
+ $this->security = $security;
+ $this->preference = new Preferences();
+ }
// #[Route('/global-stats', name: 'coach_global_stats', methods: ['GET'])]
// public function globalStats(): Response
@@ -52,49 +36,151 @@
// return $this->render('coach/global_stats.html.twig');
// }
-// #[Route(path: '/exercice', name: 'exercice', methods: ['GET'])] // 8
-// public function exercice(): Response
-// {
-// return $this->render('./page/exercice.html.twig',[
-// 'css' => $this->preference->getCookie(),
-// 'pp' => "test2",
-// 'user' => "Doe",
-// 'role' => "Athlète",
-// 'friendship' => [],
-// 'analyzes' => [],
-// 'mails' => [],
-// 'users' => [],
-// 'infoUser' => [],
-// 'exos' => [],
-// 'member' => []
-// ]);
-// }
-
-// #[Route(path: '/coaching', name: 'coaching', methods: ['GET'])]
-// public function coaching(): Response
-// {
-// return $this->render('./page/coaching.html.twig',[
-// 'css' => $this->preference->getCookie(),
-// 'pp' => "test2",
-// 'user' => "Doe",
-// 'role' => "Athlète",
-// 'friendship' => [],
-// 'analyzes' => [],
-// 'mails' => [],
-// 'users' => [],
-// 'infoUser' => [],
-// 'exos' => [],
-// 'member' => []
-// ]);
-// }
+ #[Route(path: '/coaching', name: 'coaching', methods: ['GET'])]
+ public function coaching(): Response
+ {
+ return $this->render('./page/coaching.html.twig',[
+ 'css' => $this->preference->getCookie(),
+ 'pp' => "test2",
+ 'user' => "Doe",
+ 'role' => "Coach",
+ 'friendship' => [],
+ 'analyzes' => [],
+ 'mails' => [],
+ 'users' => [],
+ 'infoUser' => [],
+ 'exos' => [],
+ 'member' => []
+ ]);
+ }
+
+ #[Route(path: '/search-member', name: 'search-member', methods: ['GET'])]
+ public function searchMember(string $username, IRequest $req): Response
+ {
+ $taberror = [];
+ // FILTER
+ $utiliArray = [
+ [
+ 'nom' => 'John',
+ 'prenom' => 'Doe',
+ 'img' => 'john_doe',
+ 'username' => 'johndoe',
+ ],
+ [
+ 'nom' => 'Alice',
+ 'prenom' => 'Smith',
+ 'img' => 'alice_smith',
+ 'username' => 'alicesmith',
+ ],
+ ];
+ // if(!Validation::val_string($name)){
+ try {
+ //code...
+ // $model->userMgr->addFriend($name);
+ return $this->render('./page/addmember.html.twig',[
+ 'css' => $this->preference->getCookie(),
+ 'pp' => "test2",
+ 'user' => "Doe",
+ 'role' => "Athlète",
+ 'friendship' => [],
+ 'analyzes' => [],
+ 'mails' => [],
+ 'users' => $utiliArray,
+ 'infoUser' => [],
+ 'exos' => [],
+ 'member' => [],
+ 'responce' => "Notification d'ajout envoyée à $username"
+ ]);
+ } catch (\Throwable $th) {
+ //throw $th;
+ // return $this->render("addfriend.html.twig", ['tabError' => $taberror ]);
+ }
+ // }
+
+ }
+
+ #[Route(path: '/add-member', name: 'add-member', methods: ['POST'])]
+ public function addmember(string $username, IRequest $req): Response
+ {
+ $taberror = [];
+ $utiliArray = [
+ [
+ 'nom' => 'John',
+ 'prenom' => 'Doe',
+ 'img' => 'john_doe',
+ 'username' => 'johndoe',
+ ],
+ [
+ 'nom' => 'Alice',
+ 'prenom' => 'Smith',
+ 'img' => 'alice_smith',
+ 'username' => 'alicesmith',
+ ],
+ ];
+ // if(!Validation::val_string($name)){
+ try {
+ //code...
+ // $model->userMgr->addFriend($name);
+ return $this->render('./page/addmember.html.twig',[
+ 'css' => $this->preference->getCookie(),
+ 'pp' => "test2",
+ 'user' => "Doe",
+ 'role' => "Athlète",
+ 'friendship' => [],
+ 'analyzes' => [],
+ 'mails' => [],
+ 'users' => $utiliArray,
+ 'infoUser' => [],
+ 'exos' => [],
+ 'member' => [],
+ 'responce' => "Notification d'ajout envoyée à $username"
+ ]);
+ } catch (\Throwable $th) {
+ //throw $th;
+ // return $this->render("addfriend.html.twig", ['tabError' => $taberror ]);
+ }
+ // }
+
+ }
+
+ #[Route(path: '/member', name: 'member', methods: ['GET'])]
+ public function member(): Response
+ {
+ $utiliArray = [
+ [
+ 'nom' => 'John',
+ 'prenom' => 'Doe',
+ 'img' => 'john_doe',
+ 'username' => 'johndoe',
+ ],
+ [
+ 'nom' => 'Alice',
+ 'prenom' => 'Smith',
+ 'img' => 'alice_smith',
+ 'username' => 'alicesmith',
+ ],
+ ];
+ return $this->render('./page/addmember.html.twig',[
+ 'css' => $this->preference->getCookie(),
+ 'pp' => "test2",
+ 'user' => "Doe",
+ 'role' => "Athlète",
+ 'friendship' => [],
+ 'analyzes' => [],
+ 'mails' => [],
+ 'users' => $utiliArray,
+ 'infoUser' => [],
+ 'exos' => [],
+ 'member' => [],
+ ]);
+ }
// #[Route('/list-athletes', name: 'coach_list_athletes')]
// public function listAthletes(): Response
// {
// $coach = $this->security->getUser();
// $athletes = $this->coachManager->getAthletesForCoach($coach);
-
// return $this->render('coach/list_athletes.html.twig', [
// 'athletes' => $athletes,
// ]);
@@ -107,7 +193,6 @@
// 'athleteId' => $athleteId,
// ]);
// }
-
// #[Route('/add-athlete/{athleteId}', name: 'coach_add_athlete', methods: ['POST'])]
// public function addAthlete(IRequest $request, $athleteId): IResponse
// {
@@ -125,4 +210,4 @@
// // }
-// }
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/Sources/src/app/controller/Controller.php b/Sources/src/app/controller/Controller.php
index e6e85493..82c9de2e 100644
--- a/Sources/src/app/controller/Controller.php
+++ b/Sources/src/app/controller/Controller.php
@@ -420,4 +420,3 @@ class Controller extends BaseController
}
-
diff --git a/Sources/src/app/controller/HeartRateController.php b/Sources/src/app/controller/HeartRateController.php
index 05ee1c8f..d9f2a8f5 100644
--- a/Sources/src/app/controller/HeartRateController.php
+++ b/Sources/src/app/controller/HeartRateController.php
@@ -92,4 +92,4 @@ class HeartRateController extends BaseController
return $this->render('./error/error.html.twig', ['title'=> "Failed" , "code" => 400, "name" => "error import", "descr" => $error[0] ], new Response('$error', 400));
}
-}
+}
\ No newline at end of file
diff --git a/Sources/src/app/controller/SocialController.php b/Sources/src/app/controller/SocialController.php
index f91db3cf..506eda77 100644
--- a/Sources/src/app/controller/SocialController.php
+++ b/Sources/src/app/controller/SocialController.php
@@ -1,19 +1,45 @@
preference = new Preferences();
+ }
-// #[Route(path: '/coach', name: 'coach')]
-// class CoachController extends BaseController
-// {
\ No newline at end of file
+
+ #[Route(path: '/mail', name: 'mail', methods: ['GET'])]
+ public function mail(): Response
+ {
+ return $this->render('./page/mail.html.twig',[
+ 'css' => $this->preference->getCookie(),
+ 'pp' => "test2",
+ 'user' => "Doe",
+ 'role' => "Athlète",
+ 'friendship' => [],
+ 'analyzes' => [],
+ 'mails' => [],
+ 'users' => [],
+ 'infoUser' => [],
+ 'exos' => [],
+ 'member' => []
+ ]);
+ }
+
+
+}
\ No newline at end of file
diff --git a/Sources/src/app/views/Templates/authbase.html.twig b/Sources/src/app/views/Templates/authbase.html.twig
index 6a8b9bea..19701c56 100644
--- a/Sources/src/app/views/Templates/authbase.html.twig
+++ b/Sources/src/app/views/Templates/authbase.html.twig
@@ -63,4 +63,4 @@