<div dir="ltr"><div>Henry,</div><div><br></div><div>Thanks for the example. This looks like a bug in GDAL 3.12, affecting calculations where the input has a NoData value. The simplest workaround I see for now is to rewrite the command as a pipeline:</div><div><br></div><div>gdal raster pipeline calc -i "A=sample.tif" --calc "A > 0 ? 1 : 0" --nodata none ! materialize ! set-type --ot Byte ! write footprint_b.tif --overwrite</div><div><br></div><div>Dan</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Nov 13, 2025 at 8:32 PM Henry Walshaw <<a href="mailto:henry@floodmapp.com">henry@floodmapp.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>





<div>
<div>
<p style="margin-bottom:19.2px;margin-top:0px">Thanks for the example Daniel. I can confirm if I try the same task as you with the 1 pixel raster I do get the result as expected. Unfortunately for the actual data it doesn’t hold true. Using a
<code style="background-color:rgba(175,184,193,0.2);border-radius:3px;font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;font-weight:550;margin-left:2.4px;margin-right:2.4px;padding-left:4.8px;padding-right:4.8px">
sample.tif</code> available here: <a href="https://www.dropbox.com/scl/fi/fdj4acszchg0ao132kf6g/sample.tif?rlkey=ro5mgecpdp4oqcv0kljfh0go3&st=er04s2mm&dl=0" target="_blank">
https://www.dropbox.com/scl/fi/fdj4acszchg0ao132kf6g/sample.tif?rlkey=ro5mgecpdp4oqcv0kljfh0go3&st=er04s2mm&dl=0</a></p>
<p style="margin-bottom:19.2px;margin-top:0px">I can try the following (The Q text as data tool is what I’m using to do the quick calc at the end:
<a href="https://harelba.github.io/q/" target="_blank">https://harelba.github.io/q/</a> )</p>
<pre style="font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;line-height:19.2px;margin-bottom:19.2px;margin-top:19.2px"><code style="background-color:rgb(255,255,255);border-width:1px;border-style:solid;border-color:rgb(204,204,204);border-radius:3px;display:block;font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;font-weight:550;line-height:19.2px;margin-left:2.4px;margin-right:2.4px;overflow:auto;padding:16px;white-space:pre-wrap">
$ gdal raster convert sample.tif --output-format XYZ cells.txt

$ q <span style="border-color:rgb(0,0,255);color:rgb(0,0,255);column-rule-color:rgb(0,0,255);font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;line-height:19.2px;outline-color:rgb(0,0,255);text-decoration-color:rgb(0,0,255);text-emphasis-color:rgb(0,0,255)">"select count(*) from cells.txt where c3 > 0"</span>

22829

$ q <span style="border-color:rgb(0,0,255);color:rgb(0,0,255);column-rule-color:rgb(0,0,255);font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;line-height:19.2px;outline-color:rgb(0,0,255);text-decoration-color:rgb(0,0,255);text-emphasis-color:rgb(0,0,255)">"select count(*) from cells.txt where c3 >= 0.5"</span>

11518

$ gdal raster calc -i <span style="border-color:rgb(0,0,255);color:rgb(0,0,255);column-rule-color:rgb(0,0,255);font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;line-height:19.2px;outline-color:rgb(0,0,255);text-decoration-color:rgb(0,0,255);text-emphasis-color:rgb(0,0,255)">"A=sample.tif"</span> -o footprint_b.tif --calc <span style="border-color:rgb(0,0,255);color:rgb(0,0,255);column-rule-color:rgb(0,0,255);font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;line-height:19.2px;outline-color:rgb(0,0,255);text-decoration-color:rgb(0,0,255);text-emphasis-color:rgb(0,0,255)">"A > 0 ? 1 : 0"</span> --nodata none --ot Byte

$ gdal raster convert footprint.tif --output-format XYZ footprint_cells.txt

$ q <span style="border-color:rgb(0,0,255);color:rgb(0,0,255);column-rule-color:rgb(0,0,255);font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;line-height:19.2px;outline-color:rgb(0,0,255);text-decoration-color:rgb(0,0,255);text-emphasis-color:rgb(0,0,255)">"select count(*) from footprint_cells.txt where c3 = 1"</span>

11518
</code></pre>
<p style="margin-bottom:19.2px;margin-top:0px">So you can see that the rounding in this case is happening before the calculation. For what it’s worth I’m running GDAL off the latest alpine container
<code style="background-color:rgba(175,184,193,0.2);border-radius:3px;font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;font-weight:550;margin-left:2.4px;margin-right:2.4px;padding-left:4.8px;padding-right:4.8px">
<a href="http://ghcr.io/osgeo/gdal:alpine-normal-latest" target="_blank">ghcr.io/osgeo/gdal:alpine-normal-latest</a></code>, so</p>
<pre style="font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;line-height:19.2px;margin-bottom:19.2px;margin-top:19.2px"><code style="background-color:rgb(255,255,255);border-width:1px;border-style:solid;border-color:rgb(204,204,204);border-radius:3px;display:block;font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;font-weight:550;line-height:19.2px;margin-left:2.4px;margin-right:2.4px;overflow:auto;padding:16px;white-space:pre-wrap">
$ gdal --version

GDAL 3.13.0dev-fbde9c11c976a693992f7688ecf324dd11e190f1, released 2025/11/12
</code></pre>
<p style="margin-bottom:19.2px;margin-top:0px">Hopefully it’s just a bug on my end!</p>
<p style="margin-bottom:19.2px;margin-top:0px">On 14/11/25 01:40, Daniel Baston wrote:</p>
<blockquote type="cite" style="border-color:rgb(119,119,119) rgb(119,119,119) rgb(119,119,119) rgb(114,159,207);border-left:2px solid rgb(114,159,207);color:rgb(119,119,119);column-rule-color:rgb(119,119,119);margin:19.2px 0px;outline-color:rgb(119,119,119);padding-left:16px;padding-right:16px;quotes:none;text-decoration-color:rgb(119,119,119);text-emphasis-color:rgb(119,119,119)">
<div id="m_668785460512723629extcontent-0" style="border-color:rgb(119,119,119);color:rgb(119,119,119);column-rule-color:rgb(119,119,119);outline-color:rgb(119,119,119);quotes:none;text-decoration-color:rgb(119,119,119);text-emphasis-color:rgb(119,119,119)">
<div dir="ltr">
<div>Hi Henry,</div>
<div><br>
</div>
<div>The input values should not be rounded before doing the calculation. I get a correct result with both 3.12 and 3.11.5:</div>
<div><br>
</div>
<div>$ gdal raster create --size 1,1 --burn 0.1 --output-data-type Float64 depth.tif<br>
$ gdal raster calc -i "A=depth.tif" -o footprint_b.tif --calc "A > 0 ? 1 : 0" --nodata none --ot Byte</div>
<div>$ gdal raster convert footprint_b.tif --output-format XYZ /vsistdout/<br>
ERROR 6: Read or update mode not supported on /vsistdout<br>
0.5 0.5 1<br>
<br>
</div>
<div>Dan</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Nov 13, 2025 at 12:49 AM Henry Walshaw via gdal-dev <<a href="mailto:gdal-dev@lists.osgeo.org" target="_blank">gdal-dev@lists.osgeo.org</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>
<p style="margin-bottom:19.2px;margin-top:0px">Hi all,</p>
<p style="margin-bottom:19.2px;margin-top:0px">In the docs for <code style="background-color:rgba(175,184,193,0.2);border-radius:3px;font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;font-weight:550;margin-left:2.4px;margin-right:2.4px;padding-left:4.8px;padding-right:4.8px">
gdal raster calc</code> (<a href="https://_" target="_blank">https://gdal.org/en/stable/programs/gdal_raster_calc.html#cmdoption-calc</a>) it states</p>
<blockquote style="border-color:rgb(119,119,119) rgb(119,119,119) rgb(119,119,119) rgb(114,159,207);border-left:2px solid rgb(114,159,207);color:rgb(119,119,119);column-rule-color:rgb(119,119,119);margin:19.2px 0px;outline-color:rgb(119,119,119);padding-left:16px;padding-right:16px;quotes:none;text-decoration-color:rgb(119,119,119);text-emphasis-color:rgb(119,119,119)">
<p style="border-color:rgb(119,119,119);color:rgb(119,119,119);column-rule-color:rgb(119,119,119);margin-bottom:19.2px;margin-top:0px;outline-color:rgb(119,119,119);quotes:none;text-decoration-color:rgb(119,119,119);text-emphasis-color:rgb(119,119,119)">
Input rasters will be converted to 64-bit floating point numbers before performing calculations.</p>
</blockquote>
<p style="margin-bottom:19.2px;margin-top:0px">However I’ve found that when using an integer output datatype the base data is rounded to an integer before performing the calculation. e.g. converting a flood depth input.tif raster to a simple water / no water
 footprint:</p>
<pre style="font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;line-height:19.2px;margin-bottom:19.2px;margin-top:19.2px"><code style="background-color:rgb(255,255,255);border-width:1px;border-style:solid;border-color:rgb(204,204,204);border-radius:3px;display:block;font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;font-weight:550;line-height:19.2px;margin-left:2.4px;margin-right:2.4px;overflow:auto;padding:16px;white-space:pre-wrap">
gdal raster calc -i <span style="border-color:rgb(0,0,255);color:rgb(0,0,255);column-rule-color:rgb(0,0,255);font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;line-height:19.2px;outline-color:rgb(0,0,255);text-decoration-color:rgb(0,0,255);text-emphasis-color:rgb(0,0,255)">"A=depth.tif"</span> -o footprint_b.tif --calc <span style="border-color:rgb(0,0,255);color:rgb(0,0,255);column-rule-color:rgb(0,0,255);font-family:Consolas,Inconsolata,Courier,monospace;font-size:16px;line-height:19.2px;outline-color:rgb(0,0,255);text-decoration-color:rgb(0,0,255);text-emphasis-color:rgb(0,0,255)">"A > 0 ? 1 : 0"</span> --nodata none --ot Byte
</code></pre>
<p style="margin-bottom:19.2px;margin-top:0px">The expected result for a value of (say) 0.1 is 1, but in the above calculation it comes out as 0. Obviously I can leave the output datatype alone so it stays the same as the input’s 64-bit float, but it seems
 unnecessary. Am I looking at a bug, or is this expected behaviour?</p>
<p style="margin-bottom:19.2px;margin-top:0px">Regards,</p>
<p style="margin-bottom:19.2px;margin-top:0px">Henry</p>
</div>
<div style="height:0px;width:0px;max-height:0px;max-width:0px;overflow:hidden;font-size:0px;padding:0px;margin:0px" aria-hidden="true" title="MDH:PHA+SGkgYWxsLDxicj48YnI+SW4gdGhlIGRvY3MgZm9yIGBnZGFsIHJhc3RlciBjYWxjYCAoW2h0dHBzOi8vZ2RhbC5vcmcvZW4vc3RhYmxlL3Byb2dyYW1zL2dkYWxfcmFzdGVyX2NhbGMuaHRtbCNjbWRvcHRpb24tY2FsY10oXykpIGl0IHN0YXRlczxicj48YnI+Jmd0OyBJbnB1dCByYXN0ZXJzIHdpbGwgYmUgY29udmVydGVkIHRvIDY0LWJpdCBmbG9hdGluZyBwb2ludCBudW1iZXJzIGJlZm9yZSBwZXJmb3JtaW5nIGNhbGN1bGF0aW9ucy48YnI+PGJyPkhvd2V2ZXIgSeKAmXZlIGZvdW5kIHRoYXQgd2hlbiB1c2luZyBhbiBpbnRlZ2VyIG91dHB1dCBkYXRhdHlwZSB0aGUgYmFzZSBkYXRhIGlzIHJvdW5kZWQgdG8gYW4gaW50ZWdlciBiZWZvcmUgcGVyZm9ybWluZyB0aGUgY2FsY3VsYXRpb24uIGUuZy4gY29udmVydGluZyBhIGZsb29kIGRlcHRoIGlucHV0LnRpZiByYXN0ZXIgdG8gYSBzaW1wbGUgd2F0ZXIgLyBubyB3YXRlciBmb290cHJpbnQ6PGJyPjxicj48L3A+PHA+YGBgYmFzaDwvcD48cD5nZGFsIHJhc3RlciBjYWxjIC1pICJBPWRlcHRoLnRpZiIgLW8gZm9vdHByaW50X2IudGlmIC0tY2FsYyAiQSAmZ3Q7IDAgPyAxIDogMCIgLS1ub2RhdGEgbm9uZSAtLW90IEJ5dGU8L3A+PHA+YGBgPC9wPjxwPlRoZSBleHBlY3RlZCByZXN1bHQgZm9yIGEgdmFsdWUgb2YgKHNheSkgMC4xIGlzIDEsIGJ1dCBpbiB0aGUgYWJvdmUgY2FsY3VsYXRpb24gaXQgY29tZXMgb3V0IGFzIDAuIE9idmlvdXNseSBJIGNhbiBsZWF2ZSB0aGUgb3V0cHV0IGRhdGF0eXBlIGFsb25lIHNvIGl0IHN0YXlzIHRoZSBzYW1lIGFzIHRoZSBpbnB1dOKAmXMgNjQtYml0IGZsb2F0LCBidXQgaXQgc2VlbXMgdW5uZWNlc3NhcnkuIEFtIEkgbG9va2luZyBhdCBhIGJ1Zywgb3IgaXMgdGhpcyBleHBlY3RlZCBiZWhhdmlvdXI/PGJyPjwvcD48cD5SZWdhcmRzLDxicj48L3A+PHA+SGVucnk8L3A+PHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IHRleHRjb21wbGV0ZS1kcm9wZG93biIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTAwMDsiIGNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIHBvcG92ZXI9ImF1dG8iPjwvdWw+">
&#8203;</div>
</div>
_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org" target="_blank">gdal-dev@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/gdal-dev" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a><br>
</blockquote>
</div>
</div>
</blockquote>
</div>
<div style="height:0px;width:0px;max-height:0px;max-width:0px;overflow:hidden;font-size:0px;padding:0px;margin:0px" aria-hidden="true" title="MDH:PHA+VGhhbmtzIGZvciB0aGUgZXhhbXBsZSBEYW5pZWwuIEkgY2FuIGNvbmZpcm0gaWYgSSB0cnkgdGhlIHNhbWUgdGFzayBhcyB5b3Ugd2l0aCB0aGUgMSBwaXhlbCByYXN0ZXIgSSBkbyBnZXQgdGhlIHJlc3VsdCBhcyBleHBlY3RlZC4gVW5mb3J0dW5hdGVseSBmb3IgdGhlIGFjdHVhbCBkYXRhIGl0IGRvZXNuJ3QgaG9sZCB0cnVlLiBVc2luZyBhIGBzYW1wbGUudGlmYCBhdmFpbGFibGUgaGVyZTogaHR0cHM6Ly93d3cuZHJvcGJveC5jb20vc2NsL2ZpL2ZkajRhY3N6Y2hnMGFvMTMya2Y2Zy9zYW1wbGUudGlmP3Jsa2V5PXJvNW1nZWNwZHA0b3FjdjBrbGpmaDBnbzMmYW1wO3N0PWVyMDRzMm1tJmFtcDtkbD0wPC9wPjxwPkkgY2FuIHRyeSB0aGUgZm9sbG93aW5nIChUaGUgUSB0ZXh0IGFzIGRhdGEgdG9vbCBpcyB3aGF0IEknbSB1c2luZyB0byBkbyB0aGUgcXVpY2sgY2FsYyBhdCB0aGUgZW5kOiBodHRwczovL2hhcmVsYmEuZ2l0aHViLmlvL3EvICk8L3A+PHA+YGBgYmFzaDwvcD48cD4kIGdkYWwgcmFzdGVyIGNvbnZlcnQgc2FtcGxlLnRpZiAtLW91dHB1dC1mb3JtYXQgWFlaIGNlbGxzLnR4dDwvcD48cD4kIHEgInNlbGVjdCBjb3VudCgqKSBmcm9tIGNlbGxzLnR4dCB3aGVyZSBjMyAmZ3Q7IDAiPC9wPjxwPjIyODI5PC9wPjxwPiQgcSAic2VsZWN0IGNvdW50KCopIGZyb20gY2VsbHMudHh0IHdoZXJlIGMzICZndDs9IDAuNSI8L3A+CjxwPjExNTE4PC9wPjxwPiQgZ2RhbCByYXN0ZXIgY2FsYyAtaSAiQT1zYW1wbGUudGlmIiAtbyBmb290cHJpbnRfYi50aWYgLS1jYWxjICJBICZndDsgMCA/IDEgOiAwIiAtLW5vZGF0YSBub25lIC0tb3QgQnl0ZTwvcD48cD4kIGdkYWwgcmFzdGVyIGNvbnZlcnQgZm9vdHByaW50LnRpZiAtLW91dHB1dC1mb3JtYXQgWFlaIGZvb3RwcmludF9jZWxscy50eHQ8L3A+PHA+JCBxICJzZWxlY3QgY291bnQoKikgZnJvbSBmb290cHJpbnRfY2VsbHMudHh0IHdoZXJlIGMzID0gMSI8L3A+PHA+MTE1MTg8L3A+PHA+YGBgPC9wPjxwPlNvIHlvdSBjYW4gc2VlIHRoYXQgdGhlIHJvdW5kaW5nIGluIHRoaXMgY2FzZSBpcyBoYXBwZW5pbmcgYmVmb3JlIHRoZSBjYWxjdWxhdGlvbi4gRm9yIHdoYXQgaXQncyB3b3J0aCBJJ20gcnVubmluZyBHREFMIG9mZiB0aGUgbGF0ZXN0IGFscGluZSBjb250YWluZXIgYGdoY3IuaW8vb3NnZW8vZ2RhbDphbHBpbmUtbm9ybWFsLWxhdGVzdGAsIHNvPC9wPjxwPmBgYGJhc2g8L3A+PHA+JCBnZGFsIC0tdmVyc2lvbjwvcD48cD5HREFMIDMuMTMuMGRldi1mYmRlOWMxMWM5NzZhNjkzOTkyZjc2ODhlY2YzMjRkZDExZTE5MGYxLCByZWxlYXNlZCAyMDI1LzExLzEyPC9wPjxwPmBgYDwvcD48cD5Ib3BlZnVsbHkgaXQncyBqdXN0IGEgYnVnIG9uIG15IGVuZCE8L3A+PGRpdiBjbGFzcz0ibW96LWNpdGUtcHJlZml4Ij5PbiAxNC8xMS8yNSAwMTo0MCwgRGFuaWVsIEJhc3RvbiB3cm90ZTo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2l0ZT0ibWlkOkNBK0tfcV9vTEc5T2dPTGVRS0ZCT2tuZ1Q5PS1qbjVyZi16NGFNM3oyc1BEbjJ2VlAxQUBtYWlsLmdtYWlsLmNvbSI+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7ICI+PGRpdiBkaXI9Imx0ciI+PGRpdj5IaSBIZW5yeSw8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoZSBpbnB1dCB2YWx1ZXMgc2hvdWxkIG5vdCBiZSByb3VuZGVkIGJlZm9yZSBkb2luZyB0aGUgY2FsY3VsYXRpb24uIEkgZ2V0IGEgY29ycmVjdCByZXN1bHQgd2l0aCBib3RoIDMuMTIgYW5kIDMuMTEuNTo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PiQgZ2RhbCByYXN0ZXIgY3JlYXRlIC0tc2l6ZSAxLDEgLS1idXJuIDAuMSAtLW91dHB1dC1kYXRhLXR5cGUgRmxvYXQ2NCBkZXB0aC50aWY8YnI+JCBnZGFsIHJhc3RlciBjYWxjIC1pICJBPWRlcHRoLnRpZiIgLW8gZm9vdHByaW50X2IudGlmIC0tY2FsYyAiQSAmZ3Q7IDAgPyAxIDogMCIgLS1ub2RhdGEgbm9uZSAtLW90IEJ5dGU8L2Rpdj48ZGl2PiQgZ2RhbCByYXN0ZXIgY29udmVydCBmb290cHJpbnRfYi50aWYgLS1vdXRwdXQtZm9ybWF0IFhZWiAvdnNpc3Rkb3V0Lzxicj5FUlJPUiA2OiBSZWFkIG9yIHVwZGF0ZSBtb2RlIG5vdCBzdXBwb3J0ZWQgb24gL3ZzaXN0ZG91dDxicj4wLjUgMC41IDE8YnI+PGJyPjwvZGl2PjxkaXY+RGFuPC9kaXY+PC9kaXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIGdtYWlsX3F1b3RlX2NvbnRhaW5lciI+PGRpdiBkaXI9Imx0ciIgY2xhc3M9ImdtYWlsX2F0dHIiPk9uIFRodSwgTm92IDEzLCAyMDI1IGF0IDEyOjQ54oCvQU0gSGVucnkgV2Fsc2hhdyB2aWEgZ2RhbC1kZXYgJmx0OzxhIGhyZWY9Im1haWx0bzpnZGFsLWRldkBsaXN0cy5vc2dlby5vcmciIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgY2xhc3M9Im1vei10eHQtbGluay1mcmVldGV4dCI+Z2RhbC1kZXZAbGlzdHMub3NnZW8ub3JnPC9hPiZndDsgd3JvdGU6PGJyPjwvZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij4KCgoKCgo8ZGl2Pgo8ZGl2Pgo8cCBzdHlsZT0ibWFyZ2luLWJvdHRvbToxOS4ycHg7bWFyZ2luLXRvcDowcHgiPkhpIGFsbCw8L3A+CjxwIHN0eWxlPSJtYXJnaW4tYm90dG9tOjE5LjJweDttYXJnaW4tdG9wOjBweCI+SW4gdGhlIGRvY3MgZm9yIDxjb2RlIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTc1LDE4NCwxOTMsMC4yKTtib3JkZXItcmFkaXVzOjNweDtmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNvbGF0YSxDb3VyaWVyLG1vbm9zcGFjZTtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo1NTA7bWFyZ2luLWxlZnQ6Mi40cHg7bWFyZ2luLXJpZ2h0OjIuNHB4O3BhZGRpbmctbGVmdDo0LjhweDtwYWRkaW5nLXJpZ2h0OjQuOHB4Ij4KZ2RhbCByYXN0ZXIgY2FsYzwvY29kZT4gKDxhIGhyZWY9Imh0dHBzOi8vXyIgdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+aHR0cHM6Ly9nZGFsLm9yZy9lbi9zdGFibGUvcHJvZ3JhbXMvZ2RhbF9yYXN0ZXJfY2FsYy5odG1sI2NtZG9wdGlvbi1jYWxjPC9hPikgaXQgc3RhdGVzPC9wPgo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyLWNvbG9yOnJnYigxMTksMTE5LDExOSkgcmdiKDExOSwxMTksMTE5KSByZ2IoMTE5LDExOSwxMTkpIHJnYigxMTQsMTU5LDIwNyk7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHJnYigxMTQsMTU5LDIwNyk7Y29sb3I6cmdiKDExOSwxMTksMTE5KTtjb2x1bW4tcnVsZS1jb2xvcjpyZ2IoMTE5LDExOSwxMTkpO21hcmdpbjoxOS4ycHggMHB4O291dGxpbmUtY29sb3I6cmdiKDExOSwxMTksMTE5KTtwYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjE2cHg7cXVvdGVzOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOnJnYigxMTksMTE5LDExOSk7dGV4dC1lbXBoYXNpcy1jb2xvcjpyZ2IoMTE5LDExOSwxMTkpIj4KPHAgc3R5bGU9ImJvcmRlci1jb2xvcjpyZ2IoMTE5LDExOSwxMTkpO2NvbG9yOnJnYigxMTksMTE5LDExOSk7Y29sdW1uLXJ1bGUtY29sb3I6cmdiKDExOSwxMTksMTE5KTttYXJnaW4tYm90dG9tOjE5LjJweDttYXJnaW4tdG9wOjBweDtvdXRsaW5lLWNvbG9yOnJnYigxMTksMTE5LDExOSk7cXVvdGVzOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOnJnYigxMTksMTE5LDExOSk7dGV4dC1lbXBoYXNpcy1jb2xvcjpyZ2IoMTE5LDExOSwxMTkpIj4KSW5wdXQgcmFzdGVycyB3aWxsIGJlIGNvbnZlcnRlZCB0byA2NC1iaXQgZmxvYXRpbmcgcG9pbnQgbnVtYmVycyBiZWZvcmUgcGVyZm9ybWluZyBjYWxjdWxhdGlvbnMuPC9wPgo8L2Jsb2NrcXVvdGU+CjxwIHN0eWxlPSJtYXJnaW4tYm90dG9tOjE5LjJweDttYXJnaW4tdG9wOjBweCI+SG93ZXZlciBJ4oCZdmUgZm91bmQgdGhhdCB3aGVuIHVzaW5nIGFuIGludGVnZXIgb3V0cHV0IGRhdGF0eXBlIHRoZSBiYXNlIGRhdGEgaXMgcm91bmRlZCB0byBhbiBpbnRlZ2VyIGJlZm9yZSBwZXJmb3JtaW5nIHRoZSBjYWxjdWxhdGlvbi4gZS5nLiBjb252ZXJ0aW5nIGEgZmxvb2QgZGVwdGggaW5wdXQudGlmIHJhc3RlciB0byBhIHNpbXBsZSB3YXRlciAvIG5vCiB3YXRlciBmb290cHJpbnQ6PC9wPgo8cHJlIHN0eWxlPSJmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNvbGF0YSxDb3VyaWVyLG1vbm9zcGFjZTtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxOS4ycHg7bWFyZ2luLWJvdHRvbToxOS4ycHg7bWFyZ2luLXRvcDoxOS4ycHgiPjxjb2RlIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnJnYigyMDQsMjA0LDIwNCk7Ym9yZGVyLXJhZGl1czozcHg7ZGlzcGxheTpibG9jaztmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNvbGF0YSxDb3VyaWVyLG1vbm9zcGFjZTtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo1NTA7bGluZS1oZWlnaHQ6MTkuMnB4O21hcmdpbi1sZWZ0OjIuNHB4O21hcmdpbi1yaWdodDoyLjRweDtvdmVyZmxvdzphdXRvO3BhZGRpbmc6MTZweDt3aGl0ZS1zcGFjZTpwcmUtd3JhcCI+CmdkYWwgcmFzdGVyIGNhbGMgLWkgPHNwYW4gc3R5bGU9ImJvcmRlci1jb2xvcjpyZ2IoMCwwLDI1NSk7Y29sb3I6cmdiKDAsMCwyNTUpO2NvbHVtbi1ydWxlLWNvbG9yOnJnYigwLDAsMjU1KTtmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNvbGF0YSxDb3VyaWVyLG1vbm9zcGFjZTtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxOS4ycHg7b3V0bGluZS1jb2xvcjpyZ2IoMCwwLDI1NSk7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOnJnYigwLDAsMjU1KTt0ZXh0LWVtcGhhc2lzLWNvbG9yOnJnYigwLDAsMjU1KSI+IkE9ZGVwdGgudGlmIjwvc3Bhbj4gLW8gZm9vdHByaW50X2IudGlmIC0tY2FsYyA8c3BhbiBzdHlsZT0iYm9yZGVyLWNvbG9yOnJnYigwLDAsMjU1KTtjb2xvcjpyZ2IoMCwwLDI1NSk7Y29sdW1uLXJ1bGUtY29sb3I6cmdiKDAsMCwyNTUpO2ZvbnQtZmFtaWx5OkNvbnNvbGFzLEluY29uc29sYXRhLENvdXJpZXIsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjE5LjJweDtvdXRsaW5lLWNvbG9yOnJnYigwLDAsMjU1KTt0ZXh0LWRlY29yYXRpb24tY29sb3I6cmdiKDAsMCwyNTUpO3RleHQtZW1waGFzaXMtY29sb3I6cmdiKDAsMCwyNTUpIj4iQSAmZ3Q7IDAgPyAxIDogMCI8L3NwYW4+IC0tbm9kYXRhIG5vbmUgLS1vdCBCeXRlCjwvY29kZT48L3ByZT4KPHAgc3R5bGU9Im1hcmdpbi1ib3R0b206MTkuMnB4O21hcmdpbi10b3A6MHB4Ij5UaGUgZXhwZWN0ZWQgcmVzdWx0IGZvciBhIHZhbHVlIG9mIChzYXkpIDAuMSBpcyAxLCBidXQgaW4gdGhlIGFib3ZlIGNhbGN1bGF0aW9uIGl0IGNvbWVzIG91dCBhcyAwLiBPYnZpb3VzbHkgSSBjYW4gbGVhdmUgdGhlIG91dHB1dCBkYXRhdHlwZSBhbG9uZSBzbyBpdCBzdGF5cyB0aGUgc2FtZSBhcyB0aGUgaW5wdXTigJlzIDY0LWJpdCBmbG9hdCwgYnV0IGl0IHNlZW1zCiB1bm5lY2Vzc2FyeS4gQW0gSSBsb29raW5nIGF0IGEgYnVnLCBvciBpcyB0aGlzIGV4cGVjdGVkIGJlaGF2aW91cj88L3A+CjxwIHN0eWxlPSJtYXJnaW4tYm90dG9tOjE5LjJweDttYXJnaW4tdG9wOjBweCI+UmVnYXJkcyw8L3A+CjxwIHN0eWxlPSJtYXJnaW4tYm90dG9tOjE5LjJweDttYXJnaW4tdG9wOjBweCI+SGVucnk8L3A+CjwvZGl2Pgo8ZGl2IHN0eWxlPSJoZWlnaHQ6MHB4O3dpZHRoOjBweDttYXgtaGVpZ2h0OjBweDttYXgtd2lkdGg6MHB4O292ZXJmbG93OmhpZGRlbjtmb250LXNpemU6MHB4O3BhZGRpbmc6MHB4O21hcmdpbjowcHgiIGFyaWEtaGlkZGVuPSJ0cnVlIiB0aXRsZT0iTURIOlBIQStTR2tnWVd4c0xEeGljajQ4WW5JK1NXNGdkR2hsSUdSdlkzTWdabTl5SUdCblpHRnNJSEpoYzNSbGNpQmpZV3hqWUNBb1cyaDBkSEJ6T2k4dloyUmhiQzV2Y21jdlpXNHZjM1JoWW14bEwzQnliMmR5WVcxekwyZGtZV3hmY21GemRHVnlYMk5oYkdNdWFIUnRiQ05qYldSdmNIUnBiMjR0WTJGc1kxMG9YeWtwSUdsMElITjBZWFJsY3p4aWNqNDhZbkkrSm1kME95QkpibkIxZENCeVlYTjBaWEp6SUhkcGJHd2dZbVVnWTI5dWRtVnlkR1ZrSUhSdklEWTBMV0pwZENCbWJHOWhkR2x1WnlCd2IybHVkQ0J1ZFcxaVpYSnpJR0psWm05eVpTQndaWEptYjNKdGFXNW5JR05oYkdOMWJHRjBhVzl1Y3k0OFluSStQR0p5UGtodmQyVjJaWElnU2VLQW1YWmxJR1p2ZFc1a0lIUm9ZWFFnZDJobGJpQjFjMmx1WnlCaGJpQnBiblJsWjJWeUlHOTFkSEIxZENCa1lYUmhkSGx3WlNCMGFHVWdZbUZ6WlNCa1lYUmhJR2x6SUhKdmRXNWtaV1FnZEc4Z1lXNGdhVzUwWldkbGNpQmlaV1p2Y21VZ2NHVnlabTl5YldsdVp5QjBhR1VnWTJGc1kzVnNZWFJwYjI0dUlHVXVaeTRnWTI5dWRtVnlkR2x1WnlCaElHWnNiMjlrSUdSbGNIUm9JR2x1Y0hWMExuUnBaaUJ5WVhOMFpYSWdkRzhnWVNCemFXMXdiR1VnZDJGMFpYSWdMeUJ1YnlCM1lYUmxjaUJtYjI5MGNISnBiblE2UEdKeVBqeGljajQ4TDNBK1BIQStZR0JnWW1GemFEd3ZjRDQ4Y0Q1blpHRnNJSEpoYzNSbGNpQmpZV3hqSUMxcElDSkJQV1JsY0hSb0xuUnBaaUlnTFc4Z1ptOXZkSEJ5YVc1MFgySXVkR2xtSUMwdFkyRnNZeUFpUVNBbVozUTdJREFnUHlBeElEb2dNQ0lnTFMxdWIyUmhkR0VnYm05dVpTQXRMVzkwSUVKNWRHVThMM0ErUEhBK1lHQmdQQzl3UGp4d1BsUm9aU0JsZUhCbFkzUmxaQ0J5WlhOMWJIUWdabTl5SUdFZ2RtRnNkV1VnYjJZZ0tITmhlU2tnTUM0eElHbHpJREVzSUdKMWRDQnBiaUIwYUdVZ1lXSnZkbVVnWTJGc1kzVnNZWFJwYjI0Z2FYUWdZMjl0WlhNZ2IzVjBJR0Z6SURBdUlFOWlkbWx2ZFhOc2VTQkpJR05oYmlCc1pXRjJaU0IwYUdVZ2IzVjBjSFYwSUdSaGRHRjBlWEJsSUdGc2IyNWxJSE52SUdsMElITjBZWGx6SUhSb1pTQnpZVzFsSUdGeklIUm9aU0JwYm5CMWRPS0FtWE1nTmpRdFltbDBJR1pzYjJGMExDQmlkWFFnYVhRZ2MyVmxiWE1nZFc1dVpXTmxjM05oY25rdUlFRnRJRWtnYkc5dmEybHVaeUJoZENCaElHSjFaeXdnYjNJZ2FYTWdkR2hwY3lCbGVIQmxZM1JsWkNCaVpXaGhkbWx2ZFhJL1BHSnlQand2Y0Q0OGNENVNaV2RoY21SekxEeGljajQ4TDNBK1BIQStTR1Z1Y25rOEwzQStQSFZzSUdOc1lYTnpQU0prY205d1pHOTNiaTF0Wlc1MUlIUmxlSFJqYjIxd2JHVjBaUzFrY205d1pHOTNiaUlnYzNSNWJHVTlJbVJwYzNCc1lYazZJRzV2Ym1VN0lIQnZjMmwwYVc5dU9pQmhZbk52YkhWMFpUc2dlaTFwYm1SbGVEb2dNVEF3TURzaUlHTnZiblJsYm5SbFpHbDBZV0pzWlQwaVptRnNjMlVpSUhCdmNHOTJaWEk5SW1GMWRHOGlQand2ZFd3KyI+CiZhbXA7IzgyMDM7PC9kaXY+CjwvZGl2PgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+CmdkYWwtZGV2IG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFpbHRvOmdkYWwtZGV2QGxpc3RzLm9zZ2VvLm9yZyIgdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgY2xhc3M9Im1vei10eHQtbGluay1mcmVldGV4dCI+Z2RhbC1kZXZAbGlzdHMub3NnZW8ub3JnPC9hPjxicj4KPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5vc2dlby5vcmcvbWFpbG1hbi9saXN0aW5mby9nZGFsLWRldiIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIiBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0Ij5odHRwczovL2xpc3RzLm9zZ2VvLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dkYWwtZGV2PC9hPjxicj4KPC9ibG9ja3F1b3RlPjwvZGl2PgoKPC9ibG9ja3F1b3RlPjx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSB0ZXh0Y29tcGxldGUtZHJvcGRvd24iIHN0eWxlPSJkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDEwMDA7IiBjb250ZW50ZWRpdGFibGU9ImZhbHNlIiBwb3BvdmVyPSJhdXRvIj48L3VsPg==">
&#8203;</div>
</div>

</blockquote></div>