-
Notifications
You must be signed in to change notification settings - Fork 63
/
flow.dio
3 lines (3 loc) · 34.5 KB
/
flow.dio
1
2
3
<?xml version="1.0" encoding="UTF-8"?>
<!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" version="1.1" width="733px" height="888px" viewBox="-0.5 -0.5 733 888" content="<mxfile host="app.diagrams.net" modified="2020-09-21T12:37:25.064Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36" etag="CQCEvBdyre-ouXV7XKGs" version="13.7.3" type="google"><diagram id="b_-GWFR2fzGXlOr2kswI" name="Page-1">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</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs/><g><rect x="0" y="827" width="430" height="60" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 428px; height: 1px; padding-top: 857px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 24px">Database</font></div></div></div></foreignObject><text x="215" y="861" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Database</text></switch></g><path d="M 215 820.63 L 215 773.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215 825.88 L 211.5 818.88 L 215 820.63 L 218.5 818.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 215 768.12 L 218.5 775.12 L 215 773.37 L 211.5 775.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 215 7 L 240 7 L 240 20.63" fill="none" stroke="#000000" stroke-miterlimit="10" transform="translate(2,3)" opacity="0.25"/><path d="M 215 7 L 240 7 L 240 20.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 240 25.88 L 236.5 18.88 L 240 20.63 L 243.5 18.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="0" y="7" width="430" height="120" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="0" y="7" width="430" height="120" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 428px; height: 1px; padding-top: 67px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 24px"> Page</font></div></div></div></foreignObject><text x="2" y="71" fill="#000000" font-family="Helvetica" font-size="12px"> Page</text></switch></g><rect x="120" y="22" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="120" y="22" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 42px; margin-left: 121px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">HomePage</div></div></div></foreignObject><text x="190" y="46" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">HomePage</text></switch></g><rect x="120" y="77" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="120" y="77" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 97px; margin-left: 121px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">UserPage</div></div></div></foreignObject><text x="190" y="101" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">UserPage</text></switch></g><rect x="270" y="22" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="270" y="22" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 42px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">ConversationPage</div></div></div></foreignObject><text x="340" y="46" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">ConversationPage</text></switch></g><path d="M 215 227 L 215 133.37" fill="none" stroke="#000000" stroke-miterlimit="10" transform="translate(2,3)" opacity="0.25"/><path d="M 215 227 L 215 133.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215 128.12 L 218.5 135.12 L 215 133.37 L 211.5 135.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 215 647 L 240 647 L 240 660.63" fill="none" stroke="#000000" stroke-miterlimit="10" transform="translate(2,3)" opacity="0.25"/><path d="M 215 647 L 240 647 L 240 660.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 240 665.88 L 236.5 658.88 L 240 660.63 L 243.5 658.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="0" y="647" width="430" height="120" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="0" y="647" width="430" height="120" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 428px; height: 1px; padding-top: 707px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 36px"> </font><font style="font-size: 24px">DAO</font></div></div></div></foreignObject><text x="2" y="711" fill="#000000" font-family="Helvetica" font-size="12px"> DAO</text></switch></g><rect x="120" y="662" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="120" y="662" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 682px; margin-left: 121px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">UserDao</div></div></div></foreignObject><text x="190" y="686" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">UserDao</text></switch></g><rect x="120" y="717" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="120" y="717" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 737px; margin-left: 121px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">AssetDao</div></div></div></foreignObject><text x="190" y="741" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">AssetDao</text></switch></g><rect x="270" y="662" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="270" y="662" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 682px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">MessageDao</div></div></div></foreignObject><text x="340" y="686" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">MessageDao</text></switch></g><path d="M 215 647 L 215 553.37" fill="none" stroke="#000000" stroke-miterlimit="10" transform="translate(2,3)" opacity="0.25"/><path d="M 215 647 L 215 553.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215 548.12 L 218.5 555.12 L 215 553.37 L 211.5 555.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="270" y="77" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="270" y="77" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 97px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">...</div></div></div></foreignObject><text x="340" y="101" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">...</text></switch></g><rect x="270" y="717" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="270" y="717" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 737px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">...</div></div></div></foreignObject><text x="340" y="741" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">...</text></switch></g><g fill="#000000" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="214.5" y="444.5">`</text></g><path d="M 215 427 L 240 427 L 240 440.63" fill="none" stroke="#000000" stroke-miterlimit="10" transform="translate(2,3)" opacity="0.25"/><path d="M 215 427 L 240 427 L 240 440.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 240 445.88 L 236.5 438.88 L 240 440.63 L 243.5 438.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="0" y="427" width="430" height="120" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="0" y="427" width="430" height="120" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 428px; height: 1px; padding-top: 487px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="font-size: 36px"> </span><font style="font-size: 24px">Model</font></div></div></div></foreignObject><text x="2" y="491" fill="#000000" font-family="Helvetica" font-size="12px"> Model</text></switch></g><rect x="120" y="442" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="120" y="442" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 462px; margin-left: 121px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">ConversationViewModel</div></div></div></foreignObject><text x="190" y="466" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">ConversationViewModel</text></switch></g><rect x="120" y="497" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="120" y="497" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 517px; margin-left: 121px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">MessageViewModel</div></div></div></foreignObject><text x="190" y="521" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">MessageViewModel</text></switch></g><rect x="270" y="442" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="270" y="442" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 462px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">UserViewmodel</div></div></div></foreignObject><text x="340" y="466" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">UserViewmodel</text></switch></g><rect x="270" y="497" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="270" y="497" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 517px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">...</div></div></div></foreignObject><text x="340" y="521" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">...</text></switch></g><path d="M 215 227 L 240 227 L 240 240.63" fill="none" stroke="#000000" stroke-miterlimit="10" transform="translate(2,3)" opacity="0.25"/><path d="M 215 227 L 240 227 L 240 240.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 240 245.88 L 236.5 238.88 L 240 240.63 L 243.5 238.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="0" y="227" width="430" height="120" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="0" y="227" width="430" height="120" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 428px; height: 1px; padding-top: 287px; margin-left: 2px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 24px"> Widget</font></div></div></div></foreignObject><text x="2" y="291" fill="#000000" font-family="Helvetica" font-size="12px"> Widget</text></switch></g><rect x="120" y="242" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="120" y="242" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 262px; margin-left: 121px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">ConversationViewModel</div></div></div></foreignObject><text x="190" y="266" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">ConversationViewModel</text></switch></g><rect x="120" y="297" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="120" y="297" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 317px; margin-left: 121px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">MessageViewModel</div></div></div></foreignObject><text x="190" y="321" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">MessageViewModel</text></switch></g><rect x="270" y="242" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="270" y="242" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 262px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">UserViewmodel</div></div></div></foreignObject><text x="340" y="266" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">UserViewmodel</text></switch></g><rect x="270" y="297" width="140" height="40" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="270" y="297" width="140" height="40" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 317px; margin-left: 271px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">...</div></div></div></foreignObject><text x="340" y="321" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">...</text></switch></g><path d="M 215 427 L 215 353.37" fill="none" stroke="#000000" stroke-miterlimit="10" transform="translate(2,3)" opacity="0.25"/><path d="M 215 427 L 215 353.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 215 348.12 L 218.5 355.12 L 215 353.37 L 211.5 355.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 430 707 L 620 707 L 620 576.87" fill="none" stroke="#000000" stroke-miterlimit="10" transform="translate(2,3)" opacity="0.25"/><path d="M 430 707 L 620 707 L 620 576.87" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 620 571.62 L 623.5 578.62 L 620 576.87 L 616.5 578.62 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><rect x="510" y="7" width="220" height="563.5" rx="33" ry="33" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="510" y="7" width="220" height="563.5" rx="33" ry="33" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 218px; height: 1px; padding-top: 289px; margin-left: 511px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><font style="font-size: 24px">Redux</font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><font style="font-size: 24px"><br /></font></div><div><br /></div></div></div></div></foreignObject><text x="620" y="292" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Redux...</text></switch></g><rect x="557.14" y="97" width="125.71" height="41.38" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="557.14" y="97" width="125.71" height="41.38" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 124px; height: 1px; padding-top: 118px; margin-left: 558px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 18px">ThemeRedux</font></div></div></div></foreignObject><text x="620" y="121" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">ThemeRedux</text></switch></g><rect x="557.14" y="172.87" width="125.71" height="41.38" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="557.14" y="172.87" width="125.71" height="41.38" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 124px; height: 1px; padding-top: 194px; margin-left: 558px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 18px">LocaleRedux</font></div></div></div></foreignObject><text x="620" y="197" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">LocaleRedux</text></switch></g><rect x="557.14" y="248.74" width="125.71" height="41.38" fill="#000000" stroke="#000000" transform="translate(2,3)" opacity="0.25"/><rect x="557.14" y="248.74" width="125.71" height="41.38" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 124px; height: 1px; padding-top: 269px; margin-left: 558px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 18px">DataRedux</font></div></div></div></foreignObject><text x="620" y="273" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">DataRedux</text></switch></g><path d="M 510 288.75 L 470 288.8 L 470 287 L 436.37 287" fill="none" stroke="#000000" stroke-miterlimit="10" transform="translate(2,3)" opacity="0.25"/><path d="M 510 288.75 L 470 288.8 L 470 287 L 436.37 287" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 431.12 287 L 438.12 283.5 L 436.37 287 L 438.12 290.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 430 487 L 470 487 L 470 590.5 L 620 590.5 L 620 576.87" fill="none" stroke="#000000" stroke-miterlimit="10" transform="translate(2,3)" opacity="0.25"/><path d="M 430 487 L 470 487 L 470 590.5 L 620 590.5 L 620 576.87" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 620 571.62 L 623.5 578.62 L 620 576.87 L 616.5 578.62 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>