weacast/weacast

View on GitHub
docs/assets/domain-model.svg

Summary

Maintainability
Test Coverage
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="821px" height="1061px" version="1.1" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><path d="M 0 0 L 150 0 L 150 35 L 140 50 L 0 50 Z" fill="#ffffff" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 150 0 L 820 0 L 820 1060 L 0 1060 L 0 50" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(19.5,10.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="113" height="30" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 114px; white-space: nowrap; word-wrap: normal; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Weacast<div>Domain Model</div></div></div></foreignObject><text x="57" y="22" fill="#000000" text-anchor="middle" font-size="14px" font-family="Verdana" font-weight="bold">Weacast&lt;div&gt;Domain Model&lt;/div&gt;</text></switch></g><rect x="330" y="127" width="160" height="110" fill="#ffffff" stroke="#000000" pointer-events="none"/><path d="M 330 153 L 330 127 L 490 127 L 490 153 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(351.5,134.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="116" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Forecast element</div></div></foreignObject><text x="58" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana" font-weight="bold">Forecast element</text></switch></g><g transform="translate(335.5,159.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="77" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 22px; max-width: 148px; width: 78px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ name: string</div></div></foreignObject><text x="39" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ name: string</text></switch></g><g transform="translate(335.5,185.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="136" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 22px; max-width: 148px; width: 137px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ forecastTime: date/time</div></div></foreignObject><text x="68" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ forecastTime: date/time</text></switch></g><g transform="translate(335.5,211.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="132" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 22px; max-width: 148px; width: 133px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ data: array of numbers</div></div></foreignObject><text x="66" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ data: array of numbers</text></switch></g><rect x="320" y="662" width="170" height="92" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(320.5,662.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="168" height="90" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 169px; height: 91px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b><font face="Verdana">On-demand probe</font></b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px"><span>+ features: probe results</span><br />+ forecastTime: Type</p><hr size="1" /><p style="margin: 0px ; margin-left: 4px">+ create(time): probe results<br /><br /></p></div></foreignObject><text x="84" y="51" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 230 182 L 325.53 182" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 315.76 188 L 327.76 182 L 315.76 176" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(248.5,197.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="63" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">implements<div>as API</div></div></div></foreignObject><text x="32" y="19" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="20" y="118" width="210" height="128" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(20.5,118.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="208" height="126" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 209px; height: 127px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><i>&lt;&lt;Interface&gt;&gt;</i><br /><b><font face="Verdana">Forecast model grid</font></b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px">+ bounds: geographical bounds<br />+ resolution: grid pixel resolution</p><hr size="1" /><p style="margin: 0px ; margin-left: 4px">+ getValue(i, j): number<br />+ interpolateValue(lon, lat): number</p></div></foreignObject><text x="104" y="69" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 199 633 L 260 633 L 260 570 L 315.53 570" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 305.76 576 L 317.76 570 L 305.76 564" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(228.5,588.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="63" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">implements</div></div></foreignObject><text x="32" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">implements</text></switch></g><path d="M 199 651 L 260 651 L 260 708 L 315.53 708" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 305.76 714 L 317.76 708 L 305.76 702" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(230.5,681.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="63" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">implements</div></div></foreignObject><text x="32" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">implements</text></switch></g><rect x="40" y="578" width="159" height="110" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(40.5,578.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="157" height="108" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 158px; height: 109px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><i>&lt;&lt;Interface&gt;&gt;</i><br /><b><font face="Verdana">Probe</font></b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px"><span>+ elements: strings</span><br /><span>+ forecast: string</span><br /></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px"><span>+ probe(time): probe results</span><br /></p></div></foreignObject><text x="79" y="60" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="320" y="510" width="170" height="120" fill="#ffffff" stroke="#0d0d0d" pointer-events="none"/><path d="M 320 540 L 320 510 L 490 510 L 490 540 Z" fill="none" stroke="#0d0d0d" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(353.5,517.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="103" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><font face="Verdana">Probing stream</font></div></div></foreignObject><text x="52" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica" font-weight="bold">&lt;font face="Verdana"&gt;Probing stream&lt;/font&gt;</text></switch></g><g transform="translate(325.5,546.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="109" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 22px; max-width: 158px; width: 110px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ features: locations</div></div></foreignObject><text x="55" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ features: locations</text></switch></g><path d="M 320 570 L 490 570" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(325.5,580.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="133" height="40" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 52px; max-width: 158px; width: 134px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ create(): probe results<div>+ update(): probe results<br /><div>+ delete()</div></div></div></div></foreignObject><text x="67" y="26" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><rect x="600" y="250" width="160" height="110" fill="#ffffff" stroke="#0d0d0d" pointer-events="none"/><path d="M 600 278 L 600 250 L 760 250 L 760 278 Z" fill="none" stroke="#0d0d0d" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(634.5,257.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="90" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><font style="font-size: 12px" face="Verdana">Forecast data</font></div></div></foreignObject><text x="45" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica" font-weight="bold">[Not supported by viewer]</text></switch></g><g transform="translate(605.5,284.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="111" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 22px; max-width: 148px; width: 112px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ runTime: date/time</div></div></foreignObject><text x="56" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ runTime: date/time</text></switch></g><path d="M 600 308 L 760 308" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(605.5,318.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="148" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 42px; max-width: 148px; width: 148px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ updateForecastData(): forecast elements</div></div></foreignObject><text x="74" y="19" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ updateForecastData(): forecast elements</text></switch></g><rect x="600" y="84" width="160" height="61" fill="#ffffff" stroke="#000000" pointer-events="none"/><path d="M 600 110 L 600 84 L 760 84 L 760 110 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(618.5,91.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="123" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Forecast time step</div></div></foreignObject><text x="62" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana" font-weight="bold">Forecast time step</text></switch></g><g transform="translate(605.5,116.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="116" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 20px; max-width: 148px; width: 117px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ timeOffset: seconds</div></div></foreignObject><text x="58" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ timeOffset: seconds</text></switch></g><path d="M 582.03 115 L 555 115 Q 545 115 545 125 L 545 156 Q 545 166 535 166 L 494.47 166" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 598.03 115 L 590.03 119.71 L 582.03 115 L 590.03 110.29 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 506.24 159 L 492.24 166 L 506.24 173" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(601.5,102.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="7" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="4" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">1</text></switch></g><g transform="translate(587.5,128.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="7" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="4" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">1</text></switch></g><g transform="translate(500.5,176.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1..*</div></div></foreignObject><text x="9" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">1..*</text></switch></g><g transform="translate(511.5,94.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="57" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">belongs to</div></div></foreignObject><text x="29" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">belongs to</text></switch></g><path d="M 680 232.03 L 680 149.47" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 680 248.03 L 675.29 240.03 L 680 232.03 L 684.71 240.03 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 687 161.24 L 680 147.24 L 673 161.24" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(656.5,225.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="7" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="4" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">1</text></switch></g><g transform="translate(701.5,160.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1..*</div></div></foreignObject><text x="9" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">1..*</text></switch></g><g transform="translate(617.5,186.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="46" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">contains</div></div></foreignObject><text x="23" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">contains</text></switch></g><rect x="330" y="303" width="160" height="110" fill="#ffffff" stroke="#000000" pointer-events="none"/><path d="M 330 329 L 330 303 L 490 303 L 490 329 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(358.5,310.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="102" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Forecast model</div></div></foreignObject><text x="51" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana" font-weight="bold">Forecast model</text></switch></g><g transform="translate(335.5,335.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="77" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 22px; max-width: 148px; width: 78px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ name: string</div></div></foreignObject><text x="39" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ name: string</text></switch></g><g transform="translate(335.5,361.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="120" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 22px; max-width: 148px; width: 121px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ runInterval: seconds</div></div></foreignObject><text x="60" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ runInterval: seconds</text></switch></g><g transform="translate(335.5,387.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="102" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 22px; max-width: 148px; width: 103px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ interval: seconds</div></div></foreignObject><text x="51" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ interval: seconds</text></switch></g><path d="M 125 246 L 125 358 Q 125 368 135 368 L 330 368" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><g transform="translate(118.5,375.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="98" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">defines target grid</div></div></foreignObject><text x="49" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">defines target grid</text></switch></g><path d="M 410 237 L 410 303" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><g transform="translate(417.5,264.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="106" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">defines target set of</div></div></foreignObject><text x="53" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">defines target set of</text></switch></g><path d="M 680 360 L 680 384 Q 680 394 670 394 L 490 394" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><g transform="translate(529.5,407.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="121" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">generates target set of</div></div></foreignObject><text x="61" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">generates target set of</text></switch></g><path d="M 260 40 L 406 40 L 420 54 L 420 76 L 260 76 L 260 40 Z" fill="none" stroke="#0d0d0d" stroke-miterlimit="10" pointer-events="none"/><path d="M 406 40 L 406 54 L 420 54" fill="none" stroke="#0d0d0d" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(262.5,41.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="156" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; width: 156px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">e.g. wind u-component or temperature</div></div></foreignObject><text x="78" y="19" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">e.g. wind u-component or temperature</text></switch></g><path d="M 340 76 L 340 92 Q 340 102 350 102 L 409 102 Q 419 102 419 112 L 419 124" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><rect x="604" y="578" width="170" height="120" fill="#ffffff" stroke="#000000" pointer-events="none"/><path d="M 604 604 L 604 578 L 774 578 L 774 604 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(647.5,585.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="82" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Probe result</div></div></foreignObject><text x="41" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana" font-weight="bold">Probe result</text></switch></g><g transform="translate(609.5,610.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="142" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 22px; max-width: 158px; width: 143px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ probe: generating probe</div></div></foreignObject><text x="71" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ probe: generating probe</text></switch></g><g transform="translate(609.5,636.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="136" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 22px; max-width: 158px; width: 137px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ forecastTime: date/time</div></div></foreignObject><text x="68" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ forecastTime: date/time</text></switch></g><g transform="translate(609.5,662.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="158" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 38px; max-width: 158px; width: 158px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ probedValues: map of elements/numbers</div></div></foreignObject><text x="79" y="19" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ probedValues: map of elements/numbers</text></switch></g><path d="M 507.97 553 L 537 553 Q 547 553 547 563 L 547 607 Q 547 617 557 617 L 599.53 617" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 491.97 553 L 499.97 548.29 L 507.97 553 L 499.97 557.71 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 587.76 624 L 601.76 617 L 587.76 610" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(497.5,529.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="7" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="4" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">1</text></switch></g><g transform="translate(575.5,589.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">0..*</div></div></foreignObject><text x="9" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">0..*</text></switch></g><g transform="translate(538.5,531.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="87" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">generates set of</div></div></foreignObject><text x="44" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">generates set of</text></switch></g><path d="M 507.97 708 L 537 708 Q 547 708 547 698 L 547 653 Q 547 643 557 643 L 599.53 643" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 491.97 708 L 499.97 703.29 L 507.97 708 L 499.97 712.71 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 587.76 650 L 601.76 643 L 587.76 636" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(497.5,684.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="7" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="4" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">1</text></switch></g><g transform="translate(577.5,657.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">0..*</div></div></foreignObject><text x="9" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">0..*</text></switch></g><g transform="translate(532.5,718.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="139" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">computes on-the-fly set of</div></div></foreignObject><text x="70" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">computes on-the-fly set of</text></switch></g><rect x="80" y="853" width="170" height="154" fill="#ffffff" stroke="#000000" pointer-events="none"/><path d="M 80 879 L 80 853 L 250 853 L 250 879 Z" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(107.5,860.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="115" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Verdana; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Query parameter</div></div></foreignObject><text x="58" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Verdana" font-weight="bold">Query parameter</text></switch></g><g transform="translate(85.5,885.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="122" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 20px; max-width: 158px; width: 123px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ targetElement: string</div></div></foreignObject><text x="61" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ targetElement: string</text></switch></g><g transform="translate(85.5,909.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="158" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 36px; max-width: 158px; width: 158px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ targetValue: type of target  element</div></div></foreignObject><text x="79" y="19" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ targetValue: type of target &amp;nbsp;element</text></switch></g><g transform="translate(85.5,949.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="158" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 34px; max-width: 158px; width: 158px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ comparisonOperator: operator and operands</div></div></foreignObject><text x="79" y="19" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ comparisonOperator: operator and operands</text></switch></g><g transform="translate(85.5,987.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="151" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; overflow: hidden; max-height: 22px; max-width: 158px; width: 152px; white-space: normal; word-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">+ spatialOperator: geometry</div></div></foreignObject><text x="76" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">+ spatialOperator: geometry</text></switch></g><rect x="420" y="881" width="190" height="83" fill="#ffffff" stroke="#000000" pointer-events="none"/><g transform="translate(420.5,881.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="188" height="81" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 189px; height: 82px; overflow: hidden; white-space: nowrap;"><p style="margin: 0px ; margin-top: 4px ; text-align: center"><b><font face="Verdana">Probe result query</font></b></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px"><span>+ parameters: query parameters</span><br /></p><hr size="1" /><p style="margin: 0px ; margin-left: 4px">+ run(): probe results<br /><br /></p></div></foreignObject><text x="94" y="47" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 402.03 923 L 254.47 923" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 418.03 923 L 410.03 927.71 L 402.03 923 L 410.03 918.29 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 266.24 916 L 252.24 923 L 266.24 930" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(405.5,903.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="7" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">1</div></div></foreignObject><text x="4" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">1</text></switch></g><g transform="translate(253.5,937.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="18" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">0..*</div></div></foreignObject><text x="9" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">0..*</text></switch></g><g transform="translate(303.5,934.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="74" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">configured by</div></div></foreignObject><text x="37" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">configured by</text></switch></g><path d="M 610 923 L 729 923 Q 739 923 739 913 L 739 698" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><g transform="translate(671.5,814.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="58" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(10, 10, 10); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">references</div></div></foreignObject><text x="29" y="12" fill="#0A0A0A" text-anchor="middle" font-size="12px" font-family="Helvetica">references</text></switch></g></g></svg>