1<?xml version="1.0" encoding="UTF-8"?>
2<!-- Do not edit this file with editors other than diagrams.net -->
3<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1292px" height="582px" viewBox="-0.5 -0.5 1292 582" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2023-02-23T09:09:57.035Z&quot; agent=&quot;5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36&quot; etag=&quot;yLQbZwC1y7tSuCipqXV3&quot; version=&quot;20.8.23&quot; type=&quot;device&quot;&gt;&lt;diagram name=&quot;Page-1&quot; id=&quot;C50KTVw_eySCdgQrAY2m&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 1002 385 C 1004.76 385 1007 387.24 1007 390 L 1007 567.08 Q 967 543.84 927 567.08 Q 887 590.33 847 567.08 L 847 397.92 L 847 390 C 847 387.24 849.24 385 852 385 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="926.5" y="402.5">config_tfm.h</text></g><rect x="371" y="0" width="240" height="180" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 238px; height: 1px; padding-top: 7px; margin-left: 373px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CMake Variables</div></div></div></foreignObject><text x="373" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">CMake Variables</text></switch></g><rect x="1083" y="397" width="160" height="108" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 404px; margin-left: 1163px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;"><span style="font-weight: normal;">Component</span></div></div></div></foreignObject><text x="1163" y="416" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Component</text></switch></g><path d="M 1220 404 L 1236 404 L 1236 424 L 1220 424 L 1220 420 L 1216 420 L 1216 416 L 1220 416 L 1220 412 L 1216 412 L 1216 408 L 1220 408 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1220 408 L 1224 408 L 1224 412 L 1220 412 M 1220 416 L 1224 416 L 1224 420 L 1220 420" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="1073" y="388" width="160" height="108" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 395px; margin-left: 1153px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: nowrap;"><span style="font-weight: normal;">Component</span></div></div></div></foreignObject><text x="1153" y="407" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Component</text></switch></g><path d="M 1210 395 L 1226 395 L 1226 415 L 1210 415 L 1210 411 L 1206 411 L 1206 407 L 1210 407 L 1210 403 L 1206 403 L 1206 399 L 1210 399 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1210 399 L 1214 399 L 1214 403 L 1210 403 M 1210 407 L 1214 407 L 1214 411 L 1210 411" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 401 270 L 434.63 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 439.88 270 L 432.88 273.5 L 434.63 270 L 432.88 266.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="351" cy="270" rx="50" ry="30" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="350.5" y="267.5">Command line</text><text x="350.5" y="281.5">input</text></g><path d="M 541 270 L 657.63 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 662.88 270 L 655.88 273.5 L 657.63 270 L 655.88 266.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 536.45 220 C 538.31 220.02 539.79 220.64 540.4 221.65 C 541.01 222.66 540.7 223.95 539.54 225.1 L 442.46 314.9 C 441.3 316.05 440.99 317.34 441.6 318.35 C 442.21 319.36 443.69 319.98 445.55 320 L 536.45 320 C 538.31 319.98 539.79 319.36 540.4 318.35 C 541.01 317.34 540.7 316.05 539.54 314.9 L 442.46 225.1 C 441.3 223.95 440.99 222.66 441.6 221.65 C 442.21 220.64 443.69 220.02 445.55 220 L 536.45 220 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 531 30 C 533.76 30 536 32.24 536 35 L 536 73.75 Q 513.5 62.5 491 73.75 Q 468.5 85 446 73.75 L 446 36.25 L 446 35 C 446 32.24 448.24 30 451 30 Z" fill="#f5f5f5" stroke="#666666" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="#333333" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="490.5" y="47.5">Platform config</text></g><path d="M 491.09 160.2 L 491.01 213.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 491 218.88 L 487.51 211.88 L 491.01 213.63 L 494.51 211.89 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 967 414 C 969.76 414 972 416.24 972 419 L 972 457.75 Q 949.5 446.5 927 457.75 Q 904.5 469 882 457.75 L 882 420.25 L 882 419 C 882 416.24 884.24 414 887 414 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="926.5" y="431.5">config_base.h</text></g><path d="M 927 385 L 1007.5 304.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1011.21 300.79 L 1008.73 308.22 L 1007.5 304.5 L 1003.78 303.27 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 967 494 C 969.76 494 972 496.24 972 499 L 972 546.5 Q 949.5 533 927 546.5 Q 904.5 560 882 546.5 L 882 501.5 L 882 499 C 882 496.24 884.24 494 887 494 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="926.5" y="511.5">Target config</text><text x="926.5" y="525.5">header file</text></g><path d="M 693 187.33 L 693 160.67 C 693 156.98 709.12 154 729 154 C 748.88 154 765 156.98 765 160.67 L 765 187.33 C 765 191.02 748.88 194 729 194 C 709.12 194 693 191.02 693 187.33 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 693 160.67 C 693 164.35 709.12 167.33 729 167.33 C 748.88 167.33 765 164.35 765 160.67" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 729 240 L 729 200.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 729 195.12 L 732.5 202.12 L 729 200.37 L 725.5 202.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 729 333 L 729 306.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 729 301.12 L 732.5 308.12 L 729 306.37 L 725.5 308.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 794 270 L 940.63 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 945.88 270 L 938.88 273.5 L 940.63 270 L 938.88 266.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="664" y="240" width="130" height="60" rx="7" ry="7" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="728.5" y="274.5">CMake configuration</text></g><rect x="664" y="333" width="130" height="40" rx="7" ry="7" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="728.5" y="357.5">Invalid config check</text></g><rect x="1119" y="89" width="156" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 154px; height: 1px; padding-top: 96px; margin-left: 1121px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Header file config system</span></div></div></div></foreignObject><text x="1121" y="108" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Header file config system</text></switch></g><rect x="947" y="240" width="130" height="60" rx="7" ry="7" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="1011.5" y="274.5">CMake Building</text></g><path d="M 927 494 L 927 464.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 927 459.12 L 930.5 466.12 L 927 464.37 L 923.5 466.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="1063" y="381" width="160" height="108" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="12px"><text x="1142.5" y="398.5">Component A</text></g><path d="M 1200 388 L 1216 388 L 1216 408 L 1200 408 L 1200 404 L 1196 404 L 1196 400 L 1200 400 L 1200 396 L 1196 396 L 1196 392 L 1200 392 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1200 392 L 1204 392 L 1204 396 L 1200 396 M 1200 400 L 1204 400 L 1204 404 L 1200 404" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1200 419 C 1202.76 419 1205 421.24 1205 424 L 1205 471.5 Q 1175.25 458 1145.5 471.5 Q 1115.75 485 1086 471.5 L 1086 426.5 L 1086 424 C 1086 421.24 1088.24 419 1091 419 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="1145" y="436.5">config_&lt;A&gt;_check.h</text></g><path d="M 1143 381 L 1017.42 303.35" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1012.95 300.59 L 1020.75 301.29 L 1017.42 303.35 L 1017.06 307.25 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1007.32 448.96 L 1079.63 449" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1084.88 449 L 1077.88 452.5 L 1079.63 449 L 1077.88 445.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1229.5 300 L 1197 300 Q 1191 300 1193.15 294.4 L 1211.85 245.6 Q 1214 240 1220 240 L 1285 240 Q 1291 240 1288.85 245.6 L 1270.15 294.4 Q 1268 300 1262 300 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="1240.5" y="267.5">TF-M</text><text x="1240.5" y="281.5">Binaries</text></g><path d="M 1077 270 L 1196.13 270" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1201.38 270 L 1194.38 273.5 L 1196.13 270 L 1194.38 266.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="371" y="116" width="60" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="372.5" y="133.5">Override</text></g><path d="M 531 116 C 533.76 116 536 118.24 536 121 L 536 159.75 Q 513.5 148.5 491 159.75 Q 468.5 171 446 159.75 L 446 122.25 L 446 121 C 446 118.24 448.24 116 451 116 Z" fill="#f5f5f5" stroke="#666666" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="#333333" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="490.5" y="133.5">Base config</text></g><path d="M 490.82 75.2 L 490.97 109.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 491 114.88 L 487.46 107.9 L 490.97 109.63 L 494.46 107.87 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="781" y="410" width="60" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="810.5" y="427.5">Override</text></g><rect x="931" y="465" width="60" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="960.5" y="482.5">Override</text></g><path d="M 1104 133.5 C 1106.76 133.5 1109 135.74 1109 138.5 L 1109 160.63 Q 1101 153.65 1093 160.63 Q 1085 167.6 1077 160.63 L 1077 137.38 L 1077 138.5 C 1077 135.74 1079.24 133.5 1082 133.5 Z" fill="#f5f5f5" stroke="#666666" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="674" y="127" width="110" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 134px; margin-left: 675px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">CMakeCache</span></div></div></div></foreignObject><text x="729" y="146" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">CMakeCache</text></switch></g><rect x="1119" y="136" width="156" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 154px; height: 1px; padding-top: 143px; margin-left: 1121px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Legacy CMake based config</span></div></div></div></foreignObject><text x="1121" y="155" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Legacy CMake based config</text></switch></g><rect x="1038" y="4" width="110" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 11px; margin-left: 1039px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Legend</span></div></div></div></foreignObject><text x="1093" y="23" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">Legend</text></switch></g><rect x="491" y="81" width="60" height="26" fill="none" stroke="none" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px"><text x="492.5" y="98.5">Override</text></g><rect x="1" y="240" width="120" height="60" rx="7" ry="7" fill="#d5e8d4" stroke="#82b366" stroke-width="2" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="60.5" y="274.5">TF-M Kconfig tool</text></g><path d="M 296 116 C 298.76 116 301 118.24 301 121 L 301 159.75 Q 278.5 148.5 256 159.75 Q 233.5 171 211 159.75 L 211 122.25 L 211 121 C 211 118.24 213.24 116 216 116 Z" fill="#d5e8d4" stroke="#82b366" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="255.5" y="133.5">CMake config</text></g><path d="M 301 141 L 439.63 141" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 444.88 141 L 437.88 144.5 L 439.63 141 L 437.88 137.5 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 121 270 L 166 270 L 166 141 L 204.63 141" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 209.88 141 L 202.88 144.5 L 204.63 141 L 202.88 137.5 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 296 406 C 298.76 406 301 408.24 301 411 L 301 466.6 Q 278.5 456.87 256 466.6 Q 233.5 476.32 211 466.6 L 211 411.4 L 211 411 C 211 408.24 213.24 406 216 406 Z" fill="#d5e8d4" stroke="#82b366" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="255.5" y="423.5">Project config</text><text x="255.5" y="437.5">header file </text></g><path d="M 301 439 L 875.63 439" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 880.88 439 L 873.88 442.5 L 875.63 439 L 873.88 435.5 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 121 270 L 166 270 L 166 439 L 204.63 439" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 209.88 439 L 202.88 442.5 L 204.63 439 L 202.88 435.5 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><rect x="186" y="86" width="140" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 93px; margin-left: 187px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Essential build options</span></div></div></div></foreignObject><text x="256" y="105" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Essential build options</text></switch></g><rect x="201" y="378" width="110" height="32" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 385px; margin-left: 202px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Advanced options</span></div></div></div></foreignObject><text x="256" y="397" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Advanced options</text></switch></g><path d="M 61 331 L 61 306.37" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 61 301.12 L 64.5 308.12 L 61 306.37 L 57.5 308.12 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><path d="M 38 331 L 84 331 L 111 353 L 84 375 L 38 375 L 11 353 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 382px; margin-left: 61px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Dependencies</div></div></div></foreignObject><text x="61" y="394" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Dependencies</text></switch></g><path d="M 111 353 L 657.63 353" fill="none" stroke="#82b366" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 662.88 353 L 655.88 356.5 L 657.63 353 L 655.88 349.5 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/><rect x="381" y="351" width="140" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 138px; height: 1px; padding-top: 358px; margin-left: 382px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Replace part of checks</span></div></div></div></foreignObject><text x="451" y="370" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Replace part of checks</text></switch></g><path d="M 1104 86.5 C 1106.76 86.5 1109 88.74 1109 91.5 L 1109 113.63 Q 1101 106.65 1093 113.63 Q 1085 120.6 1077 113.63 L 1077 90.38 L 1077 91.5 C 1077 88.74 1079.24 86.5 1082 86.5 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><path d="M 1104 39.5 C 1106.76 39.5 1109 41.74 1109 44.5 L 1109 66.63 Q 1101 59.65 1093 66.63 Q 1085 73.6 1077 66.63 L 1077 43.38 L 1077 44.5 C 1077 41.74 1079.24 39.5 1082 39.5 Z" fill="#d5e8d4" stroke="#82b366" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/><rect x="1121" y="42" width="156" height="26" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 154px; height: 1px; padding-top: 49px; margin-left: 1123px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(251, 251, 251); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important;">Kconfig config system</span></div></div></div></foreignObject><text x="1123" y="61" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Kconfig config system</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>