Files
Sudoku/readme_files/conception_uml/mermaid-diagram-2025-01-21-124116.svg

1 line
97 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<svg aria-roledescription="class" role="graphics-document document" viewBox="4 4 2339.654296875 1800" style="max-width: 2339.654296875px;" class="classDiagram" xmlns="http://www.w3.org/2000/svg" width="100%" id="export-svg"><style xmlns="http://www.w3.org/1999/xhtml">@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css"); p {margin: 0;}</style><style>#export-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:14px;fill:#333;}#export-svg .error-icon{fill:#ffffff;}#export-svg .error-text{fill:#000000;stroke:#000000;}#export-svg .edge-thickness-normal{stroke-width:1px;}#export-svg .edge-thickness-thick{stroke-width:3.5px;}#export-svg .edge-pattern-solid{stroke-dasharray:0;}#export-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#export-svg .edge-pattern-dashed{stroke-dasharray:3;}#export-svg .edge-pattern-dotted{stroke-dasharray:2;}#export-svg .marker{fill:#000000;stroke:#000000;}#export-svg .marker.cross{stroke:#000000;}#export-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:14px;}#export-svg p{margin:0;}#export-svg g.classGroup text{fill:#000000;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#export-svg g.classGroup text .title{font-weight:bolder;}#export-svg .nodeLabel,#export-svg .edgeLabel{color:#333;}#export-svg .edgeLabel .label rect{fill:#ffffff;}#export-svg .label text{fill:#333;}#export-svg .labelBkg{background:#ffffff;}#export-svg .edgeLabel .label span{background:#ffffff;}#export-svg .classTitle{font-weight:bolder;}#export-svg .node rect,#export-svg .node circle,#export-svg .node ellipse,#export-svg .node polygon,#export-svg .node path{fill:#ffffff;stroke:#000000;stroke-width:1px;}#export-svg .divider{stroke:#000000;stroke-width:1;}#export-svg g.clickable{cursor:pointer;}#export-svg g.classGroup rect{fill:#ffffff;stroke:#000000;}#export-svg g.classGroup line{stroke:#000000;stroke-width:1;}#export-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ffffff;opacity:0.5;}#export-svg .classLabel .label{fill:#000000;font-size:10px;}#export-svg .relation{stroke:#000000;stroke-width:1;fill:none;}#export-svg .dashed-line{stroke-dasharray:3;}#export-svg .dotted-line{stroke-dasharray:1 2;}#export-svg #compositionStart,#export-svg .composition{fill:#000000!important;stroke:#000000!important;stroke-width:1;}#export-svg #compositionEnd,#export-svg .composition{fill:#000000!important;stroke:#000000!important;stroke-width:1;}#export-svg #dependencyStart,#export-svg .dependency{fill:#000000!important;stroke:#000000!important;stroke-width:1;}#export-svg #dependencyStart,#export-svg .dependency{fill:#000000!important;stroke:#000000!important;stroke-width:1;}#export-svg #extensionStart,#export-svg .extension{fill:transparent!important;stroke:#000000!important;stroke-width:1;}#export-svg #extensionEnd,#export-svg .extension{fill:transparent!important;stroke:#000000!important;stroke-width:1;}#export-svg #aggregationStart,#export-svg .aggregation{fill:transparent!important;stroke:#000000!important;stroke-width:1;}#export-svg #aggregationEnd,#export-svg .aggregation{fill:transparent!important;stroke:#000000!important;stroke-width:1;}#export-svg #lollipopStart,#export-svg .lollipop{fill:#ffffff!important;stroke:#000000!important;stroke-width:1;}#export-svg #lollipopEnd,#export-svg .lollipop{fill:#ffffff!important;stroke:#000000!important;stroke-width:1;}#export-svg .edgeTerminals{font-size:11px;line-height:initial;}#export-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#export-svg .node .neo-node{stroke:#000000;}#export-svg [data-look="neo"].node rect,#export-svg [data-look="neo"].cluster rect,#export-svg [data-look="neo"].node polygon{stroke:url(#export-svg-gradient);filter:drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));}#export-svg [data-look="neo"].node rect,#export-svg [data-look="neo"].node polygon,#export-svg [data-look="neo"].node path{stroke:url(#export-svg-gradient);filter:drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));}#export-svg [data-look="neo"].node .neo-line path{stroke:hsl(0, 0%, 70%);filter:none;}#export-svg [data-look="neo"].node circle{stroke:url(#export-svg-gradient);filter:drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));}#export-svg [data-look="neo"].node circle .state-start{fill:#000000;}#export-svg [data-look="neo"].statediagram-cluster rect{fill:#ffffff;stroke:url(#export-svg-gradient);stroke-width:1px;}#export-svg [data-look="neo"].icon-shape .icon{fill:url(#export-svg-gradient);filter:drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));}#export-svg [data-look="neo"].icon-shape .icon-neo path{stroke:url(#export-svg-gradient);filter:drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));}#export-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation class" id="export-svg_class-aggregationStart"><path d="M 18,7 L9,13 L1,7 L9,1 Z"/></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation class" id="export-svg_class-aggregationEnd"><path d="M 18,7 L9,13 L1,7 L9,1 Z"/></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension class" id="export-svg_class-extensionStart"><path d="M 1,7 L18,13 V 1 Z"/></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension class" id="export-svg_class-extensionEnd"><path d="M 1,1 V 13 L18,7 Z"/></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition class" id="export-svg_class-compositionStart"><path d="M 18,7 L9,13 L1,7 L9,1 Z"/></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition class" id="export-svg_class-compositionEnd"><path d="M 18,7 L9,13 L1,7 L9,1 Z"/></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency class" id="export-svg_class-dependencyStart"><path d="M 5,7 L9,13 L1,7 L9,1 Z"/></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency class" id="export-svg_class-dependencyEnd"><path d="M 18,7 L9,13 L14,7 L9,1 Z"/></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop class" id="export-svg_class-lollipopStart"><circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop class" id="export-svg_class-lollipopEnd"><circle r="6" cy="7" cx="7" fill="transparent" stroke="black"/></marker></defs></g><linearGradient y2="0%" x2="100%" y1="0%" x1="0%" gradientUnits="objectBoundingBox" id="export-svg-gradient"><stop stop-opacity="1" stop-color="#0042eb" offset="0%"/><stop stop-opacity="1" stop-color="#eb0042" offset="100%"/></linearGradient><g class="subgraphs"/><g class="nodes"><g transform="translate(1849.2041320800781, 907)" data-look="neo" data-et="node" data-node="true" data-id="Sudoku" id="classId-Sudoku-126" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-174.79583740234375 -109.5 L174.79583740234375 -109.5 L174.79583740234375 109.5 L-174.79583740234375 109.5"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-174.79583740234375 -109.5 C-86.28062007308412 -109.5, 2.2345972561755048 -109.5, 174.79583740234375 -109.5 M-174.79583740234375 -109.5 C-99.39646014847227 -109.5, -23.997082894600794 -109.5, 174.79583740234375 -109.5 M174.79583740234375 -109.5 C174.79583740234375 -42.08191024722473, 174.79583740234375 25.336179505550547, 174.79583740234375 109.5 M174.79583740234375 -109.5 C174.79583740234375 -62.95444229800555, 174.79583740234375 -16.408884596011106, 174.79583740234375 109.5 M174.79583740234375 109.5 C49.80508571764709 109.5, -75.18566596704957 109.5, -174.79583740234375 109.5 M174.79583740234375 109.5 C79.18250218177359 109.5, -16.430833038796578 109.5, -174.79583740234375 109.5 M-174.79583740234375 109.5 C-174.79583740234375 24.279497503316065, -174.79583740234375 -60.94100499336787, -174.79583740234375 -109.5 M-174.79583740234375 109.5 C-174.79583740234375 30.34122323543329, -174.79583740234375 -48.81755352913342, -174.79583740234375 -109.5"/></g><g transform="translate(0, -85.5)" class="annotation-group text"/><g transform="translate(-25.65833282470703, -85.5)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="51.31666564941406"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 107px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>Sudoku</p></span></div></foreignObject></g></g><g transform="translate(-162.79583740234375, -40.5)" class="members-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="82.10000610351562"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 155px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+grille : Grille</p></span></div></foreignObject></g><g transform="translate(0,10.5)" style="" class="label"><foreignObject height="21" width="117.89999389648438"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 232px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+blocs : List&lt;Bloc&gt;</p></span></div></foreignObject></g><g transform="translate(0,31.5)" style="" class="label"><foreignObject height="21" width="191.03334045410156"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 326px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+contraintes : List&lt;Contrainte&gt;</p></span></div></foreignObject></g></g><g transform="translate(-162.79583740234375, 46.5)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="143.5500030517578"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 229px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+rentrerSudoku() : void</p></span></div></foreignObject></g><g transform="translate(0,10.5)" style="" class="label"><foreignObject height="21" width="266.5"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 373px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+resoudre(resolveur : Resolveur) : boolean</p></span></div></foreignObject></g><g transform="translate(0,31.5)" style="" class="label"><foreignObject height="21" width="299.933349609375"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 422px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+ajouterContrainte(contrainte : Contrainte) : void</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-174.79583740234375 -64.5 C-102.99919739999373 -64.49979462714596, -31.202557397643716 -64.49958925429192, 174.79583740234375 -64.499 M-174.79583740234375 -64.5 C-103.40050887023997 -64.4997957750894, -32.0051803381362 -64.4995915501788, 174.79583740234375 -64.499"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-174.79583740234375 22.5 C-96.91358202918013 22.500222780635198, -19.031326656016518 22.500445561270396, 174.79583740234375 22.501 M-174.79583740234375 22.5 C-59.56007024096938 22.500329629609247, 55.67569692040499 22.50065925921849, 174.79583740234375 22.501"/></g></g><g transform="translate(1390.5024841308593, 600.5)" data-look="neo" data-et="node" data-node="true" data-id="MultiDoku" id="classId-MultiDoku-127" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-227.89584350585938 -88.5 L227.89584350585938 -88.5 L227.89584350585938 88.5 L-227.89584350585938 88.5"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-227.89584350585938 -88.5 C-112.6719473988637 -88.5, 2.551948708131988 -88.5, 227.89584350585938 -88.5 M-227.89584350585938 -88.5 C-60.09555920506321 -88.5, 107.70472509573295 -88.5, 227.89584350585938 -88.5 M227.89584350585938 -88.5 C227.89584350585938 -21.674220301161924, 227.89584350585938 45.15155939767615, 227.89584350585938 88.5 M227.89584350585938 -88.5 C227.89584350585938 -52.44149409992625, 227.89584350585938 -16.382988199852505, 227.89584350585938 88.5 M227.89584350585938 88.5 C106.54243236423358 88.5, -14.810978777392222 88.5, -227.89584350585938 88.5 M227.89584350585938 88.5 C53.63007494685914 88.5, -120.6356936121411 88.5, -227.89584350585938 88.5 M-227.89584350585938 88.5 C-227.89584350585938 31.000575594084893, -227.89584350585938 -26.498848811830214, -227.89584350585938 -88.5 M-227.89584350585938 88.5 C-227.89584350585938 30.294360171630004, -227.89584350585938 -27.911279656739993, -227.89584350585938 -88.5"/></g><g transform="translate(0, -64.5)" class="annotation-group text"/><g transform="translate(-33.82499694824219, -64.5)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="67.64999389648438"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 128px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>MultiDoku</p></span></div></foreignObject></g></g><g transform="translate(-215.89584350585938, -19.5)" class="members-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="157.5833282470703"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 281px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+sudokus : List&lt;Sudoku&gt;</p></span></div></foreignObject></g><g transform="translate(0,10.5)" style="" class="label"><foreignObject height="21" width="289.066650390625"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 443px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+contraintesPartage : List&lt;ContraintePartage&gt;</p></span></div></foreignObject></g></g><g transform="translate(-215.89584350585938, 46.5)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="266.5"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 373px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+resoudre(resolveur : Resolveur) : boolean</p></span></div></foreignObject></g><g transform="translate(0,10.5)" style="" class="label"><foreignObject height="21" width="397.9666748046875"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 540px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+ajouterContraintePartage(contrainte : ContraintePartage) : void</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-227.89584350585938 -43.5 C-76.5073843873719 -43.49966785603285, 74.88107473111558 -43.4993357120657, 227.89584350585938 -43.499 M-227.89584350585938 -43.5 C-66.10720715077085 -43.499645038202836, 95.68142920431768 -43.49929007640567, 227.89584350585938 -43.499"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-227.89584350585938 22.5 C-99.98615068687005 22.50028063191248, 27.92354213211928 22.500561263824963, 227.89584350585938 22.501 M-227.89584350585938 22.5 C-117.42154514234478 22.500242378923335, -6.947246778830191 22.500484757846674, 227.89584350585938 22.501"/></g></g><g transform="translate(2153.6041412353516, 1224)" data-look="neo" data-et="node" data-node="true" data-id="Grille" id="classId-Grille-128" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-182.0500030517578 -99 L182.0500030517578 -99 L182.0500030517578 99 L-182.0500030517578 99"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-182.0500030517578 -99 C-99.47132094708451 -99, -16.892638842411202 -99, 182.0500030517578 -99 M-182.0500030517578 -99 C-54.486424553451315 -99, 73.07715394485518 -99, 182.0500030517578 -99 M182.0500030517578 -99 C182.0500030517578 -50.79213590645634, 182.0500030517578 -2.584271812912675, 182.0500030517578 99 M182.0500030517578 -99 C182.0500030517578 -40.967383174959934, 182.0500030517578 17.06523365008013, 182.0500030517578 99 M182.0500030517578 99 C73.94009784671711 99, -34.169807358323595 99, -182.0500030517578 99 M182.0500030517578 99 C88.23572353184646 99, -5.578555988064892 99, -182.0500030517578 99 M-182.0500030517578 99 C-182.0500030517578 41.341233355762306, -182.0500030517578 -16.31753328847539, -182.0500030517578 -99 M-182.0500030517578 99 C-182.0500030517578 34.673869133940514, -182.0500030517578 -29.652261732118973, -182.0500030517578 -99"/></g><g transform="translate(0, -75)" class="annotation-group text"/><g transform="translate(-17.883331298828125, -75)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="35.76666259765625"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 90px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>Grille</p></span></div></foreignObject></g></g><g transform="translate(-170.0500030517578, -30)" class="members-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="107.36666870117188"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 187px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+taille : int // N×N</p></span></div></foreignObject></g><g transform="translate(0,10.5)" style="" class="label"><foreignObject height="21" width="184"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 277px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+cases : Symbole[taille][taille]</p></span></div></foreignObject></g></g><g transform="translate(-170.0500030517578, 36)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="133.18333435058594"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 216px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+afficherGrille() : void</p></span></div></foreignObject></g><g transform="translate(0,10.5)" style="" class="label"><foreignObject height="21" width="135.53334045410156"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 216px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+estValide() : boolean</p></span></div></foreignObject></g><g transform="translate(0,31.5)" style="" class="label"><foreignObject height="21" width="322.2166748046875"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 475px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+getValeursPossibles(x : int, y : int) : List&lt;Symbole&gt;</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-182.0500030517578 -54 C-40.835872979533065 -53.99961215565036, 100.37825709269168 -53.999224311300715, 182.0500030517578 -53.999 M-182.0500030517578 -54 C-89.09023550126471 -53.999744686168654, 3.8695320492283827 -53.999489372337315, 182.0500030517578 -53.999"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-182.0500030517578 12 C-98.83428271220171 12.000228551823522, -15.618562372645613 12.000457103647046, 182.0500030517578 12.001 M-182.0500030517578 12 C-103.44528518029367 12.000215887713688, -24.84056730882952 12.000431775427376, 182.0500030517578 12.001"/></g></g><g transform="translate(1849.2041320800781, 1224)" data-look="neo" data-et="node" data-node="true" data-id="Bloc" id="classId-Bloc-129" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-87.35000610351562 -67.5 L87.35000610351562 -67.5 L87.35000610351562 67.5 L-87.35000610351562 67.5"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-87.35000610351562 -67.5 C-47.34572563805209 -67.5, -7.34144517258855 -67.5, 87.35000610351562 -67.5 M-87.35000610351562 -67.5 C-31.955199235157394 -67.5, 23.439607633200836 -67.5, 87.35000610351562 -67.5 M87.35000610351562 -67.5 C87.35000610351562 -20.368759795438336, 87.35000610351562 26.762480409123327, 87.35000610351562 67.5 M87.35000610351562 -67.5 C87.35000610351562 -22.569264379484935, 87.35000610351562 22.36147124103013, 87.35000610351562 67.5 M87.35000610351562 67.5 C45.555507189094854 67.5, 3.761008274674083 67.5, -87.35000610351562 67.5 M87.35000610351562 67.5 C25.331669755462833 67.5, -36.68666659258996 67.5, -87.35000610351562 67.5 M-87.35000610351562 67.5 C-87.35000610351562 21.53080911680496, -87.35000610351562 -24.43838176639008, -87.35000610351562 -67.5 M-87.35000610351562 67.5 C-87.35000610351562 36.296956936131856, -87.35000610351562 5.0939138722637125, -87.35000610351562 -67.5"/></g><g transform="translate(0, -43.5)" class="annotation-group text"/><g transform="translate(-15.166664123535156, -43.5)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="30.333328247070312"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 82px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>Bloc</p></span></div></foreignObject></g></g><g transform="translate(-75.35000610351562, 1.5)" class="members-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="127.23333740234375"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 238px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+cases : List&lt;Case&gt;</p></span></div></foreignObject></g></g><g transform="translate(-75.35000610351562, 46.5)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="135.53334045410156"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 216px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+estValide() : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-87.35000610351562 -22.5 C-35.61932852774327 -22.49970388852913, 16.111349048029084 -22.49940777705826, 87.35000610351562 -22.499 M-87.35000610351562 -22.5 C-30.367351365638193 -22.499673825696874, 26.61530337223924 -22.499347651393744, 87.35000610351562 -22.499"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-87.35000610351562 22.5 C-27.34726571593906 22.500343461569518, 32.655474671637506 22.50068692313904, 87.35000610351562 22.501 M-87.35000610351562 22.5 C-42.72556354994926 22.500255434684806, 1.898879003617111 22.50051086936961, 87.35000610351562 22.501"/></g></g><g transform="translate(1036.2774719238282, 1195.5)" data-look="neo" data-et="node" data-node="true" data-id="Contrainte" id="classId-Contrainte-130" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-189.5749969482422 -70.5 L189.5749969482422 -70.5 L189.5749969482422 70.5 L-189.5749969482422 70.5"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-189.5749969482422 -70.5 C-85.48050982998575 -70.5, 18.61397728827069 -70.5, 189.5749969482422 -70.5 M-189.5749969482422 -70.5 C-56.15534286004433 -70.5, 77.26431122815353 -70.5, 189.5749969482422 -70.5 M189.5749969482422 -70.5 C189.5749969482422 -20.24866664828089, 189.5749969482422 30.002666703438223, 189.5749969482422 70.5 M189.5749969482422 -70.5 C189.5749969482422 -32.41460704271607, 189.5749969482422 5.670785914567858, 189.5749969482422 70.5 M189.5749969482422 70.5 C68.9496981198732 70.5, -51.67560070849578 70.5, -189.5749969482422 70.5 M189.5749969482422 70.5 C38.73570795035445 70.5, -112.10358104753328 70.5, -189.5749969482422 70.5 M-189.5749969482422 70.5 C-189.5749969482422 14.53807957043103, -189.5749969482422 -41.42384085913794, -189.5749969482422 -70.5 M-189.5749969482422 70.5 C-189.5749969482422 28.464217096820846, -189.5749969482422 -13.571565806358308, -189.5749969482422 -70.5"/></g><g transform="translate(-34.625, -46.5)" class="annotation-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="69.25"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 133px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>«interface»</p></span></div></foreignObject></g></g><g transform="translate(-35, -25.5)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="70"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 130px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>Contrainte</p></span></div></foreignObject></g></g><g transform="translate(-177.5749969482422, 19.5)" class="members-group text"/><g transform="translate(-177.5749969482422, 43.5)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="320.1499938964844"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 428px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+estRespectee(grille : Grille, case : Case) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-189.5749969482422 -4.5 C-40.822421373710995 -4.499607668263302, 107.9301542008202 -4.499215336526603, 189.5749969482422 -4.499 M-189.5749969482422 -4.5 C-68.7232135745628 -4.499681256006015, 52.128569799116576 -4.4993625120120315, 189.5749969482422 -4.499"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-189.5749969482422 19.5 C-50.58326636221102 19.500366587716798, 88.40846422382015 19.500733175433595, 189.5749969482422 19.501 M-189.5749969482422 19.5 C-41.6817679177021 19.50039006522857, 106.21146111283798 19.500780130457137, 189.5749969482422 19.501"/></g></g><g transform="translate(998.3624725341797, 956.5)" data-look="neo" data-et="node" data-node="true" data-id="ContrainteLigne" id="classId-ContrainteLigne-131" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-198.90415954589844 -60 L198.90415954589844 -60 L198.90415954589844 60 L-198.90415954589844 60"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-198.90415954589844 -60 C-75.71224738906243 -60, 47.479664767773585 -60, 198.90415954589844 -60 M-198.90415954589844 -60 C-54.838884763233835 -60, 89.22639001943077 -60, 198.90415954589844 -60 M198.90415954589844 -60 C198.90415954589844 -23.809179219407255, 198.90415954589844 12.38164156118549, 198.90415954589844 60 M198.90415954589844 -60 C198.90415954589844 -17.862896208118336, 198.90415954589844 24.274207583763328, 198.90415954589844 60 M198.90415954589844 60 C61.71389242433446 60, -75.47637469722952 60, -198.90415954589844 60 M198.90415954589844 60 C63.83389879173535 60, -71.23636196242774 60, -198.90415954589844 60 M-198.90415954589844 60 C-198.90415954589844 13.125021173354227, -198.90415954589844 -33.749957653291546, -198.90415954589844 -60 M-198.90415954589844 60 C-198.90415954589844 13.170131291376926, -198.90415954589844 -33.65973741724615, -198.90415954589844 -60"/></g><g transform="translate(0, -36)" class="annotation-group text"/><g transform="translate(-53.65833282470703, -36)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="107.31666564941406"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 171px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>ContrainteLigne</p></span></div></foreignObject></g></g><g transform="translate(-186.90415954589844, 9)" class="members-group text"/><g transform="translate(-186.90415954589844, 33)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="320.1499938964844"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 428px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+estRespectee(grille : Grille: case : Case) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-198.90415954589844 -15 C-69.57282787478721 -14.999674890329176, 59.75850379632402 -14.999349780658351, 198.90415954589844 -14.999 M-198.90415954589844 -15 C-103.95685655811451 -14.999761323988386, -9.009553570330581 -14.999522647976772, 198.90415954589844 -14.999"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-198.90415954589844 9 C-51.24354290796103 9.000371185341159, 96.41707372997638 9.000742370682318, 198.90415954589844 9.001 M-198.90415954589844 9 C-93.00241324755532 9.000266213000623, 12.899333050787789 9.000532426001246, 198.90415954589844 9.001"/></g></g><g transform="translate(1435.8374633789062, 956.5)" data-look="neo" data-et="node" data-node="true" data-id="ContrainteColonne" id="classId-ContrainteColonne-132" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-203.57083129882812 -60 L203.57083129882812 -60 L203.57083129882812 60 L-203.57083129882812 60"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-203.57083129882812 -60 C-57.14090427226577 -60, 89.28902275429658 -60, 203.57083129882812 -60 M-203.57083129882812 -60 C-93.94863039107717 -60, 15.673570516673777 -60, 203.57083129882812 -60 M203.57083129882812 -60 C203.57083129882812 -14.86615391658097, 203.57083129882812 30.26769216683806, 203.57083129882812 60 M203.57083129882812 -60 C203.57083129882812 -20.637553588121833, 203.57083129882812 18.724892823756335, 203.57083129882812 60 M203.57083129882812 60 C65.46995605844438 60, -72.63091918193936 60, -203.57083129882812 60 M203.57083129882812 60 C121.0812730287244 60, 38.59171475862067 60, -203.57083129882812 60 M-203.57083129882812 60 C-203.57083129882812 18.101914412098786, -203.57083129882812 -23.796171175802428, -203.57083129882812 -60 M-203.57083129882812 60 C-203.57083129882812 21.04410622655437, -203.57083129882812 -17.91178754689126, -203.57083129882812 -60"/></g><g transform="translate(0, -36)" class="annotation-group text"/><g transform="translate(-62.991668701171875, -36)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="125.98333740234375"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 192px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>ContrainteColonne</p></span></div></foreignObject></g></g><g transform="translate(-191.57083129882812, 9)" class="members-group text"/><g transform="translate(-191.57083129882812, 33)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="320.1499938964844"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 428px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+estRespectee(grille : Grille: case : Case) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-203.57083129882812 -15 C-44.56369947178999 -14.999609455021595, 114.44343235524815 -14.99921891004319, 203.57083129882812 -14.999 M-203.57083129882812 -15 C-67.1524051911025 -14.999664936215966, 69.26602091662312 -14.999329872431932, 203.57083129882812 -14.999"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-203.57083129882812 9 C-116.43049647911067 9.000214029520496, -29.29016165939322 9.000428059040992, 203.57083129882812 9.001 M-203.57083129882812 9 C-75.34289215162565 9.000314946739493, 52.88504699557683 9.000629893478987, 203.57083129882812 9.001"/></g></g><g transform="translate(209.1583251953125, 956.5)" data-look="neo" data-et="node" data-node="true" data-id="ContrainteBloc" id="classId-ContrainteBloc-133" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-197.1583251953125 -60 L197.1583251953125 -60 L197.1583251953125 60 L-197.1583251953125 60"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-197.1583251953125 -60 C-110.35425588110321 -60, -23.550186566893927 -60, 197.1583251953125 -60 M-197.1583251953125 -60 C-112.550649817895 -60, -27.942974440477514 -60, 197.1583251953125 -60 M197.1583251953125 -60 C197.1583251953125 -34.290680078683586, 197.1583251953125 -8.581360157367172, 197.1583251953125 60 M197.1583251953125 -60 C197.1583251953125 -27.78579469463623, 197.1583251953125 4.428410610727539, 197.1583251953125 60 M197.1583251953125 60 C67.45079023747229 60, -62.25674472036792 60, -197.1583251953125 60 M197.1583251953125 60 C99.87273783411054 60, 2.5871504729085757 60, -197.1583251953125 60 M-197.1583251953125 60 C-197.1583251953125 32.608407583245, -197.1583251953125 5.216815166490001, -197.1583251953125 -60 M-197.1583251953125 60 C-197.1583251953125 12.746487384446581, -197.1583251953125 -34.50702523110684, -197.1583251953125 -60"/></g><g transform="translate(0, -36)" class="annotation-group text"/><g transform="translate(-50.166664123535156, -36)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="100.33332824707031"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 161px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>ContrainteBloc</p></span></div></foreignObject></g></g><g transform="translate(-185.1583251953125, 9)" class="members-group text"/><g transform="translate(-185.1583251953125, 33)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="320.1499938964844"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 428px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+estRespectee(grille : Grille: case : Case) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-197.1583251953125 -15 C-112.21132585171172 -14.999784571614565, -27.26432650811094 -14.999569143229131, 197.1583251953125 -14.999 M-197.1583251953125 -15 C-56.22606154360699 -14.99964259114214, 84.70620210809852 -14.999285182284279, 197.1583251953125 -14.999"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-197.1583251953125 9 C-79.07297562230781 9.000299468332, 39.01237395069688 9.000598936664003, 197.1583251953125 9.001 M-197.1583251953125 9 C-54.86349714354105 9.000360864366014, 87.4313309082304 9.000721728732026, 197.1583251953125 9.001"/></g></g><g transform="translate(602.8874816894531, 868)" data-look="neo" data-et="node" data-node="true" data-id="ContraintePartage" id="classId-ContraintePartage-134" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-161.57083129882812 -70.5 L161.57083129882812 -70.5 L161.57083129882812 70.5 L-161.57083129882812 70.5"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-161.57083129882812 -70.5 C-60.37485080886073 -70.5, 40.82112968110667 -70.5, 161.57083129882812 -70.5 M-161.57083129882812 -70.5 C-35.17952237896981 -70.5, 91.21178654088851 -70.5, 161.57083129882812 -70.5 M161.57083129882812 -70.5 C161.57083129882812 -42.2870327196364, 161.57083129882812 -14.074065439272793, 161.57083129882812 70.5 M161.57083129882812 -70.5 C161.57083129882812 -34.569259638847875, 161.57083129882812 1.3614807223042504, 161.57083129882812 70.5 M161.57083129882812 70.5 C71.98845653667661 70.5, -17.59391822547491 70.5, -161.57083129882812 70.5 M161.57083129882812 70.5 C45.736489470536384 70.5, -70.09785235775536 70.5, -161.57083129882812 70.5 M-161.57083129882812 70.5 C-161.57083129882812 22.160437672220596, -161.57083129882812 -26.17912465555881, -161.57083129882812 -70.5 M-161.57083129882812 70.5 C-161.57083129882812 41.35694196474135, -161.57083129882812 12.213883929482705, -161.57083129882812 -70.5"/></g><g transform="translate(-34.625, -46.5)" class="annotation-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="69.25"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 133px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>«interface»</p></span></div></foreignObject></g></g><g transform="translate(-60.67500305175781, -25.5)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="121.35000610351562"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 188px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>ContraintePartage</p></span></div></foreignObject></g></g><g transform="translate(-149.57083129882812, 19.5)" class="members-group text"/><g transform="translate(-149.57083129882812, 43.5)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="238.46665954589844"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 330px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+estRespectee(case : Case) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-161.57083129882812 -4.5 C-36.653953586444956 -4.499613429983902, 88.26292412593821 -4.499226859967803, 161.57083129882812 -4.499 M-161.57083129882812 -4.5 C-76.25562995307082 -4.499735982043727, 9.059571392686479 -4.499471964087453, 161.57083129882812 -4.499"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-161.57083129882812 19.5 C-84.15561975606491 19.500239570505766, -6.740408213301691 19.500479141011535, 161.57083129882812 19.501 M-161.57083129882812 19.5 C-59.587738997979045 19.500315598711357, 42.395353302870035 19.50063119742271, 161.57083129882812 19.501"/></g></g><g transform="translate(570.5733154296875, 621.5)" data-look="neo" data-et="node" data-node="true" data-id="ContrainteLignePartage" id="classId-ContrainteLignePartage-135" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-170.89999389648438 -67.5 L170.89999389648438 -67.5 L170.89999389648438 67.5 L-170.89999389648438 67.5"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-170.89999389648438 -67.5 C-99.75787031988395 -67.5, -28.615746743283523 -67.5, 170.89999389648438 -67.5 M-170.89999389648438 -67.5 C-81.89055031329296 -67.5, 7.11889326989845 -67.5, 170.89999389648438 -67.5 M170.89999389648438 -67.5 C170.89999389648438 -14.420548874493115, 170.89999389648438 38.65890225101377, 170.89999389648438 67.5 M170.89999389648438 -67.5 C170.89999389648438 -34.08274720917111, 170.89999389648438 -0.6654944183422202, 170.89999389648438 67.5 M170.89999389648438 67.5 C40.40863997279163 67.5, -90.08271395090111 67.5, -170.89999389648438 67.5 M170.89999389648438 67.5 C94.66907819593082 67.5, 18.43816249537727 67.5, -170.89999389648438 67.5 M-170.89999389648438 67.5 C-170.89999389648438 15.25656046132643, -170.89999389648438 -36.98687907734714, -170.89999389648438 -67.5 M-170.89999389648438 67.5 C-170.89999389648438 15.364533535907633, -170.89999389648438 -36.770932928184735, -170.89999389648438 -67.5"/></g><g transform="translate(0, -43.5)" class="annotation-group text"/><g transform="translate(-79.33333587646484, -43.5)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="158.6666717529297"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 230px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>ContrainteLignePartage</p></span></div></foreignObject></g></g><g transform="translate(-158.89999389648438, 1.5)" class="members-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="187.51666259765625"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 310px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>-casesPartagees : List&lt;Case&gt;</p></span></div></foreignObject></g></g><g transform="translate(-158.89999389648438, 46.5)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="238.46665954589844"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 330px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+estRespectee(case : Case) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-170.89999389648438 -22.5 C-41.84628830658542 -22.49962242916852, 87.20741728331353 -22.499244858337043, 170.89999389648438 -22.499 M-170.89999389648438 -22.5 C-44.16287837301084 -22.49962920678745, 82.5742371504627 -22.4992584135749, 170.89999389648438 -22.499"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-170.89999389648438 22.5 C-43.871091078502616 22.500371646891033, 83.15781173947914 22.500743293782065, 170.89999389648438 22.501 M-170.89999389648438 22.5 C-40.99175567315348 22.500380070927044, 88.91648255017742 22.500760141854084, 170.89999389648438 22.501"/></g></g><g transform="translate(952.0399749755859, 621.5)" data-look="neo" data-et="node" data-node="true" data-id="ContrainteColonnePartage" id="classId-ContrainteColonnePartage-136" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-175.56666564941406 -67.5 L175.56666564941406 -67.5 L175.56666564941406 67.5 L-175.56666564941406 67.5"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-175.56666564941406 -67.5 C-36.721609618612206 -67.5, 102.12344641218965 -67.5, 175.56666564941406 -67.5 M-175.56666564941406 -67.5 C-45.7271107022672 -67.5, 84.11244424487967 -67.5, 175.56666564941406 -67.5 M175.56666564941406 -67.5 C175.56666564941406 -21.641936272291858, 175.56666564941406 24.216127455416284, 175.56666564941406 67.5 M175.56666564941406 -67.5 C175.56666564941406 -31.492754758203553, 175.56666564941406 4.514490483592894, 175.56666564941406 67.5 M175.56666564941406 67.5 C92.78061495246305 67.5, 9.994564255512046 67.5, -175.56666564941406 67.5 M175.56666564941406 67.5 C62.442053993522535 67.5, -50.68255766236899 67.5, -175.56666564941406 67.5 M-175.56666564941406 67.5 C-175.56666564941406 22.151683018227047, -175.56666564941406 -23.196633963545906, -175.56666564941406 -67.5 M-175.56666564941406 67.5 C-175.56666564941406 22.770422623007413, -175.56666564941406 -21.959154753985175, -175.56666564941406 -67.5"/></g><g transform="translate(0, -43.5)" class="annotation-group text"/><g transform="translate(-88.66666412353516, -43.5)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="177.3333282470703"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 251px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>ContrainteColonnePartage</p></span></div></foreignObject></g></g><g transform="translate(-163.56666564941406, 1.5)" class="members-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="187.51666259765625"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 310px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>-casesPartagees : List&lt;Case&gt;</p></span></div></foreignObject></g></g><g transform="translate(-163.56666564941406, 46.5)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="238.46665954589844"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 330px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+estRespectee(case : Case) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-175.56666564941406 -22.5 C-62.05246454898898 -22.49967672051901, 51.461736551436104 -22.49935344103802, 175.56666564941406 -22.499 M-175.56666564941406 -22.5 C-59.09880986273593 -22.4996683087437, 57.369045923942195 -22.4993366174874, 175.56666564941406 -22.499"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-175.56666564941406 22.5 C-65.8012662277998 22.500312603189837, 43.96413319381446 22.500625206379674, 175.56666564941406 22.501 M-175.56666564941406 22.5 C-94.27007894437342 22.500231526259284, -12.973492239332785 22.500463052518565, 175.56666564941406 22.501"/></g></g><g transform="translate(195.5191619873047, 621.5)" data-look="neo" data-et="node" data-node="true" data-id="ContrainteBlocPartage" id="classId-ContrainteBlocPartage-137" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-169.15415954589844 -67.5 L169.15415954589844 -67.5 L169.15415954589844 67.5 L-169.15415954589844 67.5"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-169.15415954589844 -67.5 C-85.36177341456926 -67.5, -1.5693872832400757 -67.5, 169.15415954589844 -67.5 M-169.15415954589844 -67.5 C-69.78359112790008 -67.5, 29.586977290098275 -67.5, 169.15415954589844 -67.5 M169.15415954589844 -67.5 C169.15415954589844 -24.652596896876403, 169.15415954589844 18.194806206247193, 169.15415954589844 67.5 M169.15415954589844 -67.5 C169.15415954589844 -13.78946108929702, 169.15415954589844 39.92107782140596, 169.15415954589844 67.5 M169.15415954589844 67.5 C67.69968836162383 67.5, -33.75478282265078 67.5, -169.15415954589844 67.5 M169.15415954589844 67.5 C83.44723263698336 67.5, -2.2596942719317212 67.5, -169.15415954589844 67.5 M-169.15415954589844 67.5 C-169.15415954589844 26.2622480220032, -169.15415954589844 -14.975503955993602, -169.15415954589844 -67.5 M-169.15415954589844 67.5 C-169.15415954589844 17.17138847495937, -169.15415954589844 -33.15722305008126, -169.15415954589844 -67.5"/></g><g transform="translate(0, -43.5)" class="annotation-group text"/><g transform="translate(-75.84166717529297, -43.5)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="151.68333435058594"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 220px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>ContrainteBlocPartage</p></span></div></foreignObject></g></g><g transform="translate(-157.15415954589844, 1.5)" class="members-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="187.51666259765625"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 310px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>-casesPartagees : List&lt;Case&gt;</p></span></div></foreignObject></g></g><g transform="translate(-157.15415954589844, 46.5)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="238.46665954589844"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 330px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+estRespectee(case : Case) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-169.15415954589844 -22.5 C-36.84003853000107 -22.49960889486439, 95.4740824858963 -22.49921778972878, 169.15415954589844 -22.499 M-169.15415954589844 -22.5 C-94.27430960771382 -22.499778663882285, -19.394459669529198 -22.49955732776457, 169.15415954589844 -22.499"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-169.15415954589844 22.5 C-61.80078848255182 22.500317324065076, 45.55258258079479 22.500634648130152, 169.15415954589844 22.501 M-169.15415954589844 22.5 C-48.32254405924985 22.50035716418624, 72.50907142739874 22.50071432837248, 169.15415954589844 22.501"/></g></g><g transform="translate(1444.9483154296875, 340)" data-look="neo" data-et="node" data-node="true" data-id="Resolveur" id="classId-Resolveur-138" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-163.33749389648438 -81 L163.33749389648438 -81 L163.33749389648438 81 L-163.33749389648438 81"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-163.33749389648438 -81 C-96.09590908940918 -81, -28.854324282333977 -81, 163.33749389648438 -81 M-163.33749389648438 -81 C-97.55465593900549 -81, -31.771817981526596 -81, 163.33749389648438 -81 M163.33749389648438 -81 C163.33749389648438 -43.124384385706776, 163.33749389648438 -5.248768771413552, 163.33749389648438 81 M163.33749389648438 -81 C163.33749389648438 -28.81489365517386, 163.33749389648438 23.370212689652277, 163.33749389648438 81 M163.33749389648438 81 C66.0370214941691 81, -31.263450908146183 81, -163.33749389648438 81 M163.33749389648438 81 C68.6509245028518 81, -26.035644890780787 81, -163.33749389648438 81 M-163.33749389648438 81 C-163.33749389648438 28.57834215644295, -163.33749389648438 -23.8433156871141, -163.33749389648438 -81 M-163.33749389648438 81 C-163.33749389648438 19.144992171852344, -163.33749389648438 -42.71001565629531, -163.33749389648438 -81"/></g><g transform="translate(-34.625, -57)" class="annotation-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="69.25"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 133px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>«interface»</p></span></div></foreignObject></g></g><g transform="translate(-33.84166717529297, -36)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="67.68333435058594"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 124px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>Resolveur</p></span></div></foreignObject></g></g><g transform="translate(-151.33749389648438, 9)" class="members-group text"/><g transform="translate(-151.33749389648438, 33)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="238.48333740234375"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 341px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+resoudre(sudoku : Sudoku) : boolean</p></span></div></foreignObject></g><g transform="translate(0,10.5)" style="" class="label"><foreignObject height="21" width="268.04998779296875"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 384px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+resoudre(multidoku : MultiDoku) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-163.33749389648438 -15 C-35.86577750646758 -14.999609790399775, 91.60593888354921 -14.99921958079955, 163.33749389648438 -14.999 M-163.33749389648438 -15 C-63.59473864082973 -14.999694672812481, 36.14801661482491 -14.999389345624962, 163.33749389648438 -14.999"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-163.33749389648438 9 C-49.6958240995169 9.000347873801312, 63.94584569745058 9.000695747602624, 163.33749389648438 9.001 M-163.33749389648438 9 C-80.25821886498258 9.000254317833125, 2.821056166519213 9.000508635666248, 163.33749389648438 9.001"/></g></g><g transform="translate(1390.5024841308593, 97.5)" data-look="neo" data-et="node" data-node="true" data-id="ResolveurRegles" id="classId-ResolveurRegles-139" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-174.4208221435547 -70.5 L174.4208221435547 -70.5 L174.4208221435547 70.5 L-174.4208221435547 70.5"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-174.4208221435547 -70.5 C-103.3205785984484 -70.5, -32.220335053342126 -70.5, 174.4208221435547 -70.5 M-174.4208221435547 -70.5 C-104.46593278208812 -70.5, -34.51104342062155 -70.5, 174.4208221435547 -70.5 M174.4208221435547 -70.5 C174.4208221435547 -17.474772022346798, 174.4208221435547 35.550455955306404, 174.4208221435547 70.5 M174.4208221435547 -70.5 C174.4208221435547 -28.616540642283788, 174.4208221435547 13.266918715432425, 174.4208221435547 70.5 M174.4208221435547 70.5 C90.76163208527078 70.5, 7.102442026986864 70.5, -174.4208221435547 70.5 M174.4208221435547 70.5 C83.52573813828018 70.5, -7.369345866994337 70.5, -174.4208221435547 70.5 M-174.4208221435547 70.5 C-174.4208221435547 28.169959941385855, -174.4208221435547 -14.16008011722829, -174.4208221435547 -70.5 M-174.4208221435547 70.5 C-174.4208221435547 34.00591672266744, -174.4208221435547 -2.4881665546651135, -174.4208221435547 -70.5"/></g><g transform="translate(0, -46.5)" class="annotation-group text"/><g transform="translate(-56.791664123535156, -46.5)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="113.58332824707031"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 174px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>ResolveurRegles</p></span></div></foreignObject></g></g><g transform="translate(-162.4208221435547, -1.5)" class="members-group text"/><g transform="translate(-162.4208221435547, 22.5)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="238.48333740234375"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 341px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+resoudre(sudoku : Sudoku) : boolean</p></span></div></foreignObject></g><g transform="translate(0,10.5)" style="" class="label"><foreignObject height="21" width="268.04998779296875"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 384px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+resoudre(multidoku : MultiDoku) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-174.4208221435547 -25.5 C-52.16870069078172 -25.499649548374013, 70.08342076199125 -25.49929909674802, 174.4208221435547 -25.499 M-174.4208221435547 -25.5 C-88.84225733836242 -25.499754677899823, -3.2636925331701434 -25.49950935579965, 174.4208221435547 -25.499"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-174.4208221435547 -1.5 C-97.2609039299154 -1.4997788110465673, -20.100985716276114 -1.4995576220931344, 174.4208221435547 -1.499 M-174.4208221435547 -1.5 C-91.18170757464532 -1.4997613842385733, -7.942593005735944 -1.4995227684771466, 174.4208221435547 -1.499"/></g></g><g transform="translate(1779.602474975586, 90)" data-look="neo" data-et="node" data-node="true" data-id="ResolveurBacktrace" id="classId-ResolveurBacktrace-140" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-179.67916870117188 -78 L179.67916870117188 -78 L179.67916870117188 78 L-179.67916870117188 78"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-179.67916870117188 -78 C-80.53797946900232 -78, 18.60320976316723 -78, 179.67916870117188 -78 M-179.67916870117188 -78 C-71.86108276301655 -78, 35.957003175138766 -78, 179.67916870117188 -78 M179.67916870117188 -78 C179.67916870117188 -42.987817172845695, 179.67916870117188 -7.97563434569139, 179.67916870117188 78 M179.67916870117188 -78 C179.67916870117188 -43.861257049754585, 179.67916870117188 -9.72251409950917, 179.67916870117188 78 M179.67916870117188 78 C57.120372792354445 78, -65.43842311646299 78, -179.67916870117188 78 M179.67916870117188 78 C74.81805837882926 78, -30.043051943513348 78, -179.67916870117188 78 M-179.67916870117188 78 C-179.67916870117188 30.467653496071165, -179.67916870117188 -17.06469300785767, -179.67916870117188 -78 M-179.67916870117188 78 C-179.67916870117188 28.037496964764955, -179.67916870117188 -21.92500607047009, -179.67916870117188 -78"/></g><g transform="translate(0, -54)" class="annotation-group text"/><g transform="translate(-67.30833435058594, -54)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="134.61666870117188"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 197px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>ResolveurBacktrace</p></span></div></foreignObject></g></g><g transform="translate(-167.67916870117188, -9)" class="members-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="142.75"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 224px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+backtrace : Backtrace</p></span></div></foreignObject></g></g><g transform="translate(-167.67916870117188, 36)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="238.48333740234375"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 341px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+resoudre(sudoku : Sudoku) : boolean</p></span></div></foreignObject></g><g transform="translate(0,10.5)" style="" class="label"><foreignObject height="21" width="268.04998779296875"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 384px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+resoudre(multidoku : MultiDoku) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-179.67916870117188 -33 C-79.88151707456485 -32.99972228931059, 19.916134552042166 -32.99944457862117, 179.67916870117188 -32.999 M-179.67916870117188 -33 C-48.37522502774192 -32.99963461556333, 82.92871864568804 -32.99926923112667, 179.67916870117188 -32.999"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-179.67916870117188 12 C-39.59428192769599 12.000389819498237, 100.4906048457799 12.000779638996473, 179.67916870117188 12.001 M-179.67916870117188 12 C-51.86243483524062 12.000355680446402, 75.95429903069063 12.000711360892806, 179.67916870117188 12.001"/></g></g><g transform="translate(1874.7319081624348, 1492)" data-look="neo" data-et="node" data-node="true" data-id="Case" id="classId-Case-141" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-76.58332824707031 -78 L76.58332824707031 -78 L76.58332824707031 78 L-76.58332824707031 78"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-76.58332824707031 -78 C-23.12654174804144 -78, 30.330244750987433 -78, 76.58332824707031 -78 M-76.58332824707031 -78 C-27.103359365837377 -78, 22.376609515395558 -78, 76.58332824707031 -78 M76.58332824707031 -78 C76.58332824707031 -44.903112518008065, 76.58332824707031 -11.80622503601613, 76.58332824707031 78 M76.58332824707031 -78 C76.58332824707031 -17.56253269140344, 76.58332824707031 42.87493461719312, 76.58332824707031 78 M76.58332824707031 78 C34.51106007364148 78, -7.5612080997873505 78, -76.58332824707031 78 M76.58332824707031 78 C33.445167264741336 78, -9.69299371758764 78, -76.58332824707031 78 M-76.58332824707031 78 C-76.58332824707031 21.556542401067823, -76.58332824707031 -34.886915197864354, -76.58332824707031 -78 M-76.58332824707031 78 C-76.58332824707031 26.888200759580002, -76.58332824707031 -24.223598480839996, -76.58332824707031 -78"/></g><g transform="translate(0, -54)" class="annotation-group text"/><g transform="translate(-16.73332977294922, -54)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="33.46665954589844"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 87px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>Case</p></span></div></foreignObject></g></g><g transform="translate(-64.58332824707031, -9)" class="members-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="112.43333435058594"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 189px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+valeur : Symbole</p></span></div></foreignObject></g><g transform="translate(0,10.5)" style="" class="label"><foreignObject height="21" width="41.616668701171875"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 106px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+x : int</p></span></div></foreignObject></g><g transform="translate(0,31.5)" style="" class="label"><foreignObject height="21" width="41.616668701171875"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 106px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+y : int</p></span></div></foreignObject></g></g><g transform="translate(-64.58332824707031, 78)" class="methods-group text"/><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-76.58332824707031 -33 C-44.19859906393272 -32.99978856541023, -11.813869880795124 -32.99957713082045, 76.58332824707031 -32.999 M-76.58332824707031 -33 C-43.50097165047399 -32.99978401071517, -10.418615053877673 -32.999568021430335, 76.58332824707031 -32.999"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-76.58332824707031 54 C-35.06926990376983 54.00027103848379, 6.4447884395306545 54.00054207696758, 76.58332824707031 54.001 M-76.58332824707031 54 C-24.42747294561032 54.0003405170322, 27.728382355849675 54.0006810340644, 76.58332824707031 54.001"/></g></g><g transform="translate(1874.7319081624348, 1728.5)" data-look="neo" data-et="node" data-node="true" data-id="Symbole" id="classId-Symbole-142" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-145.8249969482422 -67.5 L145.8249969482422 -67.5 L145.8249969482422 67.5 L-145.8249969482422 67.5"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-145.8249969482422 -67.5 C-47.37872718785775 -67.5, 51.06754257252669 -67.5, 145.8249969482422 -67.5 M-145.8249969482422 -67.5 C-33.32099691349762 -67.5, 79.18300312124694 -67.5, 145.8249969482422 -67.5 M145.8249969482422 -67.5 C145.8249969482422 -20.759454996130025, 145.8249969482422 25.98109000773995, 145.8249969482422 67.5 M145.8249969482422 -67.5 C145.8249969482422 -15.606614072021856, 145.8249969482422 36.28677185595629, 145.8249969482422 67.5 M145.8249969482422 67.5 C42.21873734769086 67.5, -61.387522252860464 67.5, -145.8249969482422 67.5 M145.8249969482422 67.5 C36.28367991079402 67.5, -73.25763712665415 67.5, -145.8249969482422 67.5 M-145.8249969482422 67.5 C-145.8249969482422 33.8822791647633, -145.8249969482422 0.26455832952659364, -145.8249969482422 -67.5 M-145.8249969482422 67.5 C-145.8249969482422 37.42436126032807, -145.8249969482422 7.348722520656139, -145.8249969482422 -67.5"/></g><g transform="translate(0, -43.5)" class="annotation-group text"/><g transform="translate(-29.166664123535156, -43.5)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="58.33332824707031"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 115px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>Symbole</p></span></div></foreignObject></g></g><g transform="translate(-133.8249969482422, 1.5)" class="members-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="85.19999694824219"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 158px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+valeur : char</p></span></div></foreignObject></g></g><g transform="translate(-133.8249969482422, 46.5)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="238.48333740234375"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 339px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+equals(symbole : Symbole) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-145.8249969482422 -22.5 C-73.03566869384025 -22.499750422322037, -0.2463404394383133 -22.499500844644075, 145.8249969482422 -22.499 M-145.8249969482422 -22.5 C-46.3997701999792 -22.499659094020817, 53.025456548283785 -22.49931818804163, 145.8249969482422 -22.499"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-145.8249969482422 22.5 C-84.97487176396925 22.500208640927337, -24.12474657969632 22.500417281854673, 145.8249969482422 22.501 M-145.8249969482422 22.5 C-30.36847606407413 22.500395873558375, 85.08804482009393 22.500791747116754, 145.8249969482422 22.501"/></g></g><g transform="translate(1839.4955312093098, 326.5)" data-look="neo" data-et="node" data-node="true" data-id="Backtrace" id="classId-Backtrace-143" class="node default"><g class="basic label-container"><path style="" fill="#ffffff" stroke-width="0" stroke="none" d="M-153.0416717529297 -67.5 L153.0416717529297 -67.5 L153.0416717529297 67.5 L-153.0416717529297 67.5"/><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-153.0416717529297 -67.5 C-72.49841555633216 -67.5, 8.044840640265363 -67.5, 153.0416717529297 -67.5 M-153.0416717529297 -67.5 C-34.72875688867258 -67.5, 83.58415797558453 -67.5, 153.0416717529297 -67.5 M153.0416717529297 -67.5 C153.0416717529297 -35.81711303469994, 153.0416717529297 -4.13422606939988, 153.0416717529297 67.5 M153.0416717529297 -67.5 C153.0416717529297 -15.447329595754042, 153.0416717529297 36.60534080849192, 153.0416717529297 67.5 M153.0416717529297 67.5 C51.844529336320875 67.5, -49.35261308028794 67.5, -153.0416717529297 67.5 M153.0416717529297 67.5 C88.29026284056232 67.5, 23.538853928194953 67.5, -153.0416717529297 67.5 M-153.0416717529297 67.5 C-153.0416717529297 38.47766825527373, -153.0416717529297 9.455336510547454, -153.0416717529297 -67.5 M-153.0416717529297 67.5 C-153.0416717529297 27.51589972492784, -153.0416717529297 -12.468200550144317, -153.0416717529297 -67.5"/></g><g transform="translate(0, -43.5)" class="annotation-group text"/><g transform="translate(-33.46666717529297, -43.5)" class="label-group text"><g transform="translate(0,-10.5)" style="font-weight: bolder" class="label"><foreignObject height="21" width="66.93333435058594"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 123px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>Backtrace</p></span></div></foreignObject></g></g><g transform="translate(-141.0416717529297, 1.5)" class="members-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="125.68333435058594"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 238px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+pile : Stack&lt;Case&gt;</p></span></div></foreignObject></g></g><g transform="translate(-141.0416717529297, 46.5)" class="methods-group text"><g transform="translate(0,-10.5)" style="" class="label"><foreignObject height="21" width="248.61666870117188"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 384px; text-align: center;"><span style="" class="nodeLabel markdown-node-label"><p>+explorer(cases : List&lt;Case&gt;) : boolean</p></span></div></foreignObject></g></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-153.0416717529297 -22.5 C-43.900621278523985 -22.499643427018196, 65.24042919588172 -22.49928685403639, 153.0416717529297 -22.499 M-153.0416717529297 -22.5 C-72.96632825621349 -22.49973838712496, 7.109015240502714 -22.499476774249917, 153.0416717529297 -22.499"/></g><g style="" class="divider"><path style="" fill="none" stroke-width="1.3" stroke="#000000" d="M-153.0416717529297 22.5 C-65.32421841404366 22.500286580289977, 22.393234924842375 22.500573160579954, 153.0416717529297 22.501 M-153.0416717529297 22.5 C-54.85747852543318 22.500320776008596, 43.32671470206333 22.500641552017193, 153.0416717529297 22.501"/></g></g></g><g class="edges edgePaths"><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTM5MC41MDI0ODQxMzA4NTkzLCJ5IjoxNjh9LHsieCI6MTM5MC41MDI0ODQxMzA4NTkzLCJ5IjoyNTl9XQ==" data-id="id_ResolveurRegles_Resolveur_11" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_ResolveurRegles_Resolveur_11" d="M1390.502,168L1390.502,213.5L1390.502,253"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTcxOS43MDk0MTg3NDE4NjIsInkiOjE2OH0seyJ4IjoxNzE5LjcwOTQxODc0MTg2MiwieSI6MjQxLjV9LHsieCI6MTQ5OS4zOTQxNDY3Mjg1MTU2LCJ5IjoyNDEuNX0seyJ4IjoxNDk5LjM5NDE0NjcyODUxNTYsInkiOjI1OX1d" data-id="id_ResolveurBacktrace_Resolveur_12" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_ResolveurBacktrace_Resolveur_12" d="M1719.709,168L1719.709,241.5L1499.394,241.5L1499.394,250.25L1499.394,253"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6OTk4LjM2MjQ3MjUzNDE3OTcsInkiOjEwMTYuNX0seyJ4Ijo5OTguMzYyNDcyNTM0MTc5NywieSI6MTEyNX1d" data-id="id_ContrainteLigne_Contrainte_14" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_ContrainteLigne_Contrainte_14" d="M998.362,1016.5L998.362,1070.75L998.362,1119"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTQzNS44Mzc0NjMzNzg5MDYyLCJ5IjoxMDE2LjV9LHsieCI6MTQzNS44Mzc0NjMzNzg5MDYyLCJ5IjoxMDkwfSx7IngiOjEwNzQuMTkyNDcxMzEzNDc2NSwieSI6MTA5MH0seyJ4IjoxMDc0LjE5MjQ3MTMxMzQ3NjUsInkiOjExMjV9XQ==" data-id="id_ContrainteColonne_Contrainte_15" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_ContrainteColonne_Contrainte_15" d="M1435.837,1016.5L1435.837,1090L1074.192,1090L1074.192,1107.5L1074.192,1119"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MjA5LjE1ODMyNTE5NTMxMjUsInkiOjEwMTYuNX0seyJ4IjoyMDkuMTU4MzI1MTk1MzEyNSwieSI6MTA5MH0seyJ4Ijo5MjIuNTMyNDczNzU0ODgyOSwieSI6MTA5MH0seyJ4Ijo5MjIuNTMyNDczNzU0ODgyOSwieSI6MTEyNX1d" data-id="id_ContrainteBloc_Contrainte_16" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_ContrainteBloc_Contrainte_16" d="M209.158,1016.5L209.158,1090L922.532,1090L922.532,1107.5L922.532,1119"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6NTcwLjU3MzMxNTQyOTY4NzUsInkiOjY4OX0seyJ4Ijo1NzAuNTczMzE1NDI5Njg3NSwieSI6Nzk3LjV9XQ==" data-id="id_ContrainteLignePartage_ContraintePartage_17" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_ContrainteLignePartage_ContraintePartage_17" d="M570.573,689L570.573,743.25L570.573,791.5"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6OTUyLjAzOTk3NDk3NTU4NTksInkiOjY4OX0seyJ4Ijo5NTIuMDM5OTc0OTc1NTg1OSwieSI6NzYyLjV9LHsieCI6NjM1LjIwMTY0Nzk0OTIxODgsInkiOjc2Mi41fSx7IngiOjYzNS4yMDE2NDc5NDkyMTg4LCJ5Ijo3OTcuNX1d" data-id="id_ContrainteColonnePartage_ContraintePartage_18" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_ContrainteColonnePartage_ContraintePartage_18" d="M952.04,689L952.04,762.5L635.202,762.5L635.202,780L635.202,791.5"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTk1LjUxOTE2MTk4NzMwNDcsInkiOjY4OX0seyJ4IjoxOTUuNTE5MTYxOTg3MzA0NywieSI6NzYyLjV9LHsieCI6NTA1Ljk0NDk4MjkxMDE1NjMsInkiOjc2Mi41fSx7IngiOjUwNS45NDQ5ODI5MTAxNTYzLCJ5Ijo3OTcuNX1d" data-id="id_ContrainteBlocPartage_ContraintePartage_19" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_ContrainteBlocPartage_ContraintePartage_19" d="M195.519,689L195.519,762.5L505.945,762.5L505.945,780L505.945,791.5"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTgzOS40OTU1MzEyMDkzMDk4LCJ5IjoxNjh9LHsieCI6MTgzOS40OTU1MzEyMDkzMDk4LCJ5IjoyNTl9XQ==" data-id="id_ResolveurBacktrace_Backtrace_13" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_ResolveurBacktrace_Backtrace_13" d="M1839.496,168L1839.496,213.5L1839.496,253"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTkzNi42MDIwNTA3ODEyNSwieSI6MTAxNi41fSx7IngiOjE5MzYuNjAyMDUwNzgxMjUsInkiOjEwMzR9LHsieCI6MjE1My42MDQxNDEyMzUzNTE2LCJ5IjoxMDM0fSx7IngiOjIxNTMuNjA0MTQxMjM1MzUxNiwieSI6MTEyNX1d" data-id="id_Sudoku_Grille_1" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_Sudoku_Grille_1" d="M1936.602,1016.5L1936.602,1034L2153.604,1034L2153.604,1079.5L2153.604,1119"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTg0OS4yMDQxMzIwODAwNzgxLCJ5IjoxMDE2LjV9LHsieCI6MTg0OS4yMDQxMzIwODAwNzgxLCJ5IjoxMTU2LjV9XQ==" data-id="id_Sudoku_Bloc_2" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_Sudoku_Bloc_2" d="M1849.204,1016.5L1849.204,1086.5L1849.204,1150.5"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTc2MS44MDYyMTMzNzg5MDYyLCJ5IjoxMDE2LjV9LHsieCI6MTc2MS44MDYyMTMzNzg5MDYyLCJ5IjoxMTA3LjV9LHsieCI6MTE1MC4wMjI0NzAwOTI3NzMzLCJ5IjoxMTA3LjV9LHsieCI6MTE1MC4wMjI0NzAwOTI3NzMzLCJ5IjoxMTI1fV0=" data-id="id_Sudoku_Contrainte_3" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_Sudoku_Contrainte_3" d="M1761.806,1016.5L1761.806,1107.5L1150.022,1107.5L1150.022,1116.25L1150.022,1119"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTQ2Ni40Njc3NjUyOTk0NzkyLCJ5Ijo2ODl9LHsieCI6MTQ2Ni40Njc3NjUyOTk0NzkyLCJ5Ijo3MDYuNX0seyJ4IjoxNzkwLjkzODg1Mjk0NTk2MzYsInkiOjcwNi41fSx7IngiOjE3OTAuOTM4ODUyOTQ1OTYzNiwieSI6Nzk3LjV9XQ==" data-id="id_MultiDoku_Sudoku_4" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_MultiDoku_Sudoku_4" d="M1466.468,689L1466.468,706.5L1790.939,706.5L1790.939,752L1790.939,791.5"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTMxNC41MzcyMDI5NjIyMzk1LCJ5Ijo2ODl9LHsieCI6MTMxNC41MzcyMDI5NjIyMzk1LCJ5Ijo3ODB9LHsieCI6Njk5LjgyOTk4MDQ2ODc0OTksInkiOjc4MH0seyJ4Ijo2OTkuODI5OTgwNDY4NzQ5OSwieSI6Nzk3LjV9XQ==" data-id="id_MultiDoku_ContraintePartage_5" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_MultiDoku_ContraintePartage_5" d="M1314.537,689L1314.537,780L699.83,780L699.83,788.75L699.83,791.5"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MjE1My42MDQxNDEyMzUzNTE2LCJ5IjoxMzIzfSx7IngiOjIxNTMuNjA0MTQxMjM1MzUxNiwieSI6MTM5Ni41fSx7IngiOjE5MDAuMjU5Njg0MjQ0NzkxNSwieSI6MTM5Ni41fSx7IngiOjE5MDAuMjU5Njg0MjQ0NzkxNSwieSI6MTQxNH1d" data-id="id_Grille_Case_6" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_Grille_Case_6" d="M2153.604,1323L2153.604,1396.5L1900.26,1396.5L1900.26,1405.25L1900.26,1408"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTg0OS4yMDQxMzIwODAwNzgxLCJ5IjoxMjkxLjV9LHsieCI6MTg0OS4yMDQxMzIwODAwNzgxLCJ5IjoxNDE0fV0=" data-id="id_Bloc_Case_7" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_Bloc_Case_7" d="M1849.204,1291.5L1849.204,1352.75L1849.204,1408"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTg3NC43MzE5MDgxNjI0MzQ4LCJ5IjoxNTcwfSx7IngiOjE4NzQuNzMxOTA4MTYyNDM0OCwieSI6MTY2MX1d" data-id="id_Case_Symbole_8" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_Case_Symbole_8" d="M1874.732,1570L1874.732,1615.5L1874.732,1655"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTQ5OS4zOTQxNDY3Mjg1MTU2LCJ5Ijo0MjF9LHsieCI6MTQ5OS4zOTQxNDY3Mjg1MTU2LCJ5Ijo0MzguNX0seyJ4IjoxODMyLjQ1NTUxNTU0MzYxOTksInkiOjQzOC41fSx7IngiOjE4MzIuNDU1NTE1NTQzNjE5OSwieSI6NDY2LjV9LHsieCI6MTgzMi40NTU1MTU1NDM2MTk5LCJ5Ijo3MzQuNX0seyJ4IjoxODMyLjQ1NTUxNTU0MzYxOTksInkiOjc2Mi41fSx7IngiOjE5MDcuNDY5NDExMjE0MTkyNiwieSI6NzYyLjV9LHsieCI6MTkwNy40Njk0MTEyMTQxOTI2LCJ5Ijo3OTcuNX1d" data-id="id_Resolveur_Sudoku_9" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_Resolveur_Sudoku_9" d="M1499.394,421L1499.394,438.5L1832.456,438.5L1832.456,466.5L1832.456,734.5L1832.456,762.5L1907.469,762.5L1907.469,780L1907.469,791.5"/><path marker-end="url(#export-svg_class-dependencyEnd)" data-points="W3sieCI6MTM5MC41MDI0ODQxMzA4NTkzLCJ5Ijo0MjF9LHsieCI6MTM5MC41MDI0ODQxMzA4NTkzLCJ5Ijo1MTJ9XQ==" data-id="id_Resolveur_MultiDoku_10" data-et="edge" data-edge="true" style=";" class="edge-thickness-normal edge-pattern-solid relation" id="id_Resolveur_MultiDoku_10" d="M1390.502,421L1390.502,466.5L1390.502,506"/></g><g class="edgeLabels"><g transform="translate(2153.1124725341797, 1062)" class="edgeLabel"><g transform="translate(-24.508331298828125, -10.5)" data-id="id_Sudoku_Grille_1" class="label"><foreignObject height="21" width="49.01666259765625"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>contient</p></span></div></foreignObject></g></g><g transform="translate(1848.7124633789062, 1062)" class="edgeLabel"><g transform="translate(-24.508331298828125, -10.5)" data-id="id_Sudoku_Bloc_2" class="label"><foreignObject height="21" width="49.01666259765625"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>contient</p></span></div></foreignObject></g></g><g transform="translate(1761.7062149047852, 1062)" class="edgeLabel"><g transform="translate(-17.900001525878906, -10.5)" data-id="id_Sudoku_Contrainte_3" class="label"><foreignObject height="21" width="35.80000305175781"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>utilise</p></span></div></foreignObject></g></g><g transform="translate(1790.4471842447917, 734.5)" class="edgeLabel"><g transform="translate(-24.508331298828125, -10.5)" data-id="id_MultiDoku_Sudoku_4" class="label"><foreignObject height="21" width="49.01666259765625"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>contient</p></span></div></foreignObject></g></g><g transform="translate(1314.4372044881184, 734.5)" class="edgeLabel"><g transform="translate(-17.900001525878906, -10.5)" data-id="id_MultiDoku_ContraintePartage_5" class="label"><foreignObject height="21" width="35.80000305175781"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>utilise</p></span></div></foreignObject></g></g><g transform="translate(2153.1124725341797, 1368.5)" class="edgeLabel"><g transform="translate(-24.508331298828125, -10.5)" data-id="id_Grille_Case_6" class="label"><foreignObject height="21" width="49.01666259765625"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>contient</p></span></div></foreignObject></g></g><g transform="translate(1848.7124633789062, 1368.5)" class="edgeLabel"><g transform="translate(-24.508331298828125, -10.5)" data-id="id_Bloc_Case_7" class="label"><foreignObject height="21" width="49.01666259765625"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>contient</p></span></div></foreignObject></g></g><g transform="translate(1874.240239461263, 1615.5)" class="edgeLabel"><g transform="translate(-24.508331298828125, -10.5)" data-id="id_Case_Symbole_8" class="label"><foreignObject height="21" width="49.01666259765625"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>contient</p></span></div></foreignObject></g></g><g transform="translate(1832.3555170694988, 600.5)" class="edgeLabel"><g transform="translate(-24.900001525878906, -10.5)" data-id="id_Resolveur_Sudoku_9" class="label"><foreignObject height="21" width="49.80000305175781"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>agit_sur</p></span></div></foreignObject></g></g><g transform="translate(1390.4024856567382, 466.5)" class="edgeLabel"><g transform="translate(-24.900001525878906, -10.5)" data-id="id_Resolveur_MultiDoku_10" class="label"><foreignObject height="21" width="49.80000305175781"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>agit_sur</p></span></div></foreignObject></g></g><g transform="translate(1390.1858184814453, 213.5)" class="edgeLabel"><g transform="translate(-36.18333435058594, -10.5)" data-id="id_ResolveurRegles_Resolveur_11" class="label"><foreignObject height="21" width="72.36666870117188"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>implémente</p></span></div></foreignObject></g></g><g transform="translate(1719.392753092448, 213.5)" class="edgeLabel"><g transform="translate(-36.18333435058594, -10.5)" data-id="id_ResolveurBacktrace_Resolveur_12" class="label"><foreignObject height="21" width="72.36666870117188"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>implémente</p></span></div></foreignObject></g></g><g transform="translate(1839.3955327351887, 213.5)" class="edgeLabel"><g transform="translate(-17.900001525878906, -10.5)" data-id="id_ResolveurBacktrace_Backtrace_13" class="label"><foreignObject height="21" width="35.80000305175781"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>utilise</p></span></div></foreignObject></g></g><g transform="translate(998.0458068847656, 1062)" class="edgeLabel"><g transform="translate(-36.18333435058594, -10.5)" data-id="id_ContrainteLigne_Contrainte_14" class="label"><foreignObject height="21" width="72.36666870117188"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>implémente</p></span></div></foreignObject></g></g><g transform="translate(1435.5207977294922, 1062)" class="edgeLabel"><g transform="translate(-36.18333435058594, -10.5)" data-id="id_ContrainteColonne_Contrainte_15" class="label"><foreignObject height="21" width="72.36666870117188"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>implémente</p></span></div></foreignObject></g></g><g transform="translate(208.84165954589844, 1062)" class="edgeLabel"><g transform="translate(-36.18333435058594, -10.5)" data-id="id_ContrainteBloc_Contrainte_16" class="label"><foreignObject height="21" width="72.36666870117188"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>implémente</p></span></div></foreignObject></g></g><g transform="translate(570.2566497802734, 734.5)" class="edgeLabel"><g transform="translate(-36.18333435058594, -10.5)" data-id="id_ContrainteLignePartage_ContraintePartage_17" class="label"><foreignObject height="21" width="72.36666870117188"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>implémente</p></span></div></foreignObject></g></g><g transform="translate(951.7233093261718, 734.5)" class="edgeLabel"><g transform="translate(-36.18333435058594, -10.5)" data-id="id_ContrainteColonnePartage_ContraintePartage_18" class="label"><foreignObject height="21" width="72.36666870117188"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>implémente</p></span></div></foreignObject></g></g><g transform="translate(195.20249633789064, 734.5)" class="edgeLabel"><g transform="translate(-36.18333435058594, -10.5)" data-id="id_ContrainteBlocPartage_ContraintePartage_19" class="label"><foreignObject height="21" width="72.36666870117188"><div class="labelBkg" xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: normal; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"><p>implémente</p></span></div></foreignObject></g></g><g transform="translate(1934.7454484360724, 1035.8566014810438)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g></g><g transform="translate(1834.204131040039, 1033.999999108538)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g></g><g transform="translate(1746.806211689453, 1033.9999985518973)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g></g><g transform="translate(1464.6111673564142, 708.3566031422708)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g></g><g transform="translate(1299.5372014811196, 706.4999987304687)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g></g><g transform="translate(2138.6041406176755, 1340.4999994705636)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g></g><g transform="translate(1834.204131040039, 1308.999999108538)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g></g><g transform="translate(1859.7319090812175, 1587.5000007875278)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g></g><g transform="translate(1497.5375476378692, 440.3566027092076)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g></g><g transform="translate(1375.5024820654298, 438.4999982296318)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g></g><g transform="translate(1849.495530604655, 236.49999948172436)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"/><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g><g transform="translate(2163.6041406176755, 1102.4999994705636)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"/><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g><g transform="translate(1859.204131040039, 1133.999999108538)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"/><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">N</span></div></foreignObject></g><g transform="translate(1164.3790717922996, 1121.8566016896837)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"/><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">*</span></div></foreignObject></g><g transform="translate(1800.9388514729817, 774.9999987374441)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"/><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">*</span></div></foreignObject></g><g transform="translate(714.1865820942259, 794.3566015757456)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"/><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">*</span></div></foreignObject></g><g transform="translate(1914.61628512656, 1410.8566004314318)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"/><foreignObject style="width: 27px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">N*N</span></div></foreignObject></g><g transform="translate(1859.204131040039, 1391.499999108538)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"/><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">N</span></div></foreignObject></g><g transform="translate(1884.7319090812175, 1638.5000007875278)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"/><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g><g transform="translate(1917.4694112141926, 775)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"/><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g><g transform="translate(1400.5024820654298, 489.4999982296318)" class="edgeTerminals"><g transform="translate(0, 0)" class="inner"/><foreignObject style="width: 9px; height: 12px;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; padding-right: 1px; white-space: nowrap;"><span class="edgeLabel">1</span></div></foreignObject></g></g></svg>