Skip to content
Snippets Groups Projects
Commit f2c60291 authored by DAVID Axel's avatar DAVID Axel
Browse files

docs: :pencil: Update UML

parent 9880d65e
No related branches found
No related tags found
No related merge requests found
Pipeline #15380 canceled
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!--
- Vigenere-API
- Copyright (C) 2023 Axel DAVID
-
- This program is free software: you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation, either version 3 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <https://www.gnu.org/licenses/>.
-->
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' <!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN'
'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'> 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
<svg xmlns:xlink="http://www.w3.org/1999/xlink" fill-opacity="1" color-rendering="auto" color-interpolation="auto" <svg fill-opacity="1" xmlns:xlink="http://www.w3.org/1999/xlink" color-rendering="auto" color-interpolation="auto" text-rendering="auto" stroke="black" stroke-linecap="square" width="1720" stroke-miterlimit="10" shape-rendering="auto" stroke-opacity="1" fill="black" stroke-dasharray="none" font-weight="normal" stroke-width="1" viewBox="-20 70 1720 900" height="900" xmlns="http://www.w3.org/2000/svg" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12px" stroke-dashoffset="0" image-rendering="auto"
text-rendering="auto" stroke="black" stroke-linecap="square" width="1550" stroke-miterlimit="10" ><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs"
shape-rendering="auto" stroke-opacity="1" fill="black" stroke-dasharray="none" font-weight="normal" /><g
stroke-width="1" viewBox="-20 120 1550 650" height="650" xmlns="http://www.w3.org/2000/svg" font-family="'Dialog'" ><defs id="defs1"
font-style="normal" stroke-linejoin="miter" font-size="12px" stroke-dashoffset="0" image-rendering="auto" ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"
><!--Generated by the Batik Graphics2D SVG Generator--> ><path d="M0 0 L2147483647 0 L2147483647 2147483647 L0 2147483647 L0 0 Z"
<defs id="genericDefs" /></clipPath
/> ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath2"
<g ><path d="M0 0 L0 120 L310 120 L310 0 Z"
> /></clipPath
<defs id="defs1" ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath3"
> ><path d="M0 0 L0 40 L140 40 L140 0 Z"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1" /></clipPath
> ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath4"
<path d="M0 0 L2147483647 0 L2147483647 2147483647 L0 2147483647 L0 0 Z" ><path d="M0 0 L0 230 L350 230 L350 0 Z"
/> /></clipPath
</clipPath ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath5"
> ><path d="M0 0 L0 80 L200 80 L200 0 Z"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2" /></clipPath
> ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath6"
<path d="M0 0 L0 40 L140 40 L140 0 Z" ><path d="M0 0 L0 80 L160 80 L160 0 Z"
/> /></clipPath
</clipPath ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath7"
> ><path d="M0 0 L0 100 L350 100 L350 0 Z"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3" /></clipPath
> ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath8"
<path d="M0 0 L0 230 L350 230 L350 0 Z" ><path d="M0 0 L0 160 L310 160 L310 0 Z"
/> /></clipPath
</clipPath ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath9"
> ><path d="M0 0 L0 90 L520 90 L520 0 Z"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4" /></clipPath
> ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath10"
<path d="M0 0 L0 80 L200 80 L200 0 Z" ><path d="M0 0 L0 100 L520 100 L520 0 Z"
/> /></clipPath
</clipPath ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath11"
> ><path d="M0 0 L0 160 L110 160 L110 0 Z"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5" /></clipPath
> ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath12"
<path d="M0 0 L0 80 L160 80 L160 0 Z" ><path d="M0 0 L0 700 L420 700 L420 0 Z"
/> /></clipPath
</clipPath ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath13"
> ><path d="M0 0 L0 520 L480 520 L480 0 Z"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6" /></clipPath
> ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath14"
<path d="M0 0 L0 100 L350 100 L350 0 Z" ><path d="M0 0 L0 250 L450 250 L450 0 Z"
/> /></clipPath
</clipPath ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath15"
> ><path d="M0 0 L0 40 L110 40 L110 0 Z"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7" /></clipPath
> ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath16"
<path d="M0 0 L0 120 L300 120 L300 0 Z" ><path d="M0 0 L0 80 L30 80 L30 0 Z"
/> /></clipPath
</clipPath ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath17"
> ><path d="M0 0 L0 100 L30 100 L30 0 Z"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8" /></clipPath
> ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"
<path d="M0 0 L0 160 L310 160 L310 0 Z" ><path d="M0 0 L0 50 L110 50 L110 0 Z"
/> /></clipPath
</clipPath ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath19"
> ><path d="M0 0 L0 100 L140 100 L140 0 Z"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9" /></clipPath
> ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath20"
<path d="M0 0 L0 90 L440 90 L440 0 Z" ><path d="M0 0 L0 40 L120 40 L120 0 Z"
/> /></clipPath
</clipPath ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath21"
> ><path d="M0 0 L0 150 L270 150 L270 0 Z"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10" /></clipPath
> ><clipPath clipPathUnits="userSpaceOnUse" id="clipPath22"
<path d="M0 0 L0 100 L440 100 L440 0 Z" ><path d="M0 0 L0 130 L70 130 L70 0 Z"
/> /></clipPath
</clipPath ></defs
> ><g fill="rgb(0,0,255)" fill-opacity="0.4902" transform="translate(1060,90)" stroke-opacity="0.4902" stroke="rgb(0,0,255)"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11" ><rect x="0.5" width="308.5" height="118.5" y="0.5" clip-path="url(#clipPath2)" stroke="none"
> /></g
<path d="M0 0 L0 40 L120 40 L120 0 Z" ><g transform="translate(1060,90)"
/> ><rect fill="none" x="0.5" width="308.5" height="118.5" y="0.5" clip-path="url(#clipPath2)"
</clipPath /><text x="129" font-size="14px" y="17.5312" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" xml:space="preserve"
> >«Entity»</text
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12" ><text x="124" font-size="14px" y="33.0625" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" xml:space="preserve"
> >BaseData</text
<path d="M0 0 L0 80 L30 80 L30 0 Z" ><path fill="none" d="M1 39.0625 L309 39.0625" clip-path="url(#clipPath2)"
/> /><text x="5" font-size="14px" y="53.5938" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" xml:space="preserve"
</clipPath >+ message: str</text
> ><path fill="none" d="M1 59.5938 L309 59.5938" clip-path="url(#clipPath2)"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13" /><text x="5" font-size="14px" y="74.125" text-decoration="underline" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" xml:space="preserve"
> >+ from_json(in json: str): BaseData</text
<path d="M0 0 L0 100 L30 100 L30 0 Z" ><text x="5" font-size="14px" y="89.6562" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" xml:space="preserve"
/> >+ ctor(in message: str)</text
</clipPath ></g
> ><g fill="rgb(255,255,255)" fill-opacity="0" transform="translate(1160,340)" stroke-opacity="0" stroke="rgb(255,255,255)"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14" ><path d="M0.5 0.5 L128.5 0.5 L139 12.5 L139 39 L0.5 39 L0.5 0.5" stroke="none" clip-path="url(#clipPath3)"
> /></g
<path d="M0 0 L0 50 L110 50 L110 0 Z" ><g transform="translate(1160,340)"
/> ><path fill="none" d="M0.5 0.5 L128.5 0.5 L139 12.5 L139 39 L0.5 39 L0.5 0.5" clip-path="url(#clipPath3)"
</clipPath /><path fill="none" d="M128.5 0.5 L128.5 12.5 L139 12.5" clip-path="url(#clipPath3)"
> /><text x="5" font-size="14px" y="17.5312" clip-path="url(#clipPath3)" font-family="sans-serif" stroke="none" xml:space="preserve"
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15"
>
<path d="M0 0 L0 100 L140 100 L140 0 Z"
/>
</clipPath
>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16"
>
<path d="M0 0 L0 40 L160 40 L160 0 Z"
/>
</clipPath
>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17"
>
<path d="M0 0 L0 150 L250 150 L250 0 Z"
/>
</clipPath
>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"
>
<path d="M0 0 L0 130 L70 130 L70 0 Z"
/>
</clipPath
>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19"
>
<path d="M0 0 L0 180 L100 180 L100 0 Z"
/>
</clipPath
>
</defs
>
<g fill="rgb(255,255,255)" fill-opacity="0" transform="translate(1160,140)" stroke-opacity="0"
stroke="rgb(255,255,255)"
>
<path d="M0.5 0.5 L128.5 0.5 L139 12.5 L139 39 L0.5 39 L0.5 0.5" stroke="none" clip-path="url(#clipPath2)"
/>
</g
>
<g transform="translate(1160,140)"
>
<path fill="none" d="M0.5 0.5 L128.5 0.5 L139 12.5 L139 39 L0.5 39 L0.5 0.5" clip-path="url(#clipPath2)"
/>
<path fill="none" d="M128.5 0.5 L128.5 12.5 L139 12.5" clip-path="url(#clipPath2)"
/>
<text x="5" font-size="14px" y="17.5312" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>Taux is a float</text >Taux is a float</text
> ></g
</g ><g fill="rgb(255,175,175)" fill-opacity="0.4902" transform="translate(0,420)" stroke-opacity="0.4902" stroke="rgb(255,175,175)"
> ><rect x="0.5" width="348.5" height="228.5" y="0.5" clip-path="url(#clipPath4)" stroke="none"
<g fill="rgb(255,175,175)" fill-opacity="0.4902" transform="translate(0,220)" stroke-opacity="0.4902" /></g
stroke="rgb(255,175,175)" ><g transform="translate(0,420)"
> ><rect fill="none" x="0.5" width="348.5" height="228.5" y="0.5" clip-path="url(#clipPath4)"
<rect x="0.5" width="348.5" height="228.5" y="0.5" clip-path="url(#clipPath3)" stroke="none" /><text x="133" font-size="14px" y="17.5312" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
/>
</g
>
<g transform="translate(0,220)"
>
<rect fill="none" x="0.5" width="348.5" height="228.5" y="0.5" clip-path="url(#clipPath3)"
/>
<text x="133" font-size="14px" y="17.5312" clip-path="url(#clipPath3)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>Configuration</text >Configuration</text
> ><path fill="none" d="M1 23.5312 L349 23.5312" clip-path="url(#clipPath4)"
<path fill="none" d="M1 23.5312 L349 23.5312" clip-path="url(#clipPath3)" /><text x="5" font-size="14px" y="38.0625" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
/>
<text x="5" font-size="14px" y="38.0625" clip-path="url(#clipPath3)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ host: IPvAnyAddress</text >+ host: IPvAnyAddress</text
> ><text x="5" font-size="14px" y="53.5938" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="53.5938" clip-path="url(#clipPath3)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ port: StrictPositiveInt = 8080</text >+ port: StrictPositiveInt = 8080</text
> ><text x="5" font-size="14px" y="69.125" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="69.125" clip-path="url(#clipPath3)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ workers: StrictPositiveInt = 1</text >+ workers: StrictPositiveInt = 1</text
> ><text x="5" font-size="14px" y="84.6562" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="84.6562" clip-path="url(#clipPath3)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ limit_concurrency: StrictPositiveInt | None = None</text >+ limit_concurrency: StrictPositiveInt | None = None</text
> ><text x="5" font-size="14px" y="100.1875" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="100.1875" clip-path="url(#clipPath3)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ limit_max_requests: StrictPositiveInt | None = None</text >+ limit_max_requests: StrictPositiveInt | None = None</text
> ><text x="5" font-size="14px" y="115.7188" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="115.7188" clip-path="url(#clipPath3)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ reload: StrictBool = False</text >+ reload: StrictBool = False</text
> ><text x="5" font-size="14px" y="131.25" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="131.25" clip-path="url(#clipPath3)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ reload_dirs: Collection[DirectoryPath] | None = None</text >+ reload_dirs: Collection[DirectoryPath] | None = None</text
> ><text x="5" font-size="14px" y="146.7812" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="146.7812" clip-path="url(#clipPath3)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ reload_include: Pattern | None = None</text >+ reload_include: Pattern | None = None</text
> ><text x="5" font-size="14px" y="162.3125" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="162.3125" clip-path="url(#clipPath3)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ reload_exclude: Pattern | None = None</text >+ reload_exclude: Pattern | None = None</text
> ><path fill="none" d="M1 168.3125 L349 168.3125" clip-path="url(#clipPath4)"
<path fill="none" d="M1 168.3125 L349 168.3125" clip-path="url(#clipPath3)" /><text x="5" font-size="14px" y="182.8438" text-decoration="underline" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
/>
<text x="5" font-size="14px" y="182.8438" text-decoration="underline" clip-path="url(#clipPath3)"
font-family="sans-serif" stroke="none" xml:space="preserve"
>+ default(): Configuration</text >+ default(): Configuration</text
> ><text x="5" font-size="14px" y="198.375" text-decoration="underline" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="198.375" text-decoration="underline" clip-path="url(#clipPath3)"
font-family="sans-serif" stroke="none" xml:space="preserve"
>+ from_file(in file: Path): Configuration</text >+ from_file(in file: Path): Configuration</text
> ><text x="5" font-size="14px" y="213.9062" text-decoration="underline" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="213.9062" text-decoration="underline" clip-path="url(#clipPath3)"
font-family="sans-serif" stroke="none" xml:space="preserve"
>+ to_file(in config: Configuration, in file: Path): None</text >+ to_file(in config: Configuration, in file: Path): None</text
> ></g
</g ><g fill="rgb(255,175,175)" fill-opacity="0.4902" transform="translate(80,720)" stroke-opacity="0.4902" stroke="rgb(255,175,175)"
> ><rect x="0.5" width="198.5" height="78.5" y="0.5" clip-path="url(#clipPath5)" stroke="none"
<g fill="rgb(255,175,175)" fill-opacity="0.4902" transform="translate(80,520)" stroke-opacity="0.4902" /></g
stroke="rgb(255,175,175)" ><g transform="translate(80,720)"
> ><rect fill="none" x="0.5" width="198.5" height="78.5" y="0.5" clip-path="url(#clipPath5)"
<rect x="0.5" width="198.5" height="78.5" y="0.5" clip-path="url(#clipPath4)" stroke="none" /><text x="60" font-size="14px" y="17.5312" clip-path="url(#clipPath5)" font-family="sans-serif" stroke="none" xml:space="preserve"
/>
</g
>
<g transform="translate(80,520)"
>
<rect fill="none" x="0.5" width="198.5" height="78.5" y="0.5" clip-path="url(#clipPath4)"
/>
<text x="60" font-size="14px" y="17.5312" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>VigenereAPI</text >VigenereAPI</text
> ><path fill="none" d="M1 23.5312 L199 23.5312" clip-path="url(#clipPath5)"
<path fill="none" d="M1 23.5312 L199 23.5312" clip-path="url(#clipPath4)" /><path fill="none" d="M1 44.0625 L199 44.0625" clip-path="url(#clipPath5)"
/> /><text x="5" font-size="14px" y="58.5938" clip-path="url(#clipPath5)" font-family="sans-serif" stroke="none" xml:space="preserve"
<path fill="none" d="M1 44.0625 L199 44.0625" clip-path="url(#clipPath4)"
/>
<text x="5" font-size="14px" y="58.5938" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ ctor(config: Configuration)</text >+ ctor(config: Configuration)</text
> ><text x="5" font-size="14px" y="74.125" clip-path="url(#clipPath5)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="74.125" clip-path="url(#clipPath4)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ start(): NoReturn</text >+ start(): NoReturn</text
> ></g
</g ><g fill="rgb(255,175,175)" fill-opacity="0.4902" transform="translate(360,720)" stroke-opacity="0.4902" stroke="rgb(255,175,175)"
> ><rect x="0.5" width="158.5" height="78.5" y="0.5" clip-path="url(#clipPath6)" stroke="none"
<g fill="rgb(255,175,175)" fill-opacity="0.4902" transform="translate(360,520)" stroke-opacity="0.4902" /></g
stroke="rgb(255,175,175)" ><g transform="translate(360,720)"
> ><rect fill="none" x="0.5" width="158.5" height="78.5" y="0.5" clip-path="url(#clipPath6)"
<rect x="0.5" width="158.5" height="78.5" y="0.5" clip-path="url(#clipPath5)" stroke="none" /><text x="42" font-size="14px" y="17.5312" clip-path="url(#clipPath6)" font-family="sans-serif" stroke="none" xml:space="preserve"
/>
</g
>
<g transform="translate(360,520)"
>
<rect fill="none" x="0.5" width="158.5" height="78.5" y="0.5" clip-path="url(#clipPath5)"
/>
<text x="42" font-size="14px" y="17.5312" clip-path="url(#clipPath5)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>BlackSheep</text >BlackSheep</text
> ><path fill="none" d="M1 23.5312 L159 23.5312" clip-path="url(#clipPath6)"
<path fill="none" d="M1 23.5312 L159 23.5312" clip-path="url(#clipPath5)" /><path fill="none" d="M1 44.0625 L159 44.0625" clip-path="url(#clipPath6)"
/> /><text x="5" font-size="14px" y="58.5938" clip-path="url(#clipPath6)" font-family="sans-serif" stroke="none" xml:space="preserve"
<path fill="none" d="M1 44.0625 L159 44.0625" clip-path="url(#clipPath5)"
/>
<text x="5" font-size="14px" y="58.5938" clip-path="url(#clipPath5)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ start(): NoReturn</text >+ start(): NoReturn</text
> ></g
</g ><g fill="rgb(0,0,255)" fill-opacity="0.4902" transform="translate(1020,430)" stroke-opacity="0.4902" stroke="rgb(0,0,255)"
> ><rect x="0.5" width="348.5" height="98.5" y="0.5" clip-path="url(#clipPath7)" stroke="none"
<g fill="rgb(0,0,255)" fill-opacity="0.4902" transform="translate(1020,230)" stroke-opacity="0.4902" /></g
stroke="rgb(0,0,255)" ><g transform="translate(1020,430)"
> ><rect fill="none" x="0.5" width="348.5" height="98.5" y="0.5" clip-path="url(#clipPath7)"
<rect x="0.5" width="348.5" height="98.5" y="0.5" clip-path="url(#clipPath6)" stroke="none" /><text x="149" font-size="14px" y="17.5312" clip-path="url(#clipPath7)" font-family="sans-serif" stroke="none" xml:space="preserve"
/>
</g
>
<g transform="translate(1020,230)"
>
<rect fill="none" x="0.5" width="348.5" height="98.5" y="0.5" clip-path="url(#clipPath6)"
/>
<text x="149" font-size="14px" y="17.5312" clip-path="url(#clipPath6)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>«Entity»</text >«Entity»</text
> ><text x="101" font-size="14px" y="33.0625" clip-path="url(#clipPath7)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="101" font-size="14px" y="33.0625" clip-path="url(#clipPath6)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>VigenereDecryptOutput</text >VigenereDecryptOutput</text
> ><path fill="none" d="M1 39.0625 L349 39.0625" clip-path="url(#clipPath7)"
<path fill="none" d="M1 39.0625 L349 39.0625" clip-path="url(#clipPath6)" /><text x="5" font-size="14px" y="53.5938" clip-path="url(#clipPath7)" font-family="sans-serif" stroke="none" xml:space="preserve"
/> >+ rate: float</text
<text x="5" font-size="14px" y="53.5938" clip-path="url(#clipPath6)" font-family="sans-serif" stroke="none" ><path fill="none" d="M1 59.5938 L349 59.5938" clip-path="url(#clipPath7)"
xml:space="preserve" /><text x="5" font-size="14px" y="74.125" text-decoration="underline" clip-path="url(#clipPath7)" font-family="sans-serif" stroke="none" xml:space="preserve"
>- possibilities: Collection[Taux, VigenereData]</text
>
<path fill="none" d="M1 59.5938 L349 59.5938" clip-path="url(#clipPath6)"
/>
<text x="5" font-size="14px" y="74.125" text-decoration="underline" clip-path="url(#clipPath6)"
font-family="sans-serif" stroke="none" xml:space="preserve"
>+ to_json(in data: VigenereDecryptOutput): str</text >+ to_json(in data: VigenereDecryptOutput): str</text
> ><text x="5" font-size="14px" y="89.6562" clip-path="url(#clipPath7)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="89.6562" clip-path="url(#clipPath6)" font-family="sans-serif" stroke="none" >+ ctor(in message: str, in key: str, in rate: float)</text
xml:space="preserve" ></g
>+ ctor(in possibilities: Collection[Taux, VigenereData])</text ><g fill="rgb(0,0,255)" fill-opacity="0.4902" transform="translate(630,430)" stroke-opacity="0.4902" stroke="rgb(0,0,255)"
> ><rect x="0.5" width="308.5" height="118.5" y="0.5" clip-path="url(#clipPath2)" stroke="none"
</g /></g
> ><g transform="translate(630,430)"
<g fill="rgb(0,0,255)" fill-opacity="0.4902" transform="translate(630,230)" stroke-opacity="0.4902" ><rect fill="none" x="0.5" width="308.5" height="118.5" y="0.5" clip-path="url(#clipPath2)"
stroke="rgb(0,0,255)" /><text x="129" font-size="14px" y="17.5312" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" xml:space="preserve"
>
<rect x="0.5" width="298.5" height="118.5" y="0.5" clip-path="url(#clipPath7)" stroke="none"
/>
</g
>
<g transform="translate(630,230)"
>
<rect fill="none" x="0.5" width="298.5" height="118.5" y="0.5" clip-path="url(#clipPath7)"
/>
<text x="124" font-size="14px" y="17.5312" clip-path="url(#clipPath7)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>«Entity»</text >«Entity»</text
> ><text x="72" font-size="14px" y="33.0625" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="82" font-size="14px" y="33.0625" clip-path="url(#clipPath7)" font-family="sans-serif" stroke="none" >VigenereDecryptInputData</text
xml:space="preserve" ><path fill="none" d="M1 39.0625 L309 39.0625" clip-path="url(#clipPath2)"
>VigenereDecryptInput</text /><path fill="none" d="M1 59.5938 L309 59.5938" clip-path="url(#clipPath2)"
> /><text x="5" font-size="14px" y="74.125" text-decoration="underline" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" xml:space="preserve"
<path fill="none" d="M1 39.0625 L299 39.0625" clip-path="url(#clipPath7)"
/>
<text x="5" font-size="14px" y="53.5938" clip-path="url(#clipPath7)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>- message: str</text
>
<path fill="none" d="M1 59.5938 L299 59.5938" clip-path="url(#clipPath7)"
/>
<text x="5" font-size="14px" y="74.125" text-decoration="underline" clip-path="url(#clipPath7)"
font-family="sans-serif" stroke="none" xml:space="preserve"
>+ from_json(in json: str): VigenereDecryptInput</text >+ from_json(in json: str): VigenereDecryptInput</text
> ><text x="5" font-size="14px" y="89.6562" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="89.6562" clip-path="url(#clipPath7)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ ctor(in message: str)</text >+ ctor(in message: str)</text
> ><text x="5" font-size="14px" y="105.1875" clip-path="url(#clipPath2)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="105.1875" clip-path="url(#clipPath7)" font-family="sans-serif" stroke="none" >+ decrypt(): Collection[VigenereDecryptOutput]</text
xml:space="preserve" ></g
>+ decrypt(): VigenereDecryptOutput</text ><g fill="rgb(0,0,255)" fill-opacity="0.4902" transform="translate(1240,610)" stroke-opacity="0.4902" stroke="rgb(0,0,255)"
> ><rect x="0.5" width="308.5" height="158.5" y="0.5" clip-path="url(#clipPath8)" stroke="none"
</g /></g
> ><g transform="translate(1240,610)"
<g fill="rgb(0,0,255)" fill-opacity="0.4902" transform="translate(1200,410)" stroke-opacity="0.4902" ><rect fill="none" x="0.5" width="308.5" height="158.5" y="0.5" clip-path="url(#clipPath8)"
stroke="rgb(0,0,255)" /><text x="129" font-size="14px" y="17.5312" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
>
<rect x="0.5" width="308.5" height="158.5" y="0.5" clip-path="url(#clipPath8)" stroke="none"
/>
</g
>
<g transform="translate(1200,410)"
>
<rect fill="none" x="0.5" width="308.5" height="158.5" y="0.5" clip-path="url(#clipPath8)"
/>
<text x="129" font-size="14px" y="17.5312" clip-path="url(#clipPath8)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>«Entity»</text >«Entity»</text
> ><text x="112" font-size="14px" y="33.0625" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="112" font-size="14px" y="33.0625" clip-path="url(#clipPath8)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>VigenereData</text >VigenereData</text
> ><path fill="none" d="M1 39.0625 L309 39.0625" clip-path="url(#clipPath8)"
<path fill="none" d="M1 39.0625 L309 39.0625" clip-path="url(#clipPath8)" /><text x="5" font-size="14px" y="53.5938" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
/> >+ key: str</text
<text x="5" font-size="14px" y="53.5938" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" ><path fill="none" d="M1 59.5938 L309 59.5938" clip-path="url(#clipPath8)"
xml:space="preserve" /><text x="5" font-size="14px" y="74.125" text-decoration="underline" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
>- message: str</text
>
<text x="5" font-size="14px" y="69.125" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>- key: str</text
>
<path fill="none" d="M1 75.125 L309 75.125" clip-path="url(#clipPath8)"
/>
<text x="5" font-size="14px" y="89.6562" text-decoration="underline" clip-path="url(#clipPath8)"
font-family="sans-serif" stroke="none" xml:space="preserve"
>+ from_json(in json: str): VigenereData</text >+ from_json(in json: str): VigenereData</text
> ><text x="5" font-size="14px" y="89.6562" text-decoration="underline" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="105.1875" text-decoration="underline" clip-path="url(#clipPath8)"
font-family="sans-serif" stroke="none" xml:space="preserve"
>+ to_json(in data: VigenereData): str</text >+ to_json(in data: VigenereData): str</text
> ><text x="5" font-size="14px" y="105.1875" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="120.7188" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ ctor(in message: str, in key: str)</text >+ ctor(in message: str, in key: str)</text
> ><text x="5" font-size="14px" y="120.7188" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="136.25" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ cipher(): VigenereData</text >+ cipher(): VigenereData</text
> ><text x="5" font-size="14px" y="136.25" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="151.7812" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ decipher(): VigenereData</text >+ decipher(): VigenereData</text
> ></g
</g ><g fill="rgb(0,0,255)" fill-opacity="0.4902" transform="translate(1240,790)" stroke-opacity="0.4902" stroke="rgb(0,0,255)"
> ><rect x="0.5" width="308.5" height="158.5" y="0.5" clip-path="url(#clipPath8)" stroke="none"
<g fill="rgb(0,0,255)" fill-opacity="0.4902" transform="translate(1200,590)" stroke-opacity="0.4902" /></g
stroke="rgb(0,0,255)" ><g transform="translate(1240,790)"
> ><rect fill="none" x="0.5" width="308.5" height="158.5" y="0.5" clip-path="url(#clipPath8)"
<rect x="0.5" width="308.5" height="158.5" y="0.5" clip-path="url(#clipPath8)" stroke="none" /><text x="129" font-size="14px" y="17.5312" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
/>
</g
>
<g transform="translate(1200,590)"
>
<rect fill="none" x="0.5" width="308.5" height="158.5" y="0.5" clip-path="url(#clipPath8)"
/>
<text x="129" font-size="14px" y="17.5312" clip-path="url(#clipPath8)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>«Entity»</text >«Entity»</text
> ><text x="117" font-size="14px" y="33.0625" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="117" font-size="14px" y="33.0625" clip-path="url(#clipPath8)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>CaesarData</text >CaesarData</text
> ><path fill="none" d="M1 39.0625 L309 39.0625" clip-path="url(#clipPath8)"
<path fill="none" d="M1 39.0625 L309 39.0625" clip-path="url(#clipPath8)" /><text x="5" font-size="14px" y="53.5938" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
/> >+ key: OneCharStr | int</text
<text x="5" font-size="14px" y="53.5938" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" ><path fill="none" d="M1 59.5938 L309 59.5938" clip-path="url(#clipPath8)"
xml:space="preserve" /><text x="5" font-size="14px" y="74.125" text-decoration="underline" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
>- message: str</text
>
<text x="5" font-size="14px" y="69.125" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>- key: OneCharStr | int</text
>
<path fill="none" d="M1 75.125 L309 75.125" clip-path="url(#clipPath8)"
/>
<text x="5" font-size="14px" y="89.6562" text-decoration="underline" clip-path="url(#clipPath8)"
font-family="sans-serif" stroke="none" xml:space="preserve"
>+ from_json(in json: str): CaesarData</text >+ from_json(in json: str): CaesarData</text
> ><text x="5" font-size="14px" y="89.6562" text-decoration="underline" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="105.1875" text-decoration="underline" clip-path="url(#clipPath8)"
font-family="sans-serif" stroke="none" xml:space="preserve"
>+ to_json(in data: CaesarData): str</text >+ to_json(in data: CaesarData): str</text
> ><text x="5" font-size="14px" y="105.1875" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="120.7188" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ ctor(in message: str, in key: OneCharStr | int)</text >+ ctor(in message: str, in key: OneCharStr | int)</text
> ><text x="5" font-size="14px" y="120.7188" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="136.25" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ cipher(): CaesarData</text >+ cipher(): CaesarData</text
> ><text x="5" font-size="14px" y="136.25" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="151.7812" clip-path="url(#clipPath8)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ decipher(): CaesarData</text >+ decipher(): CaesarData</text
> ></g
</g ><g fill="rgb(0,255,0)" fill-opacity="0.4902" transform="translate(630,780)" stroke-opacity="0.4902" stroke="rgb(0,255,0)"
> ><rect x="0.5" width="518.5" height="88.5" y="0.5" clip-path="url(#clipPath9)" stroke="none"
<g fill="rgb(0,255,0)" fill-opacity="0.4902" transform="translate(630,580)" stroke-opacity="0.4902" /></g
stroke="rgb(0,255,0)" ><g transform="translate(630,780)"
> ><rect fill="none" x="0.5" width="518.5" height="88.5" y="0.5" clip-path="url(#clipPath9)"
<rect x="0.5" width="438.5" height="88.5" y="0.5" clip-path="url(#clipPath9)" stroke="none" /><text x="210" font-size="14px" y="17.5312" clip-path="url(#clipPath9)" font-family="sans-serif" stroke="none" xml:space="preserve"
/>
</g
>
<g transform="translate(630,580)"
>
<rect fill="none" x="0.5" width="438.5" height="88.5" y="0.5" clip-path="url(#clipPath9)"
/>
<text x="170" font-size="14px" y="17.5312" clip-path="url(#clipPath9)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>CesarController</text >CesarController</text
> ><path fill="none" d="M1 23.5312 L519 23.5312" clip-path="url(#clipPath9)"
<path fill="none" d="M1 23.5312 L439 23.5312" clip-path="url(#clipPath9)" /><path fill="none" d="M1 44.0625 L519 44.0625" clip-path="url(#clipPath9)"
/> /><text x="5" font-size="14px" y="58.5938" clip-path="url(#clipPath9)" font-family="sans-serif" stroke="none" xml:space="preserve"
<path fill="none" d="M1 44.0625 L439 44.0625" clip-path="url(#clipPath9)"
/>
<text x="5" font-size="14px" y="58.5938" clip-path="url(#clipPath9)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ cipher(in request: CaesarData): CaesarData</text >+ cipher(in request: CaesarData): CaesarData</text
> ><text x="5" font-size="14px" y="74.125" clip-path="url(#clipPath9)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="74.125" clip-path="url(#clipPath9)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ decipher(in request: CaesarData): CaesarData</text >+ decipher(in request: CaesarData): CaesarData</text
> ></g
</g ><g fill="rgb(0,255,0)" fill-opacity="0.4902" transform="translate(630,650)" stroke-opacity="0.4902" stroke="rgb(0,255,0)"
> ><rect x="0.5" width="518.5" height="98.5" y="0.5" clip-path="url(#clipPath10)" stroke="none"
<g fill="rgb(0,255,0)" fill-opacity="0.4902" transform="translate(630,450)" stroke-opacity="0.4902" /></g
stroke="rgb(0,255,0)" ><g transform="translate(630,650)"
> ><rect fill="none" x="0.5" width="518.5" height="98.5" y="0.5" clip-path="url(#clipPath10)"
<rect x="0.5" width="438.5" height="98.5" y="0.5" clip-path="url(#clipPath10)" stroke="none" /><text x="201" font-size="14px" y="17.5312" clip-path="url(#clipPath10)" font-family="sans-serif" stroke="none" xml:space="preserve"
/>
</g
>
<g transform="translate(630,450)"
>
<rect fill="none" x="0.5" width="438.5" height="98.5" y="0.5" clip-path="url(#clipPath10)"
/>
<text x="161" font-size="14px" y="17.5312" clip-path="url(#clipPath10)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>VigenereController</text >VigenereController</text
> ><path fill="none" d="M1 23.5312 L519 23.5312" clip-path="url(#clipPath10)"
<path fill="none" d="M1 23.5312 L439 23.5312" clip-path="url(#clipPath10)" /><path fill="none" d="M1 44.0625 L519 44.0625" clip-path="url(#clipPath10)"
/> /><text x="5" font-size="14px" y="58.5938" clip-path="url(#clipPath10)" font-family="sans-serif" stroke="none" xml:space="preserve"
<path fill="none" d="M1 44.0625 L439 44.0625" clip-path="url(#clipPath10)"
/>
<text x="5" font-size="14px" y="58.5938" clip-path="url(#clipPath10)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ cipher(in request: VigenereData): VigenereData</text >+ cipher(in request: VigenereData): VigenereData</text
> ><text x="5" font-size="14px" y="74.125" clip-path="url(#clipPath10)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="74.125" clip-path="url(#clipPath10)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>+ decipher(in request: VigenereData): VigenereData</text >+ decipher(in request: VigenereData): VigenereData</text
> ><text x="5" font-size="14px" y="89.6562" clip-path="url(#clipPath10)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="5" font-size="14px" y="89.6562" clip-path="url(#clipPath10)" font-family="sans-serif" stroke="none" >+ decrypt(in request: VigenereDecryptInput): Collection[VigenereDecryptOutput]</text
xml:space="preserve" ></g
>+ decrypt(in request: VigenereDecryptInput): VigenereDecryptOutput</text ><g transform="translate(1360,470)"
> ><path fill="none" d="M10.5 20.5 L90.5 20.5" clip-path="url(#clipPath11)"
</g /><path fill="none" d="M90.5 20.5 L90.5 140.5" clip-path="url(#clipPath11)"
> /><path fill="none" d="M84 129.2417 L90.5 140.5 L97 129.2417" clip-path="url(#clipPath11)"
<g transform="translate(920,270)" /><text x="18.2617" font-size="14px" y="78.125" clip-path="url(#clipPath11)" font-family="sans-serif" stroke="none" xml:space="preserve"
> >«extends»</text
<path fill="none" d="M10.5 20.5 L100.5 20.5" clip-path="url(#clipPath11)" ></g
/> ><g transform="translate(1200,200)"
<path fill="none" d="M89.2417 27 L100.5 20.5 L89.2417 14" clip-path="url(#clipPath11)" ><path fill="none" d="M350.5 680.5 L400.5 680.5" clip-path="url(#clipPath12)"
/> /><path fill="none" d="M400.5 680.5 L400.5 80.5" clip-path="url(#clipPath12)"
<text x="20.1445" font-size="14px" y="16" clip-path="url(#clipPath11)" font-family="sans-serif" /><path fill="none" d="M400.5 80.5 L10.5 80.5" clip-path="url(#clipPath12)"
stroke="none" xml:space="preserve" /><path fill="none" d="M10.5 80.5 L10.5 10.5" clip-path="url(#clipPath12)"
/><path fill="none" d="M17 21.7583 L10.5 10.5 L4 21.7583" clip-path="url(#clipPath12)"
/></g
><g transform="translate(1200,200)"
><path fill="none" d="M350.5 500.5 L400.5 500.5" clip-path="url(#clipPath13)"
/><path fill="none" d="M400.5 500.5 L400.5 80.5" clip-path="url(#clipPath13)"
/><path fill="none" d="M400.5 80.5 L10.5 80.5" clip-path="url(#clipPath13)"
/><path fill="none" d="M10.5 80.5 L10.5 10.5" clip-path="url(#clipPath13)"
/><path fill="none" d="M17 21.7583 L10.5 10.5 L4 21.7583" clip-path="url(#clipPath13)"
/><text x="404" font-size="14px" y="297.7656" clip-path="url(#clipPath13)" font-family="sans-serif" stroke="none" xml:space="preserve"
>«extends»</text
></g
><g transform="translate(780,200)"
><path fill="none" d="M10.5 230.5 L10.5 80.5" clip-path="url(#clipPath14)"
/><path fill="none" d="M10.5 80.5 L430.5 80.5" clip-path="url(#clipPath14)"
/><path fill="none" d="M430.5 80.5 L430.5 10.5" clip-path="url(#clipPath14)"
/><path fill="none" d="M437 21.7583 L430.5 10.5 L424 21.7583" clip-path="url(#clipPath14)"
/><text x="188.2617" font-size="14px" y="76" clip-path="url(#clipPath14)" font-family="sans-serif" stroke="none" xml:space="preserve"
>«extends»</text
></g
><g transform="translate(930,470)"
><path fill="none" d="M10.5 20.5 L90.5 20.5" clip-path="url(#clipPath15)"
/><path fill="none" d="M79.2417 27 L90.5 20.5 L79.2417 14" clip-path="url(#clipPath15)"
/><text x="15.1445" font-size="14px" y="16" clip-path="url(#clipPath15)" font-family="sans-serif" stroke="none" xml:space="preserve"
>«generate»</text >«generate»</text
> ></g
</g ><g stroke-dasharray="8,5" stroke-miterlimit="5" transform="translate(1210,370)" stroke-linecap="butt"
> ><path fill="none" d="M10.5 60.5 L10.5 10.5" clip-path="url(#clipPath16)"
<g stroke-dasharray="8,5" stroke-miterlimit="5" transform="translate(1210,170)" stroke-linecap="butt" /><path fill="none" stroke-miterlimit="10" stroke-dasharray="none" d="M17 49.2417 L10.5 60.5 L4 49.2417" clip-path="url(#clipPath16)" stroke-linecap="square"
> /></g
<path fill="none" d="M10.5 60.5 L10.5 10.5" clip-path="url(#clipPath12)" ><g transform="translate(160,640)"
/> ><path fill="none" d="M10.5 80.5 L10.5 10.5" clip-path="url(#clipPath17)"
<path fill="none" stroke-miterlimit="10" stroke-dasharray="none" d="M17 49.2417 L10.5 60.5 L4 49.2417" /><path d="M17 69.2417 L10.5 80.5 L4 69.2417 L10.5 57.9833 L17 69.2417" clip-path="url(#clipPath17)" stroke="none"
clip-path="url(#clipPath12)" stroke-linecap="square" /><path fill="none" d="M17 69.2417 L10.5 80.5 L4 69.2417 L10.5 57.9833 L17 69.2417" clip-path="url(#clipPath17)"
/> /><path fill="none" d="M17 21.7583 L10.5 10.5 L4 21.7583" clip-path="url(#clipPath17)"
</g /><text x="14" font-size="14px" y="64" clip-path="url(#clipPath17)" font-family="sans-serif" stroke="none" xml:space="preserve"
>
<g transform="translate(160,440)"
>
<path fill="none" d="M10.5 80.5 L10.5 10.5" clip-path="url(#clipPath13)"
/>
<path d="M17 69.2417 L10.5 80.5 L4 69.2417 L10.5 57.9833 L17 69.2417" clip-path="url(#clipPath13)"
stroke="none"
/>
<path fill="none" d="M17 69.2417 L10.5 80.5 L4 69.2417 L10.5 57.9833 L17 69.2417"
clip-path="url(#clipPath13)"
/>
<path fill="none" d="M17 21.7583 L10.5 10.5 L4 21.7583" clip-path="url(#clipPath13)"
/>
<text x="14" font-size="14px" y="64" clip-path="url(#clipPath13)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>1</text >1</text
> ><text x="14" font-size="14px" y="38.5312" clip-path="url(#clipPath17)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="14" font-size="14px" y="38.5312" clip-path="url(#clipPath13)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>1</text >1</text
> ></g
</g ><g transform="translate(270,740)"
> ><path fill="none" d="M10.5 20.5 L90.5 20.5" clip-path="url(#clipPath18)"
<g transform="translate(270,540)" /><path d="M21.7583 27 L10.5 20.5 L21.7583 14 L33.0167 20.5 L21.7583 27" clip-path="url(#clipPath18)" stroke="none"
> /><path fill="none" d="M21.7583 27 L10.5 20.5 L21.7583 14 L33.0167 20.5 L21.7583 27" clip-path="url(#clipPath18)"
<path fill="none" d="M10.5 20.5 L90.5 20.5" clip-path="url(#clipPath14)" /><path fill="none" d="M79.2417 27 L90.5 20.5 L79.2417 14" clip-path="url(#clipPath18)"
/> /><text x="29" font-size="14px" y="33.5312" clip-path="url(#clipPath18)" font-family="sans-serif" stroke="none" xml:space="preserve"
<path d="M21.7583 27 L10.5 20.5 L21.7583 14 L33.0167 20.5 L21.7583 27" clip-path="url(#clipPath14)"
stroke="none"
/>
<path fill="none" d="M21.7583 27 L10.5 20.5 L21.7583 14 L33.0167 20.5 L21.7583 27"
clip-path="url(#clipPath14)"
/>
<path fill="none" d="M79.2417 27 L90.5 20.5 L79.2417 14" clip-path="url(#clipPath14)"
/>
<text x="29" font-size="14px" y="33.5312" clip-path="url(#clipPath14)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>1</text >1</text
> ><text x="63.9531" font-size="14px" y="33.5312" clip-path="url(#clipPath18)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="63.9531" font-size="14px" y="33.5312" clip-path="url(#clipPath14)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>1</text >1</text
> ></g
</g ><g transform="translate(510,750)"
> ><path fill="none" d="M10.5 10.5 L60.5 10.5" clip-path="url(#clipPath19)"
<g transform="translate(510,550)" /><path fill="none" d="M60.5 10.5 L60.5 70.5" clip-path="url(#clipPath19)"
> /><path fill="none" d="M60.5 70.5 L120.5 70.5" clip-path="url(#clipPath19)"
<path fill="none" d="M10.5 10.5 L60.5 10.5" clip-path="url(#clipPath15)" /><path d="M21.7583 17 L10.5 10.5 L21.7583 4 L33.0167 10.5 L21.7583 17" clip-path="url(#clipPath19)" stroke="none"
/> /><path fill="none" d="M21.7583 17 L10.5 10.5 L21.7583 4 L33.0167 10.5 L21.7583 17" clip-path="url(#clipPath19)"
<path fill="none" d="M60.5 10.5 L60.5 70.5" clip-path="url(#clipPath15)" /><path fill="none" d="M109.2417 77 L120.5 70.5 L109.2417 64" clip-path="url(#clipPath19)"
/> /><text x="29" font-size="14px" y="23.5312" clip-path="url(#clipPath19)" font-family="sans-serif" stroke="none" xml:space="preserve"
<path fill="none" d="M60.5 70.5 L120.5 70.5" clip-path="url(#clipPath15)"
/>
<path d="M21.7583 17 L10.5 10.5 L21.7583 4 L33.0167 10.5 L21.7583 17" clip-path="url(#clipPath15)"
stroke="none"
/>
<path fill="none" d="M21.7583 17 L10.5 10.5 L21.7583 4 L33.0167 10.5 L21.7583 17"
clip-path="url(#clipPath15)"
/>
<path fill="none" d="M109.2417 77 L120.5 70.5 L109.2417 64" clip-path="url(#clipPath15)"
/>
<text x="29" font-size="14px" y="23.5312" clip-path="url(#clipPath15)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>1</text >1</text
> ><text x="93.9531" font-size="14px" y="83.5312" clip-path="url(#clipPath19)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="93.9531" font-size="14px" y="83.5312" clip-path="url(#clipPath15)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>1</text >1</text
> ></g
</g ><g transform="translate(510,690)"
> ><path fill="none" d="M10.5 70.5 L60.5 70.5" clip-path="url(#clipPath19)"
<g transform="translate(510,490)" /><path fill="none" d="M60.5 70.5 L60.5 10.5" clip-path="url(#clipPath19)"
> /><path fill="none" d="M60.5 10.5 L120.5 10.5" clip-path="url(#clipPath19)"
<path fill="none" d="M10.5 70.5 L60.5 70.5" clip-path="url(#clipPath15)" /><path d="M21.7583 77 L10.5 70.5 L21.7583 64 L33.0167 70.5 L21.7583 77" clip-path="url(#clipPath19)" stroke="none"
/> /><path fill="none" d="M21.7583 77 L10.5 70.5 L21.7583 64 L33.0167 70.5 L21.7583 77" clip-path="url(#clipPath19)"
<path fill="none" d="M60.5 70.5 L60.5 10.5" clip-path="url(#clipPath15)" /><path fill="none" d="M109.2417 17 L120.5 10.5 L109.2417 4" clip-path="url(#clipPath19)"
/> /><text x="29" font-size="14px" y="83.5312" clip-path="url(#clipPath19)" font-family="sans-serif" stroke="none" xml:space="preserve"
<path fill="none" d="M60.5 10.5 L120.5 10.5" clip-path="url(#clipPath15)"
/>
<path d="M21.7583 77 L10.5 70.5 L21.7583 64 L33.0167 70.5 L21.7583 77" clip-path="url(#clipPath15)"
stroke="none"
/>
<path fill="none" d="M21.7583 77 L10.5 70.5 L21.7583 64 L33.0167 70.5 L21.7583 77"
clip-path="url(#clipPath15)"
/>
<path fill="none" d="M109.2417 17 L120.5 10.5 L109.2417 4" clip-path="url(#clipPath15)"
/>
<text x="29" font-size="14px" y="83.5312" clip-path="url(#clipPath15)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>1</text >1</text
> ><text x="93.9531" font-size="14px" y="23.5312" clip-path="url(#clipPath19)" font-family="sans-serif" stroke="none" xml:space="preserve"
<text x="93.9531" font-size="14px" y="23.5312" clip-path="url(#clipPath15)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>1</text >1</text
> ></g
</g ><g transform="translate(1140,810)"
> ><path fill="none" d="M100.5 20.5 L10.5 20.5" clip-path="url(#clipPath20)"
<g transform="translate(1060,610)" /><path fill="none" d="M89.2417 14 L100.5 20.5 L89.2417 27" clip-path="url(#clipPath20)"
> /><text x="36.4927" font-size="14px" y="16" clip-path="url(#clipPath20)" font-family="sans-serif" stroke="none" xml:space="preserve"
<path fill="none" d="M140.5 20.5 L10.5 20.5" clip-path="url(#clipPath16)"
/>
<path fill="none" d="M129.2417 14 L140.5 20.5 L129.2417 27" clip-path="url(#clipPath16)"
/>
<text x="56.4927" font-size="14px" y="16" clip-path="url(#clipPath16)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>«use»</text >«use»</text
> ></g
</g ><g transform="translate(1140,690)"
> ><path fill="none" d="M10.5 20.5 L100.5 20.5" clip-path="url(#clipPath20)"
<g transform="translate(1060,490)" /><path fill="none" d="M89.2417 27 L100.5 20.5 L89.2417 14" clip-path="url(#clipPath20)"
> /><text x="36.4927" font-size="14px" y="16" clip-path="url(#clipPath20)" font-family="sans-serif" stroke="none" xml:space="preserve"
<path fill="none" d="M10.5 20.5 L140.5 20.5" clip-path="url(#clipPath16)"
/>
<path fill="none" d="M129.2417 27 L140.5 20.5 L129.2417 14" clip-path="url(#clipPath16)"
/>
<text x="56.4927" font-size="14px" y="16" clip-path="url(#clipPath16)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>«use»</text >«use»</text
> ></g
</g ><g transform="translate(950,520)"
> ><path fill="none" d="M10.5 130.5 L10.5 90.5" clip-path="url(#clipPath21)"
<g transform="translate(950,320)" /><path fill="none" d="M10.5 90.5 L230.5 90.5" clip-path="url(#clipPath21)"
> /><path fill="none" d="M230.5 90.5 L230.5 10.5" clip-path="url(#clipPath21)"
<path fill="none" d="M10.5 130.5 L10.5 90.5" clip-path="url(#clipPath17)" /><path fill="none" d="M237 21.7583 L230.5 10.5 L224 21.7583" clip-path="url(#clipPath21)"
/> /><text x="101.4927" font-size="14px" y="86" clip-path="url(#clipPath21)" font-family="sans-serif" stroke="none" xml:space="preserve"
<path fill="none" d="M10.5 90.5 L230.5 90.5" clip-path="url(#clipPath17)"
/>
<path fill="none" d="M230.5 90.5 L230.5 10.5" clip-path="url(#clipPath17)"
/>
<path fill="none" d="M237 21.7583 L230.5 10.5 L224 21.7583" clip-path="url(#clipPath17)"
/>
<text x="101.4927" font-size="14px" y="86" clip-path="url(#clipPath17)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>«use»</text
>
</g
>
<g transform="translate(740,340)"
>
<path fill="none" d="M10.5 110.5 L10.5 10.5" clip-path="url(#clipPath18)"
/>
<path fill="none" d="M17 21.7583 L10.5 10.5 L4 21.7583" clip-path="url(#clipPath18)"
/>
<text x="14" font-size="14px" y="67.7656" clip-path="url(#clipPath18)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>«use»</text >«use»</text
> ><text x="234" font-size="14px" y="38.5312" clip-path="url(#clipPath21)" font-family="sans-serif" stroke="none" xml:space="preserve"
</g
>
<g transform="translate(1360,250)"
>
<path fill="none" d="M10.5 10.5 L60.5 10.5" clip-path="url(#clipPath19)"
/>
<path fill="none" d="M60.5 10.5 L60.5 160.5" clip-path="url(#clipPath19)"
/>
<path d="M21.7583 17 L10.5 10.5 L21.7583 4 L33.0167 10.5 L21.7583 17" clip-path="url(#clipPath19)"
stroke="none"
/>
<path fill="none" d="M21.7583 17 L10.5 10.5 L21.7583 4 L33.0167 10.5 L21.7583 17"
clip-path="url(#clipPath19)"
/>
<path fill="none" d="M54 149.2417 L60.5 160.5 L67 149.2417" clip-path="url(#clipPath19)"
/>
<text x="29" font-size="14px" y="23.5312" clip-path="url(#clipPath19)" font-family="sans-serif"
stroke="none" xml:space="preserve"
>1</text
>
<text x="64" font-size="14px" y="144" clip-path="url(#clipPath19)" font-family="sans-serif" stroke="none"
xml:space="preserve"
>1..*</text >1..*</text
> ></g
</g ><g transform="translate(740,540)"
> ><path fill="none" d="M10.5 110.5 L10.5 10.5" clip-path="url(#clipPath22)"
</g /><path fill="none" d="M17 21.7583 L10.5 10.5 L4 21.7583" clip-path="url(#clipPath22)"
> /><text x="14" font-size="14px" y="67.7656" clip-path="url(#clipPath22)" font-family="sans-serif" stroke="none" xml:space="preserve"
</svg >«use»</text
></g
></g
></svg
> >
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
<id>UMLClass</id> <id>UMLClass</id>
<coordinates> <coordinates>
<x>504</x> <x>504</x>
<y>360</y> <y>520</y>
<w>352</w> <w>416</w>
<h>80</h> <h>80</h>
</coordinates> </coordinates>
<panel_attributes>VigenereController <panel_attributes>VigenereController
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
-- --
+ cipher(in request: VigenereData): VigenereData + cipher(in request: VigenereData): VigenereData
+ decipher(in request: VigenereData): VigenereData + decipher(in request: VigenereData): VigenereData
+ decrypt(in request: VigenereDecryptInput): VigenereDecryptOutput + decrypt(in request: VigenereDecryptInput): Collection[VigenereDecryptOutput]
bg=green</panel_attributes> bg=green</panel_attributes>
<additional_attributes/> <additional_attributes/>
...@@ -24,8 +24,8 @@ bg=green</panel_attributes> ...@@ -24,8 +24,8 @@ bg=green</panel_attributes>
<id>UMLClass</id> <id>UMLClass</id>
<coordinates> <coordinates>
<x>504</x> <x>504</x>
<y>464</y> <y>624</y>
<w>352</w> <w>416</w>
<h>72</h> <h>72</h>
</coordinates> </coordinates>
<panel_attributes>CesarController <panel_attributes>CesarController
...@@ -41,16 +41,15 @@ bg=green</panel_attributes> ...@@ -41,16 +41,15 @@ bg=green</panel_attributes>
<element> <element>
<id>UMLClass</id> <id>UMLClass</id>
<coordinates> <coordinates>
<x>960</x> <x>992</x>
<y>472</y> <y>632</y>
<w>248</w> <w>248</w>
<h>128</h> <h>128</h>
</coordinates> </coordinates>
<panel_attributes>&lt;&lt;Entity&gt;&gt; <panel_attributes>&lt;&lt;Entity&gt;&gt;
CaesarData CaesarData
-- --
- message: str + key: OneCharStr | int
- key: OneCharStr | int
-- --
__+ from_json(in json: str): CaesarData__ __+ from_json(in json: str): CaesarData__
__+ to_json(in data: CaesarData): str__ __+ to_json(in data: CaesarData): str__
...@@ -64,16 +63,15 @@ bg=blue</panel_attributes> ...@@ -64,16 +63,15 @@ bg=blue</panel_attributes>
<element> <element>
<id>UMLClass</id> <id>UMLClass</id>
<coordinates> <coordinates>
<x>960</x> <x>992</x>
<y>328</y> <y>488</y>
<w>248</w> <w>248</w>
<h>128</h> <h>128</h>
</coordinates> </coordinates>
<panel_attributes>&lt;&lt;Entity&gt;&gt; <panel_attributes>&lt;&lt;Entity&gt;&gt;
VigenereData VigenereData
-- --
- message: str + key: str
- key: str
-- --
__+ from_json(in json: str): VigenereData__ __+ from_json(in json: str): VigenereData__
__+ to_json(in data: VigenereData): str__ __+ to_json(in data: VigenereData): str__
...@@ -88,18 +86,18 @@ bg=blue</panel_attributes> ...@@ -88,18 +86,18 @@ bg=blue</panel_attributes>
<id>UMLClass</id> <id>UMLClass</id>
<coordinates> <coordinates>
<x>504</x> <x>504</x>
<y>184</y> <y>344</y>
<w>240</w> <w>248</w>
<h>96</h> <h>96</h>
</coordinates> </coordinates>
<panel_attributes>&lt;&lt;Entity&gt;&gt; <panel_attributes>&lt;&lt;Entity&gt;&gt;
VigenereDecryptInput VigenereDecryptInputData
-- --
- message: str
-- --
__+ from_json(in json: str): VigenereDecryptInput__ __+ from_json(in json: str): VigenereDecryptInput__
+ ctor(in message: str) + ctor(in message: str)
+ decrypt(): VigenereDecryptOutput + decrypt(): Collection[VigenereDecryptOutput]
bg=blue</panel_attributes> bg=blue</panel_attributes>
<additional_attributes/> <additional_attributes/>
</element> </element>
...@@ -107,39 +105,26 @@ bg=blue</panel_attributes> ...@@ -107,39 +105,26 @@ bg=blue</panel_attributes>
<id>UMLClass</id> <id>UMLClass</id>
<coordinates> <coordinates>
<x>816</x> <x>816</x>
<y>184</y> <y>344</y>
<w>280</w> <w>280</w>
<h>80</h> <h>80</h>
</coordinates> </coordinates>
<panel_attributes>&lt;&lt;Entity&gt;&gt; <panel_attributes>&lt;&lt;Entity&gt;&gt;
VigenereDecryptOutput VigenereDecryptOutput
-- --
- possibilities: Collection[Taux, VigenereData] + rate: float
-- --
__+ to_json(in data: VigenereDecryptOutput): str__ __+ to_json(in data: VigenereDecryptOutput): str__
+ ctor(in possibilities: Collection[Taux, VigenereData]) + ctor(in message: str, in key: str, in rate: float)
bg=blue</panel_attributes> bg=blue</panel_attributes>
<additional_attributes/> <additional_attributes/>
</element> </element>
<element>
<id>Relation</id>
<coordinates>
<x>1088</x>
<y>200</y>
<w>80</w>
<h>144</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;&lt;-&gt;
m1=1
m2=1..*</panel_attributes>
<additional_attributes>10.0;10.0;60.0;10.0;60.0;160.0</additional_attributes>
</element>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>592</x> <x>592</x>
<y>272</y> <y>432</y>
<w>56</w> <w>56</w>
<h>104</h> <h>104</h>
</coordinates> </coordinates>
...@@ -151,43 +136,44 @@ m2=1..*</panel_attributes> ...@@ -151,43 +136,44 @@ m2=1..*</panel_attributes>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>760</x> <x>760</x>
<y>256</y> <y>416</y>
<w>200</w> <w>216</w>
<h>120</h> <h>120</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
&lt;&lt;use&gt;&gt;</panel_attributes> &lt;&lt;use&gt;&gt;
m2=1..*</panel_attributes>
<additional_attributes>10.0;130.0;10.0;90.0;230.0;90.0;230.0;10.0</additional_attributes> <additional_attributes>10.0;130.0;10.0;90.0;230.0;90.0;230.0;10.0</additional_attributes>
</element> </element>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>848</x> <x>912</x>
<y>392</y> <y>552</y>
<w>128</w> <w>96</w>
<h>32</h> <h>32</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
&lt;&lt;use&gt;&gt;</panel_attributes> &lt;&lt;use&gt;&gt;</panel_attributes>
<additional_attributes>10.0;20.0;140.0;20.0</additional_attributes> <additional_attributes>10.0;20.0;100.0;20.0</additional_attributes>
</element> </element>
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>848</x> <x>912</x>
<y>488</y> <y>648</y>
<w>128</w> <w>96</w>
<h>32</h> <h>32</h>
</coordinates> </coordinates>
<panel_attributes>lt=&lt;- <panel_attributes>lt=&lt;-
&lt;&lt;use&gt;&gt;</panel_attributes> &lt;&lt;use&gt;&gt;</panel_attributes>
<additional_attributes>140.0;20.0;10.0;20.0</additional_attributes> <additional_attributes>100.0;20.0;10.0;20.0</additional_attributes>
</element> </element>
<element> <element>
<id>UMLClass</id> <id>UMLClass</id>
<coordinates> <coordinates>
<x>288</x> <x>288</x>
<y>416</y> <y>576</y>
<w>128</w> <w>128</w>
<h>64</h> <h>64</h>
</coordinates> </coordinates>
...@@ -204,7 +190,7 @@ bg=pink</panel_attributes> ...@@ -204,7 +190,7 @@ bg=pink</panel_attributes>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>408</x> <x>408</x>
<y>392</y> <y>552</y>
<w>112</w> <w>112</w>
<h>80</h> <h>80</h>
</coordinates> </coordinates>
...@@ -218,7 +204,7 @@ m2=1 ...@@ -218,7 +204,7 @@ m2=1
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>408</x> <x>408</x>
<y>440</y> <y>600</y>
<w>112</w> <w>112</w>
<h>80</h> <h>80</h>
</coordinates> </coordinates>
...@@ -232,7 +218,7 @@ m2=1 ...@@ -232,7 +218,7 @@ m2=1
<id>UMLClass</id> <id>UMLClass</id>
<coordinates> <coordinates>
<x>64</x> <x>64</x>
<y>416</y> <y>576</y>
<w>160</w> <w>160</w>
<h>64</h> <h>64</h>
</coordinates> </coordinates>
...@@ -250,7 +236,7 @@ bg=pink</panel_attributes> ...@@ -250,7 +236,7 @@ bg=pink</panel_attributes>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>216</x> <x>216</x>
<y>432</y> <y>592</y>
<w>88</w> <w>88</w>
<h>40</h> <h>40</h>
</coordinates> </coordinates>
...@@ -264,7 +250,7 @@ m2=1 ...@@ -264,7 +250,7 @@ m2=1
<id>UMLClass</id> <id>UMLClass</id>
<coordinates> <coordinates>
<x>0</x> <x>0</x>
<y>176</y> <y>336</y>
<w>280</w> <w>280</w>
<h>184</h> <h>184</h>
</coordinates> </coordinates>
...@@ -291,7 +277,7 @@ bg=pink</panel_attributes> ...@@ -291,7 +277,7 @@ bg=pink</panel_attributes>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>128</x> <x>128</x>
<y>352</y> <y>512</y>
<w>24</w> <w>24</w>
<h>80</h> <h>80</h>
</coordinates> </coordinates>
...@@ -305,7 +291,7 @@ m2=1 ...@@ -305,7 +291,7 @@ m2=1
<id>UMLNote</id> <id>UMLNote</id>
<coordinates> <coordinates>
<x>928</x> <x>928</x>
<y>112</y> <y>272</y>
<w>112</w> <w>112</w>
<h>32</h> <h>32</h>
</coordinates> </coordinates>
...@@ -316,7 +302,7 @@ m2=1 ...@@ -316,7 +302,7 @@ m2=1
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>968</x> <x>968</x>
<y>136</y> <y>296</y>
<w>24</w> <w>24</w>
<h>64</h> <h>64</h>
</coordinates> </coordinates>
...@@ -326,13 +312,84 @@ m2=1 ...@@ -326,13 +312,84 @@ m2=1
<element> <element>
<id>Relation</id> <id>Relation</id>
<coordinates> <coordinates>
<x>736</x> <x>744</x>
<y>216</y> <y>376</y>
<w>96</w> <w>88</w>
<h>32</h> <h>32</h>
</coordinates> </coordinates>
<panel_attributes>lt=-&gt; <panel_attributes>lt=-&gt;
&lt;&lt;generate&gt;&gt;</panel_attributes> &lt;&lt;generate&gt;&gt;</panel_attributes>
<additional_attributes>10.0;20.0;100.0;20.0</additional_attributes> <additional_attributes>10.0;20.0;90.0;20.0</additional_attributes>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>848</x>
<y>72</y>
<w>248</w>
<h>96</h>
</coordinates>
<panel_attributes>&lt;&lt;Entity&gt;&gt;
BaseData
--
+ message: str
--
__+ from_json(in json: str): BaseData__
+ ctor(in message: str)
bg=blue</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>624</x>
<y>160</y>
<w>360</w>
<h>200</h>
</coordinates>
<panel_attributes>lt=-&gt;
&lt;&lt;extends&gt;&gt;</panel_attributes>
<additional_attributes>10.0;230.0;10.0;80.0;430.0;80.0;430.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>960</x>
<y>160</y>
<w>384</w>
<h>416</h>
</coordinates>
<panel_attributes>lt=-&gt;
&lt;&lt;extends&gt;&gt;</panel_attributes>
<additional_attributes>350.0;500.0;400.0;500.0;400.0;80.0;10.0;80.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>960</x>
<y>160</y>
<w>336</w>
<h>560</h>
</coordinates>
<panel_attributes>lt=-&gt;
</panel_attributes>
<additional_attributes>350.0;680.0;400.0;680.0;400.0;80.0;10.0;80.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>1088</x>
<y>376</y>
<w>88</w>
<h>128</h>
</coordinates>
<panel_attributes>lt=-&gt;
&lt;&lt;extends&gt;&gt;
</panel_attributes>
<additional_attributes>10.0;20.0;90.0;20.0;90.0;140.0</additional_attributes>
</element> </element>
</diagram> </diagram>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment