From multimobsec-api-bounces@ietf.org Fri May 05 08:19:01 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FbzGv-0000hI-0p; Fri, 05 May 2006 08:19:01 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FbzGu-0000hD-1a
	for multimobsec-api@ietf.org; Fri, 05 May 2006 08:19:00 -0400
Received: from mail.sfc.wide.ad.jp ([203.178.142.146])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FbzGq-0001BY-0q
	for multimobsec-api@ietf.org; Fri, 05 May 2006 08:19:00 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id DE91C4DAD5
	for <multimobsec-api@ietf.org>; Fri,  5 May 2006 21:18:49 +0900 (JST)
Date: Fri, 05 May 2006 15:18:40 +0900
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: multimobsec-api@ietf.org
Message-Id: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="------_445AE841D41505D190F0_MULTIPART_MIXED_"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.21.03 [ja]
X-Spam-Score: 0.2 (/)
X-Scan-Signature: 83867a50fd8f547996ccdaf89af24437
Subject: [MULTIMOBSEC-API] api requirements
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

--------_445AE841D41505D190F0_MULTIPART_MIXED_
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

Hi Miika and all,

I am sorry for being late (at least a week later than planned...)
but let me send you a draft which is a compilation of the requirements
for API identified/discussed on the SHIM6/multimobsec-api/BTNS
mailing list in the past.  Attached please find the document in
{txt,html,xml} format.

At the moment, the draft only contains the requirements for common
API for both SHIM6 and HIP, and some identified issues.  Most of the
items were from Marcelo's email about API for SHIM [1].  I hope this
is useful for identifying the requirements for API for (generic)
multihomed environemtn which is based on ID/Locator separation.
At the moment, as I failed to see relation to BTNS so no relation
is mentioned.  But I am open to discussion.

After we discuss and agree on requirements, we can work on specific
solutions.  Hope its useful and I appreciate your comments.  Especially
I would like you to check Section 5 and see if anything is missing.
Also, please feel free to modify the document.

[1] http://www.ops.ietf.org/lists/shim6/msg01191.html


Regards,
Shinta


--------_445AE841D41505D190F0_MULTIPART_MIXED_
Content-Type: application/octet-stream;
 name="multihome-shim-api.tgz"
Content-Disposition: attachment;
 filename="multihome-shim-api.tgz"
Content-Transfer-Encoding: base64

H4sIAH8fW0QAA+19e3fbOJLv/Cue+yEw6rPtZMeS307i2Np1bKejXsfxtdW3p2+f7Dm0RFkcU6KW
pPyY7vnut6rwIMA3KbnnTK7Vpx2bIgpAoVAoFAq/mi68yJ34U6cTTtxpx567G39a9Wdzc/PN3h77
0+b2zt7mFsO/4SP/5X9sbe5u7+9vvdnbf8M2t/a2t7f+xPZW3pKMzyKM7ACaAt2fRXb+ew8Tx/EK
6JidYqtu5nN9punxHwX2OOpM7dnT2Pfuwk76lc7mZvdxWsQN4wP82N/dzRv/3Tc72/vm+G/vbW7u
/IltPmfH5ef/8/E//A8YSHbvBKHrz47aW93NNnNmQ3/kzm6P2j8NPnbetv+jZ9FrnTB68pwQGBGx
6GnuHK1FzmO08Rh6a2wSOOOjNfixvb/9rguPojUG5azDP59+ORn8cnnGgvGQXf9yPTj7zNrwO703
ikZtII5fDe3IufWDp6O2Oxv7bTbyhxf21DlqVxLHNnPnwVF7vPC8nXdv3gJRxqq2WbRFthnKwSMo
H/nDo/aTE7bVQxY+TaFMmHrsB1HGc6ABrZr5kTt2ndFRe+brZaLAHUaqBLZ3HPizCH+D3yM38hxm
39wEzv1R+7PsM7uGPrPjy367d+0P76BT8Dsb+wFTr1B5fO1wg4gIgvYimsBryKEZ8XXw4RS4NnMj
1/ZC8We4COIveUEo6ge39sz9ux2BiKgm0Rvw43BD/1qVsUejwAnDntU6nPswxTz4DR5Dr2EkeDnx
Oz0futETf0q/8Wf+yBHP8DfxbDGLAvmq+APq2FCVHM4n/kyU47/CM2dqux5/xn+VzdxQ7RR/EpfE
XyMQSTaFMZkctT86N8HCDp7a7MmxQdK2Qae1NyRvA8fu9WeRE8ycCIjgn/ybBz+4uw38xbx34UT4
B/sZfsDcYj/g08ON+AVe4M55gkej3vWn/uf9dfapf7nO+qcb5z7MDxi+cO65UIN8S1R/A6y0h8BK
2S3g8MQNcQ4tps4sgmLOEIUwVOKiZhHDWcQ8+8kJuowNJo6ggS/a7jSEacCgP577dwekBboIFcFA
h+wGOuQ4IBBzaNNQCMdsxCJFIqsOqtwe3duzoTNinugWzG771qGmAglRnGob20MHmwBUGYwTvAHi
ylBFBFMpkP4iYmMY1UXgsJETOdRAQQRbNLejCXMe554fUJEuzIx8XsHvN3YIjaP+MDsMF9M51RRN
bGgfdQt7NWITEDrZ2JA5/7Nw53N4/OBCfTZbw16vsYeJO5xAD3F5cYFvU2AYCoA/Zu4I+wPjEmit
FTyBwSAZoGcgBgykinPh0Z7OQaUhAfwba+mK8p9AdTvr9BjHbwjtv3HY0J+CFHtPbIHdunkyCWvc
ANFVooR/KYV0OHVHI6VK/tzpWK2jJT9WCyZM4I8WfLSWp4dN63REE0MuBIw04FFbr6rNFbs7G3qL
kdPucc5Zxj+HQkXFjBEE5d8J+gM7uHWiti5UZ48w5yLgN0yeESyvfLh0QYMBPTBmzzzwbwN7OlXi
8DDxQaDvHc+fh8aboT+OHlAgpHA9sWAxQ4mN/DnUlJyAI1jT710YTawYJOuMFILtgUzgfCQxMkm6
oaDhyH7AJLxxZs7Yjdgt9CnCsoE/zakEpiiD6TuVZKD3OEV9sDS6mXxdpWQNoGJ35nv+7dMzC5ZW
U1KuchXMyIfJC1YBKbgZMfbWvXfYzHmA0R7TkowKFkZGkACVNpnB2HucpUIRwVgFjueAKo2QRs44
3CykigKDwyF17s4mTgDDqFcGsncP6mhE40Zaxg0jVFOy2XIg7ZB58BUqEpDLhwPVTXzKyNo6aoOd
dON7YRvX3oivZewy8IFBvseu+WLERfnwEQwnqxXRBIKJ2jntuk40JttuvzPHMrDMksQgKVSEx8Fw
4qKWB31PxVmq9MSdd2x4TS965djDiX3jwgL6FDfm1dXZ8eXr4laItaWj1hZJVhoR2HU13h9hQg09
O1BdXGcPjuSvxnM188wxFVTGASwnwHaptWlYNCk6sFgx46nPfbXAsFf909esw45n2qqjFgRshq5f
It9qcZuBfwdiOvdBXOWagyvKYibeBn1yDOqJG1LUVKg7e1w4P6GmDnztBMDHdaNeUGRWi75COe2f
YrdH7hj+RlF+sJ9C80noRgsqGUIj+lDvEFZubKQwn7CtWneBfzCJPGjjT+f9UyqCK6DVsjWRWk/1
2OgtEgmcOfQVyBL3rNYnsAMY5zXI1sC+Za8+9QevlSoFY2BihxPJvfniBnrMwIizWv7DLB4CtCeg
VR9wzHHuARHoL0w2e4Rl43KkG1qiZ0/4KtF1nGCdec6tPXxir2Y+da5jo1Z/bbAZ7ALosxeCWWXf
Odwci8AAw0piiwAFSNqdHYYWCB9iBvbBgtYOEp8I1ygPFBiXZmTn3MatCfREma0Tf+GhxmCCcVLN
hP4iAAMPjb7WyEGNw1sIw+VRn6HaCS2ginlEW0wXMLdsXFqhO/jdgxs4fFSlHPQv70EMvFQzXJp+
U1wqW1vbbzs3biRfl91MEdrNIASDoCixnW2Nzq6iE3OTNm8wB0GiwE6bIxeFVQyjjNqBM5Cd0zOS
HquVshzJlIC5IYxtzWCEyQ3PudUHAxyGPizykbRIpz5ZkDbaCaoUjCbatJE7RftaWgVW62HizJRM
ogjHywtU9BEXfvx2JnY1+gSC8Qd7B60GEIp1bvvHnAdzBhoQQP0PJDH2TPQaVlarJfchadNXN3vJ
5IXhifSBgBUVpRHlQmpVaYKrFVepFrEhGrK5WAisFiyU/HtaI+30GBFpsRUKtU0ZqEpnbhtbCxzs
E7CdnceIxhv2ppFj7FrImoLmQ9fU9AdWWi1SIrBQrwvtcePORiFnER9ybVjlGAIvLqD3OAlE74ei
crEDAO0FqwnMWFp+eI02TCU34LIUdkGJ8b0DCPBQTVY/DN0bz+FLlU+yQNyBmWqDLgKVRmIB4wKq
l1epWSdqGxUrbOgD1ootlmYAiEvgw2YQJCdBW3YClz1nDhoZKXA7mS/eOHu17aumtnBJhJ6dSyHH
QfDEQ/se1nMbu6XmAG3uoA9CAQ9wVtGqqsQW22IT62DC23HTZiNSqrNbroFg8mTRl0s9TSa1KsCM
j2boGqJFBG1AnL98OZUDBbVVM5HWVf/iXo1x4cE9KkxnPyQJgmrXjtekXABHadaAUXcevjp+rbHw
kuYCSme8BiBfpkAPBGmuvpY6ketnnPwwV7jWkCuvknDqHYoqF5IUERxOyXHJAdRdOs8b84fXZra4
Bn/mJn8Mc/JUWoYkaEqe+dqIX6HeUK+DrhG+Ez7mch6q6ayNArouSIOQOTiktSjwFxGpKZpoM1wx
xKp4i4oumsALt7BycM8NyBqyXltdk/TPYtdIuv3cb+JoUo3uFKuFIs2bL9nJJ7bhWxGWsfxLOjef
Z9d3/QSW0pR9AUvk3nUennnnl6gttftrHY7dW+Ah91vaAa2TvcM//3pyejw4/lWyyPz8pZPz+Uvm
67+Lf481245/sQrq8vPfhd/+zl7duzaLvdGvC1+/N77NbVFZG383qcrqueGUaOBqakx+OFfyyP1e
kXqyH4pNRVVr3fq9tEt/SXf8L6Ik6A1FxGgI2alGZYdUsIdv4YZZFvidc3zZphSy4r9LH//eZCi0
x8UDnTMUzyPIfeXzTotyc0FmFiqhr197eDbBFRGemUgFxQnG7qqP9LzzV+Z63gL9wZHDLdCQ6zxf
6LyuqXlwV8lppHeVWFo7sOImkDROxS5Sni5I5yfuWci6g9X3wUHDKuTCB/vxOWxhZtJU004XlNsy
hJ0K7GHQChVrrdhb8ffQkB4E9iyc+0EUe4PO5ZfSqw/GsAeWARg8snUhb5jZkNimAyMWHpHVLD05
eOqWPJ2gBug2Qc75xDMtlVd4VhE43K/3vOukXlU7KWvQHeVVCLQXiZomkL4H20V0c5AvRRq6Romx
3JJqjg5BQduOcokJHbNsYrMSDhdhSF5RsS/gZPieFI8PsSXYCPTVOLhxD7nTiBomdgohiSA0OFw4
UigD28VKwLSSLpvYs5uu1qxQkKAqUHiIeqoXIyeAXo44N3QTVRRXki79iNx4ltO2svuza2lDiMrl
sx0MHc9fCxkdsIoJ8QBTNhS7tlSPqC8HWHgSRfODjY2Hh4euPw+p7q4f3JL1GG5QKzam4e3m1ta7
re4kmnqicilzsUDdh3NUnjeePbs7hw1CeNTekse0rMRj2jI8XtqRZIdlPHTRZ+5O7eAJ7HHPob1o
ZCgjuYOHCcH3tmSFk6fsSbi2pDPLj7dOqFTxfBEseBYllRs+4Wb5FFWs5v1BR1TsXXBn9y7fuYuj
08UcJoEgI7fP6yRDVkudxiY8sWxi39O+weVV2sMhztO8Sru4o8jhLM1ifa2It3m2aKV/g7MmtYnF
smL9EJtz2Kjil95rmgbwF8g/bNLE3qxGVektrFbZzB+hsoBdn17ZPFGZcv23fr34Mjg7oOWIprw4
ls444HblamY4zPnM4C2yvTAxP/M2t7on/StvEgnxBcWcCAaQLjC9+7pU8YaS/MEv0MrEsp7mHx/0
FA1ZHvfkLuij5CEBLZlTf7QAKiheQDEK3NtbJxAeEDrgkB4V3k4QZP/O0Xak6AZPHudr3EcCoAnR
ta3zl8lFaa+7jSSwKfKEQ9T2lcW74k9+1AkjGPGbpwQz6KQVt+LkHIpn5hh9R6oQrgEzUSM0Z+Y4
I3KbanSpmeSFx6gRG9cm3rFX+nb6tWkpudOpM0LXn0fHJHPPHkrnLjn9FgE52XQKiVqx/TYuplCz
KRGwVLjOPZlLkRMkD2uRK2cwtsEMVUA8P41xyJEbqEoIjjxS0jg38R+YfXuLI4UscPGUZ8adjKGD
XuUsFjnd264kJlfS2WJ6w08J0HHLOQFloTPTeURNxhUWu4QlHkQUTpLZDsV8cDkGeR4CIbUcU926
NSlqAeMQLER+SK4UI/Fe8g7NnF+vKcDwAN1fGGfl8PM8JR5kJ6Kzm+v+r7S4IdtP/dkaHXV4T9Lx
XTw9hXzqrlFyfuMgExUtnsge2fOIE0L/t3wFvemg1j1ao3DuhXQeJZzL0oo2vIV4vKlzNOHs1qTN
7IDu8kso6HSUj7b2yOMRNDFSB1KBM3RQXOIDI6j0Zz5PYIugL1vryZMxDIZEIXXHpMWE15Bcb3jA
OPFd7oVTHdXqJ1JiN4M2KUw0POsA7jeTBV42loXigZfTi1oez6MRdoAbJ9JtHTrRYo7U1XvyG+V9
p7WKTilghGD5Qel2x8IAwZb6mktQumZLnH/PtKWxWn2ysun4EvQcGZefxcFEfAZAevKcn47Ge9Fl
6y7a+yzRLCN+pD/Li+7gW1zHxWHB8bzxo/iYGaxJufMgU06e1Sjjal0MJ+4ctN0Kb5KnNykOCjTH
OBVnReGkDM++YFLIMISfJ4k4wcQxj368TnXTxHNQajEEaoLnvDOS5Vr9IA/40Kej1UAc58YLsx+4
/ATfqH9dvvLqNcg993dgzACKvNQuyvYW0bN8yzeUdjw/h8em49IttmihcYCOQYnoeBCLljZ3yQ6T
wQddFdGHUbmdyO/Em+XQ9xbJdRZsfNRr0ErYmvAjO9WbxLKBikbEdgKle35uL6lrAsStRxyPj//7
9ILODWdP8cyHhSLRMqhQRJOzqQNr2YgzPnqa0zYXz9PXeS91gRAKOzR0PlUt2kfjN04XdPB0FHQZ
iQ2ngtNMiUjMdTpdRLNJnojwcAlNcsD8Adub+XMeEpUx0vyUE4YaWvNl5ohXaWPmC7s/tj5i3lPr
YFhp52eel4lWKP/RCM/m0WBFMdY6SsI8sskehSWBpjuv/EEuA/HSn4i3xe0DWTtDm1vQCbklmkgC
ZpfLWxYTADl2Qfz5AawyhSiKY6hce0LIR9oZXV+sFdBtDCULjWNpeR7aP1WhySryTHFNiElykglb
eGqPiFGwK/WDEW5gNUOYV2NuT2HEsEEPbiiDEjiDxPwROw1V1FwIFWmaE1nNhg0aD+8jhhvTbjSi
gC/ogzOGb9GFKMdMMY6fcMLkoNALEepLlUF/0Xqjl8mfA1KtjlPZqzEZ4RQbgZHi0Gdcm2cdPCSk
d8mGmHVgIqjyr8nYE4ykp2IHppvacVhJH48og8gdLjw7yOIdCusE9xTSxOYcEcRik00bdn0FULED
UFc6cAws0dHUDu7EltcJR7DZjSc1N2xUpAJMmcCnGe4zoQ6hh6iRHHZ6cQ1N8e9AXZBqoWZYLVRs
JGszVQJ+PNjBSL5t36I5ChTHroi5wWsUHbCiYI+gHbijXqcj7k/+A9a5zu061SYVhzJxvDmXboov
4iPOT595YKiKKdJWDb7t4TFhPGwNC7/uohtCN7vMUOX0In1hT4Uxr5+aybUa+B7CY1Trr7jXA56g
IIon2prIXY5iVQROcKsd2bOGL69h+1UcXRwLp4zlOABFW3uSa6MNA3s7c1SYLKpGMuitltlUuUDL
TZy+SihbOG6j1SLHTtGyrKqOz7p53ahYcEc9RF+JyZ4qrTBYxR1KBc3g8Q7x9zTDsSTGAZpOPxlF
ZAySXOKQ9VaL1gd6mzYJWkRcHCZJ0Vlyk4Wd1hYDcntSCF+3SOpSf6/qzsDxxTFal2TS2X/EzYFU
haE46odtlQ1WRnxNKhnnrQ4CYKtEZIY6mW5WOMRq4yHQ74xHS38kv7IrzeNZ+rqF9vyZzr6gYUNv
ET4/K+KKUr0vv2ayyh4fg470HzxndDslp9gz9podtc3awqJrEbl9P9yILxwd3tjDu1UffwqXzsoP
P5WzKFSrLdfPYFDFtcY6I3YuwWoy8YOjtazwtTUKJ+KXsVrycmjvHG8GsR3lGsBFnVS1POBRF0Ch
DI9C4ndA1aXPtc9r6srn2gf7drbw/LX4iuiaONRj8iuilLwQusHbpK5OZlZ0plV0IQw6vaazwL1j
6ouq9dAD7Zbm2ilsAHHNXGOwVTpa295a49c117Y3N/fWiIS61YYnJaGDd2L6sIgy3g55ibNzireO
19i97S3gMb+DnByWzuaOoMkXYXHBePDXwZrVkkc2a9rhpjrYdGU1RDjcyKXfjR4jqkMus0pg4olU
IEPyHky2AJnXFtTRsHG/RopQ9rBeacP62Q/vfNgn/V0f1ysfRiNi8XeVhja7sktdhtw7MJNwoOO6
Lp27O5upbxoL0fHidhFGUoS2i0SoiQDJMXkW6dGINxOdq48nO7vvdtb4/EiJzAc7dIdy3xAHK509
Rs4slLfW6BqFrnwyBKerDeYPrue5MEiG4HSZesxpJMaxROFc6xUMQDuGvkH/usvk0ybkf9TJf/AX
s5FO/Mcu48+WJv15eALb/wRt8bAJ8Z914tcRXsYIdeo/d5l8Wkaezxk1N0CYxfyRV+XX6P0ibQvC
pmYISV3OfGD+MIK93tHa2+29N5tr0j2wNqa5AT+7buh2ndECpkYHI7bDjWA8RIrNJ8He7vYabYlT
c+BYxkvwaRAaftVLfodXmxuvMCa24rRY4fBkLvfJSWEb1D/zOWE3I37WLVvju4kVvmYFA72CH93Z
1HF18oMuEw8bS+5nu67QopSUCe3Wm53N7beVpRZIFkmtuXEqtR9TwVvZpsBHEaB4agQoylPiS/TT
aLcEsKAyF6RkKwQSsEOLpfxHbRyPg7s7w+b80Q5cxp82Nzf7unZ23L/NFlO9jr73NzcKhxMYxhmT
31eurbHB2dzcTI3iM5qeWXUpgUzUd3n68Xnqm4/GvL6Ghm8iPCpb6DHMfd/Q3lci/orxk9vyDdQf
tK/5ceE9CRHbS0sYFljNtkYxrLO5+VzypdfRfHsz9J2Zw7Gg9jvhMJpnD7Gmkw54BOrJ4JLJs9Py
8T3XxvcEq9QH99wfOYw/baQ8tFHdeqcN6+7SO9UUdzqbWysdz6wKmg9m+ognezRpm4HxMXzmnjro
n+cL0OmG5w85PJIM7h/T5VLGzma37syhuK/idel5JrMx5LFtzNeLfW3Y99eWWi7STFz1JM6socxW
0R6Euhcv7TfEII+R+9g5TiH0cF+hirk1nKTc9Xa4wb2Eh2hC9ax/Nqrev86nMf4jDHvVOsrwH9/s
b6bwH7d3X/Af/4iPZVmZyHSs+genJv6wTPVUg0KCmgVbDQyZOmDcFcf21hnqxyrFpYKlAlb2LVuW
B51I60q6SKUJYVnXkR0tYpyvz87Up/o/PMGycjN1o4jHKsN3JqfWGcUkifVIgcuoC950eUccJIsL
2HSnJmA8EKh/eYWIQwjWB5Xzg/YJBX6EE37u+yCAhSh87sbhCBwU14OX3N2QLrmN1jm+xOwpi8yN
M4QeUzyhzXHC0sUzwnGuhZbfR5ofTi7Zm3f87pDJAh5KIKOyFeaUjC+SL+trORIZ2OEdAi6hm6V/
Nvj4ep1C1RCAMeS9cSnahpMlnEUJlkHMRRqch/w7ER8f+tirKHBvFlFWq2xtBJEE70J+v0iAtPKw
brs8qsCGGh/d6YJiPUL3kdsJnMvQenFNYjFHGwIYLGP+12nwb8COdTgGkeiF1kQlOAjtwsFS6HYF
BaPMA7xFgAERi9BJNzlkas1GCmA6AMcxMo6HFLrEPbwISpUShguUaZMWcQWOHSLftIkjCk0DY/NF
aFyyShGLxK8Y4VUkGppM0wR+2dhyRx0JVRjiUtRN1ZRQRtcTe+Q/sFPQK8PIJyS06nWGVJhunsmK
UpOYzweHNBeGyZmqC4qd+POnwL2dRCh+LnAWCcUPX528pvYrUQclBQ14Yq+w/GsgcCw6HLegEb6n
QvYk4agP7pkgjVQqI3sWYHoinQqwntmAnhksqQnjKW4OL4PhKe8NNwLwTGJ3IqFq8J2wyFmwaGYv
h2IlLVtIf73Ee1tbX63/VbSIp1GIi9feAY8/HFM4OF01xl5tUURhjMfJurX/YztIaBvlmTYxDUgI
QrtIaAcJxUCOrAmhPSS0i2Nu4oLUJcbeIKE9vC6n3+1t0KK3SGgfmd38FgK2fmuTW0T7XT5yRoR/
ne7FhHDksqMQaxB6g61JR2fVatEWEnqLo5YdtlSV2NY2EnrXRYUug34ajBkQIsne2uyyRBhNXTna
Isne2qIzl1QASm1Cx2SbroUYzExBig26tifNIw8vyyGu2iVYIk4QPZEui5dCNKQL5H4LdUvZZzUa
cXvFGjGp+/i6BTueup/VdG9nxd2LNTJ1bCkIZAQ/RiKN8I+161K0qtcGP9Zhj5FCE+RjA/P4nzG8
uyse3sQ6mWF01YA2jqEvyA5tgmusEI257dgE1DiGM+ajrBCNfWm9ZcMW/5oVpvdVlkyiFP+aCshS
rxahEicrSZ2UcSorABwuRxsWzW0OKCxvuEmskfqowizmhyCSOFD6mgITjgE/c7CEBaFcRGFWEVBY
0DFghVk9VGFBwsQWZvWghQUNDSi4Gb6woIMCsxTIMCdTgDQs5aoJzrC82S1qqYE1zLKghgWZioDD
LBNvWNEoQx1mRaDDgkoJ9LBOLQd5WGmy+rjD8WZXtKYW+DDLwh5WM78KAjFLAhDLZlSGIWYpFGKl
NapgEbNcKGJBpgSQmJXgEQsqxajErAyUOOZpJjQx05CJpTA0wiVmCpZY1FgbnJglsYmVlFdEKFYe
Eg2hWOq76jjFsvYU4H41sGKWg1UsO1OOWKz741Zo6+2t2NYTarkRjjKLYZQFX+qCKbMUlrIkVB1R
mWUCKgs6hjWhm3BFMMpMQwkWdIqwlCUTGyIpMwWkLNtcG05ZwwbgJCpjKucwR863XCRlVgqkLFfr
uc6iZcCUxfQtRlRWY9EcT1nsMxjLAVU2qmgAqRzfMjVlXeigP2bLuL9iNZLhEbVyDmWb4BPXBEBu
VIf8FMMgs9pIyCyJIVvUugrtbQyJvGS9yY/i07LYyBl9UowraYPWxSURknUyy2MkL9eeMq5URUou
aMGyYMmsIl5yKRNMjpTIenXU5Lr1cgdLYzxk2vXSYX5TMOQYBpnI1EFCzsZAJid8VRjkfABkJFMB
Azkf/RgJ5AIgP98C92bFC1zypE545JrhFRtIxSKgoSZWcRo0uBZQcRqimHtnq6IUF+ATk/wWQRSn
wYmTVii5KlNO0K6V9CLVx+7VnGfNAXzJYpfuqCYgvvpOXG1UKiP5siwgX+W9qQDny0w0X17y38vg
JnOAe02mwqcMvrduhbkZaFSNZRi+ssYlsXs5kTwA36QMx95qdQbQCK1XgJQqcWuC2MsUYK+Utvqw
vRxRUwprbexejfsxmYoIvswE8FWnL/XRe5kG3hu7cipB+LJcBF+5WS7E8WWlML4amTww36S8mFi+
0pkfH0VyPjXF85VSJfVlA1BfnWmqf3WQfZkG7KvOcOrB+zID3VdvRTWMXz4ikplNUXp1x3QjqF6m
kHqVcyYXr3eVhtTbZ3E4NscRFixW7qAGYMJMxxIWhKohCrM8QGHNyV0AK8wKUYXlKVo+trDkXnN4
YG0KNMIIZjFEcHzAWwAU/IfHQrxbsbguGVgnQsUbw/qSMYc0lsD0JTRf7ElGXB+1rzFsL9NQe2n/
UBO4lyVxey1mLMil0L0sG7mXGFYFvJcVYvcimXz4XlaK3su3vmkAX1YXv1fwNobwZQ0QfIFGUwzf
pKargeJryJUO4hvTKcLxZaUwvqQS85F8NezbbCBfIXLZWL6sBpQvEkqh+bKaYL60kVdR9svA+TLG
lgP05VFUXPYaQfoqMGWx2NQD9TU3qawWqi/LBvWl+VwF19ecjSlYX+JtPrIvqwzsS4tDGtuX1YT2
VS42cZzeCNxXii/a9A3hfWOjArd72Re+v+rTOwfQl49TBUxflg/pSxOpDNXX8GNkg/pa3CLLwfVl
1WF9kRDf9mjQvkwg+1pFsfK0RjeF69WRcIFMbcDeFFotrSMlkL2sELHXYqwMtJeVYfZyJ3kObC+L
UXsLQXurNKQcthepGMC9rBFuL5IhL/KSyL2cjMTuXYVlLS4Nba7Yss6515ERbVwCsFtjj7GSnYbg
x6pvURVcT/lnXR8QPV317Qjz/sw/uXOrvhuBd3qSl3riLuJFncybOvTKr5mIN18TJ5uERLPOzrvr
rF2Me9NeTxTNB3Vhr5K3esGIQ+Aa7NduN25eIrzdpK/wP9fZVZc05WVXIXVCc7ORSBNE9Ij69jrL
Rr3Mam+SDh9+xE9Ktj/pok+UlNgv6+wMmVyKH5XD5xwwpApNl4zPaXjGBYEkC+/ufBg/Pgb9rgQ/
g84UIsAlyCTx4IrB4Mq5kAUBVoEbEnytgCPiXoZZTsAZr7PPnA8aMCEwIg9WOUFEnr2Zkmii9y7R
hwwLuVgYq2MjJegIpCQdWkH1KRPxR/UqzRGpIAzlJ3olkGW/MgXsispgXcKwrrNr+INgU1FA1wXK
Kf8dR+nnbqI+gYQJfa+OSpuSRWgVw2aZbd7R2ry3u/1Vq+xn0WQEmPgMv5vDQAEVEogyWVe7KXJo
gg7vCG86tA7aYatWr3QNXPUFsuQtUrX+Zf1jPMJ/Lyf+zDmQT88w4uCgnoGwGq6sOtQ6+0qsugSr
kC0Q4IQCisjghQ0yv9UVOLewr5WHZQQtgosoRv8OgRbF5nIkkOyKrvDObRijyQT8bwqGndJ9XIzY
RngZ5UPFgmLvTP4cdFBgU23hnSVUEeFJotgRfq9+5ITDwL1Rp+bmXVDhPHAeI3GqwDeg6KyEOQJz
Dy8J4L2ccIGuWWolOXSpjXhOT78Il4ryb77HAzK+Q3ej+HYV7x88mfCQZPI8YV3uLI7c534dcgmK
W1D0itYAcqAYMRvKoabuCYjUZBTYQ349zmDgH87g+Cpi7LQZoxbEFwgw5y1pFR0758Sfu/zgAaF/
BAAP1UXdEMNC8gI7h8CJbMR7keg+Yo+8CGy6Co6+Ds7fUJzlcF5IBq7LkQH6INlcnogGP4JVdYrd
sQ2b6xklUpPDhmeleG2U4oaUl2ihbkwRPzkqDTb1SXIIj9ilaNH1YRKs+B4xldVDAKQbkbdExhgp
XoBd4cFjYhoIAk4gH2orwJqZB11z+mE4Dkb/cUmBVjl4d5Q8aE/EPR42xY/okEEzYUo9cS+YuOIO
awcHcaJOCTwn3T+8Hs9HjTHk0NOnp42phskhF88y9Y3uhMQWSVaqqUdxBKA7QIgvPQc9VtJTwb20
xsGr4iJnF1k7wJ//lMzCtecUJREVBTmJ/o9QRRk7d3l7TK8jvhSCbg8UpMCJb/D60jHTPr5m/es2
xsC53Oky+HTGTr5cDK76H34afLlapwdfrn44vuj/3+NB/8sF+3S2cQ3Prs4ur86uzy4G1+Q3vgI6
7Pryy8X1l6uzU/bhF/aq/5EdX/zympPoXwzOri7OBuz6ywn0/Bf46tT4gpahix/6F2dnV/2LH9jg
+Pq/2McvVydn7LR/fXJ+3P/Mjs/P2c/HV1fHF4P+2TUYCX/FNlxT7Z8vz/tnp2Ql9C9Ozn86RSLQ
B3bxZcDO+5/7A2jW4As2SdL4BRpwPKBW/HQNvfyIv3ICUPFn2d2rs/4F+7kPdSMp+A7bd0aErvo/
fBpQ/fiXaAOd9qlWItnPZ1cnn+DP4w/98z5UC+9/7A8usOkfsSy7PL4a9E9+Oj++Ypc/XV1+uT5D
CcgAcaiJc5SB4xMubv4GulOcdpEqEpNIKS6UA5yLgSsAjIwrRlyNrkvj13nEO3QYRIu+XlTxE+5r
c2fiWIvsFAxk5RrN8/CxK9dG7Ggipw6S/QhKG2e/VHCo3c9GLnnGFzMVShRHlCjh1rz+Ca6s0lFH
dzuS+H+N8R8RDKsixmAx/uOb/c3N7ST+49bu5gv+4x/xOfzz6ZeTwS+XZ+zT4PM5TOUP5/0T1u5s
bPy8c7KxcTo45V/sdmHkKFRcHHptbJxdtFlbWzYfdmjRHFxtoGzswqbTD53uKBq1e9YhPmKePbs9
ajuzdu8Q71j3JA53DhwjbXvQhlawvYdTmJG0VHdwZbunJFu4eHYGT3OnzY+ZZtFRGw+bqBnv2XBi
BzDPjxawYL1tSxoEqNvmFikdvWqFS9uToHLnPMGOeBTqJDhcwKf+5bpxHRf34InS3FqCb7Xij1Nv
OxgP2f1Wdwf224LJ8LSLB+l4jZ1Y/RpJhdETxvcQtC91exhiAgdC2cUG3/ijJ/ab2kKOoY7O2J66
3tMBxiSN7Jm9Tkwa+ra3jkdY904EdgioSwT9W2chDHoHsYjH7xUV2PHeurMDtu1M35ukQ/fvsEkL
p6g0gflgkwQH7DsxK94zhOlFrMXZqCO/G9MHvvsHUepyQODfVNl377Dse538Y8dDmBmWqPvBQf18
AF32Ru8ZMqMDNsgttJMU9/tsJmg9noJkD330n4JlAN0G8xm63S5kRbpHEd2osFHLq06NXc/B8db6
tU8fo19bb+eP7xkaqZ2J6Ms2PlpxN5ftTTTqgnTeLG6hNxkDqgb7wR1FkwO2szl/hL9kj/ifqka9
/X8DbQy7rPcomNhUT37B08EBkTmYqLDIdiJ/Drwhusk2QWNnXVx8c1idwb6RMxSuzAM8UXeK+KG6
l81mKULxjMIJfm9nCJU2ImoiZo2JIfhyZmX2euJHA4xziHvOJ1ei5zxktLTv+sgMaQ+W1+m4s7L7
z9Pp3NGQ/Nj4d9pTQPdhT0q7v2u8d/Vfnr0ICWhCW69g30qBoKRAu0N/uhH5PoYbbZNxw/59g0iO
3PvvhlAldP83rva48G1tghz/g98hsLtYa6xkpXPmIHA8OtF5Dy3jgaLqDFiQx8/fO+h1eDzY3k0w
XxsbHBqjtoMJ7vx+U2X3MtgjdKemiKWyNUiR8Pw2cmF5sp+4FGRUxUWMOkq9ceiBiCbiZWkC415N
lsBNgNZRWcWNB0vs+zS77Bs6onLy1xRDBnEccAVinjOO+G9c5Wzt6euS0BlCX8RTG9ZsJzjYgodQ
qzti3+3Qp2Dyf+fQR7JTLk2ZMwbbpPgMG6bfsrTPP8S3B6Dz7zLWvEJ1zLTyeEsIPRExCdGZ6iRs
unfWiAKRmENRMUFoPMg4kE8CsZrhI17jvKvcIZI32Tpu3o38ofmKfCHFUfbebMKOM8UxoLFBZ5Yg
Jc2XTfpvBxulhAS5ziUDf00uRDTCIHeaAs5uXeZiU0SNyNEUc6bziaKIyumAuRGUGMpK6S3Y7Pqz
2yKxotegypt18esNulR+M1U3WNCLAGNHLpwHUM/iL1LkPpQaOsxs3H1B6xoQjukW9WcpwiPHWzw6
BYSX7wXV5nvdiC++NWbBokkhz02+TyKsJiKNcvr75LwuMfayl/oqDEnP1FwNGX8jGj/ZydBAGkG8
ObWY5hkiRUYuq2nlTnbzp3W1+mSfuOrh9nK2Tby1Z5qy/N3UDinD/pErfKHVVlhrfLpoVH/cxTVp
O6sZ6YmUa7YkTMoVmMpLGIv6siWHZtQVcG85NnOCanZPxNhntzKt9UHhF20w+G5FG7Wdf9NlQ+SJ
yNRnxqTfxUlfvHngtDpCBaXfVa+SBGN8LLyW0R8mF03shGfPQyAhf0uZXFLhcqsr/TP1vmDMjQe8
yvhZ6IHInA56p/jwY7gl/YnyusI+Zoh/zfYR06NJ1niXcLY2H7P4Urdq4h/94I1IbKcbNISINWhF
FhtHmidsOWEUa1PuvznMHBlyhu3JaTlfgnCaK20NyvofFua7Otygl/EX8qNah+jkg3/4tYBwMUVs
g6M2bLVgf9sGufI8Yd8etTf537hW09/bbTzdD8OjNmj9NiNRPGqT0dHuHUYB/D/S3+gd2tAuZ3zU
/g4sX1WYFot27/vZTTh/P/hywn853LB7hxvRCH8E+AMbmN9QUnhH7f39f2sLtqj25rZ/U7WyV0IW
duwFdLcTdLfQuWp2n49iu5eZMYl3M/2yTI8UsyGPrBlTUkCvnFROBqU8mkZIik5dDFjWEI7c+6Sw
kD9AkCYvLjy7CdhGFQ8/lgXqQLUm7UrHVSZ963Cy08tI1wTTaQdqn/es8pxNVknOppoJm6x0wqay
bE1Webam3FRNVn6qJj5xZb4m/tebd93DjTlnzfKJmxplbbJinMNGGZuS7S7uUP2MTatI18RzNVkN
UzVl5WmyonSepu+90f8s/PepbE3fB/Rc8WXQLG+TXB6yE0tmZm9a61V/F1eUbmYbG2V8Kmytlvcp
u4naC8l21U0QRUVJMSUTRcVaKf7me/SdvS8MpIgJysRRnBBSap49SlhDModUkwRSgkRWHVVySIni
+ZmkqqSREkSyk0nJUVwqoZRsZrhUTimtnY3SSonyZm6pqomlkA+H8pgabb0emXO06h5O8CeJVyrN
kxRYtVxjUSs2G3nqX7CvtrpIkC8xlp4XhdeRKgL25bZehOcayXl5p93bMV6OM1fklNht93b1Egng
0pxSe+3enl5KR4PLKbLf7u0bXW8OJCFq4ITSP5M1v8GaE2w3gB9q0nuL9Iwxyb6rmsOId+3eG6Mx
6Xt/OSW3wOx/awxW9hW5vOIgfe/04vG9s7wSIHxbm3qRxGWuVLlgPOzGuY9R3A3GZ932yqQhotFg
b/Xd1v6b93oLEvH0mcXVKUsGgXrZmCR5Uo83mHQEU1e3bc9r43NL6Qo1wdP64l9mhyr7giwU2GNd
2SNQb1tdXtzQWvH6+uFUsMlkyfY3x5LtmCXbgiVCKytmLJUGSixgCCjTKBNU0tgYNUgGJWhoKaEa
5YMSZIysUFlCsvPNCclOLCQ7Uki01TjHLK2RTEqwNsYpbZRPSlIRWaUappSSJptMLKVnlWKYqR5H
fOEp48h5pIhAz+0VJZwCvooCaN225ThlXXds97JvQZILpcdeSV+I7lEhor3Ci5Fi25h3PTIGIxX7
SHW1kQ843W/Uq+69Vk4ZGxcVYABxIZk8q6zn8vKv3m11D7m8zyVXk0Wvsy8oG+1U/eYbu5q9LsoD
Vm3sU5do03KQvh9czp/8K8OCNYUXh9NXhVus+LbwUuKzsfB6uFEWc20FmdFYleRorHxuN0+cZrWy
wMUq5kyzWtWER91DTwtNfBu+XFjMy7BCQEqvyashx+vtVYY7lefNapUlestP8Wa1KuZ4M7O7Wa16
6d0Sid2sVr3MbnpytlazpG60ULaWyufWKkrlFiuzJtncrJaC1ayRyc1qZaVyq5rEzWpFWVncKuRv
s1pFCdzKUrfBKJTnbovZ2SB9m9VKOZaqZW6DIc5I3caqJW2zWsmsbTXytYEAJBO2VUzVZrVyc7WV
ZWmzWiVp2koStFmtsgxtLC83G+h1LTlbPNqN8rNZLZWgrX5qNpwGZm626lnZQI+lsrLVyccG2jeZ
kK1iKjaQl+xcbFWysAHztTRsmuZqlPDMasUZz2rnOuNKyEh2VifNmdXKzHOGtX3je4aiVG2oiUoS
kcksbfHgN0zUhopLZGprkKMNJVHKSuX0bN/8yOZnmKs0svPEyC6TX65VllpOE6Dm2eVAC+igtkZi
uUQFDXLLWa0YCzGRVi6xc+IbmUy/1O4355fajf1Su8IvlTzzEUdZgaM2leanZj65mgnrGmarK05V
VzNPnZm4q3HWrsbp6VaWm45zZdmsdMumpFtFProKyei+96L3VPT72+h9UUq6ZfPRLZuM7rky0VVK
Q7cqaa6egK5e9jlQw6h5QDE3z0EnvdqpTXtUIw2dPIaRyejqZaITpTPz0VVPRicjKvJS0lXJRydd
enlZ6QpS0mUtiXvf3JK4Fy+Je2JJNAIa1FlN0xx3YgT0THdN8twJMunkc5VT3QkKqYR3NbLdCRL5
Oe+KE96J4qm0dy/+/rINgkrdZv4jAxT4P4nv8n3zzdMG8r1784yBfOvYbZYtEL2IOop45USBVisr
U2C1HIFGpTAMrRyeNsoZaLWYXJhKswXGm6KG2QK1ykoTBWqbJOjykvkCW3mpAr/Fo5qv2kA1ynNo
tUSiw4Y5DmV5dJs0SG+IM5yCsWtnNtTkhOM+VMppKE/7ZFJDpp+M109siJ7JOGFg1ZyGeM6Tk9Sw
JJ0hHsSV5DMszGQINRelMjQiZyRbmuYxhLoSmdHqpDDM4lHV7IVQNk5fWDtxIUi0nrmwTs5CPGRz
DeY1zVuoO9DrpizEQxeRs7AwW6HumW2aFlB3r9bPCGi19JSAFZMBGkvkevIMtSgPoNUqTARYmAKw
6npYlAWQmzONEgACn1UGQGGy5Ob+q+5y3P/m9lf78f5qX4aQLhH9rbZjS+QSFANQL0NfOp1gfDMk
e6/85tsbSz0gGMPqZUiwGVGvxqhxPkU685AJFWtnU6SjBSOdYq1cijCzM5MpVsukiE0vSKVYkEcR
j7RLEilmZlGkOIJaaRTNHIq4O6qdRLHVNIWiafDUSKBoFtQzKFZIn4hmWkn+xKLkifzQvih7Yn7q
RBjW6rkT04kTUZhrZU6ML5ZB0SXyJraWy5oI3aa0iUaURfWciWhTmJOsesZEc8teK2EitDozY2K1
dIkkJgX5EouSJVIoUbVsiVmpEqHP9XIlaokSTcu+eqZEmSbRajXMk9iKxabAFZDOySIcARkpYxq6
AarnklHZY1pMv+Kt3AQSWEC5CvbzXQWxhuJ2aFYKyGr5H61WfgLI8uyPsL8qTf9YkPtRxJNWSv4o
toxx4kde+HUX/WoZNtTbb9CG2tZtKHmHKOcWoTKlmqa9hLGNczjWTnoZmwZJ0yU35aXVKsx5WZZn
0mqVZbzMT3eJel/muyxOeJnZCoNV5ekuE8kuSQFHtbNdEuut1pK5Llt6psusefTum5tHb+JZ9Ebu
QzIu0+ZctSrLpJnFQ7yB+40x8W3MxLcyHijnWnHpVc+tb+/667uYPe8Ee7Rr0+Uc+fZuv6o5gDeC
NwVPkvfCCxiTuiL+L8wfZIF0gWTebeehdLw/ApHr3TsDkCsFZ6XBE7YJgwf7EfnzdoxLkZkaVVjE
6ZSpqvFWTi09LYuqsIYVczJBaiTGCyEGhRv5mVQRvKbdK07MSsGv0nZukJRVmdmIY5GHEVaRqRUu
V5Yys9rlygYMTqZ95cytcEszg8NVUshmXepcBX/rHOmWcjtzL9eUuen8tJzHpUfEeRyulvA2fbC8
OjY3i5gpZXtpxMxyQ5CVHJcPRb1IHKssEqd44Krm6M2I42GvnosDg78O+H2BZ6hgPhq3e5enH7GC
1yuVw+J7GaXyVuVexnL8kPmLOZNL73gUC05RMuTsoK8lOV3LQfaHKdXMVMqcwfXdbZbpbssYgOLM
zVm5mg0X3RJDIPI8A89lxudyJjfNCB2nZU4OzJjGBX523dDtOqMFDEsHLwiFG2B0Y7M476unjjaY
DF3j/DJzRyse7izPw73dbcFDzEBdzsNGGarr8g2awvnWNJV1EStlLuscLsqdhrl9UuhY/9pbpxSU
V/luqRQWuUjwerJFRSJVCDX8rVFjxSDNz9HApHzxDOfPRJwnTK9CXIk0loj8A6hM1KiLbzwhjfmo
wc39a8/IkrTsCZDLNdXvNY5Ku1y29uVTtVv8sKxBnnZLz9PO6iZpt1JJ2mtlaLcyM7TXSc9u6enZ
LS07e3lqdqs4NbuRl10AY6vk7Emg7Cy5WDJve52k7VZG0vY6Gdut3IztNdK1W0a69qa52i0jV7va
6mXjS8+DHDDpeaAjNBfO2mZJ3i18XcvwbpVkeLfkNLYyeFkvvbulp3dnZm53q1Zq95i7Qven8ryv
9VKPNMaCTsxOAl+sLpfKDW9xQGZhyVJ6eGlb5ieJt8qTxBdmiLcqZYgvSw9vJdLDW1np4ZfLDb9k
Yvjls8IrwciAlC2Silpg51Ze0vhExniresZ4qeB5noWinPFWVCFnvGKDeTxUxIGlE8qnssnzRmxQ
tphDyo/dS2WEf/m8fF4+L5+Xz8vn5fPyefm8fF4+L5+Xz8vn5fPyefm8fF4+L5+Xz8vn5fPyefm8
fF4+/6qf/weJn2GcAEABAA==
--------_445AE841D41505D190F0_MULTIPART_MIXED_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api

--------_445AE841D41505D190F0_MULTIPART_MIXED_--





From multimobsec-api-bounces@ietf.org Fri May 05 08:44:44 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fbzfo-0003xH-4m; Fri, 05 May 2006 08:44:44 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fbzfm-0003xC-O2
	for multimobsec-api@ietf.org; Fri, 05 May 2006 08:44:42 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fbzfl-0002Mp-DG
	for multimobsec-api@ietf.org; Fri, 05 May 2006 08:44:42 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id 9C1BB31C4; Fri,  5 May 2006 15:44:38 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.1-niksula20060321 (2006-03-10) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.1-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id F112831AE;
	Fri,  5 May 2006 15:44:35 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3) with ESMTP id k45CiUZk019467; 
	Fri, 5 May 2006 15:44:35 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Fri, 5 May 2006 15:44:29 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
Message-ID: <Pine.SOL.4.64.0605051543230.17192@kekkonen.cs.hut.fi>
References: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: ea4ac80f790299f943f0a53be7e1a21a
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Fri, 5 May 2006, Shinta Sugimoto wrote:

> Hi Miika and all,
>
> I am sorry for being late (at least a week later than planned...)
> but let me send you a draft which is a compilation of the requirements
> for API identified/discussed on the SHIM6/multimobsec-api/BTNS
> mailing list in the past.  Attached please find the document in
> {txt,html,xml} format.
>
> At the moment, the draft only contains the requirements for common
> API for both SHIM6 and HIP, and some identified issues.  Most of the
> items were from Marcelo's email about API for SHIM [1].  I hope this
> is useful for identifying the requirements for API for (generic)
> multihomed environemtn which is based on ID/Locator separation.
> At the moment, as I failed to see relation to BTNS so no relation
> is mentioned.  But I am open to discussion.
>
> After we discuss and agree on requirements, we can work on specific
> solutions.  Hope its useful and I appreciate your comments.  Especially
> I would like you to check Section 5 and see if anything is missing.
> Also, please feel free to modify the document.
>
> [1] http://www.ops.ietf.org/lists/shim6/msg01191.html

Excellent! I will have a detailed look at the shim6 and btns requirements 
next week and give feedback.

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Mon May 08 03:51:14 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fd0WP-0005j6-AS; Mon, 08 May 2006 03:51:13 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fd0WN-0005iP-ND
	for multimobsec-api@ietf.org; Mon, 08 May 2006 03:51:11 -0400
Received: from n2.nomadiclab.com ([193.234.219.2])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fd0WM-0004U9-PL
	for multimobsec-api@ietf.org; Mon, 08 May 2006 03:51:11 -0400
Received: from n2.nomadiclab.com (localhost [127.0.0.1])
	by n2.nomadiclab.com (Postfix) with ESMTP id D7E44212C5D;
	Mon,  8 May 2006 10:51:04 +0300 (EEST)
Received: from outside.nomadiclab.com (d146.nomadiclab.com [193.234.218.146])
	by n2.nomadiclab.com (Postfix) with ESMTP id A63D8212C59;
	Mon,  8 May 2006 10:51:04 +0300 (EEST)
Received: from outside.nomadiclab.com (localhost [127.0.0.1])
	by outside.nomadiclab.com (Postfix) with ESMTP id 3CB7FBDC40;
	Mon,  8 May 2006 10:51:04 +0300 (EEST)
Received: from [193.234.219.179] (w179.nomadiclab.com [193.234.219.179])
	by outside.nomadiclab.com (Postfix) with ESMTP id 046DCBDC38;
	Mon,  8 May 2006 10:51:04 +0300 (EEST)
In-Reply-To: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
References: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
Mime-Version: 1.0 (Apple Message framework v623)
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Message-Id: <edce8128a8b8d76ee6be4403402d4392@it.uc3m.es>
Content-Transfer-Encoding: quoted-printable
From: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] api requirements
Date: Mon, 8 May 2006 10:51:15 +0300
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
X-Mailer: Apple Mail (2.623)
X-Virus-Scanned: ClamAV using ClamSMTP
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 4ec58ef3f343ebf5ac40a04538f9a6fc
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Here are some comments:




Network Working Group                                           TBD. TBD
Internet-Draft                                                       TBD
Expires: August 5, 2006                                    February 2006


                      Socket API for Multihome Shim

MB: s/multihome/multihomed?

...

Abstract

    This document specifies API for multihome shim layer.  The API aims

MB: s/multihome/multihomed

    to realize interactions between application and the multihome shim

MB: s/realize/enable

    layer for advanced locator management and interface to the essential
    information about failure detection and path exploration.

    This document is based on an assumption that a multhomed host is
    equipped with a 'shim' which maintains mapping of identifier and
    locator.  SHIM6 and HIP are the examples of the shim.  Hence, the =
API
    can be commonly used by SHIM6 and HIP.


...

3.  Terminology

    This document does not intend to give new definitions for technical
    terms that are relevant to multihomed environment but tries to
    inherit definitions provided in the existing documents as listed
    below:

    o  SHIM6 Protocol Specification[I-D.ietf-shim6-proto]

    o  HIP Architecture[I-D.ietf-hip-arch]

    o  Reachability Protocol (REAP)[I-D.ietf-shim6-failure-detection]

    For clarification, we provide definition for the terms that are
    frequently used in this document:

    o  Identifier (ID) - An identifier used by the application to =
specify
       the endpoint of the communication.  As addressed in [I-D.ietf-
       shim6-app-refer], application may refer to ID in different ways =
in
       different situations.  In case of SHIM6, the identifier is called
       ULID.  In HIP architecture, the endpoint of communication is
       represented by Host Identity Tag (HIT) which is a hash of the
       public key owned by the host.  By using HIT instead of public key
       for identifying the peer, legacy (non HIP-aware) application can
       also take advantage of HIP.


MB: Perhaps it would be more clear to explicitly state that in
HIP the identifier is the public key.

...
    o  Context - A state information to be shared by the two entities,
       which binds the ID and associated locators.  Note that the =
context
       can be uniquely defined by a pair of IDs.

MB: I not sure i understand this... i guess that in the case of forked
contexts in the shim, there are more than one context with
the same ulid pair...

       Hence, it could be
       possible for to hosts to establish multiple contexts that are
       based on different ID pairs.  Specific procedures to establish
       context is dependent on protocol of shim layer.


....
    o  Preferred Locator - The mostly preferred locator of the peer host
       identified by the ID.

MB: i don't understand this sentence..

       Note that preferred locator should be
       defined within a context.  As defined in [I-D.ietf-shim6-proto],
       prefered locator of a host whose ID is 'A' can be denoted as
       Lp(A).

....

4.  System Overview


                        +------------------------+
                        |       Application      |
                        +------------------------+
                                ^
                                | (via Socket API)
                                v
                +------------------------------------------+
                |               Socket Layer               |
                +------------------------------------------+
                                ^
        +-----------------------|---------------------------------+
        |                       v                                 |
        |   +-----------------------------+       +----------+    |  IP
        |   |            Shim             |<----->|   REAP   |    | =
Layer
        |   +-----------------------------+       +----------+    |
        |                       ^                      ^          |
        +-----------------------|----------------------|----------+
                                v                      v
                +------------------------------------------+
                |              Interface Layer             |
                +------------------------------------------+

MB: I am not sure what interface layer is...
perhaps some text would help...

    Figure-X illustrates the system overview.  Application can take
    advantage of the Socket API which can be used to interact with shim
    as well as REAP component.  The shim layer is somewhere between the
    IP layer and Transport Protocol Layer and it closely interacts with
    REAP component which is responsible for failure detection and
    reachability exploration.



















TBD                      Expires August 5, 2006                 [Page 7]
=0C
Internet-Draft             Multihome Shim API              February 2006


5.  Requirements

    Following is a list of requirements from the application =
perspective.
    These requirements are based on discussions on the SHIM6 mailing
    list.  Besides, the list contains some issues raised during the
    technical discussions on the SHIM6 mailing list and some =
requirements
    are derived from Reachability Protocol document[I-D.ietf-shim6-
    failure-detection].


    o  Locator management - Locator management is primary role of the
       shim layer, which secures the delivery of IP packet to the peer.

MB: what do you mean by "secures" in this context?

       Although the shim layer is there to make the locator information
       invisible to the upper layer protocol, some advanced application
       may have desire to access the locator information.

       *  Application should be able to obtain list of locators of the
          host.  Ls(local) and Ls(remote).

       *  Application should be able to obtain preferred locator of the
          node.  Lp(local) and Lp(remote).

       [NOTE: The issue about locator management is well addressed in
       SHIM6 referrals document[I-D.ietf-shim6-app-refer]]

    o  Notification from application to shim layer about the outage.
       Application should be able to inform shim layer about outage in
       its communication.  REAP module may be triggered by this
       indication to invoke procedure of path exploration.  [NOTE: This
       is also addressed in section 5.2 of REAP specification]

MB: There were several discussions
on the ml whether positive or negative feedback would be more useful
i mean, here only negative feedback is considered, but it is
possible that positive feedback from the application is very
useful to supress the keepalives


    o  Hot-standby.  Application may request shim layer if hot-standby
       connection is needed.  Hot-standby is an alternative path =
(locator
       pair) which can be immediately replaced with the current locator
       pair.  Hot-standby may allow application to achieve better
       failover.

MB: i would put this more explicitly that here alternative paths known=20=

to be
working are availble

    o  Eagerness of locator exploration.  Application should be able to
       specify shim layer how aggressive it wants to search alternative
       path (e.g. specifying the number of concurrent attempts of
       discovering working locator pair) when an outage occurs on the
       path between the currently selected locator pair.

    o  Don't apply shim.  Application should be able to request shim
       layer not to apply ID/Locator adaptation but to apply normal IP
       processing at the IP layer.





TBD                      Expires August 5, 2006                 [Page 8]
=0C
Internet-Draft             Multihome Shim API              February 2006


    o  Providing locator information to application.  Application should
       be able to obtain information about the locator which was =
actually
       used to receive the packet.  With this information, application
       can verify if its preference on choice of locator is actually
       applied to its flow or not.

MB:locator or locator pair?

    o  Application should be able to specify if it wants to defer the
       context setup or it wants context establishment to be started if
       there is no available context.

MB:wouldn't this be shim6 specific?


MB: missing stuff:

- The application should be able to inform the shim
   about the timeout values for detecting a failure,
   for sending keepalives, for starting the exploration
   procedure. In particular, the application should be
   able to suppress the keepalives

- The application should be able to select a locator pair.

- The application should be able to set the preferences for
   the locators, local and remote one and also to the
   preferences of the local locators that will be passed to
   the peer.






































TBD                      Expires August 5, 2006                 [Page 9]
=0C
Internet-Draft             Multihome Shim API              February 2006


6.  Issues of Handling Multiple Locators with Legacy Socket API

    In multihomed environment where either or both of the peers have
    multiple locators, there are some issues with legacy Socket API.

6.1.  Initial Contact

    When application to establish communication with its peer who =
happens
    to have multiple locators, there are some issues to consider.  In
    connection oriented communication, connect() system call is used to
    make the initial contact to the peer, which requires IP address and
    port number to specify the endpoint.  Hence, name-to-address
    resolution should be performed prior to connect().  Application =
needs
    to resolve IP address of the peer from its FQDN by any available
    name-to-address conversion method.  In typical case, the application
    receives information from resolver.  If the application ends up with
    receiving multiple IP addresses to reach the peer, there are several
    options to make the initial contact.  One option is to issue
    concurrent connect() with every locator of the peer, which is done =
in
    some applications today.

MB: actually the situation is more complex than this imho, since you
have also to consider the source addresses, so you end up with locator=20=

pairs
that need to be tried

    Another option would be to request shim
    layer for taking care of initial contact.  And behavior of shim =
layer
    will depend on the presence of the required context.  If there =
exists
    the context for the ID specified in the connect(),

MB: for the pair of IDs

    the initial
    contact can be made in accordance with the context information.
    Otherwise, shim layer should invoke context establishment with the
    peer ID specified in the argument for connect().  Additional efforts
    would be required in a case where the peer cannot be reachable by =
the
    ID (for example, ID is non-routable or non-IP reachable) but can be
    reached by alternative locator.  In particular, shim layer should
    somehow discover the alternate locator for the ID to establish
    context.  [I-D.nordmark-shim6-esd] addresses the possible approach =
to
    perform reverse DNS lookup from ID to FQDN, then perform forward
    lookup again to find the full-set of locators and ID.  However, this
    approach does not help the case where ID is not in form of IP =
address
    (e.g.  HIT in HIP case).

6.2.  Naming at Socket Layer

    getsockname() and getpeername() system calls are used to obtain the
    'name' of endpoint which is actually a pair of IP address and port
    number assigned to given socket. getsockname() is used when an
    application wants to obtain the local IP address and port number
    assigned for given socket instance. getpeername() is used when an
    application wants to obtain the remote IP address and port number.
    As IP address is the key information in the two system calls, there
    is a question if it should be identifier or locator when shim layer
    is present.


regards, marcelo


El 05/05/2006, a las 9:18, Shinta Sugimoto escribi=F3:

> Hi Miika and all,
>
> I am sorry for being late (at least a week later than planned...)
> but let me send you a draft which is a compilation of the requirements
> for API identified/discussed on the SHIM6/multimobsec-api/BTNS
> mailing list in the past.  Attached please find the document in
> {txt,html,xml} format.
>
> At the moment, the draft only contains the requirements for common
> API for both SHIM6 and HIP, and some identified issues.  Most of the
> items were from Marcelo's email about API for SHIM [1].  I hope this
> is useful for identifying the requirements for API for (generic)
> multihomed environemtn which is based on ID/Locator separation.
> At the moment, as I failed to see relation to BTNS so no relation
> is mentioned.  But I am open to discussion.
>
> After we discuss and agree on requirements, we can work on specific
> solutions.  Hope its useful and I appreciate your comments.  =
Especially
> I would like you to check Section 5 and see if anything is missing.
> Also, please feel free to modify the document.
>
> [1] http://www.ops.ietf.org/lists/shim6/msg01191.html
>
>
> Regards,
> Shinta
>
> =
<multihome-shim-api.tgz>_______________________________________________
> MULTIMOBSEC-API mailing list
> MULTIMOBSEC-API@ietf.org
> https://www1.ietf.org/mailman/listinfo/multimobsec-api


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Mon May 08 11:57:16 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fd86m-0008Fv-5M; Mon, 08 May 2006 11:57:16 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fd86k-0008C2-7Y
	for multimobsec-api@ietf.org; Mon, 08 May 2006 11:57:14 -0400
Received: from p130.piuha.net ([193.234.218.130])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fd86i-0008Ua-Ur
	for multimobsec-api@ietf.org; Mon, 08 May 2006 11:57:14 -0400
Received: from p130.piuha.net (localhost [127.0.0.1])
	by p130.piuha.net (Postfix) with ESMTP id BF654898D9;
	Mon,  8 May 2006 18:57:06 +0300 (EEST)
Received: from [127.0.0.1] (p130.piuha.net [193.234.218.130])
	by p130.piuha.net (Postfix) with ESMTP id 7C87D898D7;
	Mon,  8 May 2006 18:57:06 +0300 (EEST)
Message-ID: <445F2D60.5060802@piuha.net>
Date: Mon, 08 May 2006 14:37:04 +0300
From: Jari Arkko <jari.arkko@piuha.net>
User-Agent: Mozilla Thunderbird 1.0.8 (X11/20060502)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
Subject: Re: [MULTIMOBSEC-API] api requirements
References: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
In-Reply-To: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 68c8cc8a64a9d0402e43b8eee9fc4199
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

The basic list of the requirements looks reasonable as
an optional extension of the socket API. But I wonder if
this cross-layer communication is really something that
happens not just between the shim and the app, but
between the shim, transport, and app (with possible
abstraction level changes in between). Do you see
a role for the transport layer to affect some of these
decisions?

--Jari



_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Mon May 08 11:57:17 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fd86n-0008GY-7t; Mon, 08 May 2006 11:57:17 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fd86m-0008G1-6c
	for multimobsec-api@ietf.org; Mon, 08 May 2006 11:57:16 -0400
Received: from p130.piuha.net ([193.234.218.130])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fd86k-0008UZ-Ou
	for multimobsec-api@ietf.org; Mon, 08 May 2006 11:57:16 -0400
Received: from p130.piuha.net (localhost [127.0.0.1])
	by p130.piuha.net (Postfix) with ESMTP id 3486D898D8;
	Mon,  8 May 2006 18:57:05 +0300 (EEST)
Received: from [127.0.0.1] (p130.piuha.net [193.234.218.130])
	by p130.piuha.net (Postfix) with ESMTP id DCE6E898D7;
	Mon,  8 May 2006 18:57:04 +0300 (EEST)
Message-ID: <445F2C55.40901@piuha.net>
Date: Mon, 08 May 2006 14:32:37 +0300
From: Jari Arkko <jari.arkko@piuha.net>
User-Agent: Mozilla Thunderbird 1.0.8 (X11/20060502)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Michael Richardson <mcr@sandelman.ottawa.on.ca>
Subject: Re: [MULTIMOBSEC-API] first steps in APIs
References: <Pine.SOL.4.64.0604222216380.17569@kekkonen.cs.hut.fi>	<10723.1145750635@sandelman.ottawa.on.ca>	<20060425090109.12AA.SHINTA@sfc.wide.ad.jp>
	<26345.1145971320@sandelman.ottawa.on.ca>
In-Reply-To: <26345.1145971320@sandelman.ottawa.on.ca>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 769a46790fb42fbb0b0cc700c82f7081
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Michael,

>     >> What does shim6 have in common with IPsec over IPv4?  This
>     >> question is not an argument, but rather, a genuine question.
>
>     Shinta> As you pointed out, currently SHIM6 only handles IPv6
>     Shinta> addresses in its locator management.  But in the future, it
>     Shinta> could also support IPv4 locator as well.  It is addressed in
>
> ...
>
>     Shinta> So, there is not need to exclude IPv4 locator management
>     Shinta> from the common part, I think.
>
> I still see an empty set with IPsec over IPv4, as we don't deal with
> locators at all.

What do you mean by "IPsec over IPv4", exactly? I see that
everything in the below list needs to do locator management
and failure detection:

- Shim6 (currently v6 only but likely to be extended)
- Hip (currently leaves this part to handwaving, but should be specified)
- Mobile IP/monami6 (same situation as in hip)
- Mobike (has its own locator and reachability management)

All of these also need to have some interaction with upper
layers, at least to provide a change indication.

Out of the four cases, if you guys want to work on locator
management and reachability detection PROTOCOLS, this
would likely be easy for Shim6 and Hip by extending the
current Shim6 scheme. Its very easy to make them the
same, given that the same protocol numbers etc. are
used. However, there's a potentially large work ahead to
figure out how all the v4 and NAT details actually happen.
This was hard in MOBIKE WG, and the problem was
somewhat restricted. Whether you want to include
mobile IP (or mobike) in this protocol development is
an open question.

On the other hand, if you want to develop some APIS in
this space, then we have another situation. Probably could
have similar APIs from all of the four.

--Jari



_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Mon May 08 15:29:34 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FdBQD-0007TP-Jh; Mon, 08 May 2006 15:29:33 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FdBQC-0007TK-Jj
	for multimobsec-api@ietf.org; Mon, 08 May 2006 15:29:32 -0400
Received: from cod.sandelman.ca ([192.139.46.139] helo=lists.sandelman.ca)
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FdBQB-0002sE-57
	for multimobsec-api@ietf.org; Mon, 08 May 2006 15:29:32 -0400
Received: from sandelman.ottawa.on.ca (desk.marajade.sandelman.ca
	[205.150.200.247])
	by lists.sandelman.ca (8.13.5.20060308/8.11.6) with ESMTP id
	k48JSEFZ004752
	(using TLSv1/SSLv3 with cipher DHE-RSA-AES256-SHA (256 bits) verified
	OK); Mon, 8 May 2006 15:28:45 -0400 (EDT)
Received: from sandelman.ottawa.on.ca (unknown [127.0.0.1])
	by sandelman.ottawa.on.ca (Postfix) with ESMTP id 705E93AD9C;
	Mon,  8 May 2006 15:27:59 -0400 (EDT)
To: Jari Arkko <jari.arkko@piuha.net>
Subject: Re: [MULTIMOBSEC-API] first steps in APIs 
In-Reply-To: Message from Jari Arkko <jari.arkko@piuha.net> 
	of "Mon, 08 May 2006 14:32:37 +0300." <445F2C55.40901@piuha.net> 
References: <Pine.SOL.4.64.0604222216380.17569@kekkonen.cs.hut.fi>
	<10723.1145750635@sandelman.ottawa.on.ca>
	<20060425090109.12AA.SHINTA@sfc.wide.ad.jp>
	<26345.1145971320@sandelman.ottawa.on.ca>
	<445F2C55.40901@piuha.net> 
X-Mailer: MH-E 7.82; nmh 1.1; XEmacs 21.4 (patch 17)
Date: Mon, 08 May 2006 15:27:59 -0400
Message-ID: <2061.1147116479@sandelman.ottawa.on.ca>
From: Michael Richardson <mcr@sandelman.ottawa.on.ca>
X-Spam-Score: 0.1 (/)
X-Scan-Signature: 5a9a1bd6c2d06a21d748b7d0070ddcb8
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


>>>>> "Jari" == Jari Arkko <jari.arkko@piuha.net> writes:
    >> >> What does shim6 have in common with IPsec over IPv4?  This
    >> >> question is not an argument, but rather, a genuine question.

    Shinta> As you pointed out, currently SHIM6 only handles IPv6
    Shinta> addresses in its locator management.  But in the future, it
    Shinta> could also support IPv4 locator as well.  It is addressed in

    Shinta> So, there is not need to exclude IPv4 locator management
    Shinta> from the common part, I think.

    >> I still see an empty set with IPsec over IPv4, as we don't deal with
    >> locators at all.

    Jari> What do you mean by "IPsec over IPv4", exactly? I see that
    Jari> everything in the below list needs to do locator management
    Jari> and failure detection:

    Jari> - Shim6 (currently v6 only but likely to be extended)
    Jari> - Hip (currently leaves this part to handwaving, but should be specified)
    Jari> - Mobile IP/monami6 (same situation as in hip)
    Jari> - Mobike (has its own locator and reachability management)

    Jari> All of these also need to have some interaction with upper
    Jari> layers, at least to provide a change indication.

  Yes, but a user of IPsec with IPv4 (such as BTNS + channel binding +
NFSv4) needs none of this.
  
  MOBIKE is specifically chartered such that the user of the IPsec never
sees the motion. Sure, the IKE needs to know about locators, and get
hints, but that has nothing to do with the IPsec SAs themselves.

- -- 
]       ON HUMILITY: to err is human. To moo, bovine.           |  firewalls  [
]   Michael Richardson,    Xelerance Corporation, Ottawa, ON    |net architect[
] mcr@xelerance.com      http://www.sandelman.ottawa.on.ca/mcr/ |device driver[
] panic("Just another Debian GNU/Linux using, kernel hacking, security guy"); [

    "The Microsoft _Get the Facts CD_ does not work on Linux." - orospakr

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Finger me for keys

iQEVAwUBRF+bvoCLcPvd0N1lAQL2yQgAgWrZb+hRelG6r6M31cf8YyWBaUV0F12N
1DTMcXFhM3m3CNHtJcHUYxjlxa8XDcJT4zeggRYVwnMJZ0u0hUr/e4WONmgE0MH5
awllBI+jbA+dfLMbq5XxFbOXns/NDvVdD4On29+Vlr0ODXCYDXCMnnw79lW8RGYH
rSoCrnavzlAu650uHEQJnO1rdERlV4yXX99BMmLfGT3Xe/OP0VN5c5iL5zKZ/ibt
CEnH6tTDw4Y6MiYjYDOho22zV7LSJ5uUaVTmvYT/eNJkSwuyotxPVbSIaNqcnLYA
FT8GXkK7VAmU/Khb1sgqYPlUGIjBMaxS8a1AQPb478Fanrgx1YHJ9w==
=m5UM
-----END PGP SIGNATURE-----

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue May 09 09:44:43 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FdSW3-0001or-4R; Tue, 09 May 2006 09:44:43 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FdSW1-0001hx-1V
	for multimobsec-api@ietf.org; Tue, 09 May 2006 09:44:41 -0400
Received: from n2.nomadiclab.com ([193.234.219.2])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FdSVy-0001Mv-68
	for multimobsec-api@ietf.org; Tue, 09 May 2006 09:44:41 -0400
Received: from n2.nomadiclab.com (localhost [127.0.0.1])
	by n2.nomadiclab.com (Postfix) with ESMTP id 83991212C5D;
	Tue,  9 May 2006 16:44:36 +0300 (EEST)
Received: from outside.nomadiclab.com (d146.nomadiclab.com [193.234.218.146])
	by n2.nomadiclab.com (Postfix) with ESMTP id 1C1F0212C59;
	Tue,  9 May 2006 16:44:36 +0300 (EEST)
Received: from outside.nomadiclab.com (localhost [127.0.0.1])
	by outside.nomadiclab.com (Postfix) with ESMTP id 9C02CBDC40;
	Tue,  9 May 2006 16:44:35 +0300 (EEST)
Received: from [193.234.219.179] (w179.nomadiclab.com [193.234.219.179])
	by outside.nomadiclab.com (Postfix) with ESMTP id 31ACEBDC38;
	Tue,  9 May 2006 16:44:35 +0300 (EEST)
In-Reply-To: <20060509094317.C29E.SHINTA@sfc.wide.ad.jp>
References: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
	<edce8128a8b8d76ee6be4403402d4392@it.uc3m.es>
	<20060509094317.C29E.SHINTA@sfc.wide.ad.jp>
Mime-Version: 1.0 (Apple Message framework v623)
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Message-Id: <56de2897a539fde076bd00426e13e3b9@it.uc3m.es>
Content-Transfer-Encoding: quoted-printable
From: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] api requirements
Date: Tue, 9 May 2006 16:44:48 +0300
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
X-Mailer: Apple Mail (2.623)
X-Virus-Scanned: ClamAV using ClamSMTP
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: 0.0 (/)
X-Scan-Signature: bdfdd9dd835c9bb499f7c92933fef080
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org


El 09/05/2006, a las 10:11, Shinta Sugimoto escribi=F3:

>> ...
>>     o  Context - A state information to be shared by the two =
entities,
>>        which binds the ID and associated locators.  Note that the=20
>> context
>>        can be uniquely defined by a pair of IDs.
>>
>> MB: I not sure i understand this... i guess that in the case of =
forked
>> contexts in the shim, there are more than one context with
>> the same ulid pair...
>
> Right, but I think we are not going to handle forked context in this
> API document as it's specific to SHIM6.

agree but shim context must be included in the generic context concept,=20=

right?

>   What I am trying to describe here
> is a generic concept of a context which holds a mapping of ID and=20
> locator.

agree, but this does not mandates that there must be only one context=20
by ulid pair used, right?

> When it comes to HIP, a HIP association is certainly more than a=20
> binding of
> ID and locator, but we will be focusing on ID-locator binding aspect =
in
> this document.  Would following sounds better ?
>
> <t>Context - A state information shared by the two communicating=20
> entities,
> which essentially stores a binding of ID and associated locators.  The
> context is maintained inside the host at shim layer and each context=20=

> can
> be uniquely identified by a pair of ID.</t>
>

why don't just remove the last part of the the last sentence? i.e.

<t>Context - A state information shared by the two communicating=20
entities,
which essentially stores a binding of ID and associated locators.  The
context is maintained inside the host at shim layer.</t>


>>        Hence, it could be
>>        possible for to hosts to establish multiple contexts that are
>>        based on different ID pairs.  Specific procedures to establish
>>        context is dependent on protocol of shim layer.
>>
>>
>> ....
>>     o  Preferred Locator - The mostly preferred locator of the peer=20=

>> host
>>        identified by the ID.
>>
>> MB: i don't understand this sentence..
>
> would this sound better ?
>
> <t>Preferred Locator - The mostly preferred locator among the list of=20=

> available
> locators for the entity.</t>
>

ok, i understnad what you mean, i think

What about:

<t>Preferred (Source/Destination) Locator - The (source/destination)=20
locator
currently used to send packets.</t>

...

>>
>>
>>     o  Locator management - Locator management is primary role of the
>>        shim layer, which secures the delivery of IP packet to the=20
>> peer.
>>
>> MB: what do you mean by "secures" in this context?
>
> Maybe I should say 'assure' here.  I was trying to address that =
locator
> management is significant in a sense that it determines reachability =
to
> the peer.
>
> would following sound better ?
>
> <t>Locator management - Locator management is the primary role of shim
> layer in a sense that it determines reachability to the peer.</t>
>

but i guess that there is more than just reachability, right i mean=20
there is also policy and preferences of both peers and different=20
performance of the addresses and so on. I guess that locator management=20=

is about selecting which locator to use for a given context taking into=20=

account all these aspects


>>
>>        Although the shim layer is there to make the locator=20
>> information
>>        invisible to the upper layer protocol, some advanced=20
>> application
>>        may have desire to access the locator information.
>>
>>        *  Application should be able to obtain list of locators of =
the
>>           host.  Ls(local) and Ls(remote).
>>
>>        *  Application should be able to obtain preferred locator of=20=

>> the
>>           node.  Lp(local) and Lp(remote).
>>
>>        [NOTE: The issue about locator management is well addressed in
>>        SHIM6 referrals document[I-D.ietf-shim6-app-refer]]
>>
>>     o  Notification from application to shim layer about the outage.
>>        Application should be able to inform shim layer about outage =
in
>>        its communication.  REAP module may be triggered by this
>>        indication to invoke procedure of path exploration.  [NOTE:=20
>> This
>>        is also addressed in section 5.2 of REAP specification]
>>
>> MB: There were several discussions
>> on the ml whether positive or negative feedback would be more useful
>> i mean, here only negative feedback is considered, but it is
>> possible that positive feedback from the application is very
>> useful to supress the keepalives
>
> I see.  What about following ?
>
> <t>Notification from application to shim layer about the status of
> communication.  There are mainly two aspects of the feedback that
> application or upper layer protocol may provide for shim layer:
> positive feedback and negative feedback.
>
>     <list style=3D"symbols">
> 	<t>Positive feedback could be done in a way that application
> 	or upper layer protocol (e.g. TCP) may inform shim layer that =
its
> 	communication is going well and provide timeout values for =
detecting
> 	a failure, sending keepalives, and starting the exploration =
procedure.
> 	</t>
>

ok this sounds good
however, i would not include in this particular item the considerations=20=

about the application/transport providing timeout and other timers to=20
the shim. I mean, this is about notifications of events (communication=20=

working fine event or communication broken event) which imho is=20
conceptually different from communication parameters like timers...

> 	<t>On the other hand, application or upper layer protocol may =
also
> 	provide negative feedback for shim layer indicating that its
> 	communication status is not satisfactory.  In such case, shim =
layer
> 	may initiate keepalive or path exploration.</t>
>     </list>
> </t>
>
>>     o  Hot-standby.  Application may request shim layer if =
hot-standby
>>        connection is needed.  Hot-standby is an alternative path=20
>> (locator
>>        pair) which can be immediately replaced with the current=20
>> locator
>>        pair.  Hot-standby may allow application to achieve better
>>        failover.
>>
>> MB: i would put this more explicitly that here alternative paths =
known
>> to be
>> working are availble
>
> Ok.
>
> <t>Hot-standyby.  Application may request shim layer if hot-standby
> connection is needed.  In this case, alternative paths are known to
> be working.  Hence it is possible for the host to immediately replace
> the current locator pair with the alternative locator pair. =20
> Hot-standby
> may allow application to achieve better failover.</t>
>

ok

>>     o  Eagerness of locator exploration.  Application should be able=20=

>> to
>>        specify shim layer how aggressive it wants to search=20
>> alternative
>>        path (e.g. specifying the number of concurrent attempts of
>>        discovering working locator pair) when an outage occurs on the
>>        path between the currently selected locator pair.
>>
>>     o  Don't apply shim.  Application should be able to request shim
>>        layer not to apply ID/Locator adaptation but to apply normal =
IP
>>        processing at the IP layer.
>>
>>
>>
>>
>>
>> TBD                      Expires August 5, 2006                 [Page=20=

>> 8]
>> =0C
>> Internet-Draft             Multihome Shim API              February=20=

>> 2006
>>
>>
>>     o  Providing locator information to application.  Application=20
>> should
>>        be able to obtain information about the locator which was=20
>> actually
>>        used to receive the packet.  With this information, =
application
>>        can verify if its preference on choice of locator is actually
>>        applied to its flow or not.
>>
>> MB:locator or locator pair?
>
> Ok.
>
>>
>>     o  Application should be able to specify if it wants to defer the
>>        context setup or it wants context establishment to be started=20=

>> if
>>        there is no available context.
>>
>> MB:wouldn't this be shim6 specific?
>
> Yes, it is.  We may eliminate this.
>
>> MB: missing stuff:
>>
>> - The application should be able to inform the shim
>>    about the timeout values for detecting a failure,
>>    for sending keepalives, for starting the exploration
>>    procedure. In particular, the application should be
>>    able to suppress the keepalives
>
> Ok, this is the positive feedback.  Understood.
>

that was not what i had in mind, actually, see above

>> - The application should be able to select a locator pair.
>
> Well, doesn't this mean that we should specify API for
> handling forked context ?  Assuming that we let application
> to decide preferred locator for particular flow, that may end
> up in creating a context information which is specific to that
> application (or better to say process).  I think it's good to
> have such feature but my question is do we support it in common
> API ?  What do you think ?
>

good point.. i don't know really... perhaps include it as a discussion=20=

point?

>> - The application should be able to set the preferences for
>>    the locators, local and remote one and also to the
>>    preferences of the local locators that will be passed to
>>    the peer.
>
> Ok. I will add this.
>

i guess this is the samecase than the previous one, whether it is ok=20
for a particular app to define the preferences for the context...

> [snip]
>
>>
>> TBD                      Expires August 5, 2006                 [Page=20=

>> 9]
>> =0C
>> Internet-Draft             Multihome Shim API              February=20=

>> 2006
>>
>>
>> 6.  Issues of Handling Multiple Locators with Legacy Socket API
>>
>>     In multihomed environment where either or both of the peers have
>>     multiple locators, there are some issues with legacy Socket API.
>>
>> 6.1.  Initial Contact
>>
>>     When application to establish communication with its peer who=20
>> happens
>>     to have multiple locators, there are some issues to consider.  In
>>     connection oriented communication, connect() system call is used=20=

>> to
>>     make the initial contact to the peer, which requires IP address=20=

>> and
>>     port number to specify the endpoint.  Hence, name-to-address
>>     resolution should be performed prior to connect().  Application=20=

>> needs
>>     to resolve IP address of the peer from its FQDN by any available
>>     name-to-address conversion method.  In typical case, the=20
>> application
>>     receives information from resolver.  If the application ends up=20=

>> with
>>     receiving multiple IP addresses to reach the peer, there are=20
>> several
>>     options to make the initial contact.  One option is to issue
>>     concurrent connect() with every locator of the peer, which is=20
>> done in
>>     some applications today.
>>
>> MB: actually the situation is more complex than this imho, since you
>> have also to consider the source addresses, so you end up with =
locator
>> pairs
>> that need to be tried
>
> Correct. rephrased as follows.
>
> <t>When application to establish communication with its peer who
> happens to have multiple locators, there are some issues to consider.
> In connection oriented communication, connect() system call is used to
> make the initial contact to the peer, which requires IP address and
> port number to specify the endpoint.  Name-to-address resolution
> should be performed prior to connect().  Application needs to resolve
> IP address of the peer from its FQDN by any available name-to-address
> conversion method.  In typical case, the application receives=20
> information
> from resolver.  If the application ends up with receiving multiple
> IP addresses to reach the peer, it should iterate each destination=20
> address
> one-by-one.  It should also be noted that the host may also have=20
> multiple
> source addresses.

i would add " The different resulting address pairs may have different=20=

reachability status so, in order to find a working address pair, it may=20=

be required to explore all available address pairs (as opposed to=20
explore all available destination addresses)

regards, marcelo=


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue May 09 10:36:29 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FdTK8-0005UJ-GZ; Tue, 09 May 2006 10:36:28 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FdTK6-0005UE-Mc
	for multimobsec-api@ietf.org; Tue, 09 May 2006 10:36:26 -0400
Received: from stsc1260-eth-s1-s1p1-vip.va.neustar.com ([156.154.16.129]
	helo=chiedprmail1.ietf.org)
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FdSbH-0001XC-Em
	for multimobsec-api@ietf.org; Tue, 09 May 2006 09:50:07 -0400
Received: from mail.sfc.wide.ad.jp ([203.178.142.146])
	by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1FdS0h-0006ys-CT
	for multimobsec-api@ietf.org; Tue, 09 May 2006 09:12:22 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id 36AA24D88F;
	Tue,  9 May 2006 22:12:01 +0900 (JST)
Date: Tue, 09 May 2006 16:11:59 +0900
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <edce8128a8b8d76ee6be4403402d4392@it.uc3m.es>
References: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
	<edce8128a8b8d76ee6be4403402d4392@it.uc3m.es>
Message-Id: <20060509094317.C29E.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.21.03 [ja]
X-Spam-Score: -2.6 (--)
X-Scan-Signature: b5216aa5b0df24d46eaed76d4f65aa31
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Hi Marcelo,

Thank you for your quick feedback. Please find my comments inline.

On Mon, 8 May 2006 10:51:15 +0300
marcelo bagnulo braun <marcelo@it.uc3m.es> wrote:

> Here are some comments:
> 
> 
> 
> 
> Network Working Group                                           TBD. TBD
> Internet-Draft                                                       TBD
> Expires: August 5, 2006                                    February 2006
> 
> 
>                       Socket API for Multihome Shim
> 
> MB: s/multihome/multihomed?

Ok.

> 
> ...
> 
> Abstract
> 
>     This document specifies API for multihome shim layer.  The API aims
> 
> MB: s/multihome/multihomed

Ok.

> 
>     to realize interactions between application and the multihome shim
> 
> MB: s/realize/enable

Ok.

> 
>     layer for advanced locator management and interface to the essential
>     information about failure detection and path exploration.
> 
>     This document is based on an assumption that a multhomed host is
>     equipped with a 'shim' which maintains mapping of identifier and
>     locator.  SHIM6 and HIP are the examples of the shim.  Hence, the API
>     can be commonly used by SHIM6 and HIP.
> 
> 
> ...
> 
> 3.  Terminology
> 
>     This document does not intend to give new definitions for technical
>     terms that are relevant to multihomed environment but tries to
>     inherit definitions provided in the existing documents as listed
>     below:
> 
>     o  SHIM6 Protocol Specification[I-D.ietf-shim6-proto]
> 
>     o  HIP Architecture[I-D.ietf-hip-arch]
> 
>     o  Reachability Protocol (REAP)[I-D.ietf-shim6-failure-detection]
> 
>     For clarification, we provide definition for the terms that are
>     frequently used in this document:
> 
>     o  Identifier (ID) - An identifier used by the application to specify
>        the endpoint of the communication.  As addressed in [I-D.ietf-
>        shim6-app-refer], application may refer to ID in different ways in
>        different situations.  In case of SHIM6, the identifier is called
>        ULID.  In HIP architecture, the endpoint of communication is
>        represented by Host Identity Tag (HIT) which is a hash of the
>        public key owned by the host.  By using HIT instead of public key
>        for identifying the peer, legacy (non HIP-aware) application can
>        also take advantage of HIP.
> 
> 
> MB: Perhaps it would be more clear to explicitly state that in
> HIP the identifier is the public key.

Ok, I will rephrase the text in a way that essentially the public key is
playing the role to idenfity the host/endpoint and HIT serves as an identifier.

> 
> ...
>     o  Context - A state information to be shared by the two entities,
>        which binds the ID and associated locators.  Note that the context
>        can be uniquely defined by a pair of IDs.
> 
> MB: I not sure i understand this... i guess that in the case of forked
> contexts in the shim, there are more than one context with
> the same ulid pair...

Right, but I think we are not going to handle forked context in this
API document as it's specific to SHIM6.  What I am trying to describe here
is a generic concept of a context which holds a mapping of ID and locator.
When it comes to HIP, a HIP association is certainly more than a binding of
ID and locator, but we will be focusing on ID-locator binding aspect in
this document.  Would following sounds better ?

<t>Context - A state information shared by the two communicating entities,
which essentially stores a binding of ID and associated locators.  The
context is maintained inside the host at shim layer and each context can
be uniquely identified by a pair of ID.</t>

>        Hence, it could be
>        possible for to hosts to establish multiple contexts that are
>        based on different ID pairs.  Specific procedures to establish
>        context is dependent on protocol of shim layer.
> 
> 
> ....
>     o  Preferred Locator - The mostly preferred locator of the peer host
>        identified by the ID.
> 
> MB: i don't understand this sentence..

would this sound better ?

<t>Preferred Locator - The mostly preferred locator among the list of available
locators for the entity.</t>

> 
>        Note that preferred locator should be
>        defined within a context.  As defined in [I-D.ietf-shim6-proto],
>        prefered locator of a host whose ID is 'A' can be denoted as
>        Lp(A).
> 
> ....
> 
> 4.  System Overview
> 
> 
>                         +------------------------+
>                         |       Application      |
>                         +------------------------+
>                                 ^
>                                 | (via Socket API)
>                                 v
>                 +------------------------------------------+
>                 |               Socket Layer               |
>                 +------------------------------------------+
>                                 ^
>         +-----------------------|---------------------------------+
>         |                       v                                 |
>         |   +-----------------------------+       +----------+    |  IP
>         |   |            Shim             |<----->|   REAP   |    | Layer
>         |   +-----------------------------+       +----------+    |
>         |                       ^                      ^          |
>         +-----------------------|----------------------|----------+
>                                 v                      v
>                 +------------------------------------------+
>                 |              Interface Layer             |
>                 +------------------------------------------+
> 
> MB: I am not sure what interface layer is...
> perhaps some text would help...

s/Interface/Link/

> 
>     Figure-X illustrates the system overview.  Application can take
>     advantage of the Socket API which can be used to interact with shim
>     as well as REAP component.  The shim layer is somewhere between the
>     IP layer and Transport Protocol Layer and it closely interacts with
>     REAP component which is responsible for failure detection and
>     reachability exploration.
> 

[snip]

> 
> TBD                      Expires August 5, 2006                 [Page 7]
> 
> Internet-Draft             Multihome Shim API              February 2006
> 
> 
> 5.  Requirements
> 
>     Following is a list of requirements from the application perspective.
>     These requirements are based on discussions on the SHIM6 mailing
>     list.  Besides, the list contains some issues raised during the
>     technical discussions on the SHIM6 mailing list and some requirements
>     are derived from Reachability Protocol document[I-D.ietf-shim6-
>     failure-detection].
> 
> 
>     o  Locator management - Locator management is primary role of the
>        shim layer, which secures the delivery of IP packet to the peer.
> 
> MB: what do you mean by "secures" in this context?

Maybe I should say 'assure' here.  I was trying to address that locator
management is significant in a sense that it determines reachability to
the peer.

would following sound better ?

<t>Locator management - Locator management is the primary role of shim
layer in a sense that it determines reachability to the peer.</t>

>
>        Although the shim layer is there to make the locator information
>        invisible to the upper layer protocol, some advanced application
>        may have desire to access the locator information.
> 
>        *  Application should be able to obtain list of locators of the
>           host.  Ls(local) and Ls(remote).
> 
>        *  Application should be able to obtain preferred locator of the
>           node.  Lp(local) and Lp(remote).
> 
>        [NOTE: The issue about locator management is well addressed in
>        SHIM6 referrals document[I-D.ietf-shim6-app-refer]]
> 
>     o  Notification from application to shim layer about the outage.
>        Application should be able to inform shim layer about outage in
>        its communication.  REAP module may be triggered by this
>        indication to invoke procedure of path exploration.  [NOTE: This
>        is also addressed in section 5.2 of REAP specification]
> 
> MB: There were several discussions
> on the ml whether positive or negative feedback would be more useful
> i mean, here only negative feedback is considered, but it is
> possible that positive feedback from the application is very
> useful to supress the keepalives

I see.  What about following ?

<t>Notification from application to shim layer about the status of
communication.  There are mainly two aspects of the feedback that
application or upper layer protocol may provide for shim layer:
positive feedback and negative feedback.

    <list style="symbols">
	<t>Positive feedback could be done in a way that application
	or upper layer protocol (e.g. TCP) may inform shim layer that its
	communication is going well and provide timeout values for detecting
	a failure, sending keepalives, and starting the exploration procedure.
	</t>

	<t>On the other hand, application or upper layer protocol may also
	provide negative feedback for shim layer indicating that its
	communication status is not satisfactory.  In such case, shim layer
	may initiate keepalive or path exploration.</t>
    </list>
</t>

>     o  Hot-standby.  Application may request shim layer if hot-standby
>        connection is needed.  Hot-standby is an alternative path (locator
>        pair) which can be immediately replaced with the current locator
>        pair.  Hot-standby may allow application to achieve better
>        failover.
> 
> MB: i would put this more explicitly that here alternative paths known 
> to be
> working are availble

Ok.

<t>Hot-standyby.  Application may request shim layer if hot-standby
connection is needed.  In this case, alternative paths are known to
be working.  Hence it is possible for the host to immediately replace
the current locator pair with the alternative locator pair.  Hot-standby
may allow application to achieve better failover.</t>

>     o  Eagerness of locator exploration.  Application should be able to
>        specify shim layer how aggressive it wants to search alternative
>        path (e.g. specifying the number of concurrent attempts of
>        discovering working locator pair) when an outage occurs on the
>        path between the currently selected locator pair.
> 
>     o  Don't apply shim.  Application should be able to request shim
>        layer not to apply ID/Locator adaptation but to apply normal IP
>        processing at the IP layer.
> 
> 
> 
> 
> 
> TBD                      Expires August 5, 2006                 [Page 8]
> 
> Internet-Draft             Multihome Shim API              February 2006
> 
> 
>     o  Providing locator information to application.  Application should
>        be able to obtain information about the locator which was actually
>        used to receive the packet.  With this information, application
>        can verify if its preference on choice of locator is actually
>        applied to its flow or not.
> 
> MB:locator or locator pair?

Ok.

> 
>     o  Application should be able to specify if it wants to defer the
>        context setup or it wants context establishment to be started if
>        there is no available context.
> 
> MB:wouldn't this be shim6 specific?

Yes, it is.  We may eliminate this.

> MB: missing stuff:
> 
> - The application should be able to inform the shim
>    about the timeout values for detecting a failure,
>    for sending keepalives, for starting the exploration
>    procedure. In particular, the application should be
>    able to suppress the keepalives

Ok, this is the positive feedback.  Understood.

> - The application should be able to select a locator pair.

Well, doesn't this mean that we should specify API for
handling forked context ?  Assuming that we let application
to decide preferred locator for particular flow, that may end
up in creating a context information which is specific to that
application (or better to say process).  I think it's good to
have such feature but my question is do we support it in common
API ?  What do you think ?

> - The application should be able to set the preferences for
>    the locators, local and remote one and also to the
>    preferences of the local locators that will be passed to
>    the peer.

Ok. I will add this.

[snip]

> 
> TBD                      Expires August 5, 2006                 [Page 9]
> 
> Internet-Draft             Multihome Shim API              February 2006
> 
> 
> 6.  Issues of Handling Multiple Locators with Legacy Socket API
> 
>     In multihomed environment where either or both of the peers have
>     multiple locators, there are some issues with legacy Socket API.
> 
> 6.1.  Initial Contact
> 
>     When application to establish communication with its peer who happens
>     to have multiple locators, there are some issues to consider.  In
>     connection oriented communication, connect() system call is used to
>     make the initial contact to the peer, which requires IP address and
>     port number to specify the endpoint.  Hence, name-to-address
>     resolution should be performed prior to connect().  Application needs
>     to resolve IP address of the peer from its FQDN by any available
>     name-to-address conversion method.  In typical case, the application
>     receives information from resolver.  If the application ends up with
>     receiving multiple IP addresses to reach the peer, there are several
>     options to make the initial contact.  One option is to issue
>     concurrent connect() with every locator of the peer, which is done in
>     some applications today.
> 
> MB: actually the situation is more complex than this imho, since you
> have also to consider the source addresses, so you end up with locator 
> pairs
> that need to be tried

Correct. rephrased as follows.

<t>When application to establish communication with its peer who
happens to have multiple locators, there are some issues to consider.
In connection oriented communication, connect() system call is used to
make the initial contact to the peer, which requires IP address and
port number to specify the endpoint.  Name-to-address resolution
should be performed prior to connect().  Application needs to resolve
IP address of the peer from its FQDN by any available name-to-address
conversion method.  In typical case, the application receives information
from resolver.  If the application ends up with receiving multiple
IP addresses to reach the peer, it should iterate each destination address
one-by-one.  It should also be noted that the host may also have multiple
source addresses.  Therefore, process of finding the working pair of
remote and local locators is complex.</t>


>     Another option would be to request shim
>     layer for taking care of initial contact.  And behavior of shim layer
>     will depend on the presence of the required context.  If there exists
>     the context for the ID specified in the connect(),
> 
> MB: for the pair of IDs

Ok.

[rest of the part snipped]


Regards,
Shinta


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue May 09 17:24:45 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FdZhE-0005nl-Tu; Tue, 09 May 2006 17:24:44 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FdZhD-0005mb-Kg
	for multimobsec-api@ietf.org; Tue, 09 May 2006 17:24:43 -0400
Received: from mail.sfc.wide.ad.jp ([203.178.142.146])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FdZhC-0007JY-RV
	for multimobsec-api@ietf.org; Tue, 09 May 2006 17:24:43 -0400
Received: from [212.149.115.94] (unknown [212.149.115.94])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id 400C84D8FA;
	Wed, 10 May 2006 06:24:23 +0900 (JST)
Date: Wed, 10 May 2006 00:24:21 +0900
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: Jari Arkko <jari.arkko@piuha.net>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <445F2D60.5060802@piuha.net>
References: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
	<445F2D60.5060802@piuha.net>
Message-Id: <20060509161207.C2A8.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.21.03 [ja]
X-Spam-Score: 0.2 (/)
X-Scan-Signature: 538aad3a3c4f01d8b6a6477ca4248793
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Hello Jari,

Thank you for your feedback.  Please find my comments below.

On Mon, 08 May 2006 14:37:04 +0300
Jari Arkko <jari.arkko@piuha.net> wrote:

> The basic list of the requirements looks reasonable as
> an optional extension of the socket API. But I wonder if
> this cross-layer communication is really something that
> happens not just between the shim and the app, but
> between the shim, transport, and app (with possible
> abstraction level changes in between).

I think I understand what you mean.  Those interactions should
include something that could not be controlled by application but
by transport layer protocol itself.  For example, feedback (both
positive and negative, as mentioned in REAP draft) from transport
layer protocol to the shim layer should be directly passed from
transport layer to the IP layer.  When it comes to indications
from IP layer to upper layer protocol, occurrence of re-homing
event would be of interest for the ULP, especially TCP.  In the
past discussions on SHIM6 mailing list, some folks mentioned about
the possible behavior of TCP upon re-homing event (clear the status
of parameters and initiate slow-start etc.).  As you pointed out,
current API draft may be too much focusing on Socket API.  The
draft should also cover other forms of interactions between ULP
and shim layer, and I will take this into account.

> Do you see
> a role for the transport layer to affect some of these
> decisions?

I am not sure if I am answering your question, but let me address
what I have in mind so far... when it comes to effect that transport
layer protocol (I am actually referring to TCP) may have on shim layer.

One scenario would be that TCP layer may hold a specific requirements
given by the application for quality of e2e connection.  The quality
could be for instance RTT.  Let's assume that there is a Socket API
(setsockopt()) that allows application to specify satisfactory level
of RTT to given socket.  Such attribute could be stored by TCP in a
state information per socket.  As TCP maintains statistics on RTT by
itself, it may determine if the situation is satisfactory or not.
If not, TCP may urge shim layer to invoke path exploration or re-homing
(if/when alternate path is ready).  It may also be helpful to annotate
some information to the indication, giving the preference on
characteristics (quality) of the path.


Regards,
Shinta


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue May 09 18:16:25 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FdaVB-0000Bg-I1; Tue, 09 May 2006 18:16:21 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FdaVA-0000Ba-Ed
	for multimobsec-api@ietf.org; Tue, 09 May 2006 18:16:20 -0400
Received: from mail.sfc.wide.ad.jp ([203.178.142.146])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FdaV8-0000jY-KK
	for multimobsec-api@ietf.org; Tue, 09 May 2006 18:16:20 -0400
Received: from [212.149.115.94] (unknown [212.149.115.94])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id F2C8F4D8F3;
	Wed, 10 May 2006 07:16:06 +0900 (JST)
Date: Wed, 10 May 2006 01:16:04 +0900
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <56de2897a539fde076bd00426e13e3b9@it.uc3m.es>
References: <20060509094317.C29E.SHINTA@sfc.wide.ad.jp>
	<56de2897a539fde076bd00426e13e3b9@it.uc3m.es>
Message-Id: <20060510002909.C2B3.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.21.03 [ja]
X-Spam-Score: 0.2 (/)
X-Scan-Signature: 4166dd0e0c668adc975c3d3e0f1bce3b
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Tue, 9 May 2006 16:44:48 +0300
marcelo bagnulo braun <marcelo@it.uc3m.es> wrote:

> 
> El 09/05/2006, a las 10:11, Shinta Sugimoto escribis:
> 
> >> ...
> >>     o  Context - A state information to be shared by the two entities,
> >>        which binds the ID and associated locators.  Note that the 
> >> context
> >>        can be uniquely defined by a pair of IDs.
> >>
> >> MB: I not sure i understand this... i guess that in the case of forked
> >> contexts in the shim, there are more than one context with
> >> the same ulid pair...
> >
> > Right, but I think we are not going to handle forked context in this
> > API document as it's specific to SHIM6.
> 
> agree but shim context must be included in the generic context concept, 
> right?

Yes.  Would an assumption that a context can be uniquely identified by
ULID pair is not good ?  IMHO, we should better define how to uniquely
identify context.

> >   What I am trying to describe here
> > is a generic concept of a context which holds a mapping of ID and 
> > locator.
> 
> agree, but this does not mandates that there must be only one context 
> by ulid pair used, right?

Same discussion here, but I might be narrowing down definition of context
too much..  As I wrote above, IMHO it would be better to have a basic
rule to uniquely identify the context in a generic way (not specific to
SHIM6 or HIP).  Later we will define solutions, and I am sure that we will
be required to specify context in some case...
Do you think we don't need to specify how the context can be uniquely
identified in this doc ?

> > When it comes to HIP, a HIP association is certainly more than a 
> > binding of
> > ID and locator, but we will be focusing on ID-locator binding aspect in
> > this document.  Would following sounds better ?
> >
> > <t>Context - A state information shared by the two communicating 
> > entities,
> > which essentially stores a binding of ID and associated locators.  The
> > context is maintained inside the host at shim layer and each context 
> > can
> > be uniquely identified by a pair of ID.</t>
> >
> 
> why don't just remove the last part of the the last sentence? i.e.

ditto. (I am open to suggestion, so let me hear your opinion on my
question above)

> <t>Context - A state information shared by the two communicating 
> entities,
> which essentially stores a binding of ID and associated locators.  The
> context is maintained inside the host at shim layer.</t>
> 
> 
> >>        Hence, it could be
> >>        possible for to hosts to establish multiple contexts that are
> >>        based on different ID pairs.  Specific procedures to establish
> >>        context is dependent on protocol of shim layer.
> >>
> >>
> >> ....
> >>     o  Preferred Locator - The mostly preferred locator of the peer 
> >> host
> >>        identified by the ID.
> >>
> >> MB: i don't understand this sentence..
> >
> > would this sound better ?
> >
> > <t>Preferred Locator - The mostly preferred locator among the list of 
> > available
> > locators for the entity.</t>
> >
> 
> ok, i understnad what you mean, i think
> 
> What about:
> 
> <t>Preferred (Source/Destination) Locator - The (source/destination) 
> locator
> currently used to send packets.</t>

Ok, fine with me.

> 
> ...
> 
> >>
> >>
> >>     o  Locator management - Locator management is primary role of the
> >>        shim layer, which secures the delivery of IP packet to the 
> >> peer.
> >>
> >> MB: what do you mean by "secures" in this context?
> >
> > Maybe I should say 'assure' here.  I was trying to address that locator
> > management is significant in a sense that it determines reachability to
> > the peer.
> >
> > would following sound better ?
> >
> > <t>Locator management - Locator management is the primary role of shim
> > layer in a sense that it determines reachability to the peer.</t>
> >
> 
> but i guess that there is more than just reachability, right i mean 
> there is also policy and preferences of both peers and different 
> performance of the addresses and so on. I guess that locator management 
> is about selecting which locator to use for a given context taking into 
> account all these aspects

I see.  Rephrased as follows.

<t>Locator management - Locator management is a role of shim layer
to select a pair of locators for sending IP packet within given context.
The selection is made by taking miscellaneous conditions into account
such as application's preference and characteristics of path.</t>

> 
> 
> >>
> >>        Although the shim layer is there to make the locator 
> >> information
> >>        invisible to the upper layer protocol, some advanced 
> >> application
> >>        may have desire to access the locator information.
> >>
> >>        *  Application should be able to obtain list of locators of the
> >>           host.  Ls(local) and Ls(remote).
> >>
> >>        *  Application should be able to obtain preferred locator of 
> >> the
> >>           node.  Lp(local) and Lp(remote).
> >>
> >>        [NOTE: The issue about locator management is well addressed in
> >>        SHIM6 referrals document[I-D.ietf-shim6-app-refer]]
> >>
> >>     o  Notification from application to shim layer about the outage.
> >>        Application should be able to inform shim layer about outage in
> >>        its communication.  REAP module may be triggered by this
> >>        indication to invoke procedure of path exploration.  [NOTE: 
> >> This
> >>        is also addressed in section 5.2 of REAP specification]
> >>
> >> MB: There were several discussions
> >> on the ml whether positive or negative feedback would be more useful
> >> i mean, here only negative feedback is considered, but it is
> >> possible that positive feedback from the application is very
> >> useful to supress the keepalives
> >
> > I see.  What about following ?
> >
> > <t>Notification from application to shim layer about the status of
> > communication.  There are mainly two aspects of the feedback that
> > application or upper layer protocol may provide for shim layer:
> > positive feedback and negative feedback.
> >
> >     <list style="symbols">
> > 	<t>Positive feedback could be done in a way that application
> > 	or upper layer protocol (e.g. TCP) may inform shim layer that its
> > 	communication is going well and provide timeout values for detecting
> > 	a failure, sending keepalives, and starting the exploration procedure.
> > 	</t>
> >
> 
> ok this sounds good
> however, i would not include in this particular item the considerations 
> about the application/transport providing timeout and other timers to 
> the shim. I mean, this is about notifications of events (communication 
> working fine event or communication broken event) which imho is 
> conceptually different from communication parameters like timers...

Ok.  I will separate the requirements.  One is below.  The other
is about ULP providing parameters (e.g. timer values) to shim layer
as you pointed out.

<t>Positive feedback could be done in a way that application or upper
layer protocol (e.g. TCP) may inform shim layer that its communication
is going well.</t>

> 
> > 	<t>On the other hand, application or upper layer protocol may also
> > 	provide negative feedback for shim layer indicating that its
> > 	communication status is not satisfactory.  In such case, shim layer
> > 	may initiate keepalive or path exploration.</t>
> >     </list>
> > </t>
> >
> >>     o  Hot-standby.  Application may request shim layer if hot-standby
> >>        connection is needed.  Hot-standby is an alternative path 
> >> (locator
> >>        pair) which can be immediately replaced with the current 
> >> locator
> >>        pair.  Hot-standby may allow application to achieve better
> >>        failover.
> >>
> >> MB: i would put this more explicitly that here alternative paths known
> >> to be
> >> working are availble
> >
> > Ok.
> >
> > <t>Hot-standyby.  Application may request shim layer if hot-standby
> > connection is needed.  In this case, alternative paths are known to
> > be working.  Hence it is possible for the host to immediately replace
> > the current locator pair with the alternative locator pair.  
> > Hot-standby
> > may allow application to achieve better failover.</t>
> >
> 
> ok
> 
> >>     o  Eagerness of locator exploration.  Application should be able 
> >> to
> >>        specify shim layer how aggressive it wants to search 
> >> alternative
> >>        path (e.g. specifying the number of concurrent attempts of
> >>        discovering working locator pair) when an outage occurs on the
> >>        path between the currently selected locator pair.
> >>
> >>     o  Don't apply shim.  Application should be able to request shim
> >>        layer not to apply ID/Locator adaptation but to apply normal IP
> >>        processing at the IP layer.
> >>
> >>
> >>
> >>
> >>
> >> TBD                      Expires August 5, 2006                 [Page 
> >> 8]
> >> 
> >> Internet-Draft             Multihome Shim API              February 
> >> 2006
> >>
> >>
> >>     o  Providing locator information to application.  Application 
> >> should
> >>        be able to obtain information about the locator which was 
> >> actually
> >>        used to receive the packet.  With this information, application
> >>        can verify if its preference on choice of locator is actually
> >>        applied to its flow or not.
> >>
> >> MB:locator or locator pair?
> >
> > Ok.
> >
> >>
> >>     o  Application should be able to specify if it wants to defer the
> >>        context setup or it wants context establishment to be started 
> >> if
> >>        there is no available context.
> >>
> >> MB:wouldn't this be shim6 specific?
> >
> > Yes, it is.  We may eliminate this.
> >
> >> MB: missing stuff:
> >>
> >> - The application should be able to inform the shim
> >>    about the timeout values for detecting a failure,
> >>    for sending keepalives, for starting the exploration
> >>    procedure. In particular, the application should be
> >>    able to suppress the keepalives
> >
> > Ok, this is the positive feedback.  Understood.
> >
> 
> that was not what i had in mind, actually, see above

Now, I see.  So let me take the above item (as it is) in the
list of requirements.

> >> - The application should be able to select a locator pair.
> >
> > Well, doesn't this mean that we should specify API for
> > handling forked context ?  Assuming that we let application
> > to decide preferred locator for particular flow, that may end
> > up in creating a context information which is specific to that
> > application (or better to say process).  I think it's good to
> > have such feature but my question is do we support it in common
> > API ?  What do you think ?
> >
> 
> good point.. i don't know really... perhaps include it as a discussion 
> point?
> 
> >> - The application should be able to set the preferences for
> >>    the locators, local and remote one and also to the
> >>    preferences of the local locators that will be passed to
> >>    the peer.
> >
> > Ok. I will add this.
> >
> 
> i guess this is the samecase than the previous one, whether it is ok 
> for a particular app to define the preferences for the context...
> 
> > [snip]
> >
> >>
> >> TBD                      Expires August 5, 2006                 [Page 
> >> 9]
> >> 
> >> Internet-Draft             Multihome Shim API              February 
> >> 2006
> >>
> >>
> >> 6.  Issues of Handling Multiple Locators with Legacy Socket API
> >>
> >>     In multihomed environment where either or both of the peers have
> >>     multiple locators, there are some issues with legacy Socket API.
> >>
> >> 6.1.  Initial Contact
> >>
> >>     When application to establish communication with its peer who 
> >> happens
> >>     to have multiple locators, there are some issues to consider.  In
> >>     connection oriented communication, connect() system call is used 
> >> to
> >>     make the initial contact to the peer, which requires IP address 
> >> and
> >>     port number to specify the endpoint.  Hence, name-to-address
> >>     resolution should be performed prior to connect().  Application 
> >> needs
> >>     to resolve IP address of the peer from its FQDN by any available
> >>     name-to-address conversion method.  In typical case, the 
> >> application
> >>     receives information from resolver.  If the application ends up 
> >> with
> >>     receiving multiple IP addresses to reach the peer, there are 
> >> several
> >>     options to make the initial contact.  One option is to issue
> >>     concurrent connect() with every locator of the peer, which is 
> >> done in
> >>     some applications today.
> >>
> >> MB: actually the situation is more complex than this imho, since you
> >> have also to consider the source addresses, so you end up with locator
> >> pairs
> >> that need to be tried
> >
> > Correct. rephrased as follows.
> >
> > <t>When application to establish communication with its peer who
> > happens to have multiple locators, there are some issues to consider.
> > In connection oriented communication, connect() system call is used to
> > make the initial contact to the peer, which requires IP address and
> > port number to specify the endpoint.  Name-to-address resolution
> > should be performed prior to connect().  Application needs to resolve
> > IP address of the peer from its FQDN by any available name-to-address
> > conversion method.  In typical case, the application receives 
> > information
> > from resolver.  If the application ends up with receiving multiple
> > IP addresses to reach the peer, it should iterate each destination 
> > address
> > one-by-one.  It should also be noted that the host may also have 
> > multiple
> > source addresses.
> 
> i would add " The different resulting address pairs may have different 
> reachability status so, in order to find a working address pair, it may 
> be required to explore all available address pairs (as opposed to 
> explore all available destination addresses)

Ok, thanks for providing the texts.

Regards,
Shinta


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Wed May 10 02:57:06 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fdid7-0006Up-M1; Wed, 10 May 2006 02:57:05 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fdid5-0006Uk-W9
	for multimobsec-api@ietf.org; Wed, 10 May 2006 02:57:04 -0400
Received: from mail.sfc.wide.ad.jp ([203.178.142.146])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fdid3-00065s-7y
	for multimobsec-api@ietf.org; Wed, 10 May 2006 02:57:03 -0400
Received: from [212.149.115.94] (unknown [212.149.115.94])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id A72144D8A5;
	Wed, 10 May 2006 15:56:40 +0900 (JST)
Date: Wed, 10 May 2006 09:56:38 +0300
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <56de2897a539fde076bd00426e13e3b9@it.uc3m.es>
References: <20060509094317.C29E.SHINTA@sfc.wide.ad.jp>
	<56de2897a539fde076bd00426e13e3b9@it.uc3m.es>
Message-Id: <20060510094826.1CF7.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.21.03 [ja]
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 769a46790fb42fbb0b0cc700c82f7081
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Hi Marcelo,

I forgot to reply to some of your comments.  So please find my
additional comments.

On Tue, 9 May 2006 16:44:48 +0300
marcelo bagnulo braun <marcelo@it.uc3m.es> wrote:

> >> MB: missing stuff:
> >>

[snip]

> >> - The application should be able to select a locator pair.
> >
> > Well, doesn't this mean that we should specify API for
> > handling forked context ?  Assuming that we let application
> > to decide preferred locator for particular flow, that may end
> > up in creating a context information which is specific to that
> > application (or better to say process).  I think it's good to
> > have such feature but my question is do we support it in common
> > API ?  What do you think ?
> >
> 
> good point.. i don't know really... perhaps include it as a discussion 
> point?

Ok, let's do that.

> >> - The application should be able to set the preferences for
> >>    the locators, local and remote one and also to the
> >>    preferences of the local locators that will be passed to
> >>    the peer.
> >
> > Ok. I will add this.
> >
> 
> i guess this is the samecase than the previous one, whether it is ok 
> for a particular app to define the preferences for the context...

Ah, yes.  We should treat this in a same way as previous item.
Maybe we should also consider/mention ULP's preference on locator
as well.  I mean, some ULP may have a particular request for shim
layer in locator selection.


Regards,
Shinta

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Wed May 10 03:15:37 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fdiv3-0004vz-DU; Wed, 10 May 2006 03:15:37 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fdiv2-0004vL-FL
	for multimobsec-api@ietf.org; Wed, 10 May 2006 03:15:36 -0400
Received: from n2.nomadiclab.com ([193.234.219.2])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fdiv0-0006ht-05
	for multimobsec-api@ietf.org; Wed, 10 May 2006 03:15:36 -0400
Received: from n2.nomadiclab.com (localhost [127.0.0.1])
	by n2.nomadiclab.com (Postfix) with ESMTP id C6152212C61;
	Wed, 10 May 2006 10:15:30 +0300 (EEST)
Received: from outside.nomadiclab.com (d146.nomadiclab.com [193.234.218.146])
	by n2.nomadiclab.com (Postfix) with ESMTP id 5E13A212C5F;
	Wed, 10 May 2006 10:15:30 +0300 (EEST)
Received: from outside.nomadiclab.com (localhost [127.0.0.1])
	by outside.nomadiclab.com (Postfix) with ESMTP id 20B05BDC40;
	Wed, 10 May 2006 10:15:30 +0300 (EEST)
Received: from [193.234.219.179] (w179.nomadiclab.com [193.234.219.179])
	by outside.nomadiclab.com (Postfix) with ESMTP id DFD8DBDC38;
	Wed, 10 May 2006 10:15:29 +0300 (EEST)
In-Reply-To: <20060510002909.C2B3.SHINTA@sfc.wide.ad.jp>
References: <20060509094317.C29E.SHINTA@sfc.wide.ad.jp>
	<56de2897a539fde076bd00426e13e3b9@it.uc3m.es>
	<20060510002909.C2B3.SHINTA@sfc.wide.ad.jp>
Mime-Version: 1.0 (Apple Message framework v623)
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Message-Id: <e72b4089f3af0947fe70735abc7661d4@it.uc3m.es>
Content-Transfer-Encoding: quoted-printable
From: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] api requirements
Date: Wed, 10 May 2006 10:15:43 +0300
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
X-Mailer: Apple Mail (2.623)
X-Virus-Scanned: ClamAV using ClamSMTP
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 0ddefe323dd869ab027dbfff7eff0465
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org


El 09/05/2006, a las 19:16, Shinta Sugimoto escribi=F3:
>
> Same discussion here, but I might be narrowing down definition of=20
> context
> too much..  As I wrote above, IMHO it would be better to have a basic
> rule to uniquely identify the context in a generic way (not specific =
to
> SHIM6 or HIP).  Later we will define solutions, and I am sure that we=20=

> will
> be required to specify context in some case...
> Do you think we don't need to specify how the context can be uniquely
> identified in this doc ?
>

well, i think this is cumbersome, since we may have special handles as=20=

in the case of forked contexts... you could say that in general there=20
would be one context per ulid pair, but that there may need for=20
additional handles to support multiple contexts with the same ulid=20
pair...

...

>
> <t>Locator management - Locator management is a role of shim layer
> to select a pair of locators for sending IP packet within given=20
> context.
> The selection is made by taking miscellaneous conditions into account
> such as application's preference and characteristics of path.</t>
>

i would add path reahability also...

...
> Ok.  I will separate the requirements.  One is below.  The other
> is about ULP providing parameters (e.g. timer values) to shim layer
> as you pointed out.
>
> <t>Positive feedback could be done in a way that application or upper
> layer protocol (e.g. TCP) may inform shim layer that its communication
> is going well.</t>
>


ok

regards, marcelo


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Fri May 12 05:33:33 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FeU1d-0000uP-Iz; Fri, 12 May 2006 05:33:33 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FeU1d-0000uK-0F
	for multimobsec-api@ietf.org; Fri, 12 May 2006 05:33:33 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FeU1a-00080P-Mk
	for multimobsec-api@ietf.org; Fri, 12 May 2006 05:33:32 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id E520232C6; Fri, 12 May 2006 12:33:29 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.1-niksula20060321 (2006-03-10) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.1-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id 823E932C3;
	Fri, 12 May 2006 12:33:29 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3) with ESMTP id k4C9XGqE019993; 
	Fri, 12 May 2006 12:33:29 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Fri, 12 May 2006 12:33:15 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <20060509094317.C29E.SHINTA@sfc.wide.ad.jp>
Message-ID: <Pine.SOL.4.64.0605121229140.18320@kekkonen.cs.hut.fi>
References: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
	<edce8128a8b8d76ee6be4403402d4392@it.uc3m.es>
	<20060509094317.C29E.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: d6b246023072368de71562c0ab503126
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Tue, 9 May 2006, Shinta Sugimoto wrote:

>> MB: I not sure i understand this... i guess that in the case of forked
>> contexts in the shim, there are more than one context with
>> the same ulid pair...
>
> Right, but I think we are not going to handle forked context in this
> API document as it's specific to SHIM6.

I would actually encourage to write about the forked context also to this 
document just see if it is useful with ED concept. When it is a separate 
and isolated section, it will be easy to move from one document to another 
if necessary.

Sorry for the delay. I'll send more comments today. I have read both shim6 
and btns drafts and I have some comments on them.

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Fri May 12 05:37:15 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FeU5D-0001cE-6I; Fri, 12 May 2006 05:37:15 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FeU5C-0001c9-5R
	for multimobsec-api@ietf.org; Fri, 12 May 2006 05:37:14 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FeU5B-0008GJ-Re
	for multimobsec-api@ietf.org; Fri, 12 May 2006 05:37:14 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id 6FCD832BE; Fri, 12 May 2006 12:37:13 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.1-niksula20060321 (2006-03-10) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.1-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id 0588C323A;
	Fri, 12 May 2006 12:37:13 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3) with ESMTP id k4C9b8Dh020151; 
	Fri, 12 May 2006 12:37:08 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Fri, 12 May 2006 12:37:08 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <20060509161207.C2A8.SHINTA@sfc.wide.ad.jp>
Message-ID: <Pine.SOL.4.64.0605121233520.18320@kekkonen.cs.hut.fi>
References: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
	<445F2D60.5060802@piuha.net>
	<20060509161207.C2A8.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 39bd8f8cbb76cae18b7e23f7cf6b2b9f
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Wed, 10 May 2006, Shinta Sugimoto wrote:

> Hello Jari,
>
> Thank you for your feedback.  Please find my comments below.
>
> On Mon, 08 May 2006 14:37:04 +0300
> Jari Arkko <jari.arkko@piuha.net> wrote:
>
>> The basic list of the requirements looks reasonable as
>> an optional extension of the socket API. But I wonder if
>> this cross-layer communication is really something that
>> happens not just between the shim and the app, but
>> between the shim, transport, and app (with possible
>> abstraction level changes in between).
>
> I think I understand what you mean.  Those interactions should
> include something that could not be controlled by application but
> by transport layer protocol itself.  For example, feedback (both
> positive and negative, as mentioned in REAP draft) from transport
> layer protocol to the shim layer should be directly passed from
> transport layer to the IP layer.  When it comes to indications
> from IP layer to upper layer protocol, occurrence of re-homing
> event would be of interest for the ULP, especially TCP.  In the
> past discussions on SHIM6 mailing list, some folks mentioned about
> the possible behavior of TCP upon re-homing event (clear the status
> of parameters and initiate slow-start etc.).  As you pointed out,
> current API draft may be too much focusing on Socket API.  The
> draft should also cover other forms of interactions between ULP
> and shim layer, and I will take this into account.

I think this draft should concentrate on the interactions between 
app<->shim and app<->transport. The common denominator should be really 
the application. shim<->transport interactions deserve a separate draft.

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Fri May 12 17:08:06 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Feerm-00020n-Kh; Fri, 12 May 2006 17:08:06 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Feerl-000207-SF
	for multimobsec-api@ietf.org; Fri, 12 May 2006 17:08:05 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Feerj-0003d6-AL
	for multimobsec-api@ietf.org; Fri, 12 May 2006 17:08:05 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id 9DAFF3318; Sat, 13 May 2006 00:08:02 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.1-niksula20060321 (2006-03-10) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.1-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id F1E153318
	for <multimobsec-api@ietf.org>; Sat, 13 May 2006 00:08:01 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3) with ESMTP id k4CL81l3014159
	for <multimobsec-api@ietf.org>; Sat, 13 May 2006 00:08:01 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Sat, 13 May 2006 00:08:01 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: multimobsec-api@ietf.org
Message-ID: <Pine.SOL.4.64.0605121237570.18320@kekkonen.cs.hut.fi>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 9af087f15dbdd4c64ae6bbcdbc5b1d44
Subject: [MULTIMOBSEC-API] feedback from shim-api-00.txt
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Shinta, you may want to read sections 3.2.2, 3.2.3 and 4 from my thesis:

http://gaijin.iki.fi/hipl/hip-native-api-final.pdf

It has some relevance to the shim API. Then, some detailed comments on the 
shim api draft:

> Abstract
>
> This document specifies API for multihome shim layer.

C-language based sockets API

> Table of Contents
> 6.  Issues of Handling Multiple Locators with Legacy Socket API

Rename to "Issues of Handling Multiple Locators with shim unware apps"

I'd add a new chapter after this on "Shim aware apps". This section needs 
a lot of work.

> 3.  Terminology
>
> Identifier (ID) -

End-point identifier (EID)

> Context - A state information...  for to hosts...

s/for to/to/

Btw, on "HIP developer scene" we have been using the term "mapping" 
instead of "context". However, I am also fine with "context" if that is 
what you are using in shim6.

> List of Locators
> ..idetnfied..

s/idetnfied/identified/

In the end of terminology, I'd like to see the following terms:

* Connection latching
* REAP
* HIP
* ED = Endpoint Descriptor
    The representation of endpoints is hidden from the applications.  The
    ED is a "handle" or "pointer" to the actual EID.  A given ED serves as
    a AID [I-D.nordmark-multi6-noid].

Also, I'd like to see ULID and HIT explanations separate from 
Endpoint Identifier (EID). ULID explanation should start like "In the case 
of SHIM6, the EID is called..." and the same goes for HIT.

> 4.  System Overview
>
> Figure X

You should number the figure.

Anyway, the actual figure should probably have also transport layer 
between socket and IP layer. There should be arrows from socket<->shim and 
also socket<->transport. Please rename the interface layer e.g. to 
"physical layer" etc.

> 5.  Requirements
>
> 5.1 Requirements for shim unaware applications

* add text

> 5.2 Requirements for shim aware applications
>
> Following is a list of requirements from the application perspective.

*shim aware* application perspective

(which it really is)

>   o  Notification from application to shim layer about the outage.

I think it is safe to say here "event based" notification as that is the 
aim anyway. Also, it does not say here what "outage" is in question
(locator outage?)

>   o  Hot-standby.  Application may request shim layer if hot-standby
>      connection is needed.

s/if/that a/ ?

>   o  Providing locator information to application.  Application should
>      be able to obtain information about the locator which was actually
>      used to receive the packet.  With this information, application
>      can verify if its preference on choice of locator is actually
>      applied to its flow or not.

What about sending? Can the application select a specific locator?

>   o  Application should be able to specify if it wants to defer the
>      context setup or it wants context establishment to be started if
>      there is no available context.

I don't really understant this point. Isn't the context set up always 
automatically when the application connects? Or maybe I am missing some 
shim6 specific knowledge here.

> 6.1.  Initial Contact
>
> When application to establish communication with its peer who happens
> to have multiple locators, there are some issues to consider.

application *is going* to establish

> In connection oriented communication, connect() system call is used to 
> make the initial contact to the peer, which requires IP address and port 
> number to specify the endpoint.

which requires an IP address or HIT

> Application needs to resolve IP address of the peer from its FQDN by any 
> available name-to-address conversion method.

Application needs to resolve FQDN of the peer to an IP address by any 
available name-to-address conversion method.

> One option is to issue concurrent connect() with every locator of the 
> peer, which is done in some applications today.

I think for the legacy case it is not "concurrent" but rather 
"consecutive". At least in the most common case, but may be there are some 
advanced applications.

> Another option would be to request shim layer for taking care of initial 
contact.

There is nothing wrong with this sentence, but the paragraph is getting 
too long, so I'd insert a paragraph break after this sentence.

> And behavior of shim layer will depend on the presence of the required 
> context.

s/And//

> However, this approach does not help the case where ID is not in form of 
> IP address (e.g.  HIT in HIP case).

In HIP, a HIP enabled resolver can be used for setting up context prior to 
the actual connection to HIT. Alternatively, DHTs support look-up of 
non-hierarchical identifiers, such as HITs.

> 6.2.  Naming at Socket Layer
> ..
> getsockname() is used when an application wants to obtain the local IP 
> address and port number assigned for given socket instance.

*Traditionally*, getsockname() is used..

Related to section 6.2., I suggested earlier that getsockname() returns 
whatever addresses transport layer is using because it is the closest 
layer. However, at least when HIP is concerned, we have to make a 
trade-off between these two problems:

1. Backwards compatibility: HITs are not routable, and mapping them to
    locators might be difficult - possibly referral related troubles
2. Mobility and multihoming: returning HITs is better than returning
    possibly depracated, unusable addresses

I'd bet that the DHTs are getting more common in the future, and as a 
consequence, the first problem is not so relevant anymore. So, if I have 
to choose, I would return EIDs (HITs or ULIDs) to applications.

For shim aware applications, it does not really matter what those 
functions return. Shim aware applications are new applications that can 
use even a completely new API call to query about EIDs and locators.

Comments?

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Sat May 13 04:54:51 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Feptj-0005xv-3v; Sat, 13 May 2006 04:54:51 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fepti-0005xq-Pt
	for multimobsec-api@ietf.org; Sat, 13 May 2006 04:54:50 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fepth-00064T-Em
	for multimobsec-api@ietf.org; Sat, 13 May 2006 04:54:50 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id 934E832FA; Sat, 13 May 2006 11:54:46 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.1-niksula20060321 (2006-03-10) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.1-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id 25B9B32F0
	for <multimobsec-api@ietf.org>; Sat, 13 May 2006 11:54:46 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3) with ESMTP id k4D8sjSJ026936
	for <multimobsec-api@ietf.org>; Sat, 13 May 2006 11:54:46 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Sat, 13 May 2006 11:54:45 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: multimobsec-api@ietf.org
Message-ID: <Pine.SOL.4.64.0605130009110.12848@kekkonen.cs.hut.fi>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: f4c2cf0bccc868e4cc88dace71fb3f44
Subject: [MULTIMOBSEC-API] feedback from btns api draft
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Michael, you might want to have a look at the requirements section 3.1.2 
(compatibility, fallback to TCP/IP, and forward compatibility using ED) 
from my thesis. Also sections 3.2.1 (representation of public keys, 
anonymous/public identities) and section 4 might be useful:

http://gaijin.iki.fi/hipl/hip-native-api-final.pdf

> 3.    Motivations for this work

Code reuse is also one motivation. Using IPsec in general reduces the need 
to adapt networking software to use e.g. SSL libraries. This applies 
especially to legacy applications and partially to native applications.

> 5.  Requirements

How about adding two additional requirements to this chapter:

   * IPsec aware applications (endpoint descriptors)
   * Fallback to non-IPsec based communications
   * Application specified public keys (see section 3.2.1 from my thesis)

> 8.1.  OPAQUE IDENTITY

I don't see how the name of this section correlates with the contents of 
the section.

> It should be possible to determine that two IPsec-protected 
> communications conducted within a short to medium time frame were with 
> the same authenticated peer; it should be possible to use a received 
> identity to initiate a communication back to that identity.

In the case of HITs (or EDs), this may not be possible, at least directly.

> 8.3.  ACCESS CONTROL
> 
> While policy rules may allow traffic to be blocked entirely, it's
> often necessary for a program to provide services to mutually
> suspicious clients.

Could you clarify the term "mutually suspicious client"? I think you are 
referring to anonymous clients that cannot authenticate each other e.g. in 
p2p environments.

> 8.4.  ATTRIBUTES/CREDENTIALS
>
> [Mission Creep Alert] In many cases, an application is not so much
> interested in the peer's name, but rather in some other attribute of
> the peer.

By name, you mean host name?

> 10.  Security Guarantees

This was something that was missing from my thesis, good catch! It 
was missing because I though it was too obvious, but it really is not.

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Sun May 14 12:07:07 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FfJ7W-0007yS-SG; Sun, 14 May 2006 12:07:02 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FfJ7W-0007yN-92
	for multimobsec-api@ietf.org; Sun, 14 May 2006 12:07:02 -0400
Received: from stsc1260-eth-s1-s1p1-vip.va.neustar.com ([156.154.16.129]
	helo=chiedprmail1.ietf.org)
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FfI9o-0005Sf-K3
	for multimobsec-api@ietf.org; Sun, 14 May 2006 11:05:20 -0400
Received: from smtp01.uc3m.es ([163.117.136.121])
	by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1FfI11-0003st-6G
	for multimobsec-api@ietf.org; Sun, 14 May 2006 10:56:15 -0400
Received: from smtp01.uc3m.es (localhost [127.0.0.1])
	by localhost.uc3m.es (Postfix) with ESMTP
	id CB8BFD4B3D; Sun, 14 May 2006 16:56:13 +0200 (CEST)
Received: from [163.117.203.239] (unknown [163.117.203.239])
	by smtp01.uc3m.es (Postfix) with ESMTP
	id 0799AD4B4A; Sun, 14 May 2006 16:56:13 +0200 (CEST)
In-Reply-To: <Pine.SOL.4.64.0605121237570.18320@kekkonen.cs.hut.fi>
References: <Pine.SOL.4.64.0605121237570.18320@kekkonen.cs.hut.fi>
Mime-Version: 1.0 (Apple Message framework v623)
Content-Type: text/plain; charset=US-ASCII; format=flowed
Message-Id: <24586f85091aaa7317aafbcdcf9351d1@it.uc3m.es>
Content-Transfer-Encoding: 7bit
From: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] feedback from shim-api-00.txt
Date: Sun, 14 May 2006 17:56:32 +0300
To: Miika Komu <miika@iki.fi>
X-Mailer: Apple Mail (2.623)
X-Spam-Score: -2.3 (--)
X-Scan-Signature: 7655788c23eb79e336f5f8ba8bce7906
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org


a clarification point...

>>   o  Application should be able to specify if it wants to defer the
>>      context setup or it wants context establishment to be started if
>>      there is no available context.
>
> I don't really understant this point. Isn't the context set up always 
> automatically when the application connects?

no
shim6 supports deferred context setup
this means that the application can start the communication just as a 
non shim6 communication and then the shim6 context establishment is 
triggered by some heuristics located in the peers, like packet count or 
time count

the point being made here is that the app should be able to influence 
the moment when the context is establihsed, up front, or how deffered 
is the context setup

regards, marcelo


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Sun May 14 16:05:00 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FfMpo-0003as-QV; Sun, 14 May 2006 16:05:00 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FfMpo-0003an-EC
	for multimobsec-api@ietf.org; Sun, 14 May 2006 16:05:00 -0400
Received: from stsc1260-eth-s1-s1p1-vip.va.neustar.com ([156.154.16.129]
	helo=chiedprmail1.ietf.org)
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FfMpo-0003Id-Ck
	for multimobsec-api@ietf.org; Sun, 14 May 2006 16:05:00 -0400
Received: from p130.piuha.net ([193.234.218.130])
	by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1FfMpn-0006Ux-T0
	for multimobsec-api@ietf.org; Sun, 14 May 2006 16:05:00 -0400
Received: from p130.piuha.net (localhost [127.0.0.1])
	by p130.piuha.net (Postfix) with ESMTP id 1DC23898E6;
	Sun, 14 May 2006 22:59:59 +0300 (EEST)
Received: from [127.0.0.1] (p130.piuha.net [193.234.218.130])
	by p130.piuha.net (Postfix) with ESMTP id 94FC8898E5;
	Sun, 14 May 2006 22:59:58 +0300 (EEST)
Message-ID: <44674B1B.3040905@piuha.net>
Date: Sun, 14 May 2006 18:22:03 +0300
From: Jari Arkko <jari.arkko@piuha.net>
User-Agent: Mozilla Thunderbird 1.0.8 (X11/20060502)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Miika Komu <miika@iki.fi>
Subject: Re: [MULTIMOBSEC-API] api requirements
References: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
	<445F2D60.5060802@piuha.net>
	<20060509161207.C2A8.SHINTA@sfc.wide.ad.jp>
	<Pine.SOL.4.64.0605121233520.18320@kekkonen.cs.hut.fi>
In-Reply-To: <Pine.SOL.4.64.0605121233520.18320@kekkonen.cs.hut.fi>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: -2.3 (--)
X-Scan-Signature: d17f825e43c9aed4fd65b7edddddec89
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Miika Komu wrote:

> I think this draft should concentrate on the interactions between
> app<->shim and app<->transport. The common denominator should be
> really the application. shim<->transport interactions deserve a
> separate draft.

That's fine.--Jari




_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Mon May 15 06:09:28 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FfZzj-0004A4-Sr; Mon, 15 May 2006 06:08:07 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FfZy1-0003dg-FL
	for multimobsec-api@ietf.org; Mon, 15 May 2006 06:06:21 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FfZun-0001at-6h
	for multimobsec-api@ietf.org; Mon, 15 May 2006 06:03:05 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id 490562FFD; Mon, 15 May 2006 13:02:58 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.1-niksula20060321 (2006-03-10) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.1-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id D8B7A2FDB;
	Mon, 15 May 2006 13:02:57 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3) with ESMTP id k4FA2txL000913; 
	Mon, 15 May 2006 13:02:57 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Mon, 15 May 2006 13:02:54 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] feedback from shim-api-00.txt
In-Reply-To: <24586f85091aaa7317aafbcdcf9351d1@it.uc3m.es>
Message-ID: <Pine.SOL.4.64.0605151301270.27784@kekkonen.cs.hut.fi>
References: <Pine.SOL.4.64.0605121237570.18320@kekkonen.cs.hut.fi>
	<24586f85091aaa7317aafbcdcf9351d1@it.uc3m.es>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 2409bba43e9c8d580670fda8b695204a
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Sun, 14 May 2006, marcelo bagnulo braun wrote:

>
> a clarification point...
>
>>>   o  Application should be able to specify if it wants to defer the
>>>      context setup or it wants context establishment to be started if
>>>      there is no available context.
>> 
>> I don't really understant this point. Isn't the context set up always 
>> automatically when the application connects?
>
> no
> shim6 supports deferred context setup
> this means that the application can start the communication just as a non 
> shim6 communication and then the shim6 context establishment is triggered by 
> some heuristics located in the peers, like packet count or time count
>
> the point being made here is that the app should be able to influence the 
> moment when the context is establihsed, up front, or how deffered is the 
> context setup

So, in a way the connection can be "upgraded" to use the shim? If I 
understood correctly, the "upgrade" word could be used also in the text.

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Mon May 15 08:18:43 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Ffc26-0003bZ-TI; Mon, 15 May 2006 08:18:42 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Ffc25-0003aQ-9T
	for multimobsec-api@ietf.org; Mon, 15 May 2006 08:18:41 -0400
Received: from mail.sfc.wide.ad.jp ([203.178.142.146])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Ffc20-00080T-Sn
	for multimobsec-api@ietf.org; Mon, 15 May 2006 08:18:41 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id 500944D8B3;
	Mon, 15 May 2006 21:18:18 +0900 (JST)
Date: Mon, 15 May 2006 15:18:18 +0300
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: Miika Komu <miika@iki.fi>
Subject: Re: [MULTIMOBSEC-API] feedback from shim-api-00.txt
In-Reply-To: <Pine.SOL.4.64.0605121237570.18320@kekkonen.cs.hut.fi>
References: <Pine.SOL.4.64.0605121237570.18320@kekkonen.cs.hut.fi>
Message-Id: <20060515122938.E3B4.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.21.03 [ja]
X-Spam-Score: 0.0 (/)
X-Scan-Signature: bfe538a859d88717fa3c8a6377d62f90
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Hi Miika,

Thank you for your comments.  Please find my responses/comments inline.

On Sat, 13 May 2006 00:08:01 +0300 (EEST)
Miika Komu <miika@iki.fi> wrote:

> Shinta, you may want to read sections 3.2.2, 3.2.3 and 4 from my thesis:
> 
> http://gaijin.iki.fi/hipl/hip-native-api-final.pdf

Ok.  I read the sections.  Certainly there are something that I should
learn from your past work.  I will also read other parts as well.  Thanks.

> 
> It has some relevance to the shim API. Then, some detailed comments on the 
> shim api draft:
> 
> > Abstract
> >
> > This document specifies API for multihome shim layer.
> 
> C-language based sockets API

Mm, I am not sure if I want to be so specific at the beginning of
the document.  Wouldn't it be fine just to say "Socket API" ?

> > Table of Contents
> > 6.  Issues of Handling Multiple Locators with Legacy Socket API
> 
> Rename to "Issues of Handling Multiple Locators with shim unware apps"
> 
> I'd add a new chapter after this on "Shim aware apps". This section needs 
> a lot of work.

Ok.

> > 3.  Terminology
> >
> > Identifier (ID) -
> 
> End-point identifier (EID)

Ok, fine with me.

> > Context - A state information...  for to hosts...
> 
> s/for to/to/
> 
> Btw, on "HIP developer scene" we have been using the term "mapping" 
> instead of "context". However, I am also fine with "context" if that is 
> what you are using in shim6.

Ok. I hope 'context' fits well with HIP as well.

> > List of Locators
> > ..idetnfied..
> 
> s/idetnfied/identified/

Ok.

> In the end of terminology, I'd like to see the following terms:
> 
> * Connection latching

Ok, but I assume that the definition should be inline with the one
from BTNS.  Let me check BTNS documents first, and will come back with
text defining the words.

> * REAP
> * HIP

Ok.

> * ED = Endpoint Descriptor
>     The representation of endpoints is hidden from the applications.  The
>     ED is a "handle" or "pointer" to the actual EID.  A given ED serves as
>     a AID [I-D.nordmark-multi6-noid].

Ok.

> Also, I'd like to see ULID and HIT explanations separate from 
> Endpoint Identifier (EID). ULID explanation should start like "In the case 
> of SHIM6, the EID is called..." and the same goes for HIT.

Ok.

> > 4.  System Overview
> >
> > Figure X
> 
> You should number the figure.

Yes.

> 
> Anyway, the actual figure should probably have also transport layer 
> between socket and IP layer. There should be arrows from socket<->shim and 
> also socket<->transport. Please rename the interface layer e.g. to 
> "physical layer" etc.

Ok. I came to think that this figure should be re-drawn.
As you pointed out, there should be arrows; one for socket<->shim
and one for socket<->transport so that reader can easily
understand what the API is for.

> > 5.  Requirements
> >
> > 5.1 Requirements for shim unaware applications
> 
> * add text
> 
> > 5.2 Requirements for shim aware applications
> >
> > Following is a list of requirements from the application perspective.
> 
> *shim aware* application perspective
> 
> (which it really is)
> 
> >   o  Notification from application to shim layer about the outage.
> 
> I think it is safe to say here "event based" notification as that is the 
> aim anyway. Also, it does not say here what "outage" is in question
> (locator outage?)

Ok, I will use 'event based'.  Does following sound better ?

<t>Notification from application to shim layer about outage.
Application should be able to inform shim layer about outage
in its communication.  Note that the notification is made
in event based manner.  The cause of outage could be for instance
a problem of network interface, congestions on the path and so on.
ICMP error messages delievered to the upper layer protocol is
normally clue for application to detect outgae.  REAP module
may be triggered by this indication to invoke procedure of
path exploration.</t>

> >   o  Hot-standby.  Application may request shim layer if hot-standby
> >      connection is needed.
> 
> s/if/that a/ ?

Ok.

> 
> >   o  Providing locator information to application.  Application should
> >      be able to obtain information about the locator which was actually
> >      used to receive the packet.  With this information, application
> >      can verify if its preference on choice of locator is actually
> >      applied to its flow or not.
> 
> What about sending? Can the application select a specific locator?

On email discussion with Marcelo, we identified that this is still
an open issue whether to allow application to select (specify) locator
pair.  Maybe we can have this item on "further discussions" part.

> >   o  Application should be able to specify if it wants to defer the
> >      context setup or it wants context establishment to be started if
> >      there is no available context.
> 
> I don't really understant this point. Isn't the context set up always 
> automatically when the application connects? Or maybe I am missing some 
> shim6 specific knowledge here.

see Marcelo's comment.

> > 6.1.  Initial Contact
> >
> > When application to establish communication with its peer who happens
> > to have multiple locators, there are some issues to consider.
> 
> application *is going* to establish

Ok.

> > In connection oriented communication, connect() system call is used to 
> > make the initial contact to the peer, which requires IP address and port 
> > number to specify the endpoint.
> 
> which requires an IP address or HIT
> 
> > Application needs to resolve IP address of the peer from its FQDN by any 
> > available name-to-address conversion method.
> 
> Application needs to resolve FQDN of the peer to an IP address by any 
> available name-to-address conversion method.

Ok.

> > One option is to issue concurrent connect() with every locator of the 
> > peer, which is done in some applications today.
> 
> I think for the legacy case it is not "concurrent" but rather 
> "consecutive". At least in the most common case, but may be there are some 
> advanced applications.

Ok. I'll take your comment into account.

> > Another option would be to request shim layer for taking care of initial 
> contact.
> 
> There is nothing wrong with this sentence, but the paragraph is getting 
> too long, so I'd insert a paragraph break after this sentence.

That's right.  Will spit in paragraphs.

> > And behavior of shim layer will depend on the presence of the required 
> > context.
> 
> s/And//

Ok.

> > However, this approach does not help the case where ID is not in form of 
> > IP address (e.g.  HIT in HIP case).
> 
> In HIP, a HIP enabled resolver can be used for setting up context prior to 
> the actual connection to HIT. Alternatively, DHTs support look-up of 
> non-hierarchical identifiers, such as HITs.

Yes.  But I think those (HIP enabled resolver and the DHT support) are
still in some HIP implementation or HIP experts' mind, aren't they ?
(I may be wrong, correct me if so)
So I was not sure if we could give conclusive statements about
these problems.

> > 6.2.  Naming at Socket Layer
> > ..
> > getsockname() is used when an application wants to obtain the local IP 
> > address and port number assigned for given socket instance.
> 
> *Traditionally*, getsockname() is used..

What do you imply with "*Traditionally*" ?  Could you elaborate more ?

> Related to section 6.2., I suggested earlier that getsockname() returns 
> whatever addresses transport layer is using because it is the closest 
> layer. However, at least when HIP is concerned, we have to make a 
> trade-off between these two problems:
> 
> 1. Backwards compatibility: HITs are not routable, and mapping them to
>     locators might be difficult - possibly referral related troubles
> 2. Mobility and multihoming: returning HITs is better than returning
>     possibly depracated, unusable addresses

True.

> I'd bet that the DHTs are getting more common in the future, and as a 
> consequence, the first problem is not so relevant anymore. So, if I have 
> to choose, I would return EIDs (HITs or ULIDs) to applications.

I see.
As for me, I am not sure if DHT based name resolution service could
be easily done.  In longer run, we may need to re-think naming service
(which might require us to replace DNS with something new) if we want
to have a network where the ID and locator are purely separated.

> For shim aware applications, it does not really matter what those 
> functions return. Shim aware applications are new applications that can 
> use even a completely new API call to query about EIDs and locators.

Ok, agree.


Regards,
Shinta


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Mon May 15 08:20:04 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Ffc3Q-0003x8-Cl; Mon, 15 May 2006 08:20:04 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Ffc3P-0003wo-3U
	for multimobsec-api@ietf.org; Mon, 15 May 2006 08:20:03 -0400
Received: from mail.sfc.wide.ad.jp ([203.178.142.146])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Ffc3O-00085I-P9
	for multimobsec-api@ietf.org; Mon, 15 May 2006 08:20:03 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id 00C204D8B3;
	Mon, 15 May 2006 21:19:59 +0900 (JST)
Date: Mon, 15 May 2006 15:19:59 +0300
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: Jari Arkko <jari.arkko@piuha.net>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <44674B1B.3040905@piuha.net>
References: <Pine.SOL.4.64.0605121233520.18320@kekkonen.cs.hut.fi>
	<44674B1B.3040905@piuha.net>
Message-Id: <20060515151851.E3BA.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.21.03 [ja]
X-Spam-Score: 0.0 (/)
X-Scan-Signature: d6b246023072368de71562c0ab503126
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Sun, 14 May 2006 18:22:03 +0300
Jari Arkko <jari.arkko@piuha.net> wrote:

> Miika Komu wrote:
> 
> > I think this draft should concentrate on the interactions between
> > app<->shim and app<->transport. The common denominator should be
> > really the application. shim<->transport interactions deserve a
> > separate draft.
> 
> That's fine.--Jari
> 

Ok, let's concentrate on (1) app <-> shim and (2) app <-> transport
in the API document.

Regards,
Shinta


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Mon May 15 17:01:21 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FfkBs-0008Fs-SN; Mon, 15 May 2006 17:01:20 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FfkBr-0008Fk-S9
	for multimobsec-api@ietf.org; Mon, 15 May 2006 17:01:19 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FfkBq-0004UB-CZ
	for multimobsec-api@ietf.org; Mon, 15 May 2006 17:01:19 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id B639D2FC0; Tue, 16 May 2006 00:01:17 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.1-niksula20060321 (2006-03-10) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.1-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id 19B812EDF;
	Tue, 16 May 2006 00:01:17 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3) with ESMTP id k4FL1AXF024862; 
	Tue, 16 May 2006 00:01:16 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Tue, 16 May 2006 00:01:10 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
Subject: Re: [MULTIMOBSEC-API] feedback from shim-api-00.txt
In-Reply-To: <20060515122938.E3B4.SHINTA@sfc.wide.ad.jp>
Message-ID: <Pine.SOL.4.64.0605152343270.23493@kekkonen.cs.hut.fi>
References: <Pine.SOL.4.64.0605121237570.18320@kekkonen.cs.hut.fi>
	<20060515122938.E3B4.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 8de5f93cb2b4e3bee75302e9eacc33db
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Mon, 15 May 2006, Shinta Sugimoto wrote:

> Mm, I am not sure if I want to be so specific at the beginning of
> the document.  Wouldn't it be fine just to say "Socket API" ?

According to the literature, it is "sockets API" with an "s".

Maybe you can say in intro that the draft is illustrated using C language. 
It is not a bad choice because the API bindings for other languages are 
based on C anyway.

> Ok, I will use 'event based'.  Does following sound better ?
>
> <t>Notification from application to shim layer about outage.
> Application should be able to inform shim layer about outage
> in its communication.  Note that the notification is made
> in event based manner.  The cause of outage could be for instance
> a problem of network interface, congestions on the path and so on.
> ICMP error messages delievered to the upper layer protocol is
> normally clue for application to detect outgae.  REAP module
> may be triggered by this indication to invoke procedure of
> path exploration.</t>

s/outgae/outage/. Again, it is undefined what kind of outage is in 
question. Otherwise it is fine.

>>>   o  Providing locator information to application.  Application should
>>>      be able to obtain information about the locator which was actually
>>>      used to receive the packet.  With this information, application
>>>      can verify if its preference on choice of locator is actually
>>>      applied to its flow or not.
>>
>> What about sending? Can the application select a specific locator?
>
> On email discussion with Marcelo, we identified that this is still
> an open issue whether to allow application to select (specify) locator
> pair.  Maybe we can have this item on "further discussions" part.

Fine.

>>>   o  Application should be able to specify if it wants to defer the
>>>      context setup or it wants context establishment to be started if
>>>      there is no available context.
>>
>> I don't really understant this point. Isn't the context set up always
>> automatically when the application connects? Or maybe I am missing some
>> shim6 specific knowledge here.
>
> see Marcelo's comment.

Please add my comments about "connection upgrade". I believe that it makes 
the idea more understandable for a person who I quite clueless on shim6 
details :)

>>> However, this approach does not help the case where ID is not in form of
>>> IP address (e.g.  HIT in HIP case).
>>
>> In HIP, a HIP enabled resolver can be used for setting up context prior to
>> the actual connection to HIT. Alternatively, DHTs support look-up of
>> non-hierarchical identifiers, such as HITs.
>
> Yes.  But I think those (HIP enabled resolver and the DHT support) are
> still in some HIP implementation or HIP experts' mind, aren't they ?
> (I may be wrong, correct me if so)
> So I was not sure if we could give conclusive statements about
> these problems.

I don't understand. HIP enabled resolvers and DHT support are mostly 
supported by all of the three public implementations and they are also 
seriously considered both in the HIP WG and RG. What you can add is a 
deployment statement, that they are not widely used or deployed yet.

>>> 6.2.  Naming at Socket Layer .. getsockname() is used when an 
>>> application wants to obtain the local IP address and port number 
>>> assigned for given socket instance.
>>
>> *Traditionally*, getsockname() is used..
>
> What do you imply with "*Traditionally*" ?  Could you elaborate more ?

We have now identifier / locator split which changes things. We don't 
have anymore just "addresses":

getsockname() is used when an application wants to obtain the local IP 
address and port number assigned for given socket instance.

Consider my comment as an "readability enchancement".

> As for me, I am not sure if DHT based name resolution service could be 
> easily done.

It has been already done, but not really deployed in a large scale. And 
also it has not been standardized in the IETF, but neither has been e.g. 
skype :)

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue May 16 02:16:00 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Ffsqd-0000eS-Qt; Tue, 16 May 2006 02:15:59 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Ffsqb-0000eN-TZ
	for multimobsec-api@ietf.org; Tue, 16 May 2006 02:15:57 -0400
Received: from n2.nomadiclab.com ([193.234.219.2])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Ffsqa-0001Zj-BB
	for multimobsec-api@ietf.org; Tue, 16 May 2006 02:15:57 -0400
Received: from n2.nomadiclab.com (localhost [127.0.0.1])
	by n2.nomadiclab.com (Postfix) with ESMTP id 42EB3212C63;
	Tue, 16 May 2006 09:15:44 +0300 (EEST)
Received: from outside.nomadiclab.com (d146.nomadiclab.com [193.234.218.146])
	by n2.nomadiclab.com (Postfix) with ESMTP id CB9DD212C61;
	Tue, 16 May 2006 09:15:43 +0300 (EEST)
Received: from outside.nomadiclab.com (localhost [127.0.0.1])
	by outside.nomadiclab.com (Postfix) with ESMTP id 608D4BDC40;
	Tue, 16 May 2006 09:15:43 +0300 (EEST)
Received: from [193.234.219.179] (w179.nomadiclab.com [193.234.219.179])
	by outside.nomadiclab.com (Postfix) with ESMTP id 281AFBDC38;
	Tue, 16 May 2006 09:15:43 +0300 (EEST)
In-Reply-To: <Pine.SOL.4.64.0605152343270.23493@kekkonen.cs.hut.fi>
References: <Pine.SOL.4.64.0605121237570.18320@kekkonen.cs.hut.fi>
	<20060515122938.E3B4.SHINTA@sfc.wide.ad.jp>
	<Pine.SOL.4.64.0605152343270.23493@kekkonen.cs.hut.fi>
Mime-Version: 1.0 (Apple Message framework v623)
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Message-Id: <abacd1cc1d62be71675b042d702c1290@it.uc3m.es>
Content-Transfer-Encoding: quoted-printable
From: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] feedback from shim-api-00.txt
Date: Tue, 16 May 2006 09:16:04 +0300
To: Miika Komu <miika@iki.fi>
X-Mailer: Apple Mail (2.623)
X-Virus-Scanned: ClamAV using ClamSMTP
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 5ebbf074524e58e662bc8209a6235027
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org


El 16/05/2006, a las 0:01, Miika Komu escribi=F3:

> On Mon, 15 May 2006, Shinta Sugimoto wrote:
>
>> Mm, I am not sure if I want to be so specific at the beginning of
>> the document.  Wouldn't it be fine just to say "Socket API" ?
>
> According to the literature, it is "sockets API" with an "s".
>
> Maybe you can say in intro that the draft is illustrated using C=20
> language. It is not a bad choice because the API bindings for other=20
> languages are based on C anyway.
>
>> Ok, I will use 'event based'.  Does following sound better ?
>>
>> <t>Notification from application to shim layer about outage.
>> Application should be able to inform shim layer about outage
>> in its communication.  Note that the notification is made
>> in event based manner.  The cause of outage could be for instance
>> a problem of network interface, congestions on the path and so on.
>> ICMP error messages delievered to the upper layer protocol is
>> normally clue for application to detect outgae.  REAP module
>> may be triggered by this indication to invoke procedure of
>> path exploration.</t>
>
> s/outgae/outage/. Again, it is undefined what kind of outage is in=20
> question. Otherwise it is fine.
>

i guess that it is any kind of outage that makes that an address pair=20
is no longer working.
And an address pair is said to be working is packet containing the=20
first address from the pair as source address and the second address=20
from the pair as destiantion address can safely travel from the source=20=

to the destiantion.

>>>> However, this approach does not help the case where ID is not in=20
>>>> form of
>>>> IP address (e.g.  HIT in HIP case).
>>>
>>> In HIP, a HIP enabled resolver can be used for setting up context=20
>>> prior to
>>> the actual connection to HIT. Alternatively, DHTs support look-up of
>>> non-hierarchical identifiers, such as HITs.
>>
>> Yes.  But I think those (HIP enabled resolver and the DHT support) =
are
>> still in some HIP implementation or HIP experts' mind, aren't they ?
>> (I may be wrong, correct me if so)
>> So I was not sure if we could give conclusive statements about
>> these problems.
>
> I don't understand. HIP enabled resolvers and DHT support are mostly=20=

> supported by all of the three public implementations

interesting.... which implementations are those?


>  and they are also seriously considered both in the HIP WG and RG.=20
> What you can add is a deployment statement, that they are not widely=20=

> used or deployed yet.
>


>>>> 6.2.  Naming at Socket Layer .. getsockname() is used when an=20
>>>> application wants to obtain the local IP address and port number=20
>>>> assigned for given socket instance.
>>>
>>> *Traditionally*, getsockname() is used..
>>
>> What do you imply with "*Traditionally*" ?  Could you elaborate more =
?
>
> We have now identifier / locator split which changes things. We don't=20=

> have anymore just "addresses":
>
> getsockname() is used when an application wants to obtain the local IP=20=

> address and port number assigned for given socket instance.
>
> Consider my comment as an "readability enchancement".
>
>> As for me, I am not sure if DHT based name resolution service could=20=

>> be easily done.
>
> It has been already done, but not really deployed in a large scale.=20
> And also it has not been standardized in the IETF, but neither has=20
> been e.g. skype :)
>

i am not really following what comments you think there should be=20
included about DHT?... could you send text so we can understand more=20
precisely what you mean?

Regards, marcelo



> --=20
> Miika Komu              miika@iki.fi          http://www.iki.fi/miika/
>
> _______________________________________________
> MULTIMOBSEC-API mailing list
> MULTIMOBSEC-API@ietf.org
> https://www1.ietf.org/mailman/listinfo/multimobsec-api
>


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue May 16 08:26:13 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Ffycv-0005cZ-Ex; Tue, 16 May 2006 08:26:13 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Ffycu-0005cU-Ac
	for multimobsec-api@ietf.org; Tue, 16 May 2006 08:26:12 -0400
Received: from mail.sfc.wide.ad.jp ([203.178.142.146])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Ffyco-0003ly-GU
	for multimobsec-api@ietf.org; Tue, 16 May 2006 08:26:12 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id 5E8D04D861;
	Tue, 16 May 2006 21:25:49 +0900 (JST)
Date: Tue, 16 May 2006 15:25:48 +0300
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: Miika Komu <miika@iki.fi>
Subject: Re: [MULTIMOBSEC-API] feedback from shim-api-00.txt
In-Reply-To: <Pine.SOL.4.64.0605152343270.23493@kekkonen.cs.hut.fi>
References: <20060515122938.E3B4.SHINTA@sfc.wide.ad.jp>
	<Pine.SOL.4.64.0605152343270.23493@kekkonen.cs.hut.fi>
Message-Id: <20060516092700.E3CF.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.21.03 [ja]
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 8fbbaa16f9fd29df280814cb95ae2290
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Hi Miika,

Please find my comments inline.

On Tue, 16 May 2006 00:01:10 +0300 (EEST)
Miika Komu <miika@iki.fi> wrote:

> On Mon, 15 May 2006, Shinta Sugimoto wrote:
> 
> > Mm, I am not sure if I want to be so specific at the beginning of
> > the document.  Wouldn't it be fine just to say "Socket API" ?
> 
> According to the literature, it is "sockets API" with an "s".

Ok.

> Maybe you can say in intro that the draft is illustrated using C language. 
> It is not a bad choice because the API bindings for other languages are 
> based on C anyway.

Ok.

> > Ok, I will use 'event based'.  Does following sound better ?
> >
> > <t>Notification from application to shim layer about outage.
> > Application should be able to inform shim layer about outage
> > in its communication.  Note that the notification is made
> > in event based manner.  The cause of outage could be for instance
> > a problem of network interface, congestions on the path and so on.
> > ICMP error messages delievered to the upper layer protocol is
> > normally clue for application to detect outgae.  REAP module
> > may be triggered by this indication to invoke procedure of
> > path exploration.</t>
> 
> s/outgae/outage/. Again, it is undefined what kind of outage is in 
> question. Otherwise it is fine.

Ok.

I will add definition of "outage" (and probably "working address pair"
too) in the terminology section.

> 
> >>>   o  Providing locator information to application.  Application should
> >>>      be able to obtain information about the locator which was actually
> >>>      used to receive the packet.  With this information, application
> >>>      can verify if its preference on choice of locator is actually
> >>>      applied to its flow or not.
> >>
> >> What about sending? Can the application select a specific locator?
> >
> > On email discussion with Marcelo, we identified that this is still
> > an open issue whether to allow application to select (specify) locator
> > pair.  Maybe we can have this item on "further discussions" part.
> 
> Fine.
> 
> >>>   o  Application should be able to specify if it wants to defer the
> >>>      context setup or it wants context establishment to be started if
> >>>      there is no available context.
> >>
> >> I don't really understant this point. Isn't the context set up always
> >> automatically when the application connects? Or maybe I am missing some
> >> shim6 specific knowledge here.
> >
> > see Marcelo's comment.
> 
> Please add my comments about "connection upgrade". I believe that it makes 
> the idea more understandable for a person who I quite clueless on shim6 
> details :)

Yes.

> >>> However, this approach does not help the case where ID is not in form of
> >>> IP address (e.g.  HIT in HIP case).
> >>
> >> In HIP, a HIP enabled resolver can be used for setting up context prior to
> >> the actual connection to HIT. Alternatively, DHTs support look-up of
> >> non-hierarchical identifiers, such as HITs.
> >
> > Yes.  But I think those (HIP enabled resolver and the DHT support) are
> > still in some HIP implementation or HIP experts' mind, aren't they ?
> > (I may be wrong, correct me if so)
> > So I was not sure if we could give conclusive statements about
> > these problems.
> 
> I don't understand. HIP enabled resolvers and DHT support are mostly 
> supported by all of the three public implementations and they are also 
> seriously considered both in the HIP WG and RG. What you can add is a 
> deployment statement, that they are not widely used or deployed yet.

Ok.  Thanks for the information.

> >>> 6.2.  Naming at Socket Layer .. getsockname() is used when an 
> >>> application wants to obtain the local IP address and port number 
> >>> assigned for given socket instance.
> >>
> >> *Traditionally*, getsockname() is used..
> >
> > What do you imply with "*Traditionally*" ?  Could you elaborate more ?
> 
> We have now identifier / locator split which changes things. We don't 
> have anymore just "addresses":

Ok, I see what you mean.

> getsockname() is used when an application wants to obtain the local IP 
> address and port number assigned for given socket instance.

Yes.

> Consider my comment as an "readability enchancement".

Ok.

> 
> > As for me, I am not sure if DHT based name resolution service could be 
> > easily done.
> 
> It has been already done, but not really deployed in a large scale. And 
> also it has not been standardized in the IETF, but neither has been e.g. 
> skype :)

Scalability and security would be the key issues in building system of
mapping HIT and locators, I think.  Anyway, we won't be providing details
of how the solution (for HIT-to-locator resolusion) look like.


Regards
Shinta


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue May 16 08:27:31 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FfyeB-00065Y-Qy; Tue, 16 May 2006 08:27:31 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FfyeA-00065D-Pt
	for multimobsec-api@ietf.org; Tue, 16 May 2006 08:27:30 -0400
Received: from stsc1260-eth-s1-s1p1-vip.va.neustar.com ([156.154.16.129]
	helo=chiedprmail1.ietf.org)
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Ffy0S-0001Nt-3y
	for multimobsec-api@ietf.org; Tue, 16 May 2006 07:46:28 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1FfxVs-0004FH-FR
	for multimobsec-api@ietf.org; Tue, 16 May 2006 07:14:56 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id 36BD63073; Tue, 16 May 2006 14:14:51 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.1-niksula20060321 (2006-03-10) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.1-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id 5927D2CCE;
	Tue, 16 May 2006 14:14:50 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3) with ESMTP id k4GBEeoT016211; 
	Tue, 16 May 2006 14:14:40 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Tue, 16 May 2006 14:14:39 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] feedback from shim-api-00.txt
In-Reply-To: <abacd1cc1d62be71675b042d702c1290@it.uc3m.es>
Message-ID: <Pine.SOL.4.64.0605161123120.9383@kekkonen.cs.hut.fi>
References: <Pine.SOL.4.64.0605121237570.18320@kekkonen.cs.hut.fi>
	<20060515122938.E3B4.SHINTA@sfc.wide.ad.jp>
	<Pine.SOL.4.64.0605152343270.23493@kekkonen.cs.hut.fi>
	<abacd1cc1d62be71675b042d702c1290@it.uc3m.es>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED;
	BOUNDARY="-559023410-1804928587-1147768144=:9383"
Content-ID: <Pine.SOL.4.64.0605161132280.9383@kekkonen.cs.hut.fi>
X-Spam-Score: -2.6 (--)
X-Scan-Signature: 7da5a831c477fb6ef97f379a05fb683c
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-1804928587-1147768144=:9383
Content-Type: TEXT/PLAIN; CHARSET=ISO-8859-1; FORMAT=flowed
Content-ID: <Pine.SOL.4.64.0605161132281.9383@kekkonen.cs.hut.fi>
Content-Transfer-Encoding: quoted-printable

On Tue, 16 May 2006, marcelo bagnulo braun wrote:

> El 16/05/2006, a las 0:01, Miika Komu escribi=F3:
>
>> On Mon, 15 May 2006, Shinta Sugimoto wrote:
>>=20
>>> Mm, I am not sure if I want to be so specific at the beginning of
>>> the document.  Wouldn't it be fine just to say "Socket API" ?
>>=20
>> According to the literature, it is "sockets API" with an "s".
>>=20
>> Maybe you can say in intro that the draft is illustrated using C langu=
age.=20
>> It is not a bad choice because the API bindings for other languages ar=
e=20
>> based on C anyway.
>>=20
>>> Ok, I will use 'event based'.  Does following sound better ?
>>>=20
>>> <t>Notification from application to shim layer about outage.
>>> Application should be able to inform shim layer about outage
>>> in its communication.  Note that the notification is made
>>> in event based manner.  The cause of outage could be for instance
>>> a problem of network interface, congestions on the path and so on.
>>> ICMP error messages delievered to the upper layer protocol is
>>> normally clue for application to detect outgae.  REAP module
>>> may be triggered by this indication to invoke procedure of
>>> path exploration.</t>
>>=20
>> s/outgae/outage/. Again, it is undefined what kind of outage is in=20
>> question. Otherwise it is fine.
>
> i guess that it is any kind of outage that makes that an address pair i=
s=20
> no longer working. And an address pair is said to be working is packet=20
> containing the first address from the pair as source address and the=20
> second address from the pair as destiantion address can safely travel=20
> from the source to the destiantion.

Something like this should be also in the text.

(Maybe I am getting too detailed already now in the beginning)

>>>>> However, this approach does not help the case where ID is not in fo=
rm of
>>>>> IP address (e.g.  HIT in HIP case).
>>>>=20
>>>> In HIP, a HIP enabled resolver can be used for setting up context pr=
ior=20
>>>> to
>>>> the actual connection to HIT. Alternatively, DHTs support look-up of
>>>> non-hierarchical identifiers, such as HITs.
>>>=20
>>> Yes.  But I think those (HIP enabled resolver and the DHT support) ar=
e
>>> still in some HIP implementation or HIP experts' mind, aren't they ?
>>> (I may be wrong, correct me if so)
>>> So I was not sure if we could give conclusive statements about
>>> these problems.
>>=20
>> I don't understand. HIP enabled resolvers and DHT support are mostly=20
>> supported by all of the three public implementations
>
> interesting.... which implementations are those?

http://infrahip.hiit.fi/
http://www.hip4inter.net/
http://www.openhip.org/

(I am not sure about the DHT support for Ericsson, you can ask Kristian=20
for details)

>>> As for me, I am not sure if DHT based name resolution service could b=
e=20
>>> easily done.
>>=20
>> It has been already done, but not really deployed in a large scale. An=
d=20
>> also it has not been standardized in the IETF, but neither has been e.=
g.=20
>> skype :)
>>=20
>
> i am not really following what comments you think there should be inclu=
ded=20
> about DHT?... could you send text so we can understand more precisely w=
hat=20
> you mean?

I believe I misunderstood the context term. In HIP and BTNS, the context=20
really is a pair of IPsec SPs and the associated SAs, not a "mapping" lik=
e=20
I described earlier. The mapping I was referring to means a HIT-to-IP=20
mapping for the host.

So, in section "6.1.  Initial Contact", please remove the last sentence=20
about HIP to avoid confusing things. Let's add a separate, new paragraph=20
after that:

---text begins

In HIP, resolving HITs to IP addresses using DNS is not feasible because=20
HITs do not contain any hierarchical information. To migitate this=20
problem, there are few alternatives. First, resolver library on end-host=20
can modified to communication HIT-to-IP mappings with HIP software module=
.=20
Second, a distibuted hash table (DHT) service can be used for storing and=
=20
looking up the the mappings because it supports non-hierarchical=20
identifiers, such as HITs [*]. Third, it is possible to use IP addresses=20
in legacy applications as described in [**].

[*] http://www.ietf.org/internet-drafts/draft-ietf-hip-arch-03.txt
[**] http://www.ietf.org/internet-drafts/draft-henderson-hip-applications=
-02.txt

---text ends

We should not really argue in the draft what approach is good and what is=
=20
bad, at least when it comes to HITs and DHT. Let's just list the=20
alternatives and give references, otherwise the discussion is just gettin=
g=20
into a sidetrack.

--=20
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/
---559023410-1804928587-1147768144=:9383
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api

---559023410-1804928587-1147768144=:9383--




From multimobsec-api-bounces@ietf.org Tue May 16 10:09:30 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fg0Es-0000Ef-A5; Tue, 16 May 2006 10:09:30 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fg0Eq-0000EZ-Ft
	for multimobsec-api@ietf.org; Tue, 16 May 2006 10:09:28 -0400
Received: from stsc1260-eth-s1-s1p1-vip.va.neustar.com ([156.154.16.129]
	helo=chiedprmail1.ietf.org)
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FfzFI-0005LL-KA
	for multimobsec-api@ietf.org; Tue, 16 May 2006 09:05:52 -0400
Received: from n2.nomadiclab.com ([193.234.219.2])
	by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1FfylN-0005M5-Nw
	for multimobsec-api@ietf.org; Tue, 16 May 2006 08:35:03 -0400
Received: from n2.nomadiclab.com (localhost [127.0.0.1])
	by n2.nomadiclab.com (Postfix) with ESMTP id B9877212C5D;
	Tue, 16 May 2006 15:34:55 +0300 (EEST)
Received: from outside.nomadiclab.com (d146.nomadiclab.com [193.234.218.146])
	by n2.nomadiclab.com (Postfix) with ESMTP id 8369F212C59;
	Tue, 16 May 2006 15:34:55 +0300 (EEST)
Received: from outside.nomadiclab.com (localhost [127.0.0.1])
	by outside.nomadiclab.com (Postfix) with ESMTP id 10BEFBDC40;
	Tue, 16 May 2006 15:34:55 +0300 (EEST)
Received: from [193.234.219.179] (w179.nomadiclab.com [193.234.219.179])
	by outside.nomadiclab.com (Postfix) with ESMTP id CAE9DBDC38;
	Tue, 16 May 2006 15:34:54 +0300 (EEST)
In-Reply-To: <Pine.SOL.4.64.0605161123120.9383@kekkonen.cs.hut.fi>
References: <Pine.SOL.4.64.0605121237570.18320@kekkonen.cs.hut.fi>
	<20060515122938.E3B4.SHINTA@sfc.wide.ad.jp>
	<Pine.SOL.4.64.0605152343270.23493@kekkonen.cs.hut.fi>
	<abacd1cc1d62be71675b042d702c1290@it.uc3m.es>
	<Pine.SOL.4.64.0605161123120.9383@kekkonen.cs.hut.fi>
Mime-Version: 1.0 (Apple Message framework v623)
Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed
Message-Id: <c05117fce05f49748c754f77b5c74c78@it.uc3m.es>
Content-Transfer-Encoding: quoted-printable
From: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] feedback from shim-api-00.txt
Date: Tue, 16 May 2006 15:34:54 +0300
To: Miika Komu <miika@iki.fi>
X-Mailer: Apple Mail (2.623)
X-Virus-Scanned: ClamAV using ClamSMTP
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: -2.6 (--)
X-Scan-Signature: 8f374d0786b25a451ef87d82c076f593
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org


El 16/05/2006, a las 14:14, Miika Komu escribi=F3:

> On Tue, 16 May 2006, marcelo bagnulo braun wrote:
>
>> El 16/05/2006, a las 0:01, Miika Komu escribi=F3:
>>
>>> On Mon, 15 May 2006, Shinta Sugimoto wrote:
>>>> Mm, I am not sure if I want to be so specific at the beginning of
>>>> the document.  Wouldn't it be fine just to say "Socket API" ?
>>> According to the literature, it is "sockets API" with an "s".
>>> Maybe you can say in intro that the draft is illustrated using C =20
>>> language. It is not a bad choice because the API bindings for other =20=

>>> languages are based on C anyway.
>>>> Ok, I will use 'event based'.  Does following sound better ?
>>>> <t>Notification from application to shim layer about outage.
>>>> Application should be able to inform shim layer about outage
>>>> in its communication.  Note that the notification is made
>>>> in event based manner.  The cause of outage could be for instance
>>>> a problem of network interface, congestions on the path and so on.
>>>> ICMP error messages delievered to the upper layer protocol is
>>>> normally clue for application to detect outgae.  REAP module
>>>> may be triggered by this indication to invoke procedure of
>>>> path exploration.</t>
>>> s/outgae/outage/. Again, it is undefined what kind of outage is in =20=

>>> question. Otherwise it is fine.
>>
>> i guess that it is any kind of outage that makes that an address pair =
=20
>> is no longer working. And an address pair is said to be working is =20=

>> packet containing the first address from the pair as source address =20=

>> and the second address from the pair as destiantion address can =20
>> safely travel from the source to the destiantion.
>
> Something like this should be also in the text.
>

ok

> (Maybe I am getting too detailed already now in the beginning)
>
>>>>>> However, this approach does not help the case where ID is not in =20=

>>>>>> form of
>>>>>> IP address (e.g.  HIT in HIP case).
>>>>> In HIP, a HIP enabled resolver can be used for setting up context =20=

>>>>> prior to
>>>>> the actual connection to HIT. Alternatively, DHTs support look-up =20=

>>>>> of
>>>>> non-hierarchical identifiers, such as HITs.
>>>> Yes.  But I think those (HIP enabled resolver and the DHT support) =20=

>>>> are
>>>> still in some HIP implementation or HIP experts' mind, aren't they =
?
>>>> (I may be wrong, correct me if so)
>>>> So I was not sure if we could give conclusive statements about
>>>> these problems.
>>> I don't understand. HIP enabled resolvers and DHT support are mostly =
=20
>>> supported by all of the three public implementations
>>
>> interesting.... which implementations are those?
>
> http://infrahip.hiit.fi/
> http://www.hip4inter.net/
> http://www.openhip.org/
>
> (I am not sure about the DHT support for Ericsson, you can ask =20
> Kristian for details)
>
>>>> As for me, I am not sure if DHT based name resolution service could =
=20
>>>> be easily done.
>>> It has been already done, but not really deployed in a large scale. =20=

>>> And also it has not been standardized in the IETF, but neither has =20=

>>> been e.g. skype :)
>>
>> i am not really following what comments you think there should be =20
>> included about DHT?... could you send text so we can understand more =20=

>> precisely what you mean?
>
> I believe I misunderstood the context term. In HIP and BTNS, the =20
> context really is a pair of IPsec SPs and the associated SAs, not a =20=

> "mapping" like I described earlier. The mapping I was referring to =20
> means a HIT-to-IP mapping for the host.
>
> So, in section "6.1.  Initial Contact", please remove the last =20
> sentence about HIP to avoid confusing things. Let's add a separate, =20=

> new paragraph after that:
>
> ---text begins
>
> In HIP, resolving HITs to IP addresses using DNS is not feasible =20
> because HITs do not contain any hierarchical information. To migitate =20=

> this problem, there are few alternatives. First, resolver library on =20=

> end-host can modified to communication HIT-to-IP mappings with HIP =20
> software module. Second, a distibuted hash table (DHT) service can be =20=

> used for storing and looking up the the mappings because it supports =20=

> non-hierarchical identifiers, such as HITs [*]. Third, it is possible =20=

> to use IP addresses in legacy applications as described in [**].
>
> [*] http://www.ietf.org/internet-drafts/draft-ietf-hip-arch-03.txt
> [**] =20
> http://www.ietf.org/internet-drafts/draft-henderson-hip-applications=20=

> -02.txt
>
> ---text ends
>
> We should not really argue in the draft what approach is good and what =
=20
> is bad, at least when it comes to HITs and DHT. Let's just list the =20=

> alternatives and give references, otherwise the discussion is just =20
> getting into a sidetrack.
>

agree

regards, marcelo


> --=20
> Miika Komu              miika@iki.fi          http://www.iki.fi/miika/=


_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Fri May 19 10:08:02 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fh5e6-00059P-4G; Fri, 19 May 2006 10:08:02 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fh5e4-00059H-JR
	for multimobsec-api@ietf.org; Fri, 19 May 2006 10:08:00 -0400
Received: from mail.sfc.wide.ad.jp ([203.178.142.146])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fh5cg-0001z6-Ih
	for multimobsec-api@ietf.org; Fri, 19 May 2006 10:08:00 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id 2A7BB4D8C3;
	Fri, 19 May 2006 23:06:15 +0900 (JST)
Date: Fri, 19 May 2006 17:06:12 +0300
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
References: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
Message-Id: <20060519165423.523B.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="------_446DCE0F596806D42DA8_MULTIPART_MIXED_"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.21.03 [ja]
X-Spam-Score: 0.2 (/)
X-Scan-Signature: b41175fd8534af8c36f856d81fa10819
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

--------_446DCE0F596806D42DA8_MULTIPART_MIXED_
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

Hi,

I've updated the API draft reflecting comments that I
receieved from Marcelo, Miika, and Jari.  I hope I haven't
missed anything important, but if there is any please
let me know.

Attached please find the draft (.txt) as well as diff (.html)
from the previous version.  I hope we could move on defining
the solution (concrete socket API extensions) from now.

I appreciate your comments.


Regards,
Shinta

On Fri, 05 May 2006 15:18:40 +0900
Shinta Sugimoto <shinta@sfc.wide.ad.jp> wrote:

> Hi Miika and all,
> 
> I am sorry for being late (at least a week later than planned...)
> but let me send you a draft which is a compilation of the requirements
> for API identified/discussed on the SHIM6/multimobsec-api/BTNS
> mailing list in the past.  Attached please find the document in
> {txt,html,xml} format.
> 
> At the moment, the draft only contains the requirements for common
> API for both SHIM6 and HIP, and some identified issues.  Most of the
> items were from Marcelo's email about API for SHIM [1].  I hope this
> is useful for identifying the requirements for API for (generic)
> multihomed environemtn which is based on ID/Locator separation.
> At the moment, as I failed to see relation to BTNS so no relation
> is mentioned.  But I am open to discussion.
> 
> After we discuss and agree on requirements, we can work on specific
> solutions.  Hope its useful and I appreciate your comments.  Especially
> I would like you to check Section 5 and see if anything is missing.
> Also, please feel free to modify the document.
> 
> [1] http://www.ops.ietf.org/lists/shim6/msg01191.html
> 
> 
> Regards,
> Shinta
> 



--------_446DCE0F596806D42DA8_MULTIPART_MIXED_
Content-Type: application/octet-stream;
	name="draft-manyfolks-multihome-shim-api-00.txt"
Content-Disposition: attachment;
	filename="draft-manyfolks-multihome-shim-api-00.txt"
Content-Transfer-Encoding: base64

DQoNCg0KTmV0d29yayBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFRCRC4gVEJEDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUQkQNCkV4cGlyZXM6IEF1Z3VzdCA1
LCAyMDA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0K
DQoNCiAgICAgICAgICAgICAgICAgICAgIFNvY2tldCBBUEkgZm9yIE11bHRpaG9tZWQgU2hpbQ0K
ICAgICAgICAgICAgICAgICBkcmFmdC1tYW55Zm9sa3MtbXVsdGlob21lLXNoaW0tYXBpLTAwDQoN
ClN0YXR1cyBvZiB0aGlzIE1lbW8NCg0KICAgQnkgc3VibWl0dGluZyB0aGlzIEludGVybmV0LURy
YWZ0LCBlYWNoIGF1dGhvciByZXByZXNlbnRzIHRoYXQgYW55DQogICBhcHBsaWNhYmxlIHBhdGVu
dCBvciBvdGhlciBJUFIgY2xhaW1zIG9mIHdoaWNoIGhlIG9yIHNoZSBpcyBhd2FyZQ0KICAgaGF2
ZSBiZWVuIG9yIHdpbGwgYmUgZGlzY2xvc2VkLCBhbmQgYW55IG9mIHdoaWNoIGhlIG9yIHNoZSBi
ZWNvbWVzDQogICBhd2FyZSB3aWxsIGJlIGRpc2Nsb3NlZCwgaW4gYWNjb3JkYW5jZSB3aXRoIFNl
Y3Rpb24gNiBvZiBCQ1AgNzkuDQoNCiAgIEludGVybmV0LURyYWZ0cyBhcmUgd29ya2luZyBkb2N1
bWVudHMgb2YgdGhlIEludGVybmV0IEVuZ2luZWVyaW5nDQogICBUYXNrIEZvcmNlIChJRVRGKSwg
aXRzIGFyZWFzLCBhbmQgaXRzIHdvcmtpbmcgZ3JvdXBzLiAgTm90ZSB0aGF0DQogICBvdGhlciBn
cm91cHMgbWF5IGFsc28gZGlzdHJpYnV0ZSB3b3JraW5nIGRvY3VtZW50cyBhcyBJbnRlcm5ldC0N
CiAgIERyYWZ0cy4NCg0KICAgSW50ZXJuZXQtRHJhZnRzIGFyZSBkcmFmdCBkb2N1bWVudHMgdmFs
aWQgZm9yIGEgbWF4aW11bSBvZiBzaXggbW9udGhzDQogICBhbmQgbWF5IGJlIHVwZGF0ZWQsIHJl
cGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0IGFueQ0KICAgdGltZS4g
IEl0IGlzIGluYXBwcm9wcmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyByZWZlcmVuY2UN
CiAgIG1hdGVyaWFsIG9yIHRvIGNpdGUgdGhlbSBvdGhlciB0aGFuIGFzICJ3b3JrIGluIHByb2dy
ZXNzLiINCg0KICAgVGhlIGxpc3Qgb2YgY3VycmVudCBJbnRlcm5ldC1EcmFmdHMgY2FuIGJlIGFj
Y2Vzc2VkIGF0DQogICBodHRwOi8vd3d3LmlldGYub3JnL2lldGYvMWlkLWFic3RyYWN0cy50eHQu
DQoNCiAgIFRoZSBsaXN0IG9mIEludGVybmV0LURyYWZ0IFNoYWRvdyBEaXJlY3RvcmllcyBjYW4g
YmUgYWNjZXNzZWQgYXQNCiAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvc2hhZG93Lmh0bWwuDQoNCiAg
IFRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBpcmUgb24gQXVndXN0IDUsIDIwMDYuDQoNCkNv
cHlyaWdodCBOb3RpY2UNCg0KICAgQ29weXJpZ2h0IChDKSBUaGUgSW50ZXJuZXQgU29jaWV0eSAo
MjAwNikuDQoNCkFic3RyYWN0DQoNCiAgIFRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIHNvY2tldCBB
UEkgZm9yIG11bHRpaG9tZWQgc2hpbSBsYXllci4gIFRoZQ0KICAgQVBJIGFpbXMgdG8gZW5hYmxl
IGludGVyYWN0aW9ucyBiZXR3ZWVuIGFwcGxpY2F0aW9uIGFuZCB0aGUgbXVsdGlob21lDQogICBz
aGltIGxheWVyIGZvciBhZHZhbmNlZCBsb2NhdG9yIG1hbmFnZW1lbnQgYW5kIGludGVyZmFjZSB0
byBhY2Nlc3MNCiAgIGVzc2VudGlhbCBpbmZvcm1hdGlvbiBhYm91dCBmYWlsdXJlIGRldGVjdGlv
biBhbmQgcGF0aCBleHBsb3JhdGlvbi4NCg0KICAgVGhpcyBkb2N1bWVudCBpcyBiYXNlZCBvbiBh
biBhc3N1bXB0aW9uIHRoYXQgYSBtdWx0aG9tZWQgaG9zdCBpcw0KICAgZXF1aXBwZWQgd2l0aCBh
ICdzaGltJyB3aGljaCBlc3NuZXRpYWxseSBtYWludGFpbnMgbWFwcGluZyBvZg0KICAgaWRlbnRp
ZmllciBhbmQgbG9jYXRvci4gIFNISU02IGFuZCBISVAgYXJlIGV4YW1wbGVzIG9mIHRoZSBzaGlt
Lg0KICAgSGVuY2UsIHRoZSBBUEkgY2FuIGJlIGNvbW1vbmx5IHVzZWQgYnkgU0hJTTYgYW5kIEhJ
UC4NCg0KDQoNClRCRCAgICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2
ICAgICAgICAgICAgICAgICBbUGFnZSAxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAg
TXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KVGFibGUg
b2YgQ29udGVudHMNCg0KICAgMS4gIEludHJvZHVjdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzDQogICAyLiAgVGFyZ2V0IC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQNCiAgIDMuICBU
ZXJtaW5vbG9neSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgNQ0KICAgNC4gIFN5c3RlbSBPdmVydmlldyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuICA3DQogICA1LiAgUmVxdWlyZW1lbnRzIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDgNCiAgIDYuICBJc3N1ZXMg
b2YgSGFuZGxpbmcgTXVsdGlwbGUgTG9jYXRvcnMgd2l0aCBzaGltIHVuYXdhcmUNCiAgICAgICBh
cHBsaWNhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAxMA0KICAgICA2LjEuICBJbml0aWFsIENvbnRhY3QgIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEwDQogICAgIDYuMi4gIE5hbWluZyBhdCBTb2NrZXQgTGF5
ZXIgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTENCiAgIDcuICBJc3N1ZXMg
b2YgSGFuZGxpbmcgTXVsdGlwbGUgTG9jYXRvcnMgd2l0aCBzaGltIGF3YXJlDQogICAgICAgYXBw
bGljYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gMTINCiAgIDguICBGdXJ0aGVyIElzc3VlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAxMw0KICAgICA4LjEuICBBZGRpdGlvbmFsIFJlcXVpcmVtZW50
cyBmcm9tIEFwcGxpY2F0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIDEzDQogICA5LiAgSUFOQSBDb25z
aWRlcmF0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTQN
CiAgIDEwLiBTZWN1cml0eSBDb25zaWRlcmF0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAxNQ0KICAgMTEuIENvbmNsdXNpb24gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE2DQogICAxMi4gQWNrbm93bGVkZ21lbnRz
ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTcNCiAgIDEz
LiBOb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAxNw0KICAgQXV0aG9yJ3MgQWRkcmVzcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE4DQogICBJbnRlbGxlY3R1YWwgUHJvcGVydHkgYW5k
IENvcHlyaWdodCBTdGF0ZW1lbnRzIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTkNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAg
ICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICAgW1Bh
Z2UgMl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkg
ICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjEuICBJbnRyb2R1Y3Rpb24NCg0KICAgVGhp
cyBkb2N1bWVudCBzcGVjaWZpZXMgc29ja2V0IEFQSSBmb3IgbXVsdGlob21lZCBzaGltIGxheWVy
LiAgVGhlDQogICBBUEkgYWltcyB0byBlbmFibGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gYXBwbGlj
YXRpb24gYW5kIHRoZSBtdWx0aWhvbWUNCiAgIHNoaW0gbGF5ZXIgZm9yIGFkdmFuY2VkIGxvY2F0
b3IgbWFuYWdlbWVudCBhbmQgaW50ZXJmYWNlIHRvIGFjY2Vzcw0KICAgZXNzZW50aWFsIGluZm9y
bWF0aW9uIGFib3V0IGZhaWx1cmUgZGV0ZWN0aW9uIGFuZCBwYXRoIGV4cGxvcmF0aW9uLg0KDQog
ICBUaGlzIGRvY3VtZW50IGlzIGJhc2VkIG9uIGFuIGFzc3VtcHRpb24gdGhhdCBhIG11bHRob21l
ZCBob3N0IGlzDQogICBlcXVpcHBlZCB3aXRoIGEgJ3NoaW0nIHdoaWNoIGVzc2VudGlhbGx5IG1h
aW50YWlucyBtYXBwaW5nIG9mDQogICBpZGVudGlmaWVyIGFuZCBsb2NhdG9yLiAgU0hJTTYgYW5k
IEhJUCBhcmUgZXhhbXBsZXMgb2YgdGhlIHNoaW0uDQogICBIZW5jZSwgdGhlIEFQSSBjYW4gYmUg
Y29tbW9ubHkgdXNlZCBieSBTSElNNiBhbmQgSElQLg0KDQogICBJbiB0aGlzIGRvY3VtZW50LCBu
b3RhdGlvbiBvZiBBUEkgaXMgcHJlc2VudGVkIGluIEMgbGFuZ3VhZ2UuDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KVEJEICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAg
ICAgICAgICAgICAgIFtQYWdlIDNdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0
aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQoyLiAgVGFyZ2V0
DQoNCiAgIEV4cGVjdGVkIHJlYWRlcnMgb2YgdGhpcyBkb2N1bWVudCBhcmU6IGFwcGxpY2F0aW9u
IHByb2dyYW1tZXIgd2hvDQogICBkZXZlbG9wcyBhcHBsaWNhdGlvbiBzb2Z0d2FyZSB3aGljaCBt
YXkgcnVuIG9uIHRvcCBvZiBtdWx0aWhvbWVkDQogICBlbnZpcm9ubWVudC4gIEluIHBhcnRpY3Vs
YXIsIHRoZSBBUEkgc2hvdWxkIGJlIGJlbmVmaWNpYWwgZm9yDQogICBhcHBsaWNhdGlvbiBkZXZl
bG9wbWVudCBvZiB0aGUgc29mdHdhcmUgd2hpY2ggdGFrZXMgYWR2YW50YWdlIG9mDQogICBtdWx0
aWhvbWVkIGVudmlyb25tZW50IGFpbWluZyB0byBhY2hpZXZlIGJldHRlciBmYWlsb3Zlci4NCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhw
aXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICAgW1BhZ2UgNF0NCgwNCkludGVybmV0
LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVh
cnkgMjAwNg0KDQoNCjMuICBUZXJtaW5vbG9neQ0KDQogICBUaGlzIGRvY3VtZW50IGRvZXMgbm90
IGludGVuZCB0byBnaXZlIG5ldyBkZWZpbml0aW9ucyBmb3IgdGVjaG5pY2FsDQogICB0ZXJtcyB0
aGF0IGFyZSByZWxldmFudCB0byBtdWx0aWhvbWVkIGVudmlyb25tZW50IGJ1dCB0cmllcyB0bw0K
ICAgaW5oZXJpdCBkZWZpbml0aW9ucyBwcm92aWRlZCBpbiB0aGUgZXhpc3RpbmcgZG9jdW1lbnRz
IGFzIGxpc3RlZA0KICAgYmVsb3c6DQoNCiAgIG8gIFNISU02IFByb3RvY29sIFNwZWNpZmljYXRp
b25bSS1ELmlldGYtc2hpbTYtcHJvdG9dDQoNCiAgIG8gIEhJUCBBcmNoaXRlY3R1cmVbSS1ELmll
dGYtaGlwLWFyY2hdDQoNCiAgIG8gIFJlYWNoYWJpbGl0eSBQcm90b2NvbCAoUkVBUClbSS1ELmll
dGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb25dDQoNCiAgIEZvciBjbGFyaWZpY2F0aW9uLCB3ZSBw
cm92aWRlIGRlZmluaXRpb24gZm9yIHRoZSB0ZXJtcyB0aGF0IGFyZQ0KICAgZnJlcXVlbnRseSB1
c2VkIGluIHRoaXMgZG9jdW1lbnQ6DQoNCiAgIG8gIEVuZHBvaW50IElkZW50aWZpZXIgKEVJRCkg
LSBBbiBpZGVudGlmaWVyIHVzZWQgYnkgdGhlIGFwcGxpY2F0aW9uDQogICAgICB0byBzcGVjaWZ5
IGFuIGVuZHBvaW50IG9mIHRoZSBjb21tdW5pY2F0aW9uLiAgQXMgYWRkcmVzc2VkIGluDQogICAg
ICBbSS1ELmlldGYtc2hpbTYtYXBwLXJlZmVyXSwgYXBwbGljYXRpb24gbWF5IGhhbmRsZSBFSUQg
aW4gdmFyaW91cw0KICAgICAgd2F5cyBpbiBkaWZmZXJlbnQgdHlwZXMgb2YgY29tbXVuaWNhdGlv
biBtb2RlbHMgc3VjaCBhcyBsb25nLWxpdmVkDQogICAgICBjb25uZWN0aW9uLCBjYWxsYmFjaywg
YW5kIHJlZmVycmFsLg0KDQogICAgICAqICBJbiBjYXNlIG9mIFNISU02LCB0aGUgRUlEIGlzIGNh
bGxlZCBVTElELiAgVUxJRCBpcyBjaG9zZW4gZnJvbQ0KICAgICAgICAgb25lIG9mIGF2YWlsYWJs
ZSBsb2NhdG9ycyBvbiB0aGUgaG9zdC4NCg0KICAgICAgKiAgSW4gY2FzZSBvZiBISVAsIHRoZSBF
SUQgaXMgZXNzZW50aWFsbHkgYSBwdWJsaWMga2V5IG9mIHRoZQ0KICAgICAgICAgaG9zdC4gIElu
IG9yZGVyIHRvIHByZXNlcnZlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb2YgbGVnYWN5DQogICAg
ICAgICBhcHBsaWNhdGlvbiwgaGFzaCBvZiBwdWJsaWMga2V5IGNhbGxlZCBIb3N0IElkZW50aXR5
IFRhZyAoSElUKQ0KICAgICAgICAgaXMgdXNlZCBieSBhcHBsaWNhdGlvbiBhcyBhIGhhbmRsZXIg
b2YgRUlELg0KDQogICBvICBMb2NhdG9yIC0gSVAgYWRkcmVzcyBhY3R1YWxseSB1c2VkIHRvIGRl
bGl2ZXIgdGhlIElQIHBhY2tldC4NCiAgICAgIExvY2F0b3Igc2hvdWxkIGJlIHByZXNlbnQgaW4g
dGhlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gZmllbGQgb2YNCiAgICAgIElQIGhlYWRlciBvZiBh
IHBhY2tldCB0aGF0IGFwcGVhcnMgb24gd2lyZS4gIE5vcm1hbGx5LCBsb2NhdG9yIGlzDQogICAg
ICBhc3NpZ25lZCB0byB0aGUgbmV0d29yayBpbnRlcmZhY2Ugb2YgdGhlIGhvc3QuICBBbmQgdGhl
IElQIHBhY2tldA0KICAgICAgZGVzdGluZWQgdG8gZ2l2ZW4gbG9jYXRvciBpcyBkZWxpdmVyZWQg
dG8gdGhlIG5ldHdvcmsgaW50ZXJmYWNlIGJ5DQogICAgICB0aGUgcm91dGluZyBzeXN0ZW0uDQoN
CiAgIG8gIFNoaW0gLSBBIGNvbmNlcHR1YWwgbGF5ZXIgaW5zaWRlIHRoZSBJUCBMYXllciB3aGlj
aCBtYWludGFpbnMNCiAgICAgIG1hcHBpbmdzIG9mIEVJRCBhbmQgbG9jYXRvci4gIEFuIEVJRCBj
YW4gYmUgYXNzb2NpYXRlZCB3aXRoIG1vcmUNCiAgICAgIHRoYW4gb25lIGxvY2F0b3JzIGF0IGEg
dGltZSB3aGVuIHRoZSBob3N0IGlzIG11bHRpaG9tZWQuICBGcm9tDQogICAgICBuZXR3b3JrIGFy
Y2hpdGVjdHVyZSBwZXJzcGVjdGl2ZSwgc2hpbSBzaG91bGQgYmUgZXZlbiBvciBsb3dlcg0KICAg
ICAgdGhhbiB0aGUgSVBzZWMgbGF5ZXIuICBJdCBzaG91bGQgYmUgbm90ZWQgdGhhdCB0aGUgdGVy
bSAnc2hpbScNCiAgICAgIGRvZXMgbm90IHJlZmVyIHRvIHNwZWNpZmljIHByb3RvY29sIGJ1dCBy
ZWZlcnMgdG8gYSBnZW5lcmljDQogICAgICBjb25jZXB0IG9mIGEgbGF5ZXIgdGhhdCBlbmFibGVz
IHNlcGFyYXRpb24gb2YgaWRlbnRpZmllciBhbmQNCiAgICAgIGxvY2F0b3IuICBTSElNNiBhbmQg
SElQIGFyZSBleGFtcGxlcyBvZiB0aGUgc2hpbS4NCg0KICAgbyAgQ29udGV4dCAtIEEgc3RhdGUg
aW5mb3JtYXRpb24gdG8gYmUgc2hhcmVkIGJ5IHRoZSBwZWVycywgd2hpY2gNCiAgICAgIGVzc2Vu
dGlhbGx5IHN0b3JlcyBhIGJpbmRpbmcgb2YgRUlEIGFuZCBhc3NvY2lhdGVkIGxvY2F0b3JzLiAg
VGhlDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAw
NiAgICAgICAgICAgICAgICAgW1BhZ2UgNV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
IE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCiAgICAg
IGNvbnRleHQgaXMgbWFpbnRhaW5lZCBpbnNpZGUgdGhlIGhvc3QgYXQgdGhlIHNoaW0gbGF5ZXIu
DQoNCiAgIG8gIExpc3Qgb2YgTG9jYXRvcnMgLSBBIGxpc3Qgb2YgYXZhaWxhYmxlIGxvY2F0b3Jz
IG9uIHRoZSBob3N0LiAgVGhlDQogICAgICBsaXN0IHNob3VsZCBiZSBzdG9yZWQgaW4gYSBjb250
ZXh0LCB3aGljaCB0ZWxscyBhbGwgYXZhaWxhYmxlDQogICAgICBsb2NhdG9ycyBmb3IgdGhlIGNv
bW11bmljYXRpb24gYmFzZWQgb24gRUlEIHBhaXIuICBBcyBkZWZpbmVkIGluDQogICAgICBbSS1E
LmlldGYtc2hpbTYtcHJvdG9dLCBsaXN0IG9mIGxvY2F0b3JzIG9mIGEgaG9zdCB3aG9zZSBFSUQg
aXMNCiAgICAgICdBJyBjYW4gYmUgZGVub3RlZCBhcyBMcyhBKS4NCg0KICAgbyAgUHJlZmVycmVk
IExvY2F0b3IgLSBUaGUgKHNvdXJjZS9kZXN0aW5hdGlvbikgbG9jYXRvciBjdXJyZW50bHkNCiAg
ICAgIHVzZWQgdG8gc2VuZCBwYWNrZXRzLiAgQXMgZGVmaW5lZCBpbiBbSS1ELmlldGYtc2hpbTYt
cHJvdG9dLA0KICAgICAgcHJlZmVycmVkIGxvY2F0b3Igb2YgYSBob3N0IHdob3NlIEVJRCBpcyAn
QScgY2FuIGJlIGRlbm90ZWQgYXMNCiAgICAgIExwKEEpLg0KDQogICBvICBSZWFjaGFiaWxpdHkg
RGV0ZWN0aW9uIC0gQSBwcm9jZWR1cmUgdG8gZGV0ZWN0IHJlYWNoYWJpbGl0eQ0KICAgICAgYmV0
d2VlbiBnaXZlbiBsb2NhdG9yIHBhaXIuDQoNCiAgIG8gIFBhdGggLSBBIHNlcXVlbmNlIG9mIHJv
dXRlcnMgdGhhdCBhbiBJUCBwYWNrZXQgZ29lcyB0aHJvdWdoIHRvDQogICAgICByZWFjaCB0aGUg
ZGVzdGluYXRpb24uDQoNCiAgIG8gIFBhdGggRXhwbG9yYXRpb24gLSBBIHByb2NlZHVyZSB0byBl
eHBsb3JlIGF2YWlsYWJsZSBwYXRoIGZvciBnaXZlbg0KICAgICAgbG9jYXRvciBwYWlycy4NCg0K
ICAgbyAgT3V0YWdlIC0gQW4gaW5jaWRlbnQgbWVhbmluZyB0aGF0IHRoZSByZWFjaGFiaWxpdHkg
YW1vbmcgZ2l2ZW4NCiAgICAgIGxvY2F0b3IgcGFpciBpcyBsb3N0LiAgVGhlIG91dGFnZSBjb3Vs
ZCBiZSBjYXVzZWQgYnkgYW55IGtpbmRzIG9mDQogICAgICBwcm9ibGVtcyBpbnNpZGUgdGhlIHJv
dXRpbmcgaW5mcmFzdHJ1Y3R1cmUgYW5kIHByb2JsZW1zIG9mIG5ldHdvcmsNCiAgICAgIGludGVy
ZmFjZSBvZiB0aGUgZW5kIGhvc3RzLg0KDQogICBvICBXb3JraW5nIEFkZHJlc3MgUGFpciAtIEFu
IGFkZHJlc3MgcGFpciBpcyBzYWlkIHRvIGJlIHdvcmtpbmcgaWYNCiAgICAgIHRoZSBwYWNrZXQg
Y29udGFpbmluZyB0aGUgZmlyc3QgYWRkcmVzcyBmcm9tIHRoZSBwYWlyIGFzIHNvdXJjZQ0KICAg
ICAgYWRkcmVzcyBhbmQgdGhlIHNlY29uZCBhZGRyZXNzIGZyb20gdGhlIHBhaXIgYXMgZGVzdGlu
YXRpb24NCiAgICAgIGFkZHJlc3MgY2FuIHNhZmVseSB0cmF2ZWwgZnJvbSB0aGUgc291cmNlIHRv
IHRoZSBkZXN0aW5hdGlvbiwgYW5kDQogICAgICB2aWNlIHZlcnNhLiAgSWYgdGhlIHJlYWNoYWJp
bGl0eSBpcyBjb25maXJtZWQgaW4gYm90aCBkaXJlY3Rpb25zLA0KICAgICAgdGhlIGFkZHJlc3Mg
cGFpcnMgaXMgc2FpZCB0byBiZSBiaS1kaXJlY3Rpb25hbC4gIE90aGVyd2lzZSwgaXQncw0KICAg
ICAgdW5pZGlyZWN0aW9uYWwuDQoNCiAgIG8gIFJFQVAgLSBBIHByb3RvY29sIGZvciBkZXRlY3Rp
bmcgZmFpbHVyZSBhbmQgZXhwbG9yaW5nIHJlYWNoYWJpbGl0eQ0KICAgICAgaW4gbXVsdGlob21l
ZCBlbnZpcm9ubWVudC4gIFJFQVAgaXMgZGVmaW5lZCBpbltJLUQuaWV0Zi1zaGltNi0NCiAgICAg
IGZhaWx1cmUtZGV0ZWN0aW9uXS4NCg0KICAgbyAgRW5kcG9pbnQgRGVzY3JpcHRvciAoRUQpIC0g
VGhlIHJlcHJlc2VudGF0aW9uIG9mIGVuZHBvaW50cyBpcw0KICAgICAgaGlkZGVuIGZyb20gdGhl
IGFwcGxpY2F0aW9ucy4gIEVEIGlzIGEgImhhbmRsZSIgb3IgInBvaW50ZXIiIHRvDQogICAgICB0
aGUgYWN0dWFsIEVJRC4gIEEgZ2l2ZW4gRUQgc2VydmVzIGFzIGEgQUlEIFtJLUQubm9yZG1hcmst
bXVsdGk2LQ0KICAgICAgbm9pZF0uDQoNCg0KDQoNCg0KDQoNCg0KVEJEICAgICAgICAgICAgICAg
ICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgIFtQYWdlIDZdDQoM
DQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAg
ICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQo0LiAgU3lzdGVtIE92ZXJ2aWV3DQoNCg0KICAgICAgICAg
ICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAgICAgQXBwbGljYXRpb24gICAgICB8DQogICAgICAgICAgICAgICAgICAg
ICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXiAgICAgICAgICAgICAgICAgXg0KICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fH5Tb2Nr
ZXQgSW50ZXJmYWNlfH5+fn5+fn5+fn5+fn5+DQogICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgICAgICAgICAgICAgICB2DQogICAgICAgICAgICAgICArLS0tLS0tLS0tLS18LS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgfCAgICAgICAgICAgfCAgVHJh
bnNwb3J0IExheWVyICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAgICstLS0tLS0tLS0tLXwt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICAgICAgICAgICBeICAg
ICB8DQogICAgICAgKy0tLS0tLS0tLS0tLS18LS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSsNCiAgICAgICB8ICAgICAgICAgICAgIHYgICAgIHYgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgICAgIHwgICArLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0rICAgICAgICstLS0tLS0tLS0tKyAgICB8ICBJUA0KICAgICAgIHwgICB8ICAg
ICAgICAgICAgU2hpbSAgICAgICAgICAgICB8PC0tLS0tPnwgICBSRUFQICAgfCAgICB8IExheWVy
DQogICAgICAgfCAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgICAgKy0tLS0t
LS0tLS0rICAgIHwNCiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBeICAgICAgICAgICAg
ICAgICAgICAgIF4gICAgICAgICAgfA0KICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0rDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdiAgICAgICAgICAgICAgICAgICAgICB2DQogICAgICAgICAgICAgICArLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAgICAgfCAg
ICAgICAgICAgICAgICBMaW5rIExheWVyICAgICAgICAgICAgICAgIHwNCiAgICAgICAgICAgICAg
ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQoNCg0KICAgRmln
dXJlIDE6IFN5c3RlbSBPdmVydmlldw0KDQogICBGaWd1cmUgMSBpbGx1c3RyYXRlcyB0aGUgc3lz
dGVtIG92ZXJ2aWV3LiAgVGhlIGFwcGxpY2F0aW9uIGNhbiB0YWtlDQogICBhZHZhbnRhZ2Ugb2Yg
dGhlIHNvY2tldCBBUEkgdG8gaW50ZXJhY3Qgd2l0aCBzaGltIGxheWVyIGFuZCB0cmFuc3BvcnQN
CiAgIGxheWVyIGZvciBiZXR0ZXIgY29udHJvbCBvZiBsb2NhdG9yIG1hbmFnZW1lbnQgYW5kIGZh
aWx1cmUgZGV0ZWN0aW9uDQogICBhbmQgcGF0aCBleHBsb3JhdGlvbi4NCg0KICAgSW5zaWRlIHRo
ZSBJUCBsYXllciwgdGhlcmUgaXMgYSBzaGltIHdoaWNoIGNsb3NlbHkgaW50ZXJhY3RzIHdpdGgN
CiAgIFJFQVAgY29tcG9uZW50LiAgVGhlcmUgY291bGQgYmUgaW50ZXJhY3Rpb24gYmV0d2VlbiB0
aGUgc2hpbSBhbmQNCiAgIHRyYW5zcG9ydCBsYXllciwgaG93ZXZlciB0aGUgaW50ZXJhY3Rpb24g
aXMgb3V0c2lkZSBvZiBzY29wZSBvZiB0aGlzDQogICBkb2N1bWVudC4NCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwg
MjAwNiAgICAgICAgICAgICAgICAgW1BhZ2UgN10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAg
ICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjUu
ICBSZXF1aXJlbWVudHMNCg0KICAgRm9sbG93aW5nIGlzIGEgbGlzdCBvZiByZXF1aXJlbWVudHMg
ZnJvbSB0aGUgYXBwbGljYXRpb24gcGVyc3BlY3RpdmUuDQogICBUaGVzZSByZXF1aXJlbWVudHMg
YXJlIG1haW5seSBpZGVudGlmaWVkIGR1cmluZyB0aGUgZGlzY3Vzc2lvbnMgb24NCiAgIFNISU02
IFdHIG1haWxpbmcgbGlzdC4gIFNvbWUgcmVxdWlyZW1lbnRzIGFyZSBkZXJpdmVkIGZyb20NCiAg
IFJlYWNoYWJpbGl0eSBQcm90b2NvbCBkb2N1bWVudFtJLUQuaWV0Zi1zaGltNi1mYWlsdXJlLWRl
dGVjdGlvbl0uDQoNCiAgIG8gIExvY2F0b3IgbWFuYWdlbWVudC4gIExvY2F0b3IgbWFuYWdlbWVu
dCBpcyByb2xlIG9mIHNoaW0gbGF5ZXIgdG8NCiAgICAgIHNlbGVjdCBhIHBhaXIgb2YgbG9jYXRv
cnMgZm9yIHNlbmRpbmcgSVAgcGFja2V0cyB3aXRoaW4gZ2l2ZW4NCiAgICAgIGNvbnRleHQuICBU
aGUgc2VsZWN0aW9uIGlzIG1hZGUgYnkgdGFraW5nIG1pc2NlbGxhbmVvdXMgY29uZGl0aW9ucw0K
ICAgICAgaW50byBhY2NvdW50IHN1Y2ggYXMgcmVhY2hhYmlsaXR5IG9mIHBhdGgsIGFwcGxpY2F0
aW9uJ3MNCiAgICAgIHByZWZlcmVuY2UsIGFuZCBjaGFyYWN0ZXJpc3RpY3Mgb2YgcGF0aC4gIEZy
b20gYXBwbGljYXRpb24ncw0KICAgICAgcGVyc3BlY3RpdmU6DQoNCiAgICAgICogIEl0IHNob3Vs
ZCBiZSBwb3NzaWJsZSB0byBvYnRhaW4gbGlzdCBvZiBsb2NhdG9ycyBvZiB0aGUgaG9zdA0KICAg
ICAgICAgd2l0aGluIGEgZ2l2ZW4gY29udGV4dC4gIExzKGxvY2FsKSBhbmQgTHMocmVtb3RlKS4N
Cg0KICAgICAgKiAgSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIG9idGFpbiBwcmVmZXJyZWQgbG9j
YXRvciBvZiB0aGUgbm9kZQ0KICAgICAgICAgd2l0aGluIGEgZ2l2ZW4gY29udGV4dC4gIExwKGxv
Y2FsKSBhbmQgTHAocmVtb3RlKS4NCg0KICAgbyAgTm90aWZpY2F0aW9uIGZyb20gYXBwbGljYXRp
b24gdG8gc2hpbSBsYXllciBhYm91dCB0aGUgc3RhdHVzIG9mDQogICAgICBjb21tdW5pY2F0aW9u
LiAgTm90ZSB0aGF0IHRoZSBub3RpZmljYXRpb24gaXMgbWFkZSBpbiBldmVudCBiYXNlZA0KICAg
ICAgbWFubmVyLiAgVGhlcmUgYXJlIG1haW5seSB0d28gYXNwZWN0cyBvZiB0aGUgZmVlZGJhY2sg
dGhhdA0KICAgICAgYXBwbGljYXRpb24gb3IgdXBwZXIgbGF5ZXIgcHJvdG9jb2wgbWF5IHByb3Zp
ZGUgZm9yIHNoaW0gbGF5ZXIsDQogICAgICBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgZmVlZGJhY2tz
IFtOT1RFOiBUaGVzZSBmZWVkYmFja3MgYXJlDQogICAgICBhZGRyZXNzZWQgaW4gc2VjdG9pbiA0
LjMgYW5kIHNlY3Rpb24gNS4yIG9mIFJFQVAgc3BlY2lmaWNhdGlvbl06DQoNCiAgICAgICogIFBv
c2l0aXZlIGZlZWRiYWNrIGNvdWxkIGJlIGdpdmVuIGJ5IGFwcGxpY2F0aW9uIG9yIHVwcGVyIGxh
eWVyDQogICAgICAgICBwcm90b2NvbCAoZS5nLiAgVENQKSB0byB0aGUgc2hpbSBsYXllciBpbmZv
cm1pbmcgdGhhdCBpdHMNCiAgICAgICAgIGNvbW11bmljYXRpb24gaXMgZ29pbmcgd2VsbC4NCg0K
ICAgICAgKiAgTmVnYXRpdmUgZmVlZGJhY2sgY291bGQgYmUgZ2l2ZW4gYnkgYXBwbGljYXRpb24g
b3IgdXBwZXIgbGF5ZXINCiAgICAgICAgIHByb3RvY29sIChlLmcuICBUQ1ApIHRvIHRoZSBzaGlt
IGxheWVyIGluZm9ybWluZyB0aGF0IGl0cw0KICAgICAgICAgY29tbXVuaWNhdGlvbiBzdGF0dXMg
aXMgbm90IHNhdGlzZmFjdG9yeS4gIFRDUCBjb3VsZCBkZXRlY3QgYQ0KICAgICAgICAgcHJvYmxl
bSB3aGVuIGl0IGRvZXMgbm90IHJlY2VpdmVzIGV4cGVjdGVkIEFDSyBmcm9tIHRoZSBwZWVyLg0K
ICAgICAgICAgSUNNUCBlcnJvciBtZXNzYWdlcyBkZWxpdmVyZWQgdG8gdGhlIHVwcGVyIGxheWVy
IHByb3RvY29sIGNvdWxkDQogICAgICAgICBiZSBhIGNsdWUgZm9yIGFwcGxpY2F0aW9uIHRvIGRl
dGVjdCBhbnkga2luZCBvZiBwcm9ibGVtLiAgUkVBUA0KICAgICAgICAgbW9kdWxlIG1heSBiZSB0
cmlnZ2VyZWQgYnkgdGhlc2UgbmVnYXRpdmUgZmVlZGJhY2tzIGFuZCBpbnZva2UNCiAgICAgICAg
IHByb2NlZHVyZSBvZiBwYXRoIGV4cGxvcmF0aW9uLg0KDQogICBvICBGZWVkYmFjayBmcm9tIGFw
cGxpY2F0aW9uIHRvIHNoaW0gbGF5ZXIuICBUaGUgYXBwbGljYXRpb24gc2hvdWxkDQogICAgICBi
ZSBhYmxlIHRvIGluZm9ybSB0aGUgc2hpbSBsYXllciBhYm91dCB0aGUgdGltZW91dCB2YWx1ZXMg
Zm9yDQogICAgICBkZXRlY3RpbmcgZmFpbHVyZSwgZm9yIHNlbmRpbmcga2VlcGFsaXZlcywgZm9y
IHN0YXJ0aW5nIHRoZQ0KICAgICAgZXhwbG9yYXRpb24gcHJvY2VkdXJlLiAgSW4gcGFydGljdWxh
ciwgdGhlIGFwcGxpY2F0aW9uIHNob3VsZCBiZQ0KICAgICAgYWJsZSB0byBzdXBwcmVzcyB0aGUg
a2VlcGFsaXZlcy4NCg0KICAgbyAgSG90LXN0YW5kYnkuICBBcHBsaWNhdGlvbiBtYXkgcmVxdWVz
dCBzaGltIGxheWVyIGlmIGhvdC1zdGFuZGJ5DQogICAgICBjb25uZWN0aW9uIGlzIG5lZWRlZC4g
IEluIHRoaXMgY2FzZSwgYWx0ZXJuYXRpdmUgcGF0aHMgYXJlIGtub3duDQoNCg0KDQpUQkQgICAg
ICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICAg
W1BhZ2UgOF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBB
UEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCiAgICAgIHRvIGJlIHdvcmtpbmcuICBI
ZW5jZSBpdCBpcyBwb3NzaWJsZSBmb3IgdGhlIGhvc3QgdG8gaW1tZWRpYXRlbHkNCiAgICAgIHJl
cGxhY2UgdGhlIGN1cnJlbnQgbG9jYXRvciBwYWlyIHdpdGggdGhlIGFsdGVybmF0aXZlIGxvY2F0
b3INCiAgICAgIHBhaXIuICBIb3Qtc3RhbmRieSBtYXkgYWxsb3cgYXBwbGljYXRpb24gdG8gYWNo
aWV2ZSBiZXR0ZXINCiAgICAgIGZhaWxvdmVyLg0KDQogICBvICBFYWdlcm5lc3Mgb2YgbG9jYXRv
ciBleHBsb3JhdGlvbi4gIEFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvDQogICAgICBzcGVj
aWZ5IHNoaW0gbGF5ZXIgaG93IGFnZ3Jlc3NpdmUgaXQgd2FudHMgdG8gc2VhcmNoIGFsdGVybmF0
aXZlDQogICAgICBwYXRoIChlLmcuIHNwZWNpZnlpbmcgdGhlIG51bWJlciBvZiBjb25jdXJyZW50
IGF0dGVtcHRzIG9mDQogICAgICBkaXNjb3ZlcmluZyB3b3JraW5nIGxvY2F0b3IgcGFpcikgd2hl
biBhbiBvdXRhZ2Ugb2NjdXJzIG9uIHRoZQ0KICAgICAgcGF0aCBiZXR3ZWVuIHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgbG9jYXRvciBwYWlyLg0KDQogICBvICBQcm92aWRpbmcgbG9jYXRvciBpbmZv
cm1hdGlvbiB0byBhcHBsaWNhdGlvbi4gIEFwcGxpY2F0aW9uIHNob3VsZA0KICAgICAgYmUgYWJs
ZSB0byBvYnRhaW4gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxvY2F0b3IgcGFpciB3aGljaCB3YXMN
CiAgICAgIGFjdHVhbGx5IHVzZWQgdG8gc2VuZCBvciByZWNlaXZlIHRoZSBwYWNrZXQuDQoNCiAg
ICAgICogIEZvciBpbmJvdW5kIHRyYWZmaWMsIGFwcGxpY2F0aW9uIG1heSBiZSBpbnRlcmVzdGVk
IGluIHRoZQ0KICAgICAgICAgbG9jYXRvciBwYWlyIHdoaWNoIHdhcyBhY3R1YWxseSB1c2VkIHRv
IHJlY2VpdmUgdGhlIHBhY2tldC4NCg0KICAgICAgKiAgRm9yIG91dGJvdW5kIHRyYWZmaWMsIGFw
cGxpY2F0aW9uIG1heSBiZSBpbnRlcmVzdGVkIGluIHRoZQ0KICAgICAgICAgbG9jYXRvciBwYWly
IHdoaWNoIHdhcyBhY3R1YWxseSB1c2VkIHRvIHRyYW5zbWl0IHRoZSBwYWNrZXQuDQoNCiAgICAg
IEluIHRoaXMgd2F5LCBhcHBsaWNhdGlvbiBtYXkgaGF2ZSBhZGRpdGlvbmFsIGNvbnRyb2wgb24g
bG9jYXRvcg0KICAgICAgbWFuYWdlbWVudC4gIEZvciBleGFtcGxlLCBhcHBsaWNhdGlvbiBjYW4g
dmVyaWZ5IGlmIGl0cyBwcmVmZXJlbmNlDQogICAgICBvZiBsb2NhdG9yIGlzIGFjdHVhbGx5IGFw
cGxpZWQgdG8gdGhlIGZsb3cgb3Igbm90Lg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KVEJEICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg
QXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgIFtQYWdlIDldDQoMDQpJbnRlcm5ldC1EcmFm
dCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIw
MDYNCg0KDQo2LiAgSXNzdWVzIG9mIEhhbmRsaW5nIE11bHRpcGxlIExvY2F0b3JzIHdpdGggc2hp
bSB1bmF3YXJlIGFwcGxpY2F0aW9ucw0KDQogICBJbiBtdWx0aWhvbWVkIGVudmlyb25tZW50IHdo
ZXJlIGVpdGhlciBvciBib3RoIG9mIHRoZSBwZWVycyBoYXZlDQogICBtdWx0aXBsZSBsb2NhdG9y
cywgdGhlcmUgYXJlIHNvbWUgaXNzdWVzIHdpdGggbGVnYWN5IHNvY2tldCBBUEkuDQoNCjYuMS4g
IEluaXRpYWwgQ29udGFjdA0KDQogICBXaGVuIGFwcGxpY2F0aW9uIGlzIGdvaW5nIHRvIGVzdGFi
bGlzaCBjb21tdW5pY2F0aW9uIHdpdGggaXRzIHBlZXINCiAgIHdobyBoYXBwZW5zIHRvIGhhdmUg
bXVsdGlwbGUgbG9jYXRvcnMsIHRoZXJlIGFyZSBzb21lIGlzc3VlcyB0bw0KICAgY29uc2lkZXIu
ICBJbiBjb25uZWN0aW9uIG9yaWVudGVkIGNvbW11bmljYXRpb24sIGNvbm5lY3QoKSBzeXN0ZW0N
CiAgIGNhbGwgaXMgdXNlZCB0byBtYWtlIHRoZSBpbml0aWFsIGNvbnRhY3QgdG8gdGhlIHBlZXIs
IHdoaWNoIHJlcXVpcmVzDQogICBJUCBhZGRyZXNzIGFuZCBwb3J0IG51bWJlciB0byBzcGVjaWZ5
IHRoZSBlbmRwb2ludC4gIEhlbmNlLCBuYW1lLXRvLQ0KICAgYWRkcmVzcyByZXNvbHV0aW9uIHNo
b3VsZCBiZSBwZXJmb3JtZWQgcHJpb3IgdG8gY29ubmVjdCgpLg0KICAgQXBwbGljYXRpb24gbmVl
ZHMgdG8gcmVzb2x2ZSBGUUROIG9mIHRoZSBwZWVyIHRvIGFuIElQIGFkZHJlc3MgYnkgYW55DQog
ICBhdmFpbGFibGUgbmFtZS10by1hZGRyZXNzIGNvbnZlcnNpb24gbWV0aG9kLg0KDQogICBJbiB0
eXBpY2FsIGNhc2UsIHRoZSBhcHBsaWNhdGlvbiByZWNlaXZlcyBpbmZvcm1hdGlvbiBmcm9tIHJl
c29sdmVyLg0KICAgSWYgdGhlIGFwcGxpY2F0aW9uIGVuZHMgdXAgd2l0aCByZWNlaXZpbmcgbXVs
dGlwbGUgSVAgYWRkcmVzc2VzIHRvDQogICByZWFjaCB0aGUgcGVlciwgaXQgc2hvdWxkIGl0ZXJh
dGUgZWFjaCBkZXN0aW5hdGlvbiBhZGRyZXNzIG9uZS1ieS0NCiAgIG9uZS4gIEl0IHNob3VsZCBi
ZSBub3RlZCB0aGF0IHRoZSBob3N0IG1heSBhbHNvIGhhdmUgbXVsdGlwbGUgc291cmNlDQogICBh
ZGRyZXNzZXMuDQoNCiAgIFRoZSBkaWZmZXJlbnQgcmVzdWx0aW5nIGFkZHJlc3MgcGFpciBtYXkg
aGF2ZSBkaWZmZXJlbnQgcmVhY2hhYmlsaXR5DQogICBzdGF0dXMgc28sIGluIG9yZGVyIHRvIGZp
bmQgYSB3b3JraW5nIGFkZHJlc3MgcGFpciwgaXQgbWF5IGJlDQogICByZXF1aXJlZCB0byBleHBs
b3JlIGFsbCB0aGUgYXZhaWxhYmxlIGFkZHJlc3MgcGFpcnMgKGFzIG9wcG9zZWQgdG8NCiAgIGV4
cGxvcmUgYWxsIGF2YWlsYWJsZSBkZXN0aW5hdGlvbiBhZGRyZXNzZXMpLg0KDQogICBJbiBub3Jt
YWwgY2FzZSwgYXBwbGljYXRpb24gaXNzdWVzIGNvbm5lY3QoKSBieSBzcGVjaWZ5aW5nIHJlc29s
dmVkDQogICBJUCBhZGRyZXNzIG9mIHRoZSBwZWVyLiAgSWYgdGhlIGNvbm5lY3QoKSBmYWlscywg
SVAgYWRkcmVzcyBpcw0KICAgaXRlcmF0ZWQgb25lIGJ5IG9uZSBzZXF1ZW50aWFsbHkgdW50aWwg
d29ya2luZyBwYWlyIGlzIGZvdW5kLg0KICAgQW5vdGhlciBhcHByb2FjaCBpcyB0byBpbml0aWF0
ZSBjb25jdXJyZW50IGNvbm5lY3QoKSB3aXRoIGV2ZXJ5DQogICBsb2NhdG9yIG9mIHRoZSBwZWVy
LiBjb25uZWN0KCkgY2FuIGFsc28gYmUgY2FsbGVkIGluIGEgc2VxdWVuY2Ugd2hpY2gNCiAgIHdv
dWxkIHByb2JhYmx5IHJlcXVpcmUgbW9yZSB0aW1lIHRvIGZpbmQgdGhlIHdvcmtpbmcgcGFpci4N
Cg0KICAgVGhlcmUgY291bGQgYmUgYW5vdGhlciBjYXNlIHdoZXJlIGludm9sdmVtZW50IG9mIHNo
aW0gbGF5ZXIgaXMNCiAgIGV4cGVjdGVkIGZvciBoYW5kbGluZyBpbml0aWFsIGNvbnRhY3QuICBJ
biBzdWNoIGNhc2UsIGJlaGF2aW9yIG9mDQogICBzaGltIGxheWVyIHdpbGwgZGVwZW5kIG9uIHBy
ZXNlbmNlIG9mIHJlcXVpcmVkIGNvbnRleHQuICBJZiB0aGVyZQ0KICAgZXhpc3RzIHRoZSBjb250
ZXh0IGZvciB0aGUgRUlEIHNwZWNpZmllZCBpbiB0aGUgY29ubmVjdCgpLCB0aGUNCiAgIGluaXRp
YWwgY29udGFjdCBjYW4gYmUgbWFkZSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGNvbnRleHQNCiAg
IGluZm9ybWF0aW9uLiAgT3RoZXJ3aXNlLCBzaGltIGxheWVyIHNob3VsZCBpbnZva2UgY29udGV4
dA0KICAgZXN0YWJsaXNobWVudCB3aXRoIHRoZSBwZWVyIEVJRCBzcGVjaWZpZWQgaW4gdGhlIGFy
Z3VtZW50IGZvcg0KICAgY29ubmVjdCgpLg0KDQogICBBZGRpdGlvbmFsIGVmZm9ydHMgd291bGQg
YmUgcmVxdWlyZWQgaW4gYSBjYXNlIHdoZXJlIHRoZSBwZWVyIGNhbm5vdA0KICAgYmUgcmVhY2hh
YmxlIGJ5IHRoZSBFSUQgKGZvciBleGFtcGxlLCBFSUQgaXMgbm9uLXJvdXRhYmxlIG9yIG5vbi1J
UA0KICAgcmVhY2hhYmxlKSBidXQgY2FuIGJlIHJlYWNoZWQgYnkgYWx0ZXJuYXRpdmUgbG9jYXRv
ci4gIEluIHBhcnRpY3VsYXIsDQogICBzaGltIGxheWVyIHNob3VsZCBzb21laG93IGRpc2NvdmVy
IHRoZSBhbHRlcm5hdGUgbG9jYXRvciBmb3IgdGhlIEVJRA0KICAgdG8gZXN0YWJsaXNoIGNvbnRl
eHQuICBbSS1ELm5vcmRtYXJrLXNoaW02LWVzZF0gYWRkcmVzc2VzIHRoZQ0KDQoNCg0KVEJEICAg
ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAg
W1BhZ2UgMTBdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0g
QVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQogICBwb3NzaWJsZSBhcHByb2FjaCB0
byBwZXJmb3JtIHJldmVyc2UgRE5TIGxvb2t1cCBmcm9tIEVJRCB0byBGUUROLA0KICAgdGhlbiBw
ZXJmb3JtIGZvcndhcmQgbG9va3VwIGFnYWluIHRvIGZpbmQgdGhlIGZ1bGwtc2V0IG9mIGxvY2F0
b3JzDQogICBhbmQgRUlELg0KDQogICBJbiBISVAsIHJlc29sdmluZyBISVRzIHRvIElQIGFkZHJl
c3NlcyB1c2luZyBETlMgaXMgbm90IGZlYXNpYmxlDQogICBiZWNhdXNlIEhJVHMgZG8gbm90IGNv
bnRhaW4gYW55IGhpZXJhcmNoaWNhbCBpbmZvcm1hdGlvbi4gIFRvDQogICBtaXRpZ2F0ZSB0aGlz
IHByb2JsZW0sIHRoZXJlIGFyZSBhIGZldyBhbHRlcm5hdGl2ZXMuICBGaXJzdGx5LA0KICAgcmVz
b2x2ZXIgbGlicmFyeSBvbiBlbmQtaG9zdCBjYW4gYmUgbW9kaWZpZWQgdG8gcHJvdmlkZSBISVQt
dG8tSVANCiAgIG1hcHBpbmdzIGZvciBISVAgc29mdHdhcmUgbW9kdWxlLiAgU2Vjb25kbHksIGEg
ZGlzdHJpYnV0ZWQgaGFzaCB0YWJsZQ0KICAgKERIVCkgc2VydmljZSBjYW4gYmUgdXNlZCBmb3Ig
c3RvcmluZyBhbmQgbG9va2luZyB1cCB0aGUgbWFwcGluZ3MNCiAgIGJlY2F1c2UgaXQgc3VwcG9y
dHMgbm9uLWhpZXJhcmNoaWNhbCBpZGVudGlmaWVycywgc3VjaCBhcyBISVRzDQogICBbSS1ELmll
dGYtaGlwLWFyY2hdLiAgVGhpcmRseSwgaXQgaXMgcG9zc2libGUgdG8gdXNlIElQIGFkZHJlc3Nl
cyBpbg0KICAgbGVnYWN5IGFwcGxpY2F0aW9ucyBhcyBkZXNjcmliZWQgaW4gW0ktRC5oZW5kZXJz
b24taGlwLWFwcGxpY2F0aW9uc10uDQoNCjYuMi4gIE5hbWluZyBhdCBTb2NrZXQgTGF5ZXINCg0K
ICAgZ2V0c29ja25hbWUoKSBhbmQgZ2V0cGVlcm5hbWUoKSBzeXN0ZW0gY2FsbHMgYXJlIHVzZWQg
dG8gb2J0YWluIHRoZQ0KICAgJ25hbWUnIG9mIGVuZHBvaW50IHdoaWNoIGlzIGFjdHVhbGx5IGEg
cGFpciBvZiBJUCBhZGRyZXNzIGFuZCBwb3J0DQogICBudW1iZXIgYXNzaWduZWQgdG8gZ2l2ZW4g
c29ja2V0LiBnZXRzb2NrbmFtZSgpIGlzIHVzZWQgd2hlbiBhbg0KICAgYXBwbGljYXRpb24gd2Fu
dHMgdG8gb2J0YWluIHRoZSBsb2NhbCBJUCBhZGRyZXNzIGFuZCBwb3J0IG51bWJlcg0KICAgYXNz
aWduZWQgZm9yIGdpdmVuIHNvY2tldCBpbnN0YW5jZS4gZ2V0cGVlcm5hbWUoKSBpcyB1c2VkIHdo
ZW4gYW4NCiAgIGFwcGxpY2F0aW9uIHdhbnRzIHRvIG9idGFpbiB0aGUgcmVtb3RlIElQIGFkZHJl
c3MgYW5kIHBvcnQgbnVtYmVyLg0KICAgQXMgSVAgYWRkcmVzcyBpcyB0aGUga2V5IGluZm9ybWF0
aW9uIGluIHRoZSB0d28gc3lzdGVtIGNhbGxzLCB0aGVyZQ0KICAgaXMgYSBxdWVzdGlvbiBpZiBp
dCBzaG91bGQgYmUgaWRlbnRpZmllciBvciBsb2NhdG9yIHdoZW4gc2hpbSBsYXllcg0KICAgaXMg
cHJlc2VudC4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAg
ICAgICAgICAgICBbUGFnZSAxMV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRp
aG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjcuICBJc3N1ZXMg
b2YgSGFuZGxpbmcgTXVsdGlwbGUgTG9jYXRvcnMgd2l0aCBzaGltIGF3YXJlIGFwcGxpY2F0aW9u
cw0KDQogICBUQkQuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQg
ICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAg
ICBbUGFnZSAxMl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hp
bSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjguICBGdXJ0aGVyIElzc3Vlcw0K
DQogICBGb2xsb3dpbmdzIGFyZSBpc3N1ZXMgdGhhdCBuZWVkIGZ1cnRoZXIgY29uc2lkZXJhdGlv
bnMuDQoNCjguMS4gIEFkZGl0aW9uYWwgUmVxdWlyZW1lbnRzIGZyb20gQXBwbGljYXRpb25zDQoN
CiAgIEZvbGxvd2luZ3MgYXJlIGFkZGl0aW9uYWwgcmVxdWlyZW1lbnRzLiAgQXQgdGhlIG1vbWVu
dCwgaXQgaXMgbm90DQogICBjZXJ0YWluIGlmIHRoZXNlIGZlYXR1cmVzIGFyZSBjb21tb25seSBu
ZWVkZWQgaW4gYWxsIHRoZSB0YXJnZXRlZA0KICAgbXVsdGlob21lZCBlbnZpcm9ubWVudHMgKFNI
SU02IGFuZCBISVApLiAgVGhlc2UgcmVxdWlyZW1lbnRzIGFyZQ0KICAgbWFpbmx5IGlkZW50aWZp
ZWQgZHVyaW5nIGRpc2N1c3Npb25zIG1hZGUgb24gU0hJTTYgV0cgbWFpbGluZyBsaXN0Lg0KDQog
ICBvICBUaGUgYXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8gc2VsZWN0IGEgbG9jYXRvciBw
YWlyLg0KDQogICBvICBUaGUgYXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8gc2V0IHByZWZl
cmVuY2VzIGZvciB0aGUNCiAgICAgIGxvY2F0b3JzLCBsb2NhbCBhbmQgcmVtb3RlIG9uZSBhbmQg
YWxzbyB0byB0aGUgcHJlZmVyZW5jZXMgb2YgdGhlDQogICAgICBsb2NhbCBsb2NhdG9ycyB0aGF0
IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBwZWVyLg0KDQogICBvICBEb24ndCBhcHBseSBzaGltLiAg
QXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG8gcmVxdWVzdCBzaGltDQogICAgICBsYXllciBu
b3QgdG8gYXBwbHkgSWRlbnRpZmllci9Mb2NhdG9yIGFkYXB0YXRpb24gYnV0IHRvIGFwcGx5DQog
ICAgICBub3JtYWwgSVAgcHJvY2Vzc2luZyBhdCB0aGUgSVAgbGF5ZXIuDQoNCiAgIG8gIEFwcGxp
Y2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvIHNwZWNpZnkgaWYgaXQgd2FudHMgdG8gZGVmZXIgdGhl
DQogICAgICBjb250ZXh0IHNldHVwIG9yIGl0IHdhbnRzIGNvbnRleHQgZXN0YWJsaXNobWVudCB0
byBiZSBzdGFydGVkDQogICAgICBpbW1lZGlhdGVseSBpZiB0aGVyZSBpcyBubyBhdmFpbGFibGUg
Y29udGV4dC4gIEluIHN1Y2ggd2F5LA0KICAgICAgYXBwbGljYXRpb24gY2FuICd1cGdyYWRlJyB0
aGUgY29ubmVjdGlvbiBwcm92aWRpbmcgaW4gYSBzZW5zZSB0aGF0DQogICAgICBpZGVudGlmaWVy
IGFuZCBsb2NhdG9yIGFyZSBtYW5hZ2VkIHNlcGFyYXRlbHkuDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNClRCRCAgICAgICAgICAgICAgICAgICAgICBF
eHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDEzXQ0KDA0KSW50ZXJu
ZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJy
dWFyeSAyMDA2DQoNCg0KOS4gIElBTkEgQ29uc2lkZXJhdGlvbnMNCg0KICAgVGhpcyBkb2N1bWVu
dCBjb250YWlucyBubyBJQU5BIGNvbnNpZGVyYXRpb24uDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg
NSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxNF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoN
CjEwLiAgU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMNCg0KICAgVEJEDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBB
dWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxNV0NCgwNCkludGVybmV0LURyYWZ0
ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAw
Ng0KDQoNCjExLiAgQ29uY2x1c2lvbg0KDQogICBUQkQNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNClRCRCAgICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1
LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDE2XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAg
ICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0K
MTIuICBBY2tub3dsZWRnbWVudHMNCg0KICAgVEJEDQoNCjEzLiAgTm9ybWF0aXZlIFJlZmVyZW5j
ZXMNCg0KICAgW0ktRC5oZW5kZXJzb24taGlwLWFwcGxpY2F0aW9uc10NCiAgICAgICAgICAgICAg
SGVuZGVyc29uLCBULiBhbmQgUC4gTmlrYW5kZXIsICJVc2luZyBISVAgd2l0aCBMZWdhY3kNCiAg
ICAgICAgICAgICAgQXBwbGljYXRpb25zIiwgZHJhZnQtaGVuZGVyc29uLWhpcC1hcHBsaWNhdGlv
bnMtMDEgKHdvcmsNCiAgICAgICAgICAgICAgaW4gcHJvZ3Jlc3MpLCBGZWJydWFyeSAyMDA1Lg0K
DQogICBbSS1ELmlldGYtaGlwLWFyY2hdDQogICAgICAgICAgICAgIE1vc2tvd2l0eiwgUi4gYW5k
IFAuIE5pa2FuZGVyLCAiSG9zdCBJZGVudGl0eSBQcm90b2NvbA0KICAgICAgICAgICAgICBBcmNo
aXRlY3R1cmUiLCBkcmFmdC1pZXRmLWhpcC1hcmNoLTAzICh3b3JrIGluIHByb2dyZXNzKSwNCiAg
ICAgICAgICAgICAgQXVndXN0IDIwMDUuDQoNCiAgIFtJLUQuaWV0Zi1zaGltNi1hcHAtcmVmZXJd
DQogICAgICAgICAgICAgIE5vcmRtYXJrLCBFLiwgIlNoaW02IEFwcGxpY2F0aW9uIFJlZmVycmFs
IElzc3VlcyIsDQogICAgICAgICAgICAgIGRyYWZ0LWlldGYtc2hpbTYtYXBwLXJlZmVyLTAwICh3
b3JrIGluIHByb2dyZXNzKSwNCiAgICAgICAgICAgICAgSnVseSAyMDA1Lg0KDQogICBbSS1ELmll
dGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb25dDQogICAgICAgICAgICAgIEFya2tvLCBKLiBhbmQg
SS4gQmVpam51bSwgIkZhaWx1cmUgRGV0ZWN0aW9uIGFuZCBMb2NhdG9yDQogICAgICAgICAgICAg
IFBhaXIgRXhwbG9yYXRpb24gUHJvdG9jb2wgZm9yIElQdjYgTXVsdGlob21pbmciLA0KICAgICAg
ICAgICAgICBkcmFmdC1pZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0aW9uLTAzICh3b3JrIGluIHBy
b2dyZXNzKSwNCiAgICAgICAgICAgICAgRGVjZW1iZXIgMjAwNS4NCg0KICAgW0ktRC5pZXRmLXNo
aW02LXByb3RvXQ0KICAgICAgICAgICAgICBCYWdudWxvLCBNLiBhbmQgRS4gTm9yZG1hcmssICJM
ZXZlbCAzIG11bHRpaG9taW5nIHNoaW0NCiAgICAgICAgICAgICAgcHJvdG9jb2wiLCBkcmFmdC1p
ZXRmLXNoaW02LXByb3RvLTAzICh3b3JrIGluIHByb2dyZXNzKSwNCiAgICAgICAgICAgICAgRGVj
ZW1iZXIgMjAwNS4NCg0KICAgW0ktRC5ub3JkbWFyay1zaGltNi1lc2RdDQogICAgICAgICAgICAg
IE5vcmRtYXJrLCBFLiwgIkV4dGVuZGVkIFNoaW02IERlc2lnbiBmb3IgSUQvbG9jIHNwbGl0IGFu
ZA0KICAgICAgICAgICAgICBUcmFmZmljIEVuZ2luZWVyaW5nIiwgZHJhZnQtbm9yZG1hcmstc2hp
bTYtZXNkLTAwICh3b3JrIGluDQogICAgICAgICAgICAgIHByb2dyZXNzKSwgRmVicnVhcnkgMjAw
Ni4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNClRCRCAgICAgICAgICAgICAgICAgICAg
ICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDE3XQ0KDA0KSW50
ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBG
ZWJydWFyeSAyMDA2DQoNCg0KQXV0aG9yJ3MgQWRkcmVzcw0KDQogICBUQkQNCiAgIFRCRA0KICAg
VEJEDQogICBUQkQgIFRCRA0KICAgVEJEDQoNCiAgIFBob25lOiBUQkQNCiAgIEVtYWlsOiBUQkQN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJl
cyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxOF0NCgwNCkludGVybmV0LURy
YWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkg
MjAwNg0KDQoNCkludGVsbGVjdHVhbCBQcm9wZXJ0eSBTdGF0ZW1lbnQNCg0KICAgVGhlIElFVEYg
dGFrZXMgbm8gcG9zaXRpb24gcmVnYXJkaW5nIHRoZSB2YWxpZGl0eSBvciBzY29wZSBvZiBhbnkN
CiAgIEludGVsbGVjdHVhbCBQcm9wZXJ0eSBSaWdodHMgb3Igb3RoZXIgcmlnaHRzIHRoYXQgbWln
aHQgYmUgY2xhaW1lZCB0bw0KICAgcGVydGFpbiB0byB0aGUgaW1wbGVtZW50YXRpb24gb3IgdXNl
IG9mIHRoZSB0ZWNobm9sb2d5IGRlc2NyaWJlZCBpbg0KICAgdGhpcyBkb2N1bWVudCBvciB0aGUg
ZXh0ZW50IHRvIHdoaWNoIGFueSBsaWNlbnNlIHVuZGVyIHN1Y2ggcmlnaHRzDQogICBtaWdodCBv
ciBtaWdodCBub3QgYmUgYXZhaWxhYmxlOyBub3IgZG9lcyBpdCByZXByZXNlbnQgdGhhdCBpdCBo
YXMNCiAgIG1hZGUgYW55IGluZGVwZW5kZW50IGVmZm9ydCB0byBpZGVudGlmeSBhbnkgc3VjaCBy
aWdodHMuICBJbmZvcm1hdGlvbg0KICAgb24gdGhlIHByb2NlZHVyZXMgd2l0aCByZXNwZWN0IHRv
IHJpZ2h0cyBpbiBSRkMgZG9jdW1lbnRzIGNhbiBiZQ0KICAgZm91bmQgaW4gQkNQIDc4IGFuZCBC
Q1AgNzkuDQoNCiAgIENvcGllcyBvZiBJUFIgZGlzY2xvc3VyZXMgbWFkZSB0byB0aGUgSUVURiBT
ZWNyZXRhcmlhdCBhbmQgYW55DQogICBhc3N1cmFuY2VzIG9mIGxpY2Vuc2VzIHRvIGJlIG1hZGUg
YXZhaWxhYmxlLCBvciB0aGUgcmVzdWx0IG9mIGFuDQogICBhdHRlbXB0IG1hZGUgdG8gb2J0YWlu
IGEgZ2VuZXJhbCBsaWNlbnNlIG9yIHBlcm1pc3Npb24gZm9yIHRoZSB1c2Ugb2YNCiAgIHN1Y2gg
cHJvcHJpZXRhcnkgcmlnaHRzIGJ5IGltcGxlbWVudGVycyBvciB1c2VycyBvZiB0aGlzDQogICBz
cGVjaWZpY2F0aW9uIGNhbiBiZSBvYnRhaW5lZCBmcm9tIHRoZSBJRVRGIG9uLWxpbmUgSVBSIHJl
cG9zaXRvcnkgYXQNCiAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvaXByLg0KDQogICBUaGUgSUVURiBp
bnZpdGVzIGFueSBpbnRlcmVzdGVkIHBhcnR5IHRvIGJyaW5nIHRvIGl0cyBhdHRlbnRpb24gYW55
DQogICBjb3B5cmlnaHRzLCBwYXRlbnRzIG9yIHBhdGVudCBhcHBsaWNhdGlvbnMsIG9yIG90aGVy
IHByb3ByaWV0YXJ5DQogICByaWdodHMgdGhhdCBtYXkgY292ZXIgdGVjaG5vbG9neSB0aGF0IG1h
eSBiZSByZXF1aXJlZCB0byBpbXBsZW1lbnQNCiAgIHRoaXMgc3RhbmRhcmQuICBQbGVhc2UgYWRk
cmVzcyB0aGUgaW5mb3JtYXRpb24gdG8gdGhlIElFVEYgYXQNCiAgIGlldGYtaXByQGlldGYub3Jn
Lg0KDQoNCkRpc2NsYWltZXIgb2YgVmFsaWRpdHkNCg0KICAgVGhpcyBkb2N1bWVudCBhbmQgdGhl
IGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gYXJlIHByb3ZpZGVkIG9uIGFuDQogICAiQVMg
SVMiIGJhc2lzIGFuZCBUSEUgQ09OVFJJQlVUT1IsIFRIRSBPUkdBTklaQVRJT04gSEUvU0hFIFJF
UFJFU0VOVFMNCiAgIE9SIElTIFNQT05TT1JFRCBCWSAoSUYgQU5ZKSwgVEhFIElOVEVSTkVUIFNP
Q0lFVFkgQU5EIFRIRSBJTlRFUk5FVA0KICAgRU5HSU5FRVJJTkcgVEFTSyBGT1JDRSBESVNDTEFJ
TSBBTEwgV0FSUkFOVElFUywgRVhQUkVTUyBPUiBJTVBMSUVELA0KICAgSU5DTFVESU5HIEJVVCBO
T1QgTElNSVRFRCBUTyBBTlkgV0FSUkFOVFkgVEhBVCBUSEUgVVNFIE9GIFRIRQ0KICAgSU5GT1JN
QVRJT04gSEVSRUlOIFdJTEwgTk9UIElORlJJTkdFIEFOWSBSSUdIVFMgT1IgQU5ZIElNUExJRUQN
CiAgIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLg0KDQoNCkNvcHlyaWdodCBTdGF0ZW1lbnQNCg0KICAgQ29weXJpZ2h0IChD
KSBUaGUgSW50ZXJuZXQgU29jaWV0eSAoMjAwNikuICBUaGlzIGRvY3VtZW50IGlzIHN1YmplY3QN
CiAgIHRvIHRoZSByaWdodHMsIGxpY2Vuc2VzIGFuZCByZXN0cmljdGlvbnMgY29udGFpbmVkIGlu
IEJDUCA3OCwgYW5kDQogICBleGNlcHQgYXMgc2V0IGZvcnRoIHRoZXJlaW4sIHRoZSBhdXRob3Jz
IHJldGFpbiBhbGwgdGhlaXIgcmlnaHRzLg0KDQoNCkFja25vd2xlZGdtZW50DQoNCiAgIEZ1bmRp
bmcgZm9yIHRoZSBSRkMgRWRpdG9yIGZ1bmN0aW9uIGlzIGN1cnJlbnRseSBwcm92aWRlZCBieSB0
aGUNCiAgIEludGVybmV0IFNvY2lldHkuDQoNCg0KDQoNClRCRCAgICAgICAgICAgICAgICAgICAg
ICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAgIFtQYWdlIDE5XQ0KDA0K
--------_446DCE0F596806D42DA8_MULTIPART_MIXED_
Content-Type: text/html;
 name="multihome-api-diff.html"
Content-Disposition: attachment;
 filename="multihome-api-diff.html"
Content-Transfer-Encoding: base64

PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25h
bC5kdGQiPg0KPGh0bWw+PGhlYWQ+PCEtLSBHZW5lcmF0ZWQgYnkgcmZjZGlmZiAxLjMxOiByZmNk
aWZmIC0gLXN0ZG91dCB0bXAvMS9kcmFmdC1tYW55Zm9sa3MtbXVsdGlob21lLXNoaW0tYXBpLTAw
LnR4dCB0bXAvMi9kcmFmdC1tYW55Zm9sa3MtbXVsdGlob21lLXNoaW0tYXBpLTAwLnR4dCAtLT48
IS0tIDwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRp
b25hbCIgPiAtLT48IS0tIFN5c3RlbTogTGludXggY2FiZXJuZXQgMi42LjgtMi02ODYgIzEgVGh1
IE1heSAxOSAxNzo1MzozMCBKU1QgMjAwNSBpNjg2IEdOVS9MaW51eCAtLT48IS0tIFVzaW5nIGF3
azogL3Vzci9iaW4vZ2F3azogR05VIEF3ayAzLjEuNSAtLT48IS0tIFVzaW5nIGRpZmY6IC91c3Iv
YmluL2RpZmY6IGRpZmYgKEdOVSBkaWZmdXRpbHMpIDIuOC4xIC0tPjwhLS0gVXNpbmcgd2RpZmY6
IC91c3IvYmluL3dkaWZmOiBHTlUgd2RpZmYgMC41IC0tPiANCiAgPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+IA0K
ICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3Nz
Ij48dGl0bGU+RGlmZjogZHJhZnQtbWFueWZvbGtzLW11bHRpaG9tZS1zaGltLWFwaS0wMC50eHQg
LSBkcmFmdC1tYW55Zm9sa3MtbXVsdGlob21lLXNoaW0tYXBpLTAwLnR4dDwvdGl0bGU+IA0KICAg
DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+IA0KICAgIGJvZHkgICAgeyBtYXJnaW46IDAuNGV4
OyBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gDQogICAgdHIgICAgICB7IH0gDQogICAgdGQgICAgICB7
IHdoaXRlLXNwYWNlOiBwcmU7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IHZlcnRpY2FsLWFsaWdu
OiB0b3A7IGZvbnQtc2l6ZTogMC44NmVtO30gDQogICAgdGggICAgICB7IGZvbnQtc2l6ZTogMC44
NmVtOyB9IA0KICAgIC5zbWFsbCAgeyBmb250LXNpemU6IDAuNmVtOyBmb250LXN0eWxlOiBpdGFs
aWM7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IH0gDQogICAg
LmxlZnQgICB7IGJhY2tncm91bmQtY29sb3I6ICNFRUU7IH0gDQogICAgLnJpZ2h0ICB7IGJhY2tn
cm91bmQtY29sb3I6ICNGRkY7IH0gDQogICAgLmRpZmYgICB7IGJhY2tncm91bmQtY29sb3I6ICND
Q0Y7IH0gDQogICAgLmxibG9jayB7IGJhY2tncm91bmQtY29sb3I6ICNCRkI7IH0gDQogICAgLnJi
bG9jayB7IGJhY2tncm91bmQtY29sb3I6ICNGRjg7IH0gDQogICAgLmluc2VydCB7IGJhY2tncm91
bmQtY29sb3I6ICM4RkY7IH0gDQogICAgLmRlbGV0ZSB7IGJhY2tncm91bmQtY29sb3I6ICNBQ0Y7
IH0gDQogICAgLnZvaWQgICB7IGJhY2tncm91bmQtY29sb3I6ICNGRkI7IH0gDQogICAgLmNvbnQg
ICB7IGJhY2tncm91bmQtY29sb3I6ICNFRUU7IH0gDQogICAgLmxpbmViciB7IGJhY2tncm91bmQt
Y29sb3I6ICNBQUE7IH0gDQogICAgLmxpbmVubyB7IGNvbG9yOiByZWQ7IGJhY2tncm91bmQtY29s
b3I6ICNGRkY7IGZvbnQtc2l6ZTogMC43ZW07IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRkaW5nOiAw
IDJweDsgfSANCiAgICAuZWxpcHNpc3sgYmFja2dyb3VuZC1jb2xvcjogI0FBQTsgfSANCiAgICAu
bGVmdCAuY29udCB7IGJhY2tncm91bmQtY29sb3I6ICNEREQ7IH0gDQogICAgLnJpZ2h0IC5jb250
IHsgYmFja2dyb3VuZC1jb2xvcjogI0VFRTsgfSANCiAgICAubGJsb2NrIC5jb250IHsgYmFja2dy
b3VuZC1jb2xvcjogIzlEOTsgfSANCiAgICAucmJsb2NrIC5jb250IHsgYmFja2dyb3VuZC1jb2xv
cjogI0RENjsgfSANCiAgICAuaW5zZXJ0IC5jb250IHsgYmFja2dyb3VuZC1jb2xvcjogIzBERDsg
fSANCiAgICAuZGVsZXRlIC5jb250IHsgYmFja2dyb3VuZC1jb2xvcjogIzhBRDsgfSANCiAgICAu
c3RhdHMsIC5zdGF0cyB0ZCwgLnN0YXRzIHRoIHsgYmFja2dyb3VuZC1jb2xvcjogI0VFRTsgcGFk
ZGluZzogMnB4IDA7IH0gDQogIDwvc3R5bGU+PC9oZWFkPg0KIA0KIA0KDQogDQogDQogDQogDQog
DQo8Ym9keT4gDQogIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu
Zz0iMCI+IA0KICA8dGJvZHk+PHRyIGJnY29sb3I9Im9yYW5nZSI+PHRoPjwvdGg+PHRoPiZuYnNw
O2RyYWZ0LW1hbnlmb2xrcy1tdWx0aWhvbWUtc2hpbS1hcGktMDAudHh0Jm5ic3A7PC90aD48dGg+
IDwvdGg+PHRoPiZuYnNwO2RyYWZ0LW1hbnlmb2xrcy1tdWx0aWhvbWUtc2hpbS1hcGktMDAudHh0
Jm5ic3A7PC90aD48dGg+PC90aD48L3RyPiANCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPk5ldHdvcmsgV29ya2luZyBHcm91cCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBUQkQuIFRCRDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
Pk5ldHdvcmsgV29ya2luZyBHcm91cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBUQkQuIFRCRDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVEJEPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVEJEPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij5FeHBpcmVzOiBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDY8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJpZ2h0Ij5FeHBpcmVzOiBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDY8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8
dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDAxIj48L2E+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAg
ICAgICAgICAgICAgICAgU29ja2V0IEFQSSBmb3IgTXVsdGlob21lIFNoaW08L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgICAgICAgICAgICAgICAgU29ja2V0IEFQSSBmb3Ig
TXVsdGlob21lPHNwYW4gY2xhc3M9Imluc2VydCI+ZDwvc3Bhbj4gU2hpbTwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICAg
ICBkcmFmdC1tYW55Zm9sa3MtbXVsdGlob21lLXNoaW0tYXBpLTAwPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICAgICBkcmFmdC1tYW55Zm9sa3MtbXVsdGlob21l
LXNoaW0tYXBpLTAwPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPlN0YXR1cyBvZiB0aGlz
IE1lbW88L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij5TdGF0dXMgb2YgdGhpcyBNZW1v
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEJ5IHN1Ym1pdHRpbmcgdGhpcyBJbnRl
cm5ldC1EcmFmdCwgZWFjaCBhdXRob3IgcmVwcmVzZW50cyB0aGF0IGFueTwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIEJ5IHN1Ym1pdHRpbmcgdGhpcyBJbnRlcm5ldC1EcmFmdCwg
ZWFjaCBhdXRob3IgcmVwcmVzZW50cyB0aGF0IGFueTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYXBwbGljYWJsZSBwYXRlbnQgb3Igb3Ro
ZXIgSVBSIGNsYWltcyBvZiB3aGljaCBoZSBvciBzaGUgaXMgYXdhcmU8L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICBhcHBsaWNhYmxlIHBhdGVudCBvciBvdGhlciBJUFIgY2xhaW1z
IG9mIHdoaWNoIGhlIG9yIHNoZSBpcyBhd2FyZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgaGF2ZSBiZWVuIG9yIHdpbGwgYmUgZGlzY2xv
c2VkLCBhbmQgYW55IG9mIHdoaWNoIGhlIG9yIHNoZSBiZWNvbWVzPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgaGF2ZSBiZWVuIG9yIHdpbGwgYmUgZGlzY2xvc2VkLCBhbmQgYW55
IG9mIHdoaWNoIGhlIG9yIHNoZSBiZWNvbWVzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhd2FyZSB3aWxsIGJlIGRpc2Nsb3NlZCwgaW4g
YWNjb3JkYW5jZSB3aXRoIFNlY3Rpb24gNiBvZiBCQ1AgNzkuPC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+ICAgYXdhcmUgd2lsbCBiZSBkaXNjbG9zZWQsIGluIGFjY29yZGFuY2Ugd2l0
aCBTZWN0aW9uIDYgb2YgQkNQIDc5LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBJ
bnRlcm5ldC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRoZSBJbnRlcm5ldCBFbmdp
bmVlcmluZzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEludGVybmV0LURyYWZ0
cyBhcmUgd29ya2luZyBkb2N1bWVudHMgb2YgdGhlIEludGVybmV0IEVuZ2luZWVyaW5nPC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4NCiAgICAgIDx0
ciBiZ2NvbG9yPSJncmF5Ij48dGQ+PC90ZD48dGg+PGEgbmFtZT0icGFydC1sMiI+PHNtYWxsPnNr
aXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGVtPiBwYWdlIDEsIGxpbmUgNDE8L2VtPjwvYT48
L3RoPjx0aD4gPC90aD48dGg+PGEgbmFtZT0icGFydC1yMiI+PHNtYWxsPnNraXBwaW5nIHRvIGNo
YW5nZSBhdDwvc21hbGw+PGVtPiBwYWdlIDEsIGxpbmUgNDE8L2VtPjwvYT48L3RoPjx0ZD48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgaHR0cDovL3d3dy5pZXRmLm9yZy9zaGFkb3cuaHRtbC48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBodHRwOi8vd3d3LmlldGYub3JnL3NoYWRvdy5o
dG1sLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBUaGlzIEludGVybmV0LURyYWZ0
IHdpbGwgZXhwaXJlIG9uIEF1Z3VzdCA1LCAyMDA2LjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgIFRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBpcmUgb24gQXVndXN0IDUsIDIw
MDYuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPkNvcHlyaWdodCBOb3RpY2U8L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij5Db3B5cmlnaHQgTm90aWNlPC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPiAgIENvcHlyaWdodCAoQykgVGhlIEludGVybmV0IFNvY2lldHkgKDIw
MDYpLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIENvcHlyaWdodCAoQykgVGhl
IEludGVybmV0IFNvY2lldHkgKDIwMDYpLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij5B
YnN0cmFjdDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPkFic3RyYWN0PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAwMiI+PC9hPjwvdGQ+
PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsYmxvY2siPiAgIFRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIEFQSSBmb3IgPHNwYW4g
Y2xhc3M9ImRlbGV0ZSI+bXVsdGlob21lPC9zcGFuPiBzaGltIGxheWVyLiAgVGhlIEFQSSBhaW1z
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIFRoaXMgZG9jdW1lbnQgc3BlY2lm
aWVzIDxzcGFuIGNsYXNzPSJpbnNlcnQiPnNvY2tldDwvc3Bhbj4gQVBJIGZvciA8c3BhbiBjbGFz
cz0iaW5zZXJ0Ij5tdWx0aWhvbWVkPC9zcGFuPiBzaGltIGxheWVyLiAgVGhlPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIHRvIDxzcGFu
IGNsYXNzPSJkZWxldGUiPnJlYWxpemU8L3NwYW4+IGludGVyYWN0aW9ucyBiZXR3ZWVuIGFwcGxp
Y2F0aW9uIGFuZCB0aGUgbXVsdGlob21lIHNoaW08L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJi
bG9jayI+ICAgQVBJIGFpbXMgdG8gPHNwYW4gY2xhc3M9Imluc2VydCI+ZW5hYmxlPC9zcGFuPiBp
bnRlcmFjdGlvbnMgYmV0d2VlbiBhcHBsaWNhdGlvbiBhbmQgdGhlIG11bHRpaG9tZTwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBsYXll
ciBmb3IgYWR2YW5jZWQgbG9jYXRvciBtYW5hZ2VtZW50IGFuZCBpbnRlcmZhY2UgdG8gPHNwYW4g
Y2xhc3M9ImRlbGV0ZSI+dGhlPC9zcGFuPiBlc3NlbnRpYWw8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+ICAgc2hpbSBsYXllciBmb3IgYWR2YW5jZWQgbG9jYXRvciBtYW5hZ2VtZW50
IGFuZCBpbnRlcmZhY2UgdG8gPHNwYW4gY2xhc3M9Imluc2VydCI+YWNjZXNzPC9zcGFuPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBp
bmZvcm1hdGlvbiBhYm91dCBmYWlsdXJlIGRldGVjdGlvbiBhbmQgcGF0aCBleHBsb3JhdGlvbi48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgZXNzZW50aWFsIGluZm9ybWF0aW9u
IGFib3V0IGZhaWx1cmUgZGV0ZWN0aW9uIGFuZCBwYXRoIGV4cGxvcmF0aW9uLjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBUaGlzIGRvY3VtZW50IGlzIGJhc2VkIG9uIGFuIGFzc3Vt
cHRpb24gdGhhdCBhIG11bHRob21lZCBob3N0IGlzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgVGhpcyBkb2N1bWVudCBpcyBiYXNlZCBvbiBhbiBhc3N1bXB0aW9uIHRoYXQgYSBt
dWx0aG9tZWQgaG9zdCBpczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDAzIj48L2E+PC90ZD48L3RyPg0K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxibG9jayI+ICAgZXF1aXBwZWQgd2l0aCBhICdzaGltJyB3aGljaCBtYWludGFpbnMgbWFwcGlu
ZyBvZiBpZGVudGlmaWVyIGFuZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBl
cXVpcHBlZCB3aXRoIGEgJ3NoaW0nIHdoaWNoIDxzcGFuIGNsYXNzPSJpbnNlcnQiPmVzc25ldGlh
bGx5PC9zcGFuPiBtYWludGFpbnMgbWFwcGluZyBvZjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBsb2NhdG9yLiAgU0hJTTYgYW5kIEhJ
UCBhcmUgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+dGhlPC9zcGFuPiBleGFtcGxlcyBvZiB0aGUgc2hp
bS4gIEhlbmNlLCB0aGUgQVBJPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIGlk
ZW50aWZpZXIgYW5kIGxvY2F0b3IuICBTSElNNiBhbmQgSElQIGFyZSBleGFtcGxlcyBvZiB0aGUg
c2hpbS48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxi
bG9jayI+ICAgY2FuIGJlIGNvbW1vbmx5IHVzZWQgYnkgU0hJTTYgYW5kIEhJUC48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgSGVuY2UsIHRoZSBBUEkgY2FuIGJlIGNvbW1vbmx5
IHVzZWQgYnkgU0hJTTYgYW5kIEhJUC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+VGFi
bGUgb2YgQ29udGVudHM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij5UYWJsZSBvZiBD
b250ZW50czwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAxLiAgSW50cm9kdWN0aW9u
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAxLiAgSW50cm9kdWN0aW9uIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDM8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDIuICBUYXJnZXQg
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
NDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDIuICBUYXJnZXQgLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNDwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgMy4gIFRl
cm1pbm9sb2d5ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuICA1PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgMy4gIFRlcm1pbm9sb2d5
ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA1PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICA0
LiAgU3lzdGVtIE92ZXJ2aWV3ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gIDc8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICA0LiAgU3lzdGVt
IE92ZXJ2aWV3ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
IDc8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgIDUuICBSZXF1aXJlbWVudHMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAgODwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDUuICBS
ZXF1aXJlbWVudHMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAgODwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQog
ICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDA0Ij48L2E+PC90ZD48L3RyPg0KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
ICAgNi4gIElzc3VlcyBvZiBIYW5kbGluZyBNdWx0aXBsZSBMb2NhdG9ycyB3aXRoIDxzcGFuIGNs
YXNzPSJkZWxldGUiPkxlZ2FjeSBTb2NrZXQgQVBJPC9zcGFuPiAgLiAxMDwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmJsb2NrIj4gICA2LiAgSXNzdWVzIG9mIEhhbmRsaW5nIE11bHRpcGxlIExv
Y2F0b3JzIHdpdGggPHNwYW4gY2xhc3M9Imluc2VydCI+c2hpbSB1bmF3YXJlPC9zcGFuPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAg
IGFwcGxpY2F0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLjwvc3Bhbj4gLiAxMDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgICA2LjEuICBJbml0aWFsIENvbnRhY3QgIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEwPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgICA2LjEuICBJbml0aWFsIENvbnRhY3QgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIDEwPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMDUiPjwvYT48L3RkPjwv
dHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGJsb2NrIj4gICAgIDYuMi4gIE5hbWluZyBhdCBTb2NrZXQgTGF5ZXIgLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gPHNwYW4gY2xhc3M9ImRlbGV0ZSI+MTA8L3NwYW4+
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgNi4yLiAgTmFtaW5nIGF0IFNv
Y2tldCBMYXllciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA8c3BhbiBjbGFz
cz0iaW5zZXJ0Ij4xMTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgNy4gIElBTkEgQ29uc2lkZXJhdGlvbnMgIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDxzcGFuIGNsYXNzPSJkZWxldGUiPjEx
PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICA3LiAgPHNwYW4gY2xh
c3M9Imluc2VydCI+SXNzdWVzIG9mIEhhbmRsaW5nIE11bHRpcGxlIExvY2F0b3JzIHdpdGggc2hp
bSBhd2FyZTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgOC48L3NwYW4+ICBTZWN1cml0
eSBDb25zaWRlcmF0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA8
c3BhbiBjbGFzcz0iZGVsZXRlIj4xMjwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJi
bG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgIGFwcGxpY2F0aW9ucyAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEyPC9zcGFuPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBj
bGFzcz0iZGVsZXRlIj4gICA5Ljwvc3Bhbj4gIENvbmNsdXNpb24gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDxzcGFuIGNsYXNzPSJkZWxldGUiPjEz
PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5z
ZXJ0Ij4gICA4LiAgRnVydGhlciBJc3N1ZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gMTM8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgIDEwLjwv
c3Bhbj4gQWNrbm93bGVkZ21lbnRzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gPHNwYW4gY2xhc3M9ImRlbGV0ZSI+MTQ8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgOC4xLiAgQWRkaXRp
b25hbCBSZXF1aXJlbWVudHMgZnJvbSBBcHBsaWNhdGlvbnMgIC4gLiAuIC4gLiAuIC4gLiAxMzwv
c3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxi
bG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgMTEuPC9zcGFuPiBOb3JtYXRpdmUgUmVmZXJl
bmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA8c3BhbiBjbGFz
cz0iZGVsZXRlIj4xNDwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNw
YW4gY2xhc3M9Imluc2VydCI+ICAgOS48L3NwYW4+ICBJQU5BIENvbnNpZGVyYXRpb25zICAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA8c3BhbiBjbGFzcz0iaW5zZXJ0
Ij4xNDwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+ICAgQXV0aG9yJ3MgQWRkcmVzcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDxzcGFuIGNsYXNzPSJkZWxldGUiPjE1PC9zcGFuPjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAx
MC48L3NwYW4+IFNlY3VyaXR5IENvbnNpZGVyYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIDxzcGFuIGNsYXNzPSJpbnNlcnQiPjE1PC9zcGFuPjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBJbnRlbGxl
Y3R1YWwgUHJvcGVydHkgYW5kIENvcHlyaWdodCBTdGF0ZW1lbnRzIC4gLiAuIC4gLiAuIC4gLiAu
IC4gPHNwYW4gY2xhc3M9ImRlbGV0ZSI+MTY8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgIDExLjwvc3Bhbj4gQ29uY2x1c2lvbiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gPHNwYW4g
Y2xhc3M9Imluc2VydCI+MTY8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2Nr
Ij48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAxMi48L3NwYW4+IEFja25vd2xlZGdtZW50cyAgLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDxzcGFuIGNsYXNzPSJp
bnNlcnQiPjE3PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4g
Y2xhc3M9Imluc2VydCI+ICAgMTMuPC9zcGFuPiBOb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij4x
Nzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIEF1dGhvcidzIEFk
ZHJlc3MgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA8
c3BhbiBjbGFzcz0iaW5zZXJ0Ij4xODwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPiAgIEludGVsbGVjdHVhbCBQcm9wZXJ0eSBhbmQgQ29weXJpZ2h0IFN0YXRlbWVudHMg
LiAuIC4gLiAuIC4gLiAuIC4gLiA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij4xOTwvc3Bhbj48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+MS4gIEludHJvZHVjdGlvbjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPjEuICBJbnRyb2R1Y3Rpb248L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQog
ICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDA2Ij48L2E+PC90ZD48L3RyPg0KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
ICAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+VEJEPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmJsb2NrIj4gICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5UaGlzIGRvY3VtZW50IHNwZWNpZmll
cyBzb2NrZXQgQVBJIGZvciBtdWx0aWhvbWVkIHNoaW0gbGF5ZXIuICBUaGU8L3NwYW4+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBBUEkg
YWltcyB0byBlbmFibGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gYXBwbGljYXRpb24gYW5kIHRoZSBt
dWx0aWhvbWU8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBj
bGFzcz0iaW5zZXJ0Ij4gICBzaGltIGxheWVyIGZvciBhZHZhbmNlZCBsb2NhdG9yIG1hbmFnZW1l
bnQgYW5kIGludGVyZmFjZSB0byBhY2Nlc3M8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBlc3NlbnRpYWwgaW5mb3JtYXRpb24g
YWJvdXQgZmFpbHVyZSBkZXRlY3Rpb24gYW5kIHBhdGggZXhwbG9yYXRpb24uPC9zcGFuPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+PC9zcGFu
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr
Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+
ICAgVGhpcyBkb2N1bWVudCBpcyBiYXNlZCBvbiBhbiBhc3N1bXB0aW9uIHRoYXQgYSBtdWx0aG9t
ZWQgaG9zdCBpczwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFu
IGNsYXNzPSJpbnNlcnQiPiAgIGVxdWlwcGVkIHdpdGggYSAnc2hpbScgd2hpY2ggZXNzZW50aWFs
bHkgbWFpbnRhaW5zIG1hcHBpbmcgb2Y8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBpZGVudGlmaWVyIGFuZCBsb2NhdG9yLiAg
U0hJTTYgYW5kIEhJUCBhcmUgZXhhbXBsZXMgb2YgdGhlIHNoaW0uPC9zcGFuPjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgSGVuY2UsIHRo
ZSBBUEkgY2FuIGJlIGNvbW1vbmx5IHVzZWQgYnkgU0hJTTYgYW5kIEhJUC48L3NwYW4+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij48L3NwYW4+
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2si
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4g
ICBJbiB0aGlzIGRvY3VtZW50LCBub3RhdGlvbiBvZiBBUEkgaXMgcHJlc2VudGVkIGluIEMgbGFu
Z3VhZ2UuPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4yLiAgVGFyZ2V0PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+Mi4gIFRhcmdldDwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij4gICBFeHBlY3RlZCByZWFkZXJzIG9mIHRoaXMgZG9jdW1lbnQgYXJlOiBh
cHBsaWNhdGlvbiBwcm9ncmFtbWVyIHdobzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PiAgIEV4cGVjdGVkIHJlYWRlcnMgb2YgdGhpcyBkb2N1bWVudCBhcmU6IGFwcGxpY2F0aW9uIHBy
b2dyYW1tZXIgd2hvPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij4gICBkZXZlbG9wcyBhcHBsaWNhdGlvbiBzb2Z0d2FyZSB3aGljaCBtYXkgcnVu
IG9uIHRvcCBvZiBtdWx0aWhvbWVkPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
ZGV2ZWxvcHMgYXBwbGljYXRpb24gc29mdHdhcmUgd2hpY2ggbWF5IHJ1biBvbiB0b3Agb2YgbXVs
dGlob21lZDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQog
ICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDA3Ij48L2E+PC90ZD48L3RyPg0KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
ICAgZW52aXJvbm1lbnQuICA8c3BhbiBjbGFzcz0iZGVsZXRlIj5Fc3BlY2lhbGx5PC9zcGFuPiBm
b3IgdGhlIHNvZnR3YXJlIHdoaWNoIDxzcGFuIGNsYXNzPSJkZWxldGUiPmlzIGV4cGVjdGVkIHRv
PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBlbnZpcm9ubWVudC4g
IDxzcGFuIGNsYXNzPSJpbnNlcnQiPkluIHBhcnRpY3VsYXIsIHRoZSBBUEkgc2hvdWxkIGJlIGJl
bmVmaWNpYWw8L3NwYW4+IGZvcjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICBiZW5lZml0IGdyZWF0
bHkgZnJvbTwvc3Bhbj4gbXVsdGlob21lZCBlbnZpcm9ubWVudCA8c3BhbiBjbGFzcz0iZGVsZXRl
Ij5pbiB0ZXJtcyBvZjwvc3Bhbj4gZmFpbG92ZXIuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPiAgIDxzcGFuIGNsYXNzPSJpbnNlcnQiPmFwcGxpY2F0aW9uIGRldmVsb3BtZW50IG9m
PC9zcGFuPiB0aGUgc29mdHdhcmUgd2hpY2ggPHNwYW4gY2xhc3M9Imluc2VydCI+dGFrZXMgYWR2
YW50YWdlIG9mPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgbXVs
dGlob21lZCBlbnZpcm9ubWVudCA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5haW1pbmcgdG8gYWNoaWV2
ZSBiZXR0ZXI8L3NwYW4+IGZhaWxvdmVyLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4z
LiAgVGVybWlub2xvZ3k8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4zLiAgVGVybWlu
b2xvZ3k8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhpcyBkb2N1bWVudCBkb2Vz
IG5vdCBpbnRlbmQgdG8gZ2l2ZSBuZXcgZGVmaW5pdGlvbnMgZm9yIHRlY2huaWNhbDwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFRoaXMgZG9jdW1lbnQgZG9lcyBub3QgaW50ZW5k
IHRvIGdpdmUgbmV3IGRlZmluaXRpb25zIGZvciB0ZWNobmljYWw8L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHRlcm1zIHRoYXQgYXJlIHJl
bGV2YW50IHRvIG11bHRpaG9tZWQgZW52aXJvbm1lbnQgYnV0IHRyaWVzIHRvPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgdGVybXMgdGhhdCBhcmUgcmVsZXZhbnQgdG8gbXVsdGlo
b21lZCBlbnZpcm9ubWVudCBidXQgdHJpZXMgdG88L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGluaGVyaXQgZGVmaW5pdGlvbnMgcHJvdmlk
ZWQgaW4gdGhlIGV4aXN0aW5nIGRvY3VtZW50cyBhcyBsaXN0ZWQ8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICBpbmhlcml0IGRlZmluaXRpb25zIHByb3ZpZGVkIGluIHRoZSBleGlz
dGluZyBkb2N1bWVudHMgYXMgbGlzdGVkPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBiZWxvdzo8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij4gICBiZWxvdzo8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbyAgU0hJ
TTYgUHJvdG9jb2wgU3BlY2lmaWNhdGlvbltJLUQuaWV0Zi1zaGltNi1wcm90b108L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBvICBTSElNNiBQcm90b2NvbCBTcGVjaWZpY2F0aW9u
W0ktRC5pZXRmLXNoaW02LXByb3RvXTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBv
ICBISVAgQXJjaGl0ZWN0dXJlW0ktRC5pZXRmLWhpcC1hcmNoXTwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPiAgIG8gIEhJUCBBcmNoaXRlY3R1cmVbSS1ELmlldGYtaGlwLWFyY2hdPC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIG8gIFJlYWNoYWJpbGl0eSBQcm90b2NvbCAo
UkVBUClbSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb25dPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgbyAgUmVhY2hhYmlsaXR5IFByb3RvY29sIChSRUFQKVtJLUQuaWV0
Zi1zaGltNi1mYWlsdXJlLWRldGVjdGlvbl08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgRm9yIGNsYXJpZmljYXRpb24sIHdlIHByb3ZpZGUgZGVmaW5pdGlvbiBmb3IgdGhlIHRlcm1z
IHRoYXQgYXJlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRm9yIGNsYXJpZmlj
YXRpb24sIHdlIHByb3ZpZGUgZGVmaW5pdGlvbiBmb3IgdGhlIHRlcm1zIHRoYXQgYXJlPC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBmcmVx
dWVudGx5IHVzZWQgaW4gdGhpcyBkb2N1bWVudDo8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICBmcmVxdWVudGx5IHVzZWQgaW4gdGhpcyBkb2N1bWVudDo8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDA4Ij48L2E+PC90ZD48L3RyPg0K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxibG9jayI+ICAgbyAgSWRlbnRpZmllciA8c3BhbiBjbGFzcz0iZGVsZXRlIj4oSUQpPC9zcGFu
PiAtIEFuIGlkZW50aWZpZXIgdXNlZCBieSB0aGUgYXBwbGljYXRpb24gdG8gc3BlY2lmeTwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBvICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5F
bmRwb2ludDwvc3Bhbj4gSWRlbnRpZmllciA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij4oRUlEKTwvc3Bh
bj4gLSBBbiBpZGVudGlmaWVyIHVzZWQgYnkgdGhlIGFwcGxpY2F0aW9uPC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgIDxzcGFuIGNs
YXNzPSJkZWxldGUiPnRoZTwvc3Bhbj4gZW5kcG9pbnQgb2YgdGhlIGNvbW11bmljYXRpb24uICBB
cyBhZGRyZXNzZWQgaW4gPHNwYW4gY2xhc3M9ImRlbGV0ZSI+W0ktRC5pZXRmLTwvc3Bhbj48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgdG8gc3BlY2lmeSA8c3BhbiBjbGFz
cz0iaW5zZXJ0Ij5hbjwvc3Bhbj4gZW5kcG9pbnQgb2YgdGhlIGNvbW11bmljYXRpb24uICBBcyBh
ZGRyZXNzZWQgaW48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgICAgc2hpbTYtYXBwLXJlZmVyXSw8
L3NwYW4+IGFwcGxpY2F0aW9uIG1heSA8c3BhbiBjbGFzcz0iZGVsZXRlIj5yZWZlciB0byBJRDwv
c3Bhbj4gaW4gPHNwYW4gY2xhc3M9ImRlbGV0ZSI+ZGlmZmVyZW50PC9zcGFuPiB3YXlzIGluPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgIDxzcGFuIGNsYXNzPSJpbnNlcnQi
PltJLUQuaWV0Zi1zaGltNi1hcHAtcmVmZXJdLDwvc3Bhbj4gYXBwbGljYXRpb24gbWF5IDxzcGFu
IGNsYXNzPSJpbnNlcnQiPmhhbmRsZSBFSUQ8L3NwYW4+IGluIDxzcGFuIGNsYXNzPSJpbnNlcnQi
PnZhcmlvdXM8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsYmxvY2siPiAgICAgIGRpZmZlcmVudCA8c3BhbiBjbGFzcz0iZGVsZXRlIj5zaXR1
YXRpb25zLjwvc3Bhbj4gIEluIGNhc2Ugb2YgU0hJTTYsIHRoZSA8c3BhbiBjbGFzcz0iZGVsZXRl
Ij5pZGVudGlmaWVyPC9zcGFuPiBpcyBjYWxsZWQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJi
bG9jayI+ICAgICAgd2F5cyBpbiBkaWZmZXJlbnQgPHNwYW4gY2xhc3M9Imluc2VydCI+dHlwZXMg
b2YgY29tbXVuaWNhdGlvbiBtb2RlbHMgc3VjaCBhcyBsb25nLWxpdmVkPC9zcGFuPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICBV
TElELiAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+SW4gSElQIGFyY2hpdGVjdHVyZSw8L3NwYW4+IHRo
ZSA8c3BhbiBjbGFzcz0iZGVsZXRlIj5lbmRwb2ludDwvc3Bhbj4gb2YgPHNwYW4gY2xhc3M9ImRl
bGV0ZSI+Y29tbXVuaWNhdGlvbiBpczwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJi
bG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgY29ubmVjdGlvbiwgY2FsbGJhY2ssIGFu
ZCByZWZlcnJhbC48L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgICAgIHJlcHJlc2VudGVk
IGJ5IEhvc3QgSWRlbnRpdHkgVGFnIChISVQpIHdoaWNoPC9zcGFuPiBpcyBhIDxzcGFuIGNsYXNz
PSJkZWxldGUiPmhhc2ggb2YgdGhlPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij48L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgIHB1YmxpYyBrZXkgPHNwYW4g
Y2xhc3M9ImRlbGV0ZSI+b3duZWQgYnk8L3NwYW4+IHRoZSBob3N0LiAgPHNwYW4gY2xhc3M9ImRl
bGV0ZSI+QnkgdXNpbmcgSElUIGluc3RlYWQ8L3NwYW4+IG9mIHB1YmxpYyBrZXk8L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgKjwvc3Bh
bj4gIEluIGNhc2Ugb2YgU0hJTTYsIHRoZSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5FSUQ8L3NwYW4+
IGlzIGNhbGxlZCBVTElELiAgPHNwYW4gY2xhc3M9Imluc2VydCI+VUxJRCBpcyBjaG9zZW4gZnJv
bTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxibG9jayI+ICAgICAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+Zm9yIGlkZW50aWZ5aW5nIHRoZSBw
ZWVyLCBsZWdhY3kgKG5vbiBISVAtYXdhcmUpPC9zcGFuPiBhcHBsaWNhdGlvbiA8c3BhbiBjbGFz
cz0iZGVsZXRlIj5jYW48L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxz
cGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgICAgIG9uZSBvZiBhdmFpbGFibGUgbG9jYXRvcnMgb248
L3NwYW4+IHRoZSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5ob3N0Ljwvc3Bhbj48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9
ImRlbGV0ZSI+ICAgICAgYWxzbyB0YWtlIGFkdmFudGFnZTwvc3Bhbj4gb2YgPHNwYW4gY2xhc3M9
ImRlbGV0ZSI+SElQLjwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNw
YW4gY2xhc3M9Imluc2VydCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9j
ayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgKiAgSW4gY2FzZTwvc3Bhbj4gb2YgPHNwYW4g
Y2xhc3M9Imluc2VydCI+SElQLCB0aGUgRUlEPC9zcGFuPiBpcyA8c3BhbiBjbGFzcz0iaW5zZXJ0
Ij5lc3NlbnRpYWxseTwvc3Bhbj4gYSBwdWJsaWMga2V5IDxzcGFuIGNsYXNzPSJpbnNlcnQiPm9m
PC9zcGFuPiB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgICAgIGhv
c3QuICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5JbiBvcmRlciB0byBwcmVzZXJ2ZSBiYWNrd2FyZCBj
b21wYXRpYmlsaXR5IG9mIGxlZ2FjeTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgICAgIGFwcGxpY2F0aW9uLCBoYXNoPC9z
cGFuPiBvZiBwdWJsaWMga2V5IDxzcGFuIGNsYXNzPSJpbnNlcnQiPmNhbGxlZCBIb3N0IElkZW50
aXR5IFRhZyAoSElUKTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxz
cGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgICAgIGlzIHVzZWQgYnk8L3NwYW4+IGFwcGxpY2F0aW9u
IDxzcGFuIGNsYXNzPSJpbnNlcnQiPmFzIGEgaGFuZGxlcjwvc3Bhbj4gb2YgPHNwYW4gY2xhc3M9
Imluc2VydCI+RUlELjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbyAg
TG9jYXRvciAtIElQIGFkZHJlc3MgYWN0dWFsbHkgdXNlZCB0byBkZWxpdmVyIHRoZSBJUCBwYWNr
ZXQuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgbyAgTG9jYXRvciAtIElQIGFk
ZHJlc3MgYWN0dWFsbHkgdXNlZCB0byBkZWxpdmVyIHRoZSBJUCBwYWNrZXQuPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBMb2NhdG9y
IHNob3VsZCBiZSBwcmVzZW50IGluIHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGZpZWxkIG9m
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgTG9jYXRvciBzaG91bGQgYmUg
cHJlc2VudCBpbiB0aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBmaWVsZCBvZjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkPjxhIG5h
bWU9ImRpZmYwMDA5Ij48L2E+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAgSVAgaGVhZGVyIG9m
IDxzcGFuIGNsYXNzPSJkZWxldGUiPnRoZTwvc3Bhbj4gcGFja2V0IHRoYXQgYXBwZWFycyBvbiA8
c3BhbiBjbGFzcz0iZGVsZXRlIj50aGU8L3NwYW4+IHdpcmUuICA8c3BhbiBjbGFzcz0iZGVsZXRl
Ij5JbiBjYXNlIG9mPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAg
ICBJUCBoZWFkZXIgb2YgPHNwYW4gY2xhc3M9Imluc2VydCI+YTwvc3Bhbj4gcGFja2V0IHRoYXQg
YXBwZWFycyBvbiB3aXJlLiAgPHNwYW4gY2xhc3M9Imluc2VydCI+Tm9ybWFsbHksPC9zcGFuPiBs
b2NhdG9yIDxzcGFuIGNsYXNzPSJpbnNlcnQiPmlzPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRl
Ij4gICAgICBJUHY2LDwvc3Bhbj4gbG9jYXRvciA8c3BhbiBjbGFzcz0iZGVsZXRlIj5zaG91bGQg
YmUgaW4gZm9ybSBvZiAxMjgtYml0IG9mIElQdjYgYWRkcmVzcy4gIEluPC9zcGFuPjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICBhc3Np
Z25lZCB0byB0aGUgbmV0d29yayBpbnRlcmZhY2U8L3NwYW4+IG9mIDxzcGFuIGNsYXNzPSJpbnNl
cnQiPnRoZSBob3N0LiAgQW5kIHRoZSBJUCBwYWNrZXQ8L3NwYW4+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxl
dGUiPiAgICAgIGNhc2U8L3NwYW4+IG9mIDxzcGFuIGNsYXNzPSJkZWxldGUiPklQdjQsPC9zcGFu
PiBsb2NhdG9yIDxzcGFuIGNsYXNzPSJkZWxldGUiPnNob3VsZCBiZSBpbiBmb3JtIG9mIDMyLWJp
dCBvZiBJUHY0IGFkZHJlc3MuPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2Nr
Ij48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICBkZXN0aW5lZCB0byBnaXZlbjwvc3Bhbj4gbG9j
YXRvciA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5pcyBkZWxpdmVyZWQgdG8gdGhlIG5ldHdvcmsgaW50
ZXJmYWNlIGJ5PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4g
Y2xhc3M9Imluc2VydCI+ICAgICAgdGhlIHJvdXRpbmcgc3lzdGVtLjwvc3Bhbj48L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbyAgU2hpbSAtIEEgY29uY2VwdHVhbCBsYXllciBpbnNp
ZGUgdGhlIElQIExheWVyIHdoaWNoIG1haW50YWluczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgIG8gIFNoaW0gLSBBIGNvbmNlcHR1YWwgbGF5ZXIgaW5zaWRlIHRoZSBJUCBMYXll
ciB3aGljaCBtYWludGFpbnM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPg0KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAxMCI+PC9hPjwvdGQ+PC90cj4N
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsYmxvY2siPiAgICAgIG1hcHBpbmdzIG9mIDxzcGFuIGNsYXNzPSJkZWxldGUiPklEPC9zcGFu
PiBhbmQgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+dGhlPC9zcGFuPiBsb2NhdG9yLiAgQW4gPHNwYW4g
Y2xhc3M9ImRlbGV0ZSI+SUQ8L3NwYW4+IGNhbiBiZSBhc3NvY2lhdGVkIHdpdGggbW9yZTwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICBtYXBwaW5ncyBvZiA8c3BhbiBjbGFz
cz0iaW5zZXJ0Ij5FSUQ8L3NwYW4+IGFuZCBsb2NhdG9yLiAgQW4gPHNwYW4gY2xhc3M9Imluc2Vy
dCI+RUlEPC9zcGFuPiBjYW4gYmUgYXNzb2NpYXRlZCB3aXRoIG1vcmU8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAgdGhhbiBvbmUg
bG9jYXRvcnMgYXQgYSB0aW1lIDxzcGFuIGNsYXNzPSJkZWxldGUiPmVzcGVjaWFsbHk8L3NwYW4+
IHdoZW4gdGhlIGhvc3QgaXM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAg
dGhhbiBvbmUgbG9jYXRvcnMgYXQgYSB0aW1lIHdoZW4gdGhlIGhvc3QgaXMgbXVsdGlob21lZC4g
IEZyb208L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxi
bG9jayI+ICAgICAgbXVsdGlob21lZC4gIEZyb20gPHNwYW4gY2xhc3M9ImRlbGV0ZSI+dGhlPC9z
cGFuPiBuZXR3b3JrIGFyY2hpdGVjdHVyZSBwZXJzcGVjdGl2ZSwgc2hpbTwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICBuZXR3b3JrIGFyY2hpdGVjdHVyZSBwZXJzcGVjdGl2
ZSwgc2hpbSBzaG91bGQgYmUgZXZlbiBvciBsb3dlcjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICBzaG91bGQgYmUgZXZlbiBvciBs
b3dlciB0aGFuIHRoZSBJUHNlYyBsYXllci4gIDxzcGFuIGNsYXNzPSJkZWxldGUiPlNISU02IGFu
ZCBISVAgYXJlPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICB0
aGFuIHRoZSBJUHNlYyBsYXllci4gIEl0IHNob3VsZCBiZSBub3RlZCB0aGF0IHRoZSB0ZXJtICdz
aGltJzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJs
b2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICAgICBleGFtcGxlcyBvZiBzaGltLjwvc3Bhbj4g
IEl0IHNob3VsZCBiZSBub3RlZCB0aGF0IHRoZSB0ZXJtICdzaGltJyBkb2VzPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgIGRvZXMgbm90IHJlZmVyIHRvIHNwZWNpZmljIHBy
b3RvY29sIGJ1dCByZWZlcnMgdG8gYSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5nZW5lcmljPC9zcGFu
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr
Ij4gICAgICBub3QgcmVmZXIgdG8gc3BlY2lmaWMgcHJvdG9jb2wgYnV0IHJlZmVycyB0byBhIDxz
cGFuIGNsYXNzPSJkZWxldGUiPmNvbmNlcHR1YWw8L3NwYW4+IGxheWVyPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIGNvbmNlcHQgb2Yg
YTwvc3Bhbj4gbGF5ZXIgdGhhdCA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5lbmFibGVzIHNlcGFyYXRp
b24gb2YgaWRlbnRpZmllciBhbmQ8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgIHRoYXQgPHNwYW4gY2xhc3M9ImRlbGV0
ZSI+cmVhbGl6ZXMgSUQvTG9jYXRvciBzZXBhcmF0aW9uLjwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgbG9jYXRvci4gIFNI
SU02IGFuZCBISVAgYXJlIGV4YW1wbGVzIG9mIHRoZSBzaGltLjwvc3Bhbj48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+DQogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDExIj48L2E+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+ICAgbyAgQ29udGV4dCAtIEEgc3RhdGUgaW5mb3JtYXRpb24gdG8gYmUgc2hh
cmVkIGJ5IHRoZSA8c3BhbiBjbGFzcz0iZGVsZXRlIj50d28gZW50aXRpZXMsPC9zcGFuPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBvICBDb250ZXh0IC0gQSBzdGF0ZSBpbmZv
cm1hdGlvbiB0byBiZSBzaGFyZWQgYnkgdGhlIDxzcGFuIGNsYXNzPSJpbnNlcnQiPnBlZXJzLDwv
c3Bhbj4gd2hpY2g8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+ICAgICAgd2hpY2ggPHNwYW4gY2xhc3M9ImRlbGV0ZSI+YmluZHMgdGhlIElE
PC9zcGFuPiBhbmQgYXNzb2NpYXRlZCBsb2NhdG9ycy4gIDxzcGFuIGNsYXNzPSJkZWxldGUiPk5v
dGUgdGhhdCB0aGUgY29udGV4dDwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9j
ayI+ICAgICAgPHNwYW4gY2xhc3M9Imluc2VydCI+ZXNzZW50aWFsbHkgc3RvcmVzIGEgYmluZGlu
ZyBvZiBFSUQ8L3NwYW4+IGFuZCBhc3NvY2lhdGVkIGxvY2F0b3JzLiAgPHNwYW4gY2xhc3M9Imlu
c2VydCI+VGhlPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICAgICBjYW4gYmUgdW5pcXVl
bHkgZGVmaW5lZCBieSBhIHBhaXIgb2YgSURzLiAgSGVuY2UsIGl0IGNvdWxkIGJlPC9zcGFuPjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICBjb250ZXh0IGlzIDxzcGFuIGNs
YXNzPSJpbnNlcnQiPm1haW50YWluZWQgaW5zaWRlIHRoZSBob3N0IGF0IHRoZTwvc3Bhbj4gc2hp
bSBsYXllci48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgICAgcG9zc2libGUgZm9yIHRvIGhvc3Rz
IHRvIGVzdGFibGlzaCBtdWx0aXBsZSBjb250ZXh0cyB0aGF0IGFyZTwvc3Bhbj48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgICAgIGJhc2Vk
IG9uIGRpZmZlcmVudCBJRCBwYWlycy4gIFNwZWNpZmljIHByb2NlZHVyZXMgdG8gZXN0YWJsaXNo
PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAgY29udGV4dCBp
cyA8c3BhbiBjbGFzcz0iZGVsZXRlIj5kZXBlbmRlbnQgb24gcHJvdG9jb2wgb2Y8L3NwYW4+IHNo
aW0gbGF5ZXIuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICBvICBMaXN0IG9mIExvY2F0b3JzIC0gQSBsaXN0IG9mIGF2YWls
YWJsZSBsb2NhdG9ycyBvbiB0aGUgaG9zdC4gIFRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgIG8gIExpc3Qgb2YgTG9jYXRvcnMgLSBBIGxpc3Qgb2YgYXZhaWxhYmxlIGxvY2F0
b3JzIG9uIHRoZSBob3N0LiAgVGhlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMTIiPjwvYT48L3RkPjwv
dHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGJsb2NrIj4gICAgICBsaXN0IHNob3VsZCBiZSA8c3BhbiBjbGFzcz0iZGVsZXRlIj5j
b250YWluZWQ8L3NwYW4+IGluIGEgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+Y29udGV4dCBpbmRpY2F0
aW5nIHRoZTwvc3Bhbj4gYWxsIGF2YWlsYWJsZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj4gICAgICBsaXN0IHNob3VsZCBiZSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5zdG9yZWQ8L3Nw
YW4+IGluIGEgPHNwYW4gY2xhc3M9Imluc2VydCI+Y29udGV4dCwgd2hpY2ggdGVsbHM8L3NwYW4+
IGFsbCBhdmFpbGFibGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxibG9jayI+ICAgICAgbG9jYXRvcnMgZm9yIHRoZSA8c3BhbiBjbGFzcz0iZGVsZXRl
Ij5ob3N0IHdoaWNoIGlzIGlkZXRuZmllZCBieSBnaXZlbiBJRC48L3NwYW4+ICBBcyBkZWZpbmVk
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgIGxvY2F0b3JzIGZvciB0aGUg
PHNwYW4gY2xhc3M9Imluc2VydCI+Y29tbXVuaWNhdGlvbiBiYXNlZCBvbiBFSUQgcGFpci48L3Nw
YW4+ICBBcyBkZWZpbmVkIGluPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgIGluIFtJLUQuaWV0Zi1zaGltNi1wcm90b10sIGxpc3Qg
b2YgbG9jYXRvcnMgb2YgYSBob3N0IHdob3NlIDxzcGFuIGNsYXNzPSJkZWxldGUiPklEPC9zcGFu
PiBpczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICBbSS1ELmlldGYtc2hp
bTYtcHJvdG9dLCBsaXN0IG9mIGxvY2F0b3JzIG9mIGEgaG9zdCB3aG9zZSA8c3BhbiBjbGFzcz0i
aW5zZXJ0Ij5FSUQ8L3NwYW4+IGlzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAnQScgY2FuIGJlIGRlbm90ZWQgYXMgTHMoQSkuPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgJ0EnIGNhbiBiZSBkZW5vdGVkIGFz
IExzKEEpLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlm
ZjAwMTMiPjwvYT48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBvICBQcmVmZXJyZWQgTG9jYXRvciAt
IFRoZSA8c3BhbiBjbGFzcz0iZGVsZXRlIj5tb3N0bHkgcHJlZmVycmVkIGxvY2F0b3Igb2YgdGhl
IHBlZXIgaG9zdDwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgbyAg
UHJlZmVycmVkIExvY2F0b3IgLSBUaGUgPHNwYW4gY2xhc3M9Imluc2VydCI+KHNvdXJjZS9kZXN0
aW5hdGlvbik8L3NwYW4+IGxvY2F0b3IgPHNwYW4gY2xhc3M9Imluc2VydCI+Y3VycmVudGx5PC9z
cGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJs
b2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICAgICBpZGVudGlmaWVkIGJ5IHRoZSBJRC4gIE5v
dGUgdGhhdCBwcmVmZXJyZWQ8L3NwYW4+IGxvY2F0b3IgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+c2hv
dWxkIGJlPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFz
cz0iaW5zZXJ0Ij4gICAgICB1c2VkIHRvIHNlbmQgcGFja2V0cy48L3NwYW4+ICBBcyBkZWZpbmVk
IGluIFtJLUQuaWV0Zi1zaGltNi1wcm90b10sPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgICAgIGRl
ZmluZWQgd2l0aGluIGEgY29udGV4dC48L3NwYW4+ICBBcyBkZWZpbmVkIGluIFtJLUQuaWV0Zi1z
aGltNi1wcm90b10sPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgIDxzcGFu
IGNsYXNzPSJpbnNlcnQiPnByZWZlcnJlZDwvc3Bhbj4gbG9jYXRvciBvZiBhIGhvc3Qgd2hvc2Ug
PHNwYW4gY2xhc3M9Imluc2VydCI+RUlEPC9zcGFuPiBpcyAnQScgY2FuIGJlIGRlbm90ZWQgYXM8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
ICAgICAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+cHJlZmVyZWQ8L3NwYW4+IGxvY2F0b3Igb2YgYSBo
b3N0IHdob3NlIDxzcGFuIGNsYXNzPSJkZWxldGUiPklEPC9zcGFuPiBpcyAnQScgY2FuIGJlIGRl
bm90ZWQgYXM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBMcChBKS48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBMcChBKS48L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgbyAgUmVhY2hhYmlsaXR5IERldGVjdGlvbiAtIEEgcHJvY2VkdXJl
IHRvIGRldGVjdCByZWFjaGFiaWxpdHk8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g
ICBvICBSZWFjaGFiaWxpdHkgRGV0ZWN0aW9uIC0gQSBwcm9jZWR1cmUgdG8gZGV0ZWN0IHJlYWNo
YWJpbGl0eTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQog
ICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDE0Ij48L2E+PC90ZD48L3RyPg0KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
ICAgICAgYmV0d2VlbiBnaXZlbiA8c3BhbiBjbGFzcz0iZGVsZXRlIj5wYWlyIG9mIGxvY2F0b3Jz
PC9zcGFuPi48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgYmV0d2VlbiBn
aXZlbiA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5sb2NhdG9yIHBhaXI8L3NwYW4+LjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBvICBQYXRoIC0gQSBzZXF1ZW5jZSBvZiByb3V0ZXJzIHRo
YXQgYW4gSVAgcGFja2V0IGdvZXMgdGhyb3VnaCB0bzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmlnaHQiPiAgIG8gIFBhdGggLSBBIHNlcXVlbmNlIG9mIHJvdXRlcnMgdGhhdCBhbiBJUCBwYWNr
ZXQgZ29lcyB0aHJvdWdoIHRvPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICByZWFjaCB0aGUgZGVzdGluYXRpb24uPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgcmVhY2ggdGhlIGRlc3RpbmF0aW9uLjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBvICBQYXRoIEV4cGxvcmF0aW9uIC0gQSBwcm9jZWR1
cmUgdG8gZXhwbG9yZSBhdmFpbGFibGUgcGF0aCBmb3IgZ2l2ZW48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICBvICBQYXRoIEV4cGxvcmF0aW9uIC0gQSBwcm9jZWR1cmUgdG8gZXhw
bG9yZSBhdmFpbGFibGUgcGF0aCBmb3IgZ2l2ZW48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIGxvY2F0b3IgcGFpcnMuPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgbG9jYXRvciBwYWlycy48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+DQogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDE1Ij48L2E+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIDxzcGFuIGNs
YXNzPSJpbnNlcnQiPm8gIE91dGFnZSAtIEFuIGluY2lkZW50IG1lYW5pbmcgdGhhdCB0aGUgcmVh
Y2hhYmlsaXR5IGFtb25nIGdpdmVuPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJi
bG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgbG9jYXRvciBwYWlyIGlzIGxvc3QuICBU
aGUgb3V0YWdlIGNvdWxkIGJlIGNhdXNlZCBieSBhbnkga2luZHMgb2Y8L3NwYW4+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICBwcm9i
bGVtcyBpbnNpZGUgdGhlIHJvdXRpbmcgaW5mcmFzdHJ1Y3R1cmUgYW5kIHByb2JsZW1zIG9mIG5l
dHdvcms8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFz
cz0iaW5zZXJ0Ij4gICAgICBpbnRlcmZhY2Ugb2YgdGhlIGVuZCBob3N0cy48L3NwYW4+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij48L3NwYW4+
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2si
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4g
ICBvICBXb3JraW5nIEFkZHJlc3MgUGFpciAtIEFuIGFkZHJlc3MgcGFpciBpcyBzYWlkIHRvIGJl
IHdvcmtpbmcgaWY8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3Bh
biBjbGFzcz0iaW5zZXJ0Ij4gICAgICB0aGUgcGFja2V0IGNvbnRhaW5pbmcgdGhlIGZpcnN0IGFk
ZHJlc3MgZnJvbSB0aGUgcGFpciBhcyBzb3VyY2U8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICBhZGRyZXNzIGFuZCB0aGUg
c2Vjb25kIGFkZHJlc3MgZnJvbSB0aGUgcGFpciBhcyBkZXN0aW5hdGlvbjwvc3Bhbj48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIGFk
ZHJlc3MgY2FuIHNhZmVseSB0cmF2ZWwgZnJvbSB0aGUgc291cmNlIHRvIHRoZSBkZXN0aW5hdGlv
biwgYW5kPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xh
c3M9Imluc2VydCI+ICAgICAgdmljZSB2ZXJzYS4gIElmIHRoZSByZWFjaGFiaWxpdHkgaXMgY29u
ZmlybWVkIGluIGJvdGggZGlyZWN0aW9ucyw8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICB0aGUgYWRkcmVzcyBwYWlycyBp
cyBzYWlkIHRvIGJlIGJpLWRpcmVjdGlvbmFsLiAgT3RoZXJ3aXNlLCBpdCdzPC9zcGFuPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAg
dW5pZGlyZWN0aW9uYWwuPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+
PHNwYW4gY2xhc3M9Imluc2VydCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJi
bG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgbyAgUkVBUCAtIEEgcHJvdG9jb2wgZm9yIGRl
dGVjdGluZyBmYWlsdXJlIGFuZCBleHBsb3JpbmcgcmVhY2hhYmlsaXR5PC9zcGFuPjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgaW4g
bXVsdGlob21lZCBlbnZpcm9ubWVudC4gIFJFQVAgaXMgZGVmaW5lZCBpbltJLUQuaWV0Zi1zaGlt
Ni08L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4N
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0i
aW5zZXJ0Ij4gICAgICBmYWlsdXJlLWRldGVjdGlvbl0uPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+PC9zcGFuPjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgbyAgRW5kcG9p
bnQgRGVzY3JpcHRvciAoRUQpIC0gVGhlIHJlcHJlc2VudGF0aW9uIG9mIGVuZHBvaW50cyBpczwv
c3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxi
bG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNl
cnQiPiAgICAgIGhpZGRlbiBmcm9tIHRoZSBhcHBsaWNhdGlvbnMuICBFRCBpcyBhICJoYW5kbGUi
IG9yICJwb2ludGVyIiB0bzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2si
PjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIHRoZSBhY3R1YWwgRUlELiAgQSBnaXZlbiBFRCBz
ZXJ2ZXMgYXMgYSBBSUQgW0ktRC5ub3JkbWFyay1tdWx0aTYtPC9zcGFuPjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgbm9pZF0uPC9z
cGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJs
b2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+NC4g
IFN5c3RlbSBPdmVydmlldzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjQuICBTeXN0
ZW0gT3ZlcnZpZXc8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICAg
ICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSs8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICBBcHBsaWNhdGlvbiAgICAgIHw8L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAg
QXBwbGljYXRpb24gICAgICB8PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0rPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICAg
ICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDE2
Ij48L2E+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXiAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imluc2VydCI+Xjwvc3Bhbj48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+KHZpYSBT
b2NrZXQgQVBJKTwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4g
Y2xhc3M9Imluc2VydCI+ICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fH5Tb2NrZXQgSW50ZXJm
YWNlfH5+fn5+fn5+fn5+fn5+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
djwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgICAgICAgICAgICAgICB2PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZWxl
dGUiPistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rPC9zcGFuPjwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICAgICAgICA8c3BhbiBjbGFz
cz0iaW5zZXJ0Ij4rLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKzwv
c3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxi
bG9jayI+ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZWxldGUi
PlNvY2tldDwvc3Bhbj4gTGF5ZXIgICAgICAgICAgICAgICB8PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgICAgICAgICAgIHw8L3NwYW4+
ICAgICAgICAgICB8ICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5UcmFuc3BvcnQ8L3NwYW4+IExheWVy
ICAgICAgICAgICAgIHw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxibG9jayI+ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+Ky0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSs8L3NwYW4+PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbnNlcnQi
PistLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rPC9zcGFuPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj4gICAgICAgICAgICAgICAgICAgICBeICAgICB8PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgICA8c3BhbiBjbGFzcz0iZGVs
ZXRlIj4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKzwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgIDxz
cGFuIGNsYXNzPSJpbnNlcnQiPistLS0tLS0tLS0tLS0tfC0tLS0tfC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0rPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICAgfCAgICAgICAgICAgICAgICAgICAg
ICAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHw8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgIHwgICAgICAgICAgICAg
djwvc3Bhbj4gICAgIHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfDwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAg
IHwgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICAgICstLS0tLS0tLS0tKyAg
ICB8ICBJUDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICB8ICAgKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgICArLS0tLS0tLS0tLSsgICAgfCAgSVA8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAg
ICB8ICAgfCAgICAgICAgICAgIFNoaW0gICAgICAgICAgICAgfCZsdDstLS0tLSZndDt8ICAgUkVB
UCAgIHwgICAgfCBMYXllcjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICB8
ICAgfCAgICAgICAgICAgIFNoaW0gICAgICAgICAgICAgfCZsdDstLS0tLSZndDt8ICAgUkVBUCAg
IHwgICAgfCBMYXllcjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgICAgIHwgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAg
ICAgICstLS0tLS0tLS0tKyAgICB8PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
ICAgIHwgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICAgICstLS0tLS0tLS0t
KyAgICB8PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgICAgICAgICAgICAgICAg
ICBeICAgICAgICAgIHw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgfCAg
ICAgICAgICAgICAgICAgICAgICAgXiAgICAgICAgICAgICAgICAgICAgICBeICAgICAgICAgIHw8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg
ICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0t
LS0tLS0tKzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICArLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tKzwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHYgICAgICAgICAgICAgICAgICAgICAgdjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ICAg
ICAgICAgICAgICAgICAgICAgIHY8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0rPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
ICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSs8
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRy
Pjx0ZD48YSBuYW1lPSJkaWZmMDAxNyI+PC9hPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgICAg
ICAgICAgIHwgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPkludGVyZmFjZSBMYXll
cjwvc3Bhbj4gICAgICAgICAgICAgfDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4g
ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gIExpbmsg
TGF5ZXIgICA8L3NwYW4+ICAgICAgICAgICAgIHw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+ICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSs8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRp
ZmYwMDE4Ij48L2E+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+
RmlndXJlLVg8L3NwYW4+IGlsbHVzdHJhdGVzIHRoZSBzeXN0ZW0gb3ZlcnZpZXcuICA8c3BhbiBj
bGFzcz0iZGVsZXRlIj5BcHBsaWNhdGlvbjwvc3Bhbj4gY2FuIHRha2U8L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJibG9jayI+ICAgPHNwYW4gY2xhc3M9Imluc2VydCI+RmlndXJlIDE6IFN5c3Rl
bSBPdmVydmlldzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxibG9jayI+ICAgYWR2YW50YWdlIG9mIHRoZSA8c3BhbiBjbGFzcz0iZGVsZXRl
Ij5Tb2NrZXQ8L3NwYW4+IEFQSSA8c3BhbiBjbGFzcz0iZGVsZXRlIj53aGljaCBjYW4gYmUgdXNl
ZDwvc3Bhbj4gdG8gaW50ZXJhY3Qgd2l0aCBzaGltPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgPHNwYW4gY2xhc3M9ImRlbGV0
ZSI+YXMgd2VsbCBhcyBSRUFQIGNvbXBvbmVudC4gIFRoZSBzaGltPC9zcGFuPiBsYXllciA8c3Bh
biBjbGFzcz0iZGVsZXRlIj5pcyBzb21ld2hlcmUgYmV0d2VlbiB0aGU8L3NwYW4+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgIEZpZ3VyZSAx
PC9zcGFuPiBpbGx1c3RyYXRlcyB0aGUgc3lzdGVtIG92ZXJ2aWV3LiAgPHNwYW4gY2xhc3M9Imlu
c2VydCI+VGhlIGFwcGxpY2F0aW9uPC9zcGFuPiBjYW4gdGFrZTwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRl
Ij4gICBJUDwvc3Bhbj4gbGF5ZXIgYW5kIDxzcGFuIGNsYXNzPSJkZWxldGUiPlRyYW5zcG9ydCBQ
cm90b2NvbCBMYXllcjwvc3Bhbj4gYW5kIDxzcGFuIGNsYXNzPSJkZWxldGUiPml0PC9zcGFuPiBj
bG9zZWx5IGludGVyYWN0cyB3aXRoPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAg
IGFkdmFudGFnZSBvZiB0aGUgPHNwYW4gY2xhc3M9Imluc2VydCI+c29ja2V0PC9zcGFuPiBBUEkg
dG8gaW50ZXJhY3Qgd2l0aCBzaGltIGxheWVyIDxzcGFuIGNsYXNzPSJpbnNlcnQiPmFuZCB0cmFu
c3BvcnQ8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsYmxvY2siPiAgIFJFQVAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+Y29tcG9uZW50IHdoaWNo
IGlzIHJlc3BvbnNpYmxlIGZvciBmYWlsdXJlIGRldGVjdGlvbjwvc3Bhbj4gYW5kPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIGxheWVyIDxzcGFuIGNsYXNzPSJpbnNlcnQiPmZv
ciBiZXR0ZXIgY29udHJvbCBvZiBsb2NhdG9yIG1hbmFnZW1lbnQ8L3NwYW4+IGFuZCA8c3BhbiBj
bGFzcz0iaW5zZXJ0Ij5mYWlsdXJlIGRldGVjdGlvbjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgPHNwYW4gY2xhc3M9ImRl
bGV0ZSI+cmVhY2hhYmlsaXR5IGV4cGxvcmF0aW9uLjwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJibG9jayI+ICAgYW5kIDxzcGFuIGNsYXNzPSJpbnNlcnQiPnBhdGggZXhwbG9yYXRp
b24uPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9
Imluc2VydCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4g
Y2xhc3M9Imluc2VydCI+ICAgSW5zaWRlIHRoZSBJUCBsYXllciwgdGhlcmUgaXMgYSBzaGltIHdo
aWNoPC9zcGFuPiBjbG9zZWx5IGludGVyYWN0cyB3aXRoPC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmJsb2NrIj4gICBSRUFQIDxzcGFuIGNsYXNzPSJpbnNlcnQiPmNvbXBvbmVudC4gIFRoZXJl
IGNvdWxkIGJlIGludGVyYWN0aW9uIGJldHdlZW4gdGhlIHNoaW08L3NwYW4+IGFuZDwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgPHNwYW4gY2xhc3M9Imluc2VydCI+dHJhbnNw
b3J0IGxheWVyLCBob3dldmVyIHRoZSBpbnRlcmFjdGlvbiBpcyBvdXRzaWRlIG9mIHNjb3BlIG9m
IHRoaXM8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFz
cz0iaW5zZXJ0Ij4gICBkb2N1bWVudC48L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPjUuICBSZXF1aXJlbWVudHM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij41LiAg
UmVxdWlyZW1lbnRzPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEZvbGxvd2luZyBp
cyBhIGxpc3Qgb2YgcmVxdWlyZW1lbnRzIGZyb20gdGhlIGFwcGxpY2F0aW9uIHBlcnNwZWN0aXZl
LjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEZvbGxvd2luZyBpcyBhIGxpc3Qg
b2YgcmVxdWlyZW1lbnRzIGZyb20gdGhlIGFwcGxpY2F0aW9uIHBlcnNwZWN0aXZlLjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkPjxh
IG5hbWU9ImRpZmYwMDE5Ij48L2E+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgVGhlc2UgcmVxdWly
ZW1lbnRzIGFyZSA8c3BhbiBjbGFzcz0iZGVsZXRlIj5iYXNlZCBvbiBkaXNjdXNzaW9ucyBvbiB0
aGUgU0hJTTYgbWFpbGluZzwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+
ICAgVGhlc2UgcmVxdWlyZW1lbnRzIGFyZSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5tYWlubHkgaWRl
bnRpZmllZDwvc3Bhbj4gZHVyaW5nIHRoZSBkaXNjdXNzaW9ucyBvbjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVs
ZXRlIj4gICBsaXN0LiAgQmVzaWRlcywgdGhlIGxpc3QgY29udGFpbnMgc29tZSBpc3N1ZXMgcmFp
c2VkPC9zcGFuPiBkdXJpbmcgdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAg
IFNISU02IDxzcGFuIGNsYXNzPSJpbnNlcnQiPldHPC9zcGFuPiBtYWlsaW5nIDxzcGFuIGNsYXNz
PSJpbnNlcnQiPmxpc3QuICBTb21lPC9zcGFuPiByZXF1aXJlbWVudHMgYXJlIGRlcml2ZWQgZnJv
bTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr
Ij4gICA8c3BhbiBjbGFzcz0iZGVsZXRlIj50ZWNobmljYWw8L3NwYW4+IGRpc2N1c3Npb25zIG9u
IDxzcGFuIGNsYXNzPSJkZWxldGUiPnRoZTwvc3Bhbj4gU0hJTTYgbWFpbGluZyA8c3BhbiBjbGFz
cz0iZGVsZXRlIj5saXN0IGFuZCBzb21lPC9zcGFuPiByZXF1aXJlbWVudHM8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJibG9jayI+ICAgUmVhY2hhYmlsaXR5IFByb3RvY29sIDxzcGFuIGNsYXNz
PSJpbnNlcnQiPmRvY3VtZW50W0ktRC5pZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0aW9uXS48L3Nw
YW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxv
Y2siPiAgIGFyZSBkZXJpdmVkIGZyb20gUmVhY2hhYmlsaXR5IFByb3RvY29sIDxzcGFuIGNsYXNz
PSJkZWxldGUiPmRvY3VtZW50W0ktRC5pZXRmLXNoaW02LTwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgIGZhaWx1cmUtZGV0ZWN0
aW9uXS48L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMjAiPjwvYT48L3RkPjwv
dHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGJsb2NrIj4gICBvICBMb2NhdG9yIDxzcGFuIGNsYXNzPSJkZWxldGUiPm1hbmFnZW1l
bnQgLTwvc3Bhbj4gTG9jYXRvciBtYW5hZ2VtZW50IGlzIDxzcGFuIGNsYXNzPSJkZWxldGUiPnBy
aW1hcnk8L3NwYW4+IHJvbGUgb2YgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+dGhlPC9zcGFuPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBvICBMb2NhdG9yIDxzcGFuIGNsYXNzPSJp
bnNlcnQiPm1hbmFnZW1lbnQuPC9zcGFuPiAgTG9jYXRvciBtYW5hZ2VtZW50IGlzIHJvbGUgb2Yg
c2hpbSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5sYXllciB0bzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAgc2hpbSA8c3Bh
biBjbGFzcz0iZGVsZXRlIj5sYXllciwgd2hpY2ggc2VjdXJlcyB0aGUgZGVsaXZlcnk8L3NwYW4+
IG9mIElQIDxzcGFuIGNsYXNzPSJkZWxldGUiPnBhY2tldCB0byB0aGUgcGVlci48L3NwYW4+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAg
IHNlbGVjdCBhIHBhaXI8L3NwYW4+IG9mIDxzcGFuIGNsYXNzPSJpbnNlcnQiPmxvY2F0b3JzIGZv
ciBzZW5kaW5nPC9zcGFuPiBJUCA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5wYWNrZXRzIHdpdGhpbiBn
aXZlbjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgICAgQWx0aG91Z2ggdGhlIHNoaW0g
bGF5ZXI8L3NwYW4+IGlzIDxzcGFuIGNsYXNzPSJkZWxldGUiPnRoZXJlIHRvIG1ha2UgdGhlIGxv
Y2F0b3IgaW5mb3JtYXRpb248L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2si
PjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIGNvbnRleHQuICBUaGUgc2VsZWN0aW9uPC9zcGFu
PiBpcyA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5tYWRlIGJ5IHRha2luZyBtaXNjZWxsYW5lb3VzIGNv
bmRpdGlvbnM8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgICAgIGludmlzaWJsZSB0byB0
aGUgdXBwZXIgbGF5ZXIgcHJvdG9jb2wsIHNvbWUgYWR2YW5jZWQgYXBwbGljYXRpb248L3NwYW4+
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAg
ICAgIGludG8gYWNjb3VudCBzdWNoIGFzIHJlYWNoYWJpbGl0eSBvZiBwYXRoLCBhcHBsaWNhdGlv
bidzPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICAgICBtYXkgaGF2ZSBkZXNpcmUgdG8g
YWNjZXNzIHRoZSBsb2NhdG9yIGluZm9ybWF0aW9uLjwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgcHJlZmVyZW5jZSwgYW5k
IGNoYXJhY3RlcmlzdGljcyBvZiBwYXRoLiAgRnJvbSBhcHBsaWNhdGlvbidzPC9zcGFuPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAg
cGVyc3BlY3RpdmU6PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQ+
PGEgbmFtZT0iZGlmZjAwMjEiPjwvYT48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICAqICA8c3Bh
biBjbGFzcz0iZGVsZXRlIj5BcHBsaWNhdGlvbjwvc3Bhbj4gc2hvdWxkIGJlIDxzcGFuIGNsYXNz
PSJkZWxldGUiPmFibGU8L3NwYW4+IHRvIG9idGFpbiBsaXN0IG9mIGxvY2F0b3JzIG9mIHRoZTwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAqICA8c3BhbiBjbGFzcz0iaW5z
ZXJ0Ij5JdDwvc3Bhbj4gc2hvdWxkIGJlIDxzcGFuIGNsYXNzPSJpbnNlcnQiPnBvc3NpYmxlPC9z
cGFuPiB0byBvYnRhaW4gbGlzdCBvZiBsb2NhdG9ycyBvZiB0aGUgPHNwYW4gY2xhc3M9Imluc2Vy
dCI+aG9zdDwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxibG9jayI+ICAgICAgICAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+aG9zdC48L3NwYW4+
ICBMcyhsb2NhbCkgYW5kIExzKHJlbW90ZSkuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxv
Y2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgICAgIHdpdGhpbiBhIGdpdmVuIGNvbnRleHQu
PC9zcGFuPiAgTHMobG9jYWwpIGFuZCBMcyhyZW1vdGUpLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4N
CiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMjIiPjwvYT48L3RkPjwvdHI+DQogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr
Ij4gICAgICAqICA8c3BhbiBjbGFzcz0iZGVsZXRlIj5BcHBsaWNhdGlvbjwvc3Bhbj4gc2hvdWxk
IGJlIDxzcGFuIGNsYXNzPSJkZWxldGUiPmFibGU8L3NwYW4+IHRvIG9idGFpbiBwcmVmZXJyZWQg
bG9jYXRvciBvZiB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgKiAg
PHNwYW4gY2xhc3M9Imluc2VydCI+SXQ8L3NwYW4+IHNob3VsZCBiZSA8c3BhbiBjbGFzcz0iaW5z
ZXJ0Ij5wb3NzaWJsZTwvc3Bhbj4gdG8gb2J0YWluIHByZWZlcnJlZCBsb2NhdG9yIG9mIHRoZSA8
c3BhbiBjbGFzcz0iaW5zZXJ0Ij5ub2RlPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICAgICA8c3BhbiBjbGFzcz0iZGVs
ZXRlIj5ub2RlLjwvc3Bhbj4gIExwKGxvY2FsKSBhbmQgTHAocmVtb3RlKS48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgICAgd2l0aGlu
IGEgZ2l2ZW4gY29udGV4dC48L3NwYW4+ICBMcChsb2NhbCkgYW5kIExwKHJlbW90ZSkuPC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAyMyI+PC9hPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPltOT1RFOiBUaGUg
aXNzdWU8L3NwYW4+IGFib3V0IDxzcGFuIGNsYXNzPSJkZWxldGUiPmxvY2F0b3IgbWFuYWdlbWVu
dDwvc3Bhbj4gaXMgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+d2VsbDwvc3Bhbj4gYWRkcmVzc2VkIGlu
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIDxzcGFuIGNsYXNzPSJpbnNlcnQi
Pm8gIE5vdGlmaWNhdGlvbiBmcm9tIGFwcGxpY2F0aW9uIHRvIHNoaW0gbGF5ZXI8L3NwYW4+IGFi
b3V0IDxzcGFuIGNsYXNzPSJpbnNlcnQiPnRoZSBzdGF0dXMgb2Y8L3NwYW4+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgIDxzcGFu
IGNsYXNzPSJkZWxldGUiPlNISU02IHJlZmVycmFscyBkb2N1bWVudFtJLUQuaWV0Zi1zaGltNi1h
cHAtcmVmZXJdXTwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4g
Y2xhc3M9Imluc2VydCI+ICAgICAgY29tbXVuaWNhdGlvbi4gIE5vdGUgdGhhdCB0aGUgbm90aWZp
Y2F0aW9uPC9zcGFuPiBpcyA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5tYWRlIGluIGV2ZW50IGJhc2Vk
PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imlu
c2VydCI+ICAgICAgbWFubmVyLiAgVGhlcmUgYXJlIG1haW5seSB0d28gYXNwZWN0cyBvZiB0aGUg
ZmVlZGJhY2sgdGhhdDwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxz
cGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIGFwcGxpY2F0aW9uIG9yIHVwcGVyIGxheWVyIHByb3Rv
Y29sIG1heSBwcm92aWRlIGZvciBzaGltIGxheWVyLDwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIHBvc2l0aXZlIGFuZCBu
ZWdhdGl2ZSBmZWVkYmFja3MgW05PVEU6IFRoZXNlIGZlZWRiYWNrcyBhcmU8L3NwYW4+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICBhZGRyZXNzZWQgaW4gPHNwYW4gY2xh
c3M9Imluc2VydCI+c2VjdG9pbiA0LjMgYW5kIHNlY3Rpb24gNS4yIG9mIFJFQVAgc3BlY2lmaWNh
dGlvbl06PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQ+PGEgbmFt
ZT0iZGlmZjAwMjQiPjwvYT48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICA8c3BhbiBjbGFzcz0iZGVs
ZXRlIj5vICBOb3RpZmljYXRpb24gZnJvbTwvc3Bhbj4gYXBwbGljYXRpb24gdG8gc2hpbSBsYXll
ciA8c3BhbiBjbGFzcz0iZGVsZXRlIj5hYm91dCB0aGUgb3V0YWdlLjwvc3Bhbj48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgPHNwYW4gY2xhc3M9Imluc2VydCI+KiAgUG9z
aXRpdmUgZmVlZGJhY2sgY291bGQgYmUgZ2l2ZW4gYnk8L3NwYW4+IGFwcGxpY2F0aW9uIDxzcGFu
IGNsYXNzPSJpbnNlcnQiPm9yIHVwcGVyIGxheWVyPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRl
Ij4gICAgICBBcHBsaWNhdGlvbiBzaG91bGQ8L3NwYW4+IGJlIDxzcGFuIGNsYXNzPSJkZWxldGUi
PmFibGU8L3NwYW4+IHRvIDxzcGFuIGNsYXNzPSJkZWxldGUiPmluZm9ybTwvc3Bhbj4gc2hpbSBs
YXllciA8c3BhbiBjbGFzcz0iZGVsZXRlIj5hYm91dCBvdXRhZ2UgaW48L3NwYW4+PC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgICAgIHBy
b3RvY29sIChlLmcuICBUQ1ApPC9zcGFuPiB0byA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij50aGU8L3Nw
YW4+IHNoaW0gbGF5ZXIgPHNwYW4gY2xhc3M9Imluc2VydCI+aW5mb3JtaW5nIHRoYXQgaXRzPC9z
cGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJs
b2NrIj4gICAgICBpdHMgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+Y29tbXVuaWNhdGlvbi48L3NwYW4+
ICBSRUFQIG1vZHVsZSBtYXkgYmUgdHJpZ2dlcmVkIGJ5IDxzcGFuIGNsYXNzPSJkZWxldGUiPnRo
aXM8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJp
bnNlcnQiPiAgICAgICAgIGNvbW11bmljYXRpb24gaXMgZ29pbmcgd2VsbC48L3NwYW4+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFu
IGNsYXNzPSJkZWxldGUiPiAgICAgIGluZGljYXRpb24gdG88L3NwYW4+IGludm9rZSBwcm9jZWR1
cmUgb2YgcGF0aCBleHBsb3JhdGlvbi4gIDxzcGFuIGNsYXNzPSJkZWxldGUiPltOT1RFOiBUaGlz
PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5z
ZXJ0Ij48L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgICAgIGlzIGFsc28gYWRkcmVzc2Vk
IGluIHNlY3Rpb24gNS4yIG9mIFJFQVAgc3BlY2lmaWNhdGlvbl08L3NwYW4+PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgICogIE5lZ2F0
aXZlIGZlZWRiYWNrIGNvdWxkPC9zcGFuPiBiZSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5naXZlbiBi
eSBhcHBsaWNhdGlvbiBvciB1cHBlciBsYXllcjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgICAgIHByb3RvY29sIChlLmcu
ICBUQ1ApPC9zcGFuPiB0byA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij50aGU8L3NwYW4+IHNoaW0gbGF5
ZXIgPHNwYW4gY2xhc3M9Imluc2VydCI+aW5mb3JtaW5nIHRoYXQ8L3NwYW4+IGl0czwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgICAgPHNwYW4gY2xhc3M9Imluc2VydCI+
Y29tbXVuaWNhdGlvbiBzdGF0dXMgaXMgbm90IHNhdGlzZmFjdG9yeS4gIFRDUCBjb3VsZCBkZXRl
Y3QgYTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNz
PSJpbnNlcnQiPiAgICAgICAgIHByb2JsZW0gd2hlbiBpdCBkb2VzIG5vdCByZWNlaXZlcyBleHBl
Y3RlZCBBQ0sgZnJvbSB0aGUgcGVlci48L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICAgICBJQ01QIGVycm9yIG1lc3NhZ2Vz
IGRlbGl2ZXJlZCB0byB0aGUgdXBwZXIgbGF5ZXIgcHJvdG9jb2wgY291bGQ8L3NwYW4+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICAg
ICBiZSBhIGNsdWUgZm9yIGFwcGxpY2F0aW9uIHRvIGRldGVjdCBhbnkga2luZCBvZiBwcm9ibGVt
Ljwvc3Bhbj4gIFJFQVA8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQg
Y2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgICAg
IG1vZHVsZSBtYXkgYmUgdHJpZ2dlcmVkIGJ5IDxzcGFuIGNsYXNzPSJpbnNlcnQiPnRoZXNlIG5l
Z2F0aXZlIGZlZWRiYWNrcyBhbmQ8L3NwYW4+IGludm9rZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+ICAgICAgICAgcHJvY2VkdXJlIG9mIHBhdGggZXhwbG9yYXRpb24uPC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5vICBGZWVkYmFj
ayBmcm9tIGFwcGxpY2F0aW9uIHRvIHNoaW0gbGF5ZXIuICBUaGUgYXBwbGljYXRpb24gc2hvdWxk
PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imlu
c2VydCI+ICAgICAgYmUgYWJsZSB0byBpbmZvcm0gdGhlIHNoaW0gbGF5ZXIgYWJvdXQgdGhlIHRp
bWVvdXQgdmFsdWVzIGZvcjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2si
PjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIGRldGVjdGluZyBmYWlsdXJlLCBmb3Igc2VuZGlu
ZyBrZWVwYWxpdmVzLCBmb3Igc3RhcnRpbmcgdGhlPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgZXhwbG9yYXRpb24gcHJv
Y2VkdXJlLiAgSW4gcGFydGljdWxhciwgdGhlIGFwcGxpY2F0aW9uIHNob3VsZCBiZTwvc3Bhbj48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAg
ICAgIGFibGUgdG8gc3VwcHJlc3MgdGhlIGtlZXBhbGl2ZXMuPC9zcGFuPjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICBvICBIb3Qtc3RhbmRieS4gIEFwcGxpY2F0aW9uIG1heSByZXF1
ZXN0IHNoaW0gbGF5ZXIgaWYgaG90LXN0YW5kYnk8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICBvICBIb3Qtc3RhbmRieS4gIEFwcGxpY2F0aW9uIG1heSByZXF1ZXN0IHNoaW0gbGF5
ZXIgaWYgaG90LXN0YW5kYnk8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPg0KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAyNSI+PC9hPjwvdGQ+PC90cj4N
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsYmxvY2siPiAgICAgIGNvbm5lY3Rpb24gaXMgbmVlZGVkLiAgPHNwYW4gY2xhc3M9ImRlbGV0
ZSI+SG90LXN0YW5kYnkgaXMgYW48L3NwYW4+IGFsdGVybmF0aXZlIDxzcGFuIGNsYXNzPSJkZWxl
dGUiPnBhdGggKGxvY2F0b3I8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2si
PiAgICAgIGNvbm5lY3Rpb24gaXMgbmVlZGVkLiAgPHNwYW4gY2xhc3M9Imluc2VydCI+SW4gdGhp
cyBjYXNlLDwvc3Bhbj4gYWx0ZXJuYXRpdmUgPHNwYW4gY2xhc3M9Imluc2VydCI+cGF0aHMgYXJl
IGtub3duPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj4gICAgICBwYWlyKSB3aGljaCBjYW48
L3NwYW4+IGJlIGltbWVkaWF0ZWx5IDxzcGFuIGNsYXNzPSJkZWxldGUiPnJlcGxhY2VkIHdpdGg8
L3NwYW4+IHRoZSBjdXJyZW50IGxvY2F0b3I8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9j
ayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgdG88L3NwYW4+IGJlIDxzcGFuIGNsYXNzPSJp
bnNlcnQiPndvcmtpbmcuICBIZW5jZSBpdCBpcyBwb3NzaWJsZSBmb3IgdGhlIGhvc3QgdG88L3Nw
YW4+IGltbWVkaWF0ZWx5PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICA8
c3BhbiBjbGFzcz0iaW5zZXJ0Ij5yZXBsYWNlPC9zcGFuPiB0aGUgY3VycmVudCBsb2NhdG9yIDxz
cGFuIGNsYXNzPSJpbnNlcnQiPnBhaXIgd2l0aCB0aGUgYWx0ZXJuYXRpdmUgbG9jYXRvcjwvc3Bh
bj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQi
PiAgICAgIHBhaXIuICBIb3Qtc3RhbmRieSBtYXkgYWxsb3cgYXBwbGljYXRpb24gdG8gYWNoaWV2
ZSBiZXR0ZXI8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBwYWlyLiAgSG90
LXN0YW5kYnkgbWF5IGFsbG93IGFwcGxpY2F0aW9uIHRvIGFjaGlldmUgYmV0dGVyPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBmYWls
b3Zlci48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBmYWlsb3Zlci48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbyAgRWFnZXJuZXNzIG9mIGxvY2F0b3IgZXhw
bG9yYXRpb24uICBBcHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZSB0bzwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmlnaHQiPiAgIG8gIEVhZ2VybmVzcyBvZiBsb2NhdG9yIGV4cGxvcmF0aW9uLiAg
QXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUgdG88L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIHNwZWNpZnkgc2hpbSBsYXllciBob3cg
YWdncmVzc2l2ZSBpdCB3YW50cyB0byBzZWFyY2ggYWx0ZXJuYXRpdmU8L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBzcGVjaWZ5IHNoaW0gbGF5ZXIgaG93IGFnZ3Jlc3NpdmUg
aXQgd2FudHMgdG8gc2VhcmNoIGFsdGVybmF0aXZlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBwYXRoIChlLmcuIHNwZWNpZnlpbmcg
dGhlIG51bWJlciBvZiBjb25jdXJyZW50IGF0dGVtcHRzIG9mPC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyaWdodCI+ICAgICAgcGF0aCAoZS5nLiBzcGVjaWZ5aW5nIHRoZSBudW1iZXIgb2YgY29u
Y3VycmVudCBhdHRlbXB0cyBvZjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgZGlzY292ZXJpbmcgd29ya2luZyBsb2NhdG9yIHBhaXIp
IHdoZW4gYW4gb3V0YWdlIG9jY3VycyBvbiB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICAgICBkaXNjb3ZlcmluZyB3b3JraW5nIGxvY2F0b3IgcGFpcikgd2hlbiBhbiBvdXRh
Z2Ugb2NjdXJzIG9uIHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGVmdCI+ICAgICAgcGF0aCBiZXR3ZWVuIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQg
bG9jYXRvciBwYWlyLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIHBhdGgg
YmV0d2VlbiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGxvY2F0b3IgcGFpci48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+DQogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDI2Ij48L2E+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+ICAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+byAgRG9uJ3QgYXBwbHkgc2hpbS4g
IEFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvIHJlcXVlc3Qgc2hpbTwvc3Bhbj48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgICAgIGxh
eWVyIG5vdCB0byBhcHBseSBJRC9Mb2NhdG9yIGFkYXB0YXRpb24gYnV0IHRvIGFwcGx5IG5vcm1h
bCBJUDwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNz
PSJkZWxldGUiPiAgICAgIHByb2Nlc3NpbmcgYXQgdGhlIElQIGxheWVyLjwvc3Bhbj48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBvICBQcm92aWRpbmcgbG9jYXRvciBpbmZvcm1hdGlvbiB0
byBhcHBsaWNhdGlvbi4gIEFwcGxpY2F0aW9uIHNob3VsZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgIG8gIFByb3ZpZGluZyBsb2NhdG9yIGluZm9ybWF0aW9uIHRvIGFwcGxpY2F0
aW9uLiAgQXBwbGljYXRpb24gc2hvdWxkPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMjciPjwvYT48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGJsb2NrIj4gICAgICBiZSBhYmxlIHRvIG9idGFpbiBpbmZvcm1hdGlvbiBhYm91
dCB0aGUgbG9jYXRvciB3aGljaCB3YXMgYWN0dWFsbHk8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJibG9jayI+ICAgICAgYmUgYWJsZSB0byBvYnRhaW4gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxv
Y2F0b3IgPHNwYW4gY2xhc3M9Imluc2VydCI+cGFpcjwvc3Bhbj4gd2hpY2ggd2FzPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgIHVz
ZWQgdG8gcmVjZWl2ZSB0aGUgcGFja2V0LiAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+V2l0aCB0aGlz
IGluZm9ybWF0aW9uLCBhcHBsaWNhdGlvbjwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJibG9jayI+ICAgICAgYWN0dWFsbHkgdXNlZCB0byA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5zZW5k
IG9yPC9zcGFuPiByZWNlaXZlIHRoZSBwYWNrZXQuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgICAg
IGNhbiB2ZXJpZnkgaWYgaXRzIHByZWZlcmVuY2Ugb24gY2hvaWNlIG9mIGxvY2F0b3IgaXMgYWN0
dWFsbHk8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFz
cz0iZGVsZXRlIj4gICAgICBhcHBsaWVkIHRvIGl0cyBmbG93IG9yIG5vdC48L3NwYW4+PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAg
IDx0cj48dGQ+PGEgbmFtZT0iZGlmZjAwMjgiPjwvYT48L3RkPjwvdHI+DQogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICA8
c3BhbiBjbGFzcz0iZGVsZXRlIj5vICBBcHBsaWNhdGlvbiBzaG91bGQ8L3NwYW4+IGJlIDxzcGFu
IGNsYXNzPSJkZWxldGUiPmFibGUgdG8gc3BlY2lmeSBpZiBpdCB3YW50cyB0byBkZWZlcjwvc3Bh
bj4gdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgIDxzcGFuIGNsYXNz
PSJpbnNlcnQiPiogIEZvciBpbmJvdW5kIHRyYWZmaWMsIGFwcGxpY2F0aW9uIG1heTwvc3Bhbj4g
YmUgPHNwYW4gY2xhc3M9Imluc2VydCI+aW50ZXJlc3RlZCBpbjwvc3Bhbj4gdGhlPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgIDxz
cGFuIGNsYXNzPSJkZWxldGUiPmNvbnRleHQgc2V0dXAgb3IgaXQgd2FudHMgY29udGV4dCBlc3Rh
Ymxpc2htZW50PC9zcGFuPiB0byA8c3BhbiBjbGFzcz0iZGVsZXRlIj5iZSBzdGFydGVkIGlmPC9z
cGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICA8c3BhbiBjbGFz
cz0iaW5zZXJ0Ij5sb2NhdG9yIHBhaXIgd2hpY2ggd2FzIGFjdHVhbGx5IHVzZWQ8L3NwYW4+IHRv
IDxzcGFuIGNsYXNzPSJpbnNlcnQiPnJlY2VpdmUgdGhlIHBhY2tldC48L3NwYW4+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNs
YXNzPSJkZWxldGUiPiAgICAgIHRoZXJlIGlzIG5vIGF2YWlsYWJsZSBjb250ZXh0Ljwvc3Bhbj48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0K
ICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAyOSI+PC9hPjwvdGQ+PC90cj4NCiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2si
PjYuICBJc3N1ZXMgb2YgSGFuZGxpbmcgTXVsdGlwbGUgTG9jYXRvcnMgd2l0aCA8c3BhbiBjbGFz
cz0iZGVsZXRlIj5MZWdhY3kgU29ja2V0IEFQSTwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+ICAgICAgPHNwYW4gY2xhc3M9Imluc2VydCI+KiAgRm9yIG91dGJvdW5kIHRy
YWZmaWMsIGFwcGxpY2F0aW9uIG1heSBiZSBpbnRlcmVzdGVkIGluIHRoZTwvc3Bhbj48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgICAg
IGxvY2F0b3IgcGFpciB3aGljaCB3YXMgYWN0dWFsbHkgdXNlZCB0byB0cmFuc21pdCB0aGUgcGFj
a2V0Ljwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNz
PSJpbnNlcnQiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFu
IGNsYXNzPSJpbnNlcnQiPiAgICAgIEluIHRoaXMgd2F5LCBhcHBsaWNhdGlvbiBtYXkgaGF2ZSBh
ZGRpdGlvbmFsIGNvbnRyb2wgb24gbG9jYXRvcjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIG1hbmFnZW1lbnQuICBGb3Ig
ZXhhbXBsZSwgYXBwbGljYXRpb24gY2FuIHZlcmlmeSBpZiBpdHMgcHJlZmVyZW5jZTwvc3Bhbj48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAg
ICAgIG9mIGxvY2F0b3IgaXMgYWN0dWFsbHkgYXBwbGllZCB0byB0aGUgZmxvdyBvciBub3QuPC9z
cGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJs
b2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+Ni4gIElzc3VlcyBvZiBIYW5kbGluZyBN
dWx0aXBsZSBMb2NhdG9ycyB3aXRoIDxzcGFuIGNsYXNzPSJpbnNlcnQiPnNoaW0gdW5hd2FyZSBh
cHBsaWNhdGlvbnM8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEluIG11
bHRpaG9tZWQgZW52aXJvbm1lbnQgd2hlcmUgZWl0aGVyIG9yIGJvdGggb2YgdGhlIHBlZXJzIGhh
dmU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBJbiBtdWx0aWhvbWVkIGVudmly
b25tZW50IHdoZXJlIGVpdGhlciBvciBib3RoIG9mIHRoZSBwZWVycyBoYXZlPC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQ+PGEgbmFt
ZT0iZGlmZjAwMzAiPjwvYT48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBtdWx0aXBsZSBsb2NhdG9y
cywgdGhlcmUgYXJlIHNvbWUgaXNzdWVzIHdpdGggbGVnYWN5IDxzcGFuIGNsYXNzPSJkZWxldGUi
PlM8L3NwYW4+b2NrZXQgQVBJLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBt
dWx0aXBsZSBsb2NhdG9ycywgdGhlcmUgYXJlIHNvbWUgaXNzdWVzIHdpdGggbGVnYWN5IDxzcGFu
IGNsYXNzPSJpbnNlcnQiPnM8L3NwYW4+b2NrZXQgQVBJLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4N
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij42LjEuICBJbml0aWFsIENvbnRhY3Q8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij42LjEuICBJbml0aWFsIENvbnRhY3Q8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8
dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDMxIj48L2E+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgV2hl
biBhcHBsaWNhdGlvbiB0byBlc3RhYmxpc2ggY29tbXVuaWNhdGlvbiB3aXRoIGl0cyBwZWVyIHdo
byBoYXBwZW5zPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIFdoZW4gYXBwbGlj
YXRpb24gPHNwYW4gY2xhc3M9Imluc2VydCI+aXMgZ29pbmc8L3NwYW4+IHRvIGVzdGFibGlzaCBj
b21tdW5pY2F0aW9uIHdpdGggaXRzIHBlZXI8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgdG8gaGF2ZSBtdWx0aXBsZSBsb2NhdG9ycywg
dGhlcmUgYXJlIHNvbWUgaXNzdWVzIHRvIGNvbnNpZGVyLiAgSW48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJibG9jayI+ICAgd2hvIGhhcHBlbnMgdG8gaGF2ZSBtdWx0aXBsZSBsb2NhdG9ycywg
dGhlcmUgYXJlIHNvbWUgaXNzdWVzIHRvPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIGNvbm5lY3Rpb24gb3JpZW50ZWQgY29tbXVuaWNh
dGlvbiwgY29ubmVjdCgpIHN5c3RlbSBjYWxsIGlzIHVzZWQgdG88L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJibG9jayI+ICAgY29uc2lkZXIuICBJbiBjb25uZWN0aW9uIG9yaWVudGVkIGNvbW11
bmljYXRpb24sIGNvbm5lY3QoKSBzeXN0ZW08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgbWFrZSB0aGUgaW5pdGlhbCBjb250YWN0IHRv
IHRoZSBwZWVyLCB3aGljaCByZXF1aXJlcyBJUCBhZGRyZXNzIGFuZDwvdGQ+PHRkPiA8L3RkPjx0
ZCBjbGFzcz0icmJsb2NrIj4gICBjYWxsIGlzIHVzZWQgdG8gbWFrZSB0aGUgaW5pdGlhbCBjb250
YWN0IHRvIHRoZSBwZWVyLCB3aGljaCByZXF1aXJlczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBwb3J0IG51bWJlciB0byBzcGVjaWZ5
IHRoZSBlbmRwb2ludC4gIEhlbmNlLCA8c3BhbiBjbGFzcz0iZGVsZXRlIj5uYW1lLXRvLWFkZHJl
c3M8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIElQIGFkZHJlc3Mg
YW5kIHBvcnQgbnVtYmVyIHRvIHNwZWNpZnkgdGhlIGVuZHBvaW50LiAgSGVuY2UsIDxzcGFuIGNs
YXNzPSJpbnNlcnQiPm5hbWUtdG8tPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICByZXNvbHV0aW9uIHNob3VsZCBiZSBwZXJm
b3JtZWQgcHJpb3IgdG8gY29ubmVjdCgpLiAgQXBwbGljYXRpb24gbmVlZHM8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgYWRkcmVzczwvc3Bh
bj4gcmVzb2x1dGlvbiBzaG91bGQgYmUgcGVyZm9ybWVkIHByaW9yIHRvIGNvbm5lY3QoKS48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAg
dG8gcmVzb2x2ZSA8c3BhbiBjbGFzcz0iZGVsZXRlIj5JUCBhZGRyZXNzPC9zcGFuPiBvZiB0aGUg
cGVlciA8c3BhbiBjbGFzcz0iZGVsZXRlIj5mcm9tIGl0cyBGUUROPC9zcGFuPiBieSBhbnkgYXZh
aWxhYmxlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIEFwcGxpY2F0aW9uIG5l
ZWRzIHRvIHJlc29sdmUgPHNwYW4gY2xhc3M9Imluc2VydCI+RlFETjwvc3Bhbj4gb2YgdGhlIHBl
ZXIgPHNwYW4gY2xhc3M9Imluc2VydCI+dG8gYW4gSVAgYWRkcmVzczwvc3Bhbj4gYnkgYW55PC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAg
IG5hbWUtdG8tYWRkcmVzcyBjb252ZXJzaW9uIG1ldGhvZC4gIEluIHR5cGljYWwgY2FzZSwgdGhl
IGFwcGxpY2F0aW9uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIGF2YWlsYWJs
ZSBuYW1lLXRvLWFkZHJlc3MgY29udmVyc2lvbiBtZXRob2QuPC90ZD48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIHJlY2VpdmVzIGluZm9ybWF0
aW9uIGZyb20gcmVzb2x2ZXIuICBJZiB0aGUgYXBwbGljYXRpb24gZW5kcyB1cCB3aXRoPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgcmVjZWl2aW5n
IG11bHRpcGxlIElQIGFkZHJlc3NlcyB0byByZWFjaCB0aGUgcGVlciwgPHNwYW4gY2xhc3M9ImRl
bGV0ZSI+dGhlcmUgYXJlIHNldmVyYWw8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPiAgIEluIHR5cGljYWwgY2FzZSwgdGhlIGFwcGxpY2F0aW9uIHJlY2VpdmVzIGluZm9y
bWF0aW9uIGZyb20gcmVzb2x2ZXIuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgIG9wdGlvbnM8L3Nw
YW4+IHRvIDxzcGFuIGNsYXNzPSJkZWxldGUiPm1ha2U8L3NwYW4+IHRoZSA8c3BhbiBjbGFzcz0i
ZGVsZXRlIj5pbml0aWFsIGNvbnRhY3QuICBPbmUgb3B0aW9uPC9zcGFuPiBpcyB0byA8c3BhbiBj
bGFzcz0iZGVsZXRlIj5pc3N1ZTwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9j
ayI+ICAgSWYgdGhlIGFwcGxpY2F0aW9uIGVuZHMgdXAgd2l0aCByZWNlaXZpbmcgbXVsdGlwbGUg
SVAgYWRkcmVzc2VzIHRvPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsYmxvY2siPiAgIGNvbmN1cnJlbnQgY29ubmVjdCgpIHdpdGggZXZlcnkgbG9jYXRv
ciBvZiB0aGUgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+cGVlciwgd2hpY2ggaXMgZG9uZTwvc3Bhbj4g
aW48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgcmVhY2ggdGhlIHBlZXIsIDxz
cGFuIGNsYXNzPSJpbnNlcnQiPml0IHNob3VsZCBpdGVyYXRlIGVhY2ggZGVzdGluYXRpb24gYWRk
cmVzcyBvbmUtYnktPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGJsb2NrIj4gICA8c3BhbiBjbGFzcz0iZGVsZXRlIj5zb21lIGFwcGxpY2F0
aW9ucyB0b2RheS4gIEFub3RoZXIgb3B0aW9uPC9zcGFuPiB3b3VsZCA8c3BhbiBjbGFzcz0iZGVs
ZXRlIj5iZTwvc3Bhbj4gdG8gPHNwYW4gY2xhc3M9ImRlbGV0ZSI+cmVxdWVzdDwvc3Bhbj4gc2hp
bTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4g
ICBvbmUuICBJdCBzaG91bGQgYmUgbm90ZWQgdGhhdCB0aGUgaG9zdCBtYXkgYWxzbyBoYXZlIG11
bHRpcGxlIHNvdXJjZTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgbGF5ZXIgZm9yIDxzcGFuIGNsYXNzPSJkZWxldGUiPnRh
a2luZyBjYXJlIG9mPC9zcGFuPiBpbml0aWFsIGNvbnRhY3QuICA8c3BhbiBjbGFzcz0iZGVsZXRl
Ij5BbmQ8L3NwYW4+IGJlaGF2aW9yIG9mIHNoaW0gbGF5ZXI8L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgYWRkcmVzc2VzLjwvc3Bhbj48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAg
d2lsbCBkZXBlbmQgb24gPHNwYW4gY2xhc3M9ImRlbGV0ZSI+dGhlPC9zcGFuPiBwcmVzZW5jZSBv
ZiA8c3BhbiBjbGFzcz0iZGVsZXRlIj50aGU8L3NwYW4+IHJlcXVpcmVkIGNvbnRleHQuICBJZiB0
aGVyZSBleGlzdHM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9
Imluc2VydCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
PjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0
ZCBjbGFzcz0ibGJsb2NrIj4gICB0aGUgY29udGV4dCBmb3IgdGhlIDxzcGFuIGNsYXNzPSJkZWxl
dGUiPklEPC9zcGFuPiBzcGVjaWZpZWQgaW4gdGhlIGNvbm5lY3QoKSwgdGhlIGluaXRpYWw8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgVGhl
IGRpZmZlcmVudCByZXN1bHRpbmcgYWRkcmVzcyBwYWlyIG1heSBoYXZlIGRpZmZlcmVudCByZWFj
aGFiaWxpdHk8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsYmxvY2siPiAgIGNvbnRhY3QgY2FuIGJlIG1hZGUgaW4gYWNjb3JkYW5jZSB3aXRo
IHRoZSBjb250ZXh0IGluZm9ybWF0aW9uLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2Nr
Ij48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBzdGF0dXMgc28sIGluIG9yZGVyPC9zcGFuPiB0byA8
c3BhbiBjbGFzcz0iaW5zZXJ0Ij5maW5kIGEgd29ya2luZyBhZGRyZXNzIHBhaXIsIGl0IG1heSBi
ZTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxibG9jayI+ICAgT3RoZXJ3aXNlLCBzaGltIGxheWVyIHNob3VsZCBpbnZva2UgY29udGV4dCBl
c3RhYmxpc2htZW50IHdpdGggdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxz
cGFuIGNsYXNzPSJpbnNlcnQiPiAgIHJlcXVpcmVkIHRvIGV4cGxvcmUgYWxsPC9zcGFuPiB0aGUg
PHNwYW4gY2xhc3M9Imluc2VydCI+YXZhaWxhYmxlIGFkZHJlc3MgcGFpcnMgKGFzIG9wcG9zZWQg
dG88L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4N
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsYmxvY2siPiAgIHBlZXIgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+SUQ8L3NwYW4+IHNwZWNpZmll
ZCBpbiB0aGUgYXJndW1lbnQgZm9yIGNvbm5lY3QoKS4gIEFkZGl0aW9uYWwgZWZmb3J0czwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBleHBs
b3JlIGFsbCBhdmFpbGFibGUgZGVzdGluYXRpb24gYWRkcmVzc2VzKS48L3NwYW4+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIHdvdWxk
IGJlIHJlcXVpcmVkIGluIGEgY2FzZSB3aGVyZSB0aGUgcGVlciBjYW5ub3QgYmUgcmVhY2hhYmxl
IGJ5IHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5z
ZXJ0Ij48L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsYmxvY2siPiAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPklEPC9zcGFuPiAoZm9yIGV4YW1w
bGUsIDxzcGFuIGNsYXNzPSJkZWxldGUiPklEPC9zcGFuPiBpcyBub24tcm91dGFibGUgb3Igbm9u
LUlQIHJlYWNoYWJsZSkgYnV0IGNhbiBiZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2Nr
Ij48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBJbiBub3JtYWwgY2FzZSwgYXBwbGljYXRpb24gaXNz
dWVzIGNvbm5lY3QoKSBieSBzcGVjaWZ5aW5nIHJlc29sdmVkPC9zcGFuPjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICByZWFjaGVkIGJ5
IGFsdGVybmF0aXZlIGxvY2F0b3IuICBJbiBwYXJ0aWN1bGFyLCBzaGltIGxheWVyIHNob3VsZDwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBJ
UCBhZGRyZXNzIG9mIHRoZSBwZWVyLiAgSWYgdGhlIGNvbm5lY3QoKSBmYWlscywgSVAgYWRkcmVz
cyBpczwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+ICAgc29tZWhvdyBkaXNjb3ZlciB0aGUgYWx0ZXJuYXRlIGxvY2F0b3IgZm9y
IHRoZSA8c3BhbiBjbGFzcz0iZGVsZXRlIj5JRDwvc3Bhbj4gdG8gZXN0YWJsaXNoPC90ZD48dGQ+
IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgIGl0ZXJhdGVk
IG9uZSBieSBvbmUgc2VxdWVudGlhbGx5IHVudGlsIHdvcmtpbmcgcGFpciBpcyBmb3VuZC48L3Nw
YW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxv
Y2siPiAgIGNvbnRleHQuICBbSS1ELm5vcmRtYXJrLXNoaW02LWVzZF0gYWRkcmVzc2VzIHRoZSBw
b3NzaWJsZSBhcHByb2FjaCB0bzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3Bh
biBjbGFzcz0iaW5zZXJ0Ij4gICBBbm90aGVyIGFwcHJvYWNoPC9zcGFuPiBpcyB0byA8c3BhbiBj
bGFzcz0iaW5zZXJ0Ij5pbml0aWF0ZTwvc3Bhbj4gY29uY3VycmVudCBjb25uZWN0KCkgd2l0aCBl
dmVyeTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJs
b2NrIj4gICBwZXJmb3JtIHJldmVyc2UgRE5TIGxvb2t1cCBmcm9tIDxzcGFuIGNsYXNzPSJkZWxl
dGUiPklEPC9zcGFuPiB0byBGUUROLCB0aGVuIHBlcmZvcm0gZm9yd2FyZDwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmJsb2NrIj4gICBsb2NhdG9yIG9mIHRoZSA8c3BhbiBjbGFzcz0iaW5zZXJ0
Ij5wZWVyLiBjb25uZWN0KCkgY2FuIGFsc28gYmUgY2FsbGVkPC9zcGFuPiBpbiA8c3BhbiBjbGFz
cz0iaW5zZXJ0Ij5hIHNlcXVlbmNlIHdoaWNoPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBsb29rdXAgYWdhaW4gdG8gZmlu
ZCB0aGUgZnVsbC1zZXQgb2YgbG9jYXRvcnMgYW5kIDxzcGFuIGNsYXNzPSJkZWxldGUiPklELiAg
SG93ZXZlciwgdGhpczwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAg
d291bGQgPHNwYW4gY2xhc3M9Imluc2VydCI+cHJvYmFibHkgcmVxdWlyZSBtb3JlIHRpbWU8L3Nw
YW4+IHRvIDxzcGFuIGNsYXNzPSJpbnNlcnQiPmZpbmQgdGhlIHdvcmtpbmcgcGFpci48L3NwYW4+
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2si
PjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgIGFwcHJvYWNoIGRvZXM8L3NwYW4+IG5vdCA8c3BhbiBj
bGFzcz0iZGVsZXRlIj5oZWxwPC9zcGFuPiB0aGUgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+Y2FzZSB3
aGVyZSBJRDwvc3Bhbj4gaXMgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+bm90IGluIGZvcm0gb2Y8L3Nw
YW4+IElQIDxzcGFuIGNsYXNzPSJkZWxldGUiPmFkZHJlc3M8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPjwvc3Bhbj48L3RkPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xh
c3M9ImRlbGV0ZSI+ICAgKGUuZy4gIEhJVDwvc3Bhbj4gaW4gPHNwYW4gY2xhc3M9ImRlbGV0ZSI+
SElQIGNhc2UpLjwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4g
Y2xhc3M9Imluc2VydCI+ICAgVGhlcmUgY291bGQgYmUgYW5vdGhlciBjYXNlIHdoZXJlIGludm9s
dmVtZW50IG9mPC9zcGFuPiBzaGltIGxheWVyIDxzcGFuIGNsYXNzPSJpbnNlcnQiPmlzPC9zcGFu
PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr
Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+
ICAgZXhwZWN0ZWQ8L3NwYW4+IGZvciA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5oYW5kbGluZzwvc3Bh
bj4gaW5pdGlhbCBjb250YWN0LiAgPHNwYW4gY2xhc3M9Imluc2VydCI+SW4gc3VjaCBjYXNlLDwv
c3Bhbj4gYmVoYXZpb3Igb2Y8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIHNo
aW0gbGF5ZXIgd2lsbCBkZXBlbmQgb24gcHJlc2VuY2Ugb2YgcmVxdWlyZWQgY29udGV4dC4gIElm
IHRoZXJlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
YmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBleGlzdHMgdGhlIGNv
bnRleHQgZm9yIHRoZSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5FSUQ8L3NwYW4+IHNwZWNpZmllZCBp
biB0aGUgY29ubmVjdCgpLCB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAg
IGluaXRpYWwgY29udGFjdCBjYW4gYmUgbWFkZSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGNvbnRl
eHQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9j
ayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIGluZm9ybWF0aW9uLiAgT3Ro
ZXJ3aXNlLCBzaGltIGxheWVyIHNob3VsZCBpbnZva2UgY29udGV4dDwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48
dGQgY2xhc3M9InJibG9jayI+ICAgZXN0YWJsaXNobWVudCB3aXRoIHRoZSBwZWVyIDxzcGFuIGNs
YXNzPSJpbnNlcnQiPkVJRDwvc3Bhbj4gc3BlY2lmaWVkIGluIHRoZSBhcmd1bWVudCBmb3I8L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIGNvbm5lY3QoKS48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyYmxvY2siPiAgIEFkZGl0aW9uYWwgZWZmb3J0cyB3b3VsZCBiZSByZXF1aXJlZCBp
biBhIGNhc2Ugd2hlcmUgdGhlIHBlZXIgY2Fubm90PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i
cmJsb2NrIj4gICBiZSByZWFjaGFibGUgYnkgdGhlIDxzcGFuIGNsYXNzPSJpbnNlcnQiPkVJRDwv
c3Bhbj4gKGZvciBleGFtcGxlLCA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5FSUQ8L3NwYW4+IGlzIG5v
bi1yb3V0YWJsZSBvciBub24tSVA8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAg
IHJlYWNoYWJsZSkgYnV0IGNhbiBiZSByZWFjaGVkIGJ5IGFsdGVybmF0aXZlIGxvY2F0b3IuICBJ
biBwYXJ0aWN1bGFyLDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgc2hpbSBs
YXllciBzaG91bGQgc29tZWhvdyBkaXNjb3ZlciB0aGUgYWx0ZXJuYXRlIGxvY2F0b3IgZm9yIHRo
ZSA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5FSUQ8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmJsb2NrIj4gICB0byBlc3RhYmxpc2ggY29udGV4dC4gIFtJLUQubm9yZG1hcmstc2hpbTYt
ZXNkXSBhZGRyZXNzZXMgdGhlPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBw
b3NzaWJsZSBhcHByb2FjaCB0byBwZXJmb3JtIHJldmVyc2UgRE5TIGxvb2t1cCBmcm9tIDxzcGFu
IGNsYXNzPSJpbnNlcnQiPkVJRDwvc3Bhbj4gdG8gRlFETiw8L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyYmxvY2siPiAgIHRoZW4gcGVyZm9ybSBmb3J3YXJkIGxvb2t1cCBhZ2FpbiB0byBmaW5k
IHRoZSBmdWxsLXNldCBvZiBsb2NhdG9yczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9j
ayI+ICAgYW5kIDxzcGFuIGNsYXNzPSJpbnNlcnQiPkVJRC48L3NwYW4+PC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij48L3NwYW4+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBJbiBISVAs
IHJlc29sdmluZyBISVRzIHRvIElQIGFkZHJlc3NlcyB1c2luZyBETlMgaXMgbm90IGZlYXNpYmxl
PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imlu
c2VydCI+ICAgYmVjYXVzZSBISVRzIGRvPC9zcGFuPiBub3QgPHNwYW4gY2xhc3M9Imluc2VydCI+
Y29udGFpbiBhbnkgaGllcmFyY2hpY2FsIGluZm9ybWF0aW9uLiAgVG88L3NwYW4+PC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRk
PiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBtaXRpZ2F0
ZSB0aGlzIHByb2JsZW0sIHRoZXJlIGFyZSBhIGZldyBhbHRlcm5hdGl2ZXMuICBGaXJzdGx5LDwv
c3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxi
bG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNl
cnQiPiAgIHJlc29sdmVyIGxpYnJhcnkgb24gZW5kLWhvc3QgY2FuIGJlIG1vZGlmaWVkIHRvIHBy
b3ZpZGUgSElULXRvLUlQPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+
PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgbWFwcGluZ3MgZm9yIEhJUCBzb2Z0d2FyZSBtb2R1bGUu
ICBTZWNvbmRseSwgYSBkaXN0cmlidXRlZCBoYXNoIHRhYmxlPC9zcGFuPjwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgKERIVCkgc2Vydmlj
ZSBjYW4gYmUgdXNlZCBmb3Igc3RvcmluZyBhbmQgbG9va2luZyB1cDwvc3Bhbj4gdGhlIDxzcGFu
IGNsYXNzPSJpbnNlcnQiPm1hcHBpbmdzPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9
InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgYmVjYXVzZSBpdCBzdXBwb3J0cyBub24t
aGllcmFyY2hpY2FsIGlkZW50aWZpZXJzLCBzdWNoIGFzIEhJVHM8L3NwYW4+PC90ZD48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8
L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBbSS1ELmlldGYt
aGlwLWFyY2hdLiAgVGhpcmRseSwgaXQ8L3NwYW4+IGlzIDxzcGFuIGNsYXNzPSJpbnNlcnQiPnBv
c3NpYmxlIHRvIHVzZTwvc3Bhbj4gSVAgPHNwYW4gY2xhc3M9Imluc2VydCI+YWRkcmVzc2VzPC9z
cGFuPiBpbjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgPHNwYW4gY2xhc3M9
Imluc2VydCI+bGVnYWN5IGFwcGxpY2F0aW9ucyBhcyBkZXNjcmliZWQgaW4gW0ktRC5oZW5kZXJz
b24taGlwLWFwcGxpY2F0aW9uc10uPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo
dCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAg
IDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0
Ij42LjIuICBOYW1pbmcgYXQgU29ja2V0IExheWVyPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+Ni4yLiAgTmFtaW5nIGF0IFNvY2tldCBMYXllcjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4N
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICBnZXRzb2NrbmFtZSgpIGFuZCBnZXRwZWVybmFtZSgpIHN5c3RlbSBjYWxscyBh
cmUgdXNlZCB0byBvYnRhaW4gdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
Z2V0c29ja25hbWUoKSBhbmQgZ2V0cGVlcm5hbWUoKSBzeXN0ZW0gY2FsbHMgYXJlIHVzZWQgdG8g
b2J0YWluIHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+ICAgJ25hbWUnIG9mIGVuZHBvaW50IHdoaWNoIGlzIGFjdHVhbGx5IGEgcGFpciBv
ZiBJUCBhZGRyZXNzIGFuZCBwb3J0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg
J25hbWUnIG9mIGVuZHBvaW50IHdoaWNoIGlzIGFjdHVhbGx5IGEgcGFpciBvZiBJUCBhZGRyZXNz
IGFuZCBwb3J0PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4N
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij4gICBudW1iZXIgYXNzaWduZWQgdG8gZ2l2ZW4gc29ja2V0LiBnZXRzb2NrbmFtZSgp
IGlzIHVzZWQgd2hlbiBhbjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIG51bWJl
ciBhc3NpZ25lZCB0byBnaXZlbiBzb2NrZXQuIGdldHNvY2tuYW1lKCkgaXMgdXNlZCB3aGVuIGFu
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g
ICBhcHBsaWNhdGlvbiB3YW50cyB0byBvYnRhaW4gdGhlIGxvY2FsIElQIGFkZHJlc3MgYW5kIHBv
cnQgbnVtYmVyPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYXBwbGljYXRpb24g
d2FudHMgdG8gb2J0YWluIHRoZSBsb2NhbCBJUCBhZGRyZXNzIGFuZCBwb3J0IG51bWJlcjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYXNz
aWduZWQgZm9yIGdpdmVuIHNvY2tldCBpbnN0YW5jZS4gZ2V0cGVlcm5hbWUoKSBpcyB1c2VkIHdo
ZW4gYW48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhc3NpZ25lZCBmb3IgZ2l2
ZW4gc29ja2V0IGluc3RhbmNlLiBnZXRwZWVybmFtZSgpIGlzIHVzZWQgd2hlbiBhbjwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYXBwbGlj
YXRpb24gd2FudHMgdG8gb2J0YWluIHRoZSByZW1vdGUgSVAgYWRkcmVzcyBhbmQgcG9ydCBudW1i
ZXIuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYXBwbGljYXRpb24gd2FudHMg
dG8gb2J0YWluIHRoZSByZW1vdGUgSVAgYWRkcmVzcyBhbmQgcG9ydCBudW1iZXIuPC90ZD48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xh
c3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBcyBJUCBh
ZGRyZXNzIGlzIHRoZSBrZXkgaW5mb3JtYXRpb24gaW4gdGhlIHR3byBzeXN0ZW0gY2FsbHMsIHRo
ZXJlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgQXMgSVAgYWRkcmVzcyBpcyB0
aGUga2V5IGluZm9ybWF0aW9uIGluIHRoZSB0d28gc3lzdGVtIGNhbGxzLCB0aGVyZTwvdGQ+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgaXMgYSBx
dWVzdGlvbiBpZiBpdCBzaG91bGQgYmUgaWRlbnRpZmllciBvciBsb2NhdG9yIHdoZW4gc2hpbSBs
YXllcjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGlzIGEgcXVlc3Rpb24gaWYg
aXQgc2hvdWxkIGJlIGlkZW50aWZpZXIgb3IgbG9jYXRvciB3aGVuIHNoaW0gbGF5ZXI8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGlzIHBy
ZXNlbnQuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgaXMgcHJlc2VudC48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDMyIj48L2E+
PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+Ny4gIElBTkEgQ29uc2lkZXJhdGlvbnM8L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJibG9jayI+Ny4gIDxzcGFuIGNsYXNzPSJpbnNlcnQiPklzc3VlcyBvZiBI
YW5kbGluZyBNdWx0aXBsZSBMb2NhdG9ycyB3aXRoIHNoaW0gYXdhcmUgYXBwbGljYXRpb25zPC9z
cGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJs
b2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2Vy
dCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9
Imluc2VydCI+ICAgVEJELjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2si
PjxzcGFuIGNsYXNzPSJpbnNlcnQiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPjguICBGdXJ0aGVyIElzc3Vlczwvc3Bhbj48L3Rk
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPjwvc3Bh
bj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9j
ayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQi
PiAgIEZvbGxvd2luZ3MgYXJlIGlzc3VlcyB0aGF0IG5lZWQgZnVydGhlciBjb25zaWRlcmF0aW9u
cy48L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4N
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0i
aW5zZXJ0Ij48L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBj
bGFzcz0iaW5zZXJ0Ij44LjEuICBBZGRpdGlvbmFsIFJlcXVpcmVtZW50cyBmcm9tIEFwcGxpY2F0
aW9uczwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNz
PSJpbnNlcnQiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48
dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFu
IGNsYXNzPSJpbnNlcnQiPiAgIEZvbGxvd2luZ3MgYXJlIGFkZGl0aW9uYWwgcmVxdWlyZW1lbnRz
LiAgQXQgdGhlIG1vbWVudCwgaXQgaXMgbm90PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgY2VydGFpbiBpZiB0aGVzZSBmZWF0
dXJlcyBhcmUgY29tbW9ubHkgbmVlZGVkIGluIGFsbCB0aGUgdGFyZ2V0ZWQ8L3NwYW4+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBtdWx0
aWhvbWVkIGVudmlyb25tZW50cyAoU0hJTTYgYW5kIEhJUCkuICBUaGVzZSByZXF1aXJlbWVudHMg
YXJlPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9
Imluc2VydCI+ICAgbWFpbmx5IGlkZW50aWZpZWQgZHVyaW5nIGRpc2N1c3Npb25zIG1hZGUgb24g
U0hJTTYgV0cgbWFpbGluZyBsaXN0Ljwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgIG8gIFRoZSBhcHBsaWNhdGlvbiBz
aG91bGQgYmUgYWJsZSB0byBzZWxlY3QgYSBsb2NhdG9yIHBhaXIuPC9zcGFuPjwvdGQ+PHRkIGNs
YXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+PC9zcGFuPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgbyAg
VGhlIGFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvIHNldCBwcmVmZXJlbmNlcyBmb3IgdGhl
PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQog
ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0i
bGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imlu
c2VydCI+ICAgICAgbG9jYXRvcnMsIGxvY2FsIGFuZCByZW1vdGUgb25lIGFuZCBhbHNvIHRvIHRo
ZSBwcmVmZXJlbmNlcyBvZiB0aGU8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICBsb2NhbCBsb2NhdG9ycyB0aGF0IHdpbGwg
YmUgcGFzc2VkIHRvIHRoZSBwZWVyLjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
YmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs
YXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgIG8gIERvbid0IGFwcGx5IHNoaW0u
ICBBcHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZSB0byByZXF1ZXN0IHNoaW08L3NwYW4+PC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgICBs
YXllciBub3QgdG8gYXBwbHkgSWRlbnRpZmllci9Mb2NhdG9yIGFkYXB0YXRpb24gYnV0IHRvIGFw
cGx5PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9
Imluc2VydCI+ICAgICAgbm9ybWFsIElQIHByb2Nlc3NpbmcgYXQgdGhlIElQIGxheWVyLjwvc3Bh
bj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAg
PHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9j
ayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQi
Pjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJp
bnNlcnQiPiAgIG8gIEFwcGxpY2F0aW9uIHNob3VsZCBiZSBhYmxlIHRvIHNwZWNpZnkgaWYgaXQg
d2FudHMgdG8gZGVmZXIgdGhlPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9w
Ij48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9j
ayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgY29udGV4dCBzZXR1cCBvciBpdCB3YW50cyBj
b250ZXh0IGVzdGFibGlzaG1lbnQgdG8gYmUgc3RhcnRlZDwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgICAgIGltbWVkaWF0ZWx5
IGlmIHRoZXJlIGlzIG5vIGF2YWlsYWJsZSBjb250ZXh0LiAgSW4gc3VjaCB3YXksPC9zcGFuPjwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAg
ICAgYXBwbGljYXRpb24gY2FuICd1cGdyYWRlJyB0aGUgY29ubmVjdGlvbiBwcm92aWRpbmcgaW4g
YSBzZW5zZSB0aGF0PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNw
YW4gY2xhc3M9Imluc2VydCI+ICAgICAgaWRlbnRpZmllciBhbmQgbG9jYXRvciBhcmUgbWFuYWdl
ZCBzZXBhcmF0ZWx5Ljwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+
PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90
ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxz
cGFuIGNsYXNzPSJpbnNlcnQiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxv
Y2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPjkuPC9zcGFuPiAgSUFOQSBDb25zaWRlcmF0aW9uczwv
dGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBUaGlzIGRvY3VtZW50IGNvbnRhaW5zIG5v
IElBTkEgY29uc2lkZXJhdGlvbi48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBU
aGlzIGRvY3VtZW50IGNvbnRhaW5zIG5vIElBTkEgY29uc2lkZXJhdGlvbi48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3Rk
Pjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+DQogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYwMDMzIj48L2E+PC90ZD48L3Ry
Pg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xh
c3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ODwvc3Bhbj4uICBTZWN1cml0eSBDb25z
aWRlcmF0aW9uczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0i
aW5zZXJ0Ij4xMDwvc3Bhbj4uICBTZWN1cml0eSBDb25zaWRlcmF0aW9uczwvdGQ+PHRkIGNsYXNz
PSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsZWZ0Ij4gICBUQkQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g
ICBUQkQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkPjxhIG5hbWU9ImRpZmYw
MDM0Ij48L2E+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+OTwvc3Bh
bj4uICBDb25jbHVzaW9uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNs
YXNzPSJpbnNlcnQiPjExPC9zcGFuPi4gIENvbmNsdXNpb248L3RkPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+ICAgVEJEPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVEJEPC90
ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAzNSI+PC9h
PjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsYmxvY2siPjE8c3BhbiBjbGFzcz0iZGVsZXRlIj4wPC9zcGFuPi4gIEFj
a25vd2xlZGdtZW50czwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4xPHNwYW4gY2xh
c3M9Imluc2VydCI+Mjwvc3Bhbj4uICBBY2tub3dsZWRnbWVudHM8L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
IiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj
bGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgVEJEPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVEJE
PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0
cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48
L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2
YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAzNiI+
PC9hPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjE8c3BhbiBjbGFzcz0iZGVsZXRlIj4xPC9zcGFuPi4g
IE5vcm1hdGl2ZSBSZWZlcmVuY2VzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjE8
c3BhbiBjbGFzcz0iaW5zZXJ0Ij4zPC9zcGFuPi4gIE5vcm1hdGl2ZSBSZWZlcmVuY2VzPC90ZD48
dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQg
Y2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0
ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJkaWZmMDAzNyI+PC9hPjwv
dGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PHRkIGNsYXNzPSJsYmxvY2siPiAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPltJLUQuY29lbmUtbXVs
dGk2LXNjdHBdPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICA8c3Bh
biBjbGFzcz0iaW5zZXJ0Ij5bSS1ELmhlbmRlcnNvbi1oaXAtYXBwbGljYXRpb25zXTwvc3Bhbj48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgICAgICAgICAgICBDb2VuZSwgTC4sICJNdWx0aWhvbWlu
ZzogdGhlIFNDVFAgc29sdXRpb24iLDwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJi
bG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICAgICAgICAgICBIZW5kZXJzb24sIFQuIGFu
ZCBQLiBOaWthbmRlciwgIlVzaW5nIEhJUCB3aXRoIExlZ2FjeTwvc3Bhbj48L3RkPjx0ZCBjbGFz
cz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9
ImRlbGV0ZSI+ICAgICAgICAgICAgICBkcmFmdC1jb2VuZS1tdWx0aTYtc2N0cC0wMTwvc3Bhbj4g
KHdvcmsgaW4gcHJvZ3Jlc3MpLCA8c3BhbiBjbGFzcz0iZGVsZXRlIj5KdWx5IDIwMDQuPC9zcGFu
PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4g
ICAgICAgICAgICAgIEFwcGxpY2F0aW9ucyIsIGRyYWZ0LWhlbmRlcnNvbi1oaXAtYXBwbGljYXRp
b25zLTAxPC9zcGFuPiAod29yazwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48
L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3Rk
Pjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAg
ICAgICAgICAgICBpbiBwcm9ncmVzcyksIDxzcGFuIGNsYXNzPSJpbnNlcnQiPkZlYnJ1YXJ5IDIw
MDUuPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+
DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFz
cz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBbSS1ELmlldGYtaGlw
LWFyY2hdPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgW0ktRC5pZXRmLWhpcC1h
cmNoXTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgICAgICAgICAgICBNb3Nrb3dpdHosIFIuIGFuZCBQLiBOaWthbmRlciwgIkhvc3QgSWRl
bnRpdHkgUHJvdG9jb2w8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAg
ICAgIE1vc2tvd2l0eiwgUi4gYW5kIFAuIE5pa2FuZGVyLCAiSG9zdCBJZGVudGl0eSBQcm90b2Nv
bDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
ICAgICAgICAgICAgICBBcmNoaXRlY3R1cmUiLCBkcmFmdC1pZXRmLWhpcC1hcmNoLTAzICh3b3Jr
IGluIHByb2dyZXNzKSw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAg
ICAgIEFyY2hpdGVjdHVyZSIsIGRyYWZ0LWlldGYtaGlwLWFyY2gtMDMgKHdvcmsgaW4gcHJvZ3Jl
c3MpLDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgICAgICAgICAgICBBdWd1c3QgMjAwNS48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp
Z2h0Ij4gICAgICAgICAgICAgIEF1Z3VzdCAyMDA1LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICBbSS1ELmlldGYtc2hpbTYtYXBwLXJlZmVyXTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgIFtJLUQuaWV0Zi1zaGltNi1hcHAtcmVmZXJdPC90ZD48dGQgY2xhc3M9Imxp
bmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu
byIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgIE5vcmRt
YXJrLCBFLiwgIlNoaW02IEFwcGxpY2F0aW9uIFJlZmVycmFsIElzc3VlcyIsPC90ZD48dGQ+IDwv
dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICBOb3JkbWFyaywgRS4sICJTaGltNiBB
cHBsaWNhdGlvbiBSZWZlcnJhbCBJc3N1ZXMiLDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0i
dG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICBkcmFmdC1pZXRmLXNoaW02
LWFwcC1yZWZlci0wMCAod29yayBpbiBwcm9ncmVzcyksPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz
PSJyaWdodCI+ICAgICAgICAgICAgICBkcmFmdC1pZXRmLXNoaW02LWFwcC1yZWZlci0wMCAod29y
ayBpbiBwcm9ncmVzcyksPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+
PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgIEp1bHkgMjAwNS48L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgIEp1bHkgMjAwNS48L3RkPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v
Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+
PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPg0KICAgICAgPHRyIGJnY29sb3I9Imdy
YXkiPjx0ZD48L3RkPjx0aD48YSBuYW1lPSJwYXJ0LWwzIj48c21hbGw+c2tpcHBpbmcgdG8gY2hh
bmdlIGF0PC9zbWFsbD48ZW0+IHBhZ2UgMTQsIGxpbmUgNDE8L2VtPjwvYT48L3RoPjx0aD4gPC90
aD48dGg+PGEgbmFtZT0icGFydC1yMyI+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21h
bGw+PGVtPiBwYWdlIDE4LCBsaW5lIDU8L2VtPjwvYT48L3RoPjx0ZD48L3RkPjwvdHI+DQogICAg
ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVm
dCI+ICAgW0ktRC5pZXRmLXNoaW02LXByb3RvXTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln
aHQiPiAgIFtJLUQuaWV0Zi1zaGltNi1wcm90b108L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxp
Z249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICAgICAgICAgQmFnbnVsbywgTS4gYW5k
IEUuIE5vcmRtYXJrLCAiTGV2ZWwgMyBtdWx0aWhvbWluZyBzaGltPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICBCYWdudWxvLCBNLiBhbmQgRS4gTm9yZG1hcmss
ICJMZXZlbCAzIG11bHRpaG9taW5nIHNoaW08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249
InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRv
cCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICAgICAgICAgcHJvdG9jb2wiLCBkcmFmdC1p
ZXRmLXNoaW02LXByb3RvLTAzICh3b3JrIGluIHByb2dyZXNzKSw8L3RkPjx0ZD4gPC90ZD48dGQg
Y2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgIHByb3RvY29sIiwgZHJhZnQtaWV0Zi1zaGltNi1w
cm90by0wMyAod29yayBpbiBwcm9ncmVzcyksPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgIERlY2VtYmVyIDIwMDUuPC90
ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICBEZWNlbWJlciAyMDA1
LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8
dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+
PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIg
dmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBbSS1ELm5vcmRtYXJrLXNoaW02LWVz
ZF08L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBbSS1ELm5vcmRtYXJrLXNoaW02
LWVzZF08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxl
ZnQiPiAgICAgICAgICAgICAgTm9yZG1hcmssIEUuLCAiRXh0ZW5kZWQgU2hpbTYgRGVzaWduIGZv
ciBJRC9sb2Mgc3BsaXQgYW5kPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAg
ICAgICAgICBOb3JkbWFyaywgRS4sICJFeHRlbmRlZCBTaGltNiBEZXNpZ24gZm9yIElEL2xvYyBz
cGxpdCBhbmQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPiAgICAgICAgICAgICAgVHJhZmZpYyBFbmdpbmVlcmluZyIsIGRyYWZ0LW5vcmRtYXJr
LXNoaW02LWVzZC0wMCAod29yayBpbjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg
ICAgICAgICAgICAgVHJhZmZpYyBFbmdpbmVlcmluZyIsIGRyYWZ0LW5vcmRtYXJrLXNoaW02LWVz
ZC0wMCAod29yayBpbjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwv
dHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBj
bGFzcz0ibGVmdCI+ICAgICAgICAgICAgICBwcm9ncmVzcyksIEZlYnJ1YXJ5IDIwMDYuPC90ZD48
dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICBwcm9ncmVzcyksIEZlYnJ1
YXJ5IDIwMDYuPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4N
CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNz
PSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZD48YSBuYW1lPSJk
aWZmMDAzOCI+PC9hPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIDxzcGFuIGNsYXNzPSJkZWxldGUi
PltSRkMzNDkzXSAgR2lsbGlnYW4sIFIuLCBUaG9tc29uLCBTLiwgQm91bmQsIEouLCBNY0Nhbm4s
IEouLCBhbmQgVy48L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjwvdGQ+
PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRk
IGNsYXNzPSJsaW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3Bh
biBjbGFzcz0iZGVsZXRlIj4gICAgICAgICAgICAgIFN0ZXZlbnMsICJCYXNpYyBTb2NrZXQgSW50
ZXJmYWNlIEV4dGVuc2lvbnMgZm9yIElQdjYiLDwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xh
c3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90
cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNs
YXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgICAgICAgICAgICAgUkZDIDM0OTMs
IEZlYnJ1YXJ5IDIwMDMuPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48
L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRy
Pjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+
PHNwYW4gY2xhc3M9ImRlbGV0ZSI+PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs
b2NrIj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAg
ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9Imxi
bG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgW1JGQzM1NDJdICBTdGV2ZW5zLCBXLiwgVGhv
bWFzLCBNLiwgTm9yZG1hcmssIEUuLCBhbmQgVC4gSmlubWVpLDwvc3Bhbj48L3RkPjx0ZD4gPC90
ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgICAgICAgICAgICAg
IkFkdmFuY2VkIFNvY2tldHMgQXBwbGljYXRpb24gUHJvZ3JhbSBJbnRlcmZhY2UgKEFQSSkgZm9y
PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRl
bGV0ZSI+ICAgICAgICAgICAgICBJUHY2IiwgUkZDIDM1NDIsIE1heSAyMDAzLjwvc3Bhbj48L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFs
aWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWdu
PSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPjx0ZD4g
PC90ZD48dGQgY2xhc3M9InJibG9jayI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij5BdXRob3IncyBBZGRyZXNzPC90ZD48dGQ+IDwvdGQ+PHRk
IGNsYXNzPSJyaWdodCI+QXV0aG9yJ3MgQWRkcmVzczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iIHZh
bGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iIHZhbGln
bj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy
aWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCiAg
ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PHRkIGNsYXNzPSJs
ZWZ0Ij4gICBUQkQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUQkQ8L3RkPjx0
ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBj
bGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRCRDwv
dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFRCRDwvdGQ+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i
IHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVEJEPC90ZD48dGQ+IDwvdGQ+
PHRkIGNsYXNzPSJyaWdodCI+ICAgVEJEPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0
b3AiPjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBUQkQgIFRCRDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz
cz0icmlnaHQiPiAgIFRCRCAgVEJEPC90ZD48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3Ai
PjwvdGQ+PC90cj4NCiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwv
dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBUQkQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0
Ij4gICBUQkQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0K
ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9
ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJs
aW5lbm8iIHZhbGlnbj0idG9wIj48L3RkPjwvdHI+DQogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l
bm8iIHZhbGlnbj0idG9wIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgUGhvbmU6IFRCRDwvdGQ+
PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFBob25lOiBUQkQ8L3RkPjx0ZCBjbGFzcz0i
bGluZW5vIiB2YWxpZ249InRvcCI+PC90ZD48L3RyPg0KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu
ZW5vIiB2YWxpZ249InRvcCI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEVtYWlsOiBUQkQ8L3Rk
Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBFbWFpbDogVEJEPC90ZD48dGQgY2xhc3M9
ImxpbmVubyIgdmFsaWduPSJ0b3AiPjwvdGQ+PC90cj4NCg0KICAgICA8dHI+PHRkPjwvdGQ+PHRk
IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZD48
L3RkPjwvdHI+DQogICAgIDx0ciBiZ2NvbG9yPSJncmF5Ij48dGggY29sc3Bhbj0iNSIgYWxpZ249
ImNlbnRlciI+PGEgbmFtZT0iZW5kIj4mbmJzcDtFbmQgb2YgY2hhbmdlcy4gMzggY2hhbmdlIGJs
b2Nrcy4mbmJzcDs8L2E+PC90aD48L3RyPg0KICAgICA8dHIgY2xhc3M9InN0YXRzIj48dGQ+PC90
ZD48dGg+PGk+MTQ5IGxpbmVzIGNoYW5nZWQgb3IgZGVsZXRlZDwvaT48L3RoPjx0aD48aT4gPC9p
PjwvdGg+PHRoPjxpPjI2MCBsaW5lcyBjaGFuZ2VkIG9yIGFkZGVkPC9pPjwvdGg+PHRkPjwvdGQ+
PC90cj4NCiAgICAgPHRyPjx0ZCBjb2xzcGFuPSI1IiBjbGFzcz0ic21hbGwiIGFsaWduPSJjZW50
ZXIiPjxicj5UaGlzIGh0bWwgZGlmZiB3YXMgcHJvZHVjZWQgYnkgcmZjZGlmZiAxLjMxLiBUaGUg
bGF0ZXN0IHZlcnNpb24gaXMgYXZhaWxhYmxlIGZyb20gPGEgaHJlZj0iaHR0cDovL3d3dy5sZXZr
b3dldHouY29tL2lldGYvdG9vbHMvcmZjZGlmZi8iPmh0dHA6Ly93d3cubGV2a293ZXR6LmNvbS9p
ZXRmL3Rvb2xzL3JmY2RpZmYvPC9hPiA8L3RkPjwvdHI+DQogICA8L3Rib2R5PjwvdGFibGU+DQog
ICA8L2JvZHk+PC9odG1sPg==
--------_446DCE0F596806D42DA8_MULTIPART_MIXED_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api

--------_446DCE0F596806D42DA8_MULTIPART_MIXED_--





From multimobsec-api-bounces@ietf.org Mon May 22 05:48:59 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fi723-0006Q2-GQ; Mon, 22 May 2006 05:48:59 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fi721-0006Px-PJ
	for multimobsec-api@ietf.org; Mon, 22 May 2006 05:48:57 -0400
Received: from n2.nomadiclab.com ([193.234.219.2])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fi720-0007MR-Bo
	for multimobsec-api@ietf.org; Mon, 22 May 2006 05:48:57 -0400
Received: from n2.nomadiclab.com (localhost [127.0.0.1])
	by n2.nomadiclab.com (Postfix) with ESMTP id 781E6212C5F;
	Mon, 22 May 2006 12:48:55 +0300 (EEST)
Received: from outside.nomadiclab.com (d146.nomadiclab.com [193.234.218.146])
	by n2.nomadiclab.com (Postfix) with ESMTP id 3B5F2212C5D;
	Mon, 22 May 2006 12:48:55 +0300 (EEST)
Received: from outside.nomadiclab.com (localhost [127.0.0.1])
	by outside.nomadiclab.com (Postfix) with ESMTP id 0A9DCBDC41;
	Mon, 22 May 2006 12:48:55 +0300 (EEST)
Received: from [193.234.219.179] (w179.nomadiclab.com [193.234.219.179])
	by outside.nomadiclab.com (Postfix) with ESMTP id 86E47BDC40;
	Mon, 22 May 2006 12:48:54 +0300 (EEST)
In-Reply-To: <20060519165423.523B.SHINTA@sfc.wide.ad.jp>
References: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
	<20060519165423.523B.SHINTA@sfc.wide.ad.jp>
Mime-Version: 1.0 (Apple Message framework v624)
Content-Type: multipart/mixed; boundary=Apple-Mail-4-332925165
Message-Id: <b9dabded1676f9bd775e46efa01ce9ca@it.uc3m.es>
From: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] api requirements
Date: Mon, 22 May 2006 12:48:53 +0300
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
X-Mailer: Apple Mail (2.624)
X-Virus-Scanned: ClamAV using ClamSMTP
X-Virus-Scanned: ClamAV using ClamSMTP
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 011fc67488a99a17f716be0c5cfa3a2d
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org


--Apple-Mail-4-332925165
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed

Hi Shinta,

i attach a commented version

most of the comments are editorial, but there are a few substantial 
comments

regards, marcelo
  
--Apple-Mail-4-332925165
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; x-unix-mode=0644; name="marcelo-comments-api-00.txt"
Content-Disposition: attachment;
	filename=marcelo-comments-api-00.txt

=0D
=0D
=0D
Network Working Group                                           TBD. TBD=0D=

Internet-Draft                                                       TBD=0D=

Expires: August 5, 2006                                    February 2006=0D=

=0D
=0D
                     Socket API for Multihomed Shim=0D
                 draft-manyfolks-multihome-shim-api-00=0D
=0D
Status of this Memo=0D
=0D
   By submitting this Internet-Draft, each author represents that any=0D
   applicable patent or other IPR claims of which he or she is aware=0D
   have been or will be disclosed, and any of which he or she becomes=0D
   aware will be disclosed, in accordance with Section 6 of BCP 79.=0D
=0D
   Internet-Drafts are working documents of the Internet Engineering=0D
   Task Force (IETF), its areas, and its working groups.  Note that=0D
   other groups may also distribute working documents as Internet-=0D
   Drafts.=0D
=0D
   Internet-Drafts are draft documents valid for a maximum of six months=0D=

   and may be updated, replaced, or obsoleted by other documents at any=0D=

   time.  It is inappropriate to use Internet-Drafts as reference=0D
   material or to cite them other than as "work in progress."=0D
=0D
   The list of current Internet-Drafts can be accessed at=0D
   http://www.ietf.org/ietf/1id-abstracts.txt.=0D
=0D
   The list of Internet-Draft Shadow Directories can be accessed at=0D
   http://www.ietf.org/shadow.html.=0D
=0D
   This Internet-Draft will expire on August 5, 2006.=0D
=0D
Copyright Notice=0D
=0D
   Copyright (C) The Internet Society (2006).=0D
=0D
Abstract=0D
=0D
   This document specifies socket API for multihomed shim layer.  The=0D
   API aims to enable interactions between application and the multihome=0D=

   shim layer for advanced locator management and interface to access=0D
   essential information about failure detection and path exploration.=0D=

=0D
   This document is based on an assumption that a multhomed host is=0D
   equipped with a 'shim' which essnetially maintains mapping of=0D
   identifier and locator.  SHIM6 and HIP are examples of the shim.=0D
   Hence, the API can be commonly used by SHIM6 and HIP.=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                 [Page 1]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
Table of Contents=0D
=0D
   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3=0D=

   2.  Target . . . . . . . . . . . . . . . . . . . . . . . . . . . .  4=0D=

   3.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  5=0D=

   4.  System Overview  . . . . . . . . . . . . . . . . . . . . . . .  7=0D=

   5.  Requirements . . . . . . . . . . . . . . . . . . . . . . . . .  8=0D=

   6.  Issues of Handling Multiple Locators with shim unaware=0D
       applications . . . . . . . . . . . . . . . . . . . . . . . . . 10=0D=

     6.1.  Initial Contact  . . . . . . . . . . . . . . . . . . . . . 10=0D=

     6.2.  Naming at Socket Layer . . . . . . . . . . . . . . . . . . 11=0D=

   7.  Issues of Handling Multiple Locators with shim aware=0D
       applications . . . . . . . . . . . . . . . . . . . . . . . . . 12=0D=

   8.  Further Issues . . . . . . . . . . . . . . . . . . . . . . . . 13=0D=

     8.1.  Additional Requirements from Applications  . . . . . . . . 13=0D=

   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 14=0D=

   10. Security Considerations  . . . . . . . . . . . . . . . . . . . 15=0D=

   11. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 16=0D=

   12. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 17=0D=

   13. Normative References . . . . . . . . . . . . . . . . . . . . . 17=0D=

   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18=0D=

   Intellectual Property and Copyright Statements . . . . . . . . . . 19=0D=

=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                 [Page 2]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
1.  Introduction=0D
=0D
   This document specifies socket API for multihomed shim layer.

MB: i would rephrase as
   This document specifies a/the socket API for a multihoming shim =
layer.

   The=0D
   API aims to enable interactions between application and the multihome

MB: s/mulithome/multihoming
=0D
   shim layer for advanced locator management and interface to access=0D
   essential information about failure detection and path exploration.=0D=


MB: i would remove essential
=0D
   This document is based on an assumption that a multhomed host is=0D
   equipped with a 'shim' which essentially maintains mapping of=0D
   identifier and locator.  SHIM6 and HIP are examples of the shim.=0D
   Hence, the API can be commonly used by SHIM6 and HIP.=0D
=0D
   In this document, notation of API is presented in C language.=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                 [Page 3]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
2.  Target=0D
=0D
   Expected readers of this document are: application programmer who=0D
   develops application software which may run on top of multihomed=0D
   environment.  In particular, the API should be beneficial for=0D
   application development of the software which takes advantage of=0D
   multihomed environment aiming to achieve better failover.=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                 [Page 4]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
3.  Terminology=0D
=0D
   This document does not intend to give new definitions for technical=0D=

   terms that are relevant to multihomed environment but tries to=0D
   inherit definitions provided in the existing documents as listed=0D
   below:=0D
=0D
   o  SHIM6 Protocol Specification[I-D.ietf-shim6-proto]=0D
=0D
   o  HIP Architecture[I-D.ietf-hip-arch]=0D
=0D
   o  Reachability Protocol (REAP)[I-D.ietf-shim6-failure-detection]=0D
=0D
   For clarification, we provide definition for the terms that are=0D
   frequently used in this document:=0D
=0D
   o  Endpoint Identifier (EID) - An identifier used by the application=0D=

      to specify an endpoint of the communication.  As addressed in=0D
      [I-D.ietf-shim6-app-refer], application may handle EID in various=0D=

      ways in different types of communication models such as long-lived=0D=

      connection, callback, and referral.=0D
=0D
      *  In case of SHIM6, the EID is called ULID.  ULID is chosen from=0D=

         one of available locators on the host.=0D
=0D
      *  In case of HIP, the EID is essentially a public key of the=0D
         host.  In order to preserve backward compatibility of legacy=0D
         application, hash of public key called Host Identity Tag (HIT)=0D=

         is used by application as a handler of EID.

MB s/handler of/handle for the
=0D
=0D
   o  Locator - IP address actually used to deliver the IP packet.

MB: s/IP address/An IP address
=0D
      Locator should be present in the source and destination field of=0D=

      IP header of a packet that appears on wire.  Normally, locator is

MB: s/locator/a locator
=0D
      assigned to the network interface of the host.  And the IP packet=0D=

      destined to given locator is delivered to the network interface by

MB: s/to given locator/to a given locator
s/the network interface/to the correspondent network interface
=0D
      the routing system.=0D
=0D
   o  Shim - A conceptual layer inside the IP Layer which maintains=0D
      mappings of EID and locator.  An EID can be associated with more=0D=


MB: s/ mappings of EID and locator/ mappings between EIDs and locators

      than one locators at a time when the host is multihomed.  From=0D
      network architecture perspective, shim should be even or lower=0D
      than the IPsec layer.  It should be noted that the term 'shim'=0D
      does not refer to specific protocol but refers to a generic=0D
      concept of a layer that enables separation of identifier and=0D
      locator.  SHIM6 and HIP are examples of the shim.=0D
=0D
   o  Context - A state information to be shared by the peers, which=0D
      essentially stores a binding of EID and associated locators.  The=0D=


MB: s/binding of/ binding between the=0D
=0D
=0D
TBD                      Expires August 5, 2006                 [Page 5]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
      context is maintained inside the host at the shim layer.=0D

s/inside the host at the shim layer/ at the shim layer of the host
=0D
   o  List of Locators - A list of available locators on the host.

MB: this sounds like the list of locators is only for the local host,
 while the list of locators can also be for the remote host.
I would say, the list of locators associated with a EID or something =
like this...

       The=0D
      list should be stored in a context, which tells all available=0D
      locators for the communication based on EID pair.

MB: the list of locators is asociated to a EID not to a EID pair or a =
context...=20
i mean there are TWO list of locators in a single context, one per EID =
of the context...

      As defined in=0D
      [I-D.ietf-shim6-proto], list of locators of a host whose EID is=0D
      'A' can be denoted as Ls(A).=0D
=0D
   o  Preferred Locator - The (source/destination) locator currently
      used to send packets.  As defined in [I-D.ietf-shim6-proto],=0D
      preferred locator of a host whose EID is 'A' can be denoted as=0D
      Lp(A).=0D
=0D
   o  Reachability Detection - A procedure to detect reachability=0D
      between given locator pair.=0D

MB: s/between given/between a given

=0D
   o  Path - A sequence of routers that an IP packet goes through to=0D
      reach the destination.=0D
=0D
   o  Path Exploration - A procedure to explore available path for given=0D=

      locator pairs.=0D

MB: s/for given locator pairs/for a given set of locator pairs

=0D
   o  Outage - An incident meaning that the reachability among given

MB: s/among given/among a given
=0D
      locator pair is lost.  The outage could be caused by any kinds of=0D=

      problems inside the routing infrastructure and problems of network

MB: s/of network/of the network
=0D
      interface of the end hosts.=0D
=0D
   o  Working Address Pair - An address pair is said to be working if=0D
      the packet containing the first address from the pair as source=0D
      address and the second address from the pair as destination=0D
      address can safely travel from the source to the destination, and=0D=

      vice versa.

MB: remove and vice versa since the definition is an ordered address =
pair...

  If the reachability is confirmed in both directions,=0D
      the address pairs is said to be bi-directional.  Otherwise, it's=0D=

      unidirectional.=0D
=0D
   o  REAP - A protocol for detecting failure and exploring reachability=0D=

      in multihomed environment.  REAP is defined in[I-D.ietf-shim6-=0D
      failure-detection].=0D
=0D
   o  Endpoint Descriptor (ED) - The representation of endpoints is=0D
      hidden from the applications.

MB: i am not sure what does this sentence means here

      ED is a "handle" or "pointer" to=0D
      the actual EID.  A given ED serves as a AID [I-D.nordmark-multi6-=0D=

      noid].=0D
=0D
MB: i haven't read the noid draft recently, but afair and AID was just =
as a ULID not a ED... (at least no more than a shim ULID)=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                 [Page 6]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
4.  System Overview=0D
=0D
=0D
                        +------------------------+=0D
                        |       Application      |=0D
                        +------------------------+=0D
                           ^                 ^=0D
              ~~~~~~~~~~~~~|~Socket Interface|~~~~~~~~~~~~~~=0D
                           |                 v=0D
               +-----------|------------------------------+=0D
               |           |  Transport Layer             |=0D
               +-----------|------------------------------+=0D
                     ^     |=0D
       +-------------|-----|-------------------------------------+=0D
       |             v     v                                     |=0D
       |   +-----------------------------+       +----------+    |  IP=0D=

       |   |            Shim             |<----->|   REAP   |    | Layer=0D=

       |   +-----------------------------+       +----------+    |=0D
       |                       ^                      ^          |=0D
       +-----------------------|----------------------|----------+=0D
                               v                      v=0D
               +------------------------------------------+=0D
               |                Link Layer                |=0D
               +------------------------------------------+=0D
=0D
=0D
   Figure 1: System Overview=0D
=0D
   Figure 1 illustrates the system overview.  The application can take=0D=

   advantage of the socket API to interact with shim layer and transport=0D=

   layer for better control of locator management and failure detection=0D=

   and path exploration.=0D
=0D
   Inside the IP layer, there is a shim which closely interacts with=0D
   REAP component.  There could be interaction between the shim and=0D
   transport layer, however the interaction is outside of scope of this=0D=

   document.=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                 [Page 7]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
5.  Requirements=0D
=0D
   Following is a list of requirements from the application perspective.=0D=

   These requirements are mainly identified during the discussions on=0D
   SHIM6 WG mailing list.  Some requirements are derived from=0D
   Reachability Protocol document[I-D.ietf-shim6-failure-detection].=0D
=0D
   o  Locator management.  Locator management is role of shim layer to

MB: s/of shim/of the shim
=0D
      select a pair of locators for sending IP packets within given

MB: s/within given/within a given
=0D
      context.  The selection is made by taking miscellaneous conditions=0D=

      into account such as reachability of path, application's

MB: s/of path/of the path
=0D
      preference, and characteristics of path.  =46rom application's=0D

MB: s/of path/of the path

      perspective:=0D
=0D
      *  It should be possible to obtain list of locators of the host=0D
         within a given context.  Ls(local) and Ls(remote).=0D
=0D
      *  It should be possible to obtain preferred locator of the node=0D=

         within a given context.  Lp(local) and Lp(remote).=0D
=0D
   o  Notification from application to shim layer about the status of

MB: s/from application to shim/from the application to the shim
=0D
      communication.  Note that the notification is made in event based

MB: s/of communication/of the communication
s/in event/in an event=0D

      manner.  There are mainly two aspects of the feedback that=0D
      application or upper layer protocol may provide for shim layer,=0D
      positive and negative feedbacks [NOTE: These feedbacks are=0D
      addressed in sectoin 4.3 and section 5.2 of REAP specification]:=0D=

=0D
      *  Positive feedback could be given by application or upper layer

MB: s/by application/by the application
=0D
         protocol (e.g.  TCP) to the shim layer informing that its=0D
         communication is going well.=0D
=0D
      *  Negative feedback could be given by application or upper layer=0D=


MB: s/by application/by the application

         protocol (e.g.  TCP) to the shim layer informing that its=0D
         communication status is not satisfactory.  TCP could detect a=0D=

         problem when it does not receives expected ACK from the peer.=0D=

         ICMP error messages delivered to the upper layer protocol could=0D=

         be a clue for application to detect any kind of problem.  REAP=0D=

         module may be triggered by these negative feedbacks and invoke=0D=

         procedure of path exploration.=0D
=0D
   o  Feedback from application to shim layer.  The application should=0D=

      be able to inform the shim layer about the timeout values for=0D
      detecting failure, for sending keepalives, for starting the=0D
      exploration procedure.  In particular, the application should be=0D=

      able to suppress the keepalives.=0D
=0D
   o  Hot-standby.  Application may request shim layer if hot-standby=0D
      connection is needed.  In this case, alternative paths are known=0D=

=0D
=0D
=0D
TBD                      Expires August 5, 2006                 [Page 8]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
      to be working.  Hence it is possible for the host to immediately=0D=

      replace the current locator pair with the alternative locator=0D
      pair.  Hot-standby may allow application to achieve better=0D
      failover.=0D
=0D
   o  Eagerness of locator exploration.  Application should be able to=0D=

      specify shim layer how aggressive it wants to search alternative

MB: i think this sentence needs rewording...
=0D
      path (e.g. specifying the number of concurrent attempts of=0D
      discovering working locator pair) when an outage occurs on the=0D
      path between the currently selected locator pair.=0D
=0D
   o  Providing locator information to application.  Application should=0D=

      be able to obtain information about the locator pair which was=0D
      actually used to send or receive the packet.=0D
=0D
      *  For inbound traffic, application may be interested in the=0D
         locator pair which was actually used to receive the packet.=0D
=0D
      *  For outbound traffic, application may be interested in the=0D
         locator pair which was actually used to transmit the packet.=0D
=0D
      In this way, application may have additional control on locator=0D
      management.  For example, application can verify if its preference=0D=

      of locator is actually applied to the flow or not.=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                 [Page 9]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
6.  Issues of Handling Multiple Locators with shim unaware applications=0D=

=0D
   In multihomed environment where either or both of the peers have=0D
   multiple locators, there are some issues with legacy socket API.=0D
=0D
6.1.  Initial Contact=0D
=0D
   When application is going to establish communication with its peer=0D
   who happens to have multiple locators, there are some issues to=0D
   consider.  In connection oriented communication, connect() system=0D
   call is used to make the initial contact to the peer, which requires=0D=

   IP address and port number to specify the endpoint.  Hence, name-to-=0D=

   address resolution should be performed prior to connect().=0D
   Application needs to resolve FQDN of the peer to an IP address by any=0D=

   available name-to-address conversion method.=0D
=0D
   In typical case, the application receives information from resolver.=0D=

   If the application ends up with receiving multiple IP addresses to=0D
   reach the peer, it should iterate each destination address one-by-=0D
   one.  It should be noted that the host may also have multiple source=0D=

   addresses.=0D
=0D
   The different resulting address pair may have different reachability=0D=

   status so, in order to find a working address pair, it may be=0D
   required to explore all the available address pairs (as opposed to=0D
   explore all available destination addresses).=0D
=0D
   In normal case, application issues connect() by specifying resolved=0D=

   IP address of the peer.  If the connect() fails, IP address is=0D
   iterated one by one sequentially until working pair is found.=0D
   Another approach is to initiate concurrent connect() with every=0D
   locator of the peer. connect() can also be called in a sequence which=0D=

   would probably require more time to find the working pair.=0D
=0D
   There could be another case where involvement of shim layer is=0D
   expected for handling initial contact.

MB: which is the previous case where the shim was involved in?
i mean the next is "another case" is there a previous case?
maybe s/there/this ?


   In such case, behavior of=0D
   shim layer will depend on presence of required context.  If there=0D
   exists the context for the EID specified in the connect(), the=0D
   initial contact can be made in accordance with the context=0D
   information.  Otherwise, shim layer should invoke context=0D
   establishment with the peer EID specified in the argument for=0D
   connect().=0D
=0D
   Additional efforts would be required in a case where the peer cannot=0D=

   be reachable by the EID (for example, EID is non-routable or non-IP=0D=

   reachable) but can be reached by alternative locator.  In particular,=0D=

   shim layer should somehow discover the alternate locator for the EID=0D=

   to establish context.  [I-D.nordmark-shim6-esd] addresses the=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                [Page 10]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
   possible approach to perform reverse DNS lookup from EID to FQDN,=0D
   then perform forward lookup again to find the full-set of locators=0D
   and EID.=0D
=0D
   In HIP, resolving HITs to IP addresses using DNS is not feasible=0D
   because HITs do not contain any hierarchical information.  To=0D
   mitigate this problem, there are a few alternatives.  Firstly,=0D
   resolver library on end-host can be modified to provide HIT-to-IP=0D
   mappings for HIP software module.  Secondly, a distributed hash table=0D=

   (DHT) service can be used for storing and looking up the mappings=0D
   because it supports non-hierarchical identifiers, such as HITs=0D
   [I-D.ietf-hip-arch].  Thirdly, it is possible to use IP addresses in=0D=

   legacy applications as described in [I-D.henderson-hip-applications].=0D=

=0D
6.2.  Naming at Socket Layer=0D
=0D
   getsockname() and getpeername() system calls are used to obtain the=0D=

   'name' of endpoint which is actually a pair of IP address and port=0D
   number assigned to given socket. getsockname() is used when an=0D
   application wants to obtain the local IP address and port number=0D
   assigned for given socket instance. getpeername() is used when an=0D
   application wants to obtain the remote IP address and port number.=0D
   As IP address is the key information in the two system calls, there=0D=

   is a question if it should be identifier or locator when shim layer=0D=

   is present.=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                [Page 11]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
7.  Issues of Handling Multiple Locators with shim aware applications=0D
=0D
   TBD.=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                [Page 12]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
8.  Further Issues=0D
=0D
   Followings are issues that need further considerations.=0D
=0D
8.1.  Additional Requirements from Applications=0D
=0D
   Followings are additional requirements.  At the moment, it is not=0D
   certain if these features are commonly needed in all the targeted=0D
   multihomed environments (SHIM6 and HIP).  These requirements are=0D
   mainly identified during discussions made on SHIM6 WG mailing list.=0D=

=0D
   o  The application should be able to select a locator pair.=0D
=0D
   o  The application should be able to set preferences for the=0D
      locators, local and remote one and also to the preferences of the=0D=

      local locators that will be passed to the peer.=0D

MB: i think here it should be included the description of the discussion =
about whether an app can select soemthing for a context that will affect =
all the other apps that are using this
Actually i think this is a relevant discussion in general (for instance =
for negative and positive feedback, timers and so on) because the =
settings/information passed by a single application would affect all =
other apps using the context. I think that we need a section disucssing =
how to manage the case where there are multiple apps that are source of =
information to the shim and how we can deal with contradictory =
information in particular=20


=0D
   o  Don't apply shim.  Application should be able to request shim=0D
      layer not to apply Identifier/Locator adaptation but to apply=0D
      normal IP processing at the IP layer.=0D

MB: this is already mentioned in the above requirements and i think this =
is required (i.e. it is not for discussion)

=0D
   o  Application should be able to specify if it wants to defer the=0D
      context setup or it wants context establishment to be started=0D
      immediately if there is no available context.  In such way,=0D
      application can 'upgrade' the connection providing in a sense that=0D=

      identifier and locator are managed separately.=0D
=0D

MB: I think this should be supported
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                [Page 13]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
9.  IANA Considerations=0D
=0D
   This document contains no IANA consideration.=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                [Page 14]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
10.  Security Considerations=0D
=0D
   TBD=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                [Page 15]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
11.  Conclusion=0D
=0D
   TBD=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                [Page 16]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
12.  Acknowledgments=0D
=0D
   TBD=0D
=0D
13.  Normative References=0D
=0D
   [I-D.henderson-hip-applications]=0D
              Henderson, T. and P. Nikander, "Using HIP with Legacy=0D
              Applications", draft-henderson-hip-applications-01 (work=0D=

              in progress), February 2005.=0D
=0D
   [I-D.ietf-hip-arch]=0D
              Moskowitz, R. and P. Nikander, "Host Identity Protocol=0D
              Architecture", draft-ietf-hip-arch-03 (work in progress),=0D=

              August 2005.=0D
=0D
   [I-D.ietf-shim6-app-refer]=0D
              Nordmark, E., "Shim6 Application Referral Issues",=0D
              draft-ietf-shim6-app-refer-00 (work in progress),=0D
              July 2005.=0D
=0D
   [I-D.ietf-shim6-failure-detection]=0D
              Arkko, J. and I. Beijnum, "Failure Detection and Locator=0D=

              Pair Exploration Protocol for IPv6 Multihoming",=0D
              draft-ietf-shim6-failure-detection-03 (work in progress),=0D=

              December 2005.=0D
=0D
   [I-D.ietf-shim6-proto]=0D
              Bagnulo, M. and E. Nordmark, "Level 3 multihoming shim=0D
              protocol", draft-ietf-shim6-proto-03 (work in progress),=0D=

              December 2005.=0D
=0D
   [I-D.nordmark-shim6-esd]=0D
              Nordmark, E., "Extended Shim6 Design for ID/loc split and=0D=

              Traffic Engineering", draft-nordmark-shim6-esd-00 (work in=0D=

              progress), February 2006.=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                [Page 17]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
Author's Address=0D
=0D
   TBD=0D
   TBD=0D
   TBD=0D
   TBD  TBD=0D
   TBD=0D
=0D
   Phone: TBD=0D
   Email: TBD=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                [Page 18]=0D=

=0C=0D
Internet-Draft             Multihomed Shim API             February 2006=0D=

=0D
=0D
Intellectual Property Statement=0D
=0D
   The IETF takes no position regarding the validity or scope of any=0D
   Intellectual Property Rights or other rights that might be claimed to=0D=

   pertain to the implementation or use of the technology described in=0D=

   this document or the extent to which any license under such rights=0D
   might or might not be available; nor does it represent that it has=0D
   made any independent effort to identify any such rights.  Information=0D=

   on the procedures with respect to rights in RFC documents can be=0D
   found in BCP 78 and BCP 79.=0D
=0D
   Copies of IPR disclosures made to the IETF Secretariat and any=0D
   assurances of licenses to be made available, or the result of an=0D
   attempt made to obtain a general license or permission for the use of=0D=

   such proprietary rights by implementers or users of this=0D
   specification can be obtained from the IETF on-line IPR repository at=0D=

   http://www.ietf.org/ipr.=0D
=0D
   The IETF invites any interested party to bring to its attention any=0D=

   copyrights, patents or patent applications, or other proprietary=0D
   rights that may cover technology that may be required to implement=0D
   this standard.  Please address the information to the IETF at=0D
   ietf-ipr@ietf.org.=0D
=0D
=0D
Disclaimer of Validity=0D
=0D
   This document and the information contained herein are provided on an=0D=

   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS=0D=

   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET=0D
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,=0D=

   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE=0D
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED=0D
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.=0D
=0D
=0D
Copyright Statement=0D
=0D
   Copyright (C) The Internet Society (2006).  This document is subject=0D=

   to the rights, licenses and restrictions contained in BCP 78, and=0D
   except as set forth therein, the authors retain all their rights.=0D
=0D
=0D
Acknowledgment=0D
=0D
   Funding for the RFC Editor function is currently provided by the=0D
   Internet Society.=0D
=0D
=0D
=0D
=0D
TBD                      Expires August 5, 2006                [Page 19]=0D=

=0C=0D

--Apple-Mail-4-332925165
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=ISO-8859-1;
	delsp=yes;
	format=flowed


El 19/05/2006, a las 17:06, Shinta Sugimoto escribi=F3:

> Hi,
>
> I've updated the API draft reflecting comments that I
> receieved from Marcelo, Miika, and Jari.  I hope I haven't
> missed anything important, but if there is any please
> let me know.
>
> Attached please find the draft (.txt) as well as diff (.html)
> from the previous version.  I hope we could move on defining
> the solution (concrete socket API extensions) from now.
>
> I appreciate your comments.
>
>
> Regards,
> Shinta
>
> On Fri, 05 May 2006 15:18:40 +0900
> Shinta Sugimoto <shinta@sfc.wide.ad.jp> wrote:
>
>> Hi Miika and all,
>>
>> I am sorry for being late (at least a week later than planned...)
>> but let me send you a draft which is a compilation of the =
requirements
>> for API identified/discussed on the SHIM6/multimobsec-api/BTNS
>> mailing list in the past.  Attached please find the document in
>> {txt,html,xml} format.
>>
>> At the moment, the draft only contains the requirements for common
>> API for both SHIM6 and HIP, and some identified issues.  Most of the
>> items were from Marcelo's email about API for SHIM [1].  I hope this
>> is useful for identifying the requirements for API for (generic)
>> multihomed environemtn which is based on ID/Locator separation.
>> At the moment, as I failed to see relation to BTNS so no relation
>> is mentioned.  But I am open to discussion.
>>
>> After we discuss and agree on requirements, we can work on specific
>> solutions.  Hope its useful and I appreciate your comments.  =20
>> Especially
>> I would like you to check Section 5 and see if anything is missing.
>> Also, please feel free to modify the document.
>>
>> [1] http://www.ops.ietf.org/lists/shim6/msg01191.html
>>
>>
>> Regards,
>> Shinta
>>
>
>
> <draft-manyfolks-multihome-shim-api-00.txt><multihome-api-=20
> diff.html>_______________________________________________
> MULTIMOBSEC-API mailing list
> MULTIMOBSEC-API@ietf.org
> https://www1.ietf.org/mailman/listinfo/multimobsec-api

--Apple-Mail-4-332925165
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api

--Apple-Mail-4-332925165--





From multimobsec-api-bounces@ietf.org Mon May 22 08:07:16 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fi9Br-0002Ki-Rk; Mon, 22 May 2006 08:07:15 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fi9Bq-0002Kc-8T
	for multimobsec-api@ietf.org; Mon, 22 May 2006 08:07:14 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fi9Bn-0005fY-Uy
	for multimobsec-api@ietf.org; Mon, 22 May 2006 08:07:14 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id 34CF130D0; Mon, 22 May 2006 15:07:11 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.1-niksula20060321 (2006-03-10) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.1-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id B981630C4;
	Mon, 22 May 2006 15:07:10 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3/Submit) with ESMTP id
	k4MC6r46015779; Mon, 22 May 2006 15:06:53 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Mon, 22 May 2006 15:06:53 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <b9dabded1676f9bd775e46efa01ce9ca@it.uc3m.es>
Message-ID: <Pine.SOL.4.64.0605221456010.14830@kekkonen.cs.hut.fi>
References: <20060505145305.C262.SHINTA@sfc.wide.ad.jp>
	<20060519165423.523B.SHINTA@sfc.wide.ad.jp>
	<b9dabded1676f9bd775e46efa01ce9ca@it.uc3m.es>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 93238566e09e6e262849b4f805833007
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Mon, 22 May 2006, marcelo bagnulo braun wrote:

> most of the comments are editorial, but there are a few substantial 
> comments

Where, to be exact? I am mostly interested about the substantial changes.

Some ideas on section 7:

7.  Issues of Handling Multiple Locators with shim aware applications

As discussed earlier, I proposed to use sendmsg/recvmsg interface for 
receiving event information. However, it might be better to use NETLINK 
interface (RFC3549) for this. This way, it is easier to convert existing 
applications to become shim aware.

To "set" or "get" some non-event based information, the application can 
call getsockopt or setsockopt.

Any ideas, comments or objections? We need to figure out also the 
permissions - who is is allowed to do what.

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue May 23 04:22:57 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FiSAL-0001aD-MA; Tue, 23 May 2006 04:22:57 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FiSAK-0001a8-Dx
	for multimobsec-api@ietf.org; Tue, 23 May 2006 04:22:56 -0400
Received: from mail.sfc.wide.ad.jp ([203.178.142.146])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FiSAH-00029q-Eo
	for multimobsec-api@ietf.org; Tue, 23 May 2006 04:22:56 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id 0FDAC4D957;
	Tue, 23 May 2006 17:22:31 +0900 (JST)
Date: Tue, 23 May 2006 11:22:30 +0300
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: marcelo bagnulo braun <marcelo@it.uc3m.es>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <b9dabded1676f9bd775e46efa01ce9ca@it.uc3m.es>
References: <20060519165423.523B.SHINTA@sfc.wide.ad.jp>
	<b9dabded1676f9bd775e46efa01ce9ca@it.uc3m.es>
Message-Id: <20060523092851.5256.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.21.03 [ja]
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 8ba8529e77affe49b0f315db98a262ee
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

Hi Marcelo,

Thank you for your comments.  I reflected most of your editorial
comments except some items that I need clarification.  Please find
my comments inline.

[snip]

> 1.  Introduction
> 
>    This document specifies socket API for multihomed shim layer.
> 
> MB: i would rephrase as
>    This document specifies a/the socket API for a multihoming shim layer.

done (with 'a').

> 
>    The
>    API aims to enable interactions between application and the multihome
> 
> MB: s/mulithome/multihoming

done.

>    shim layer for advanced locator management and interface to access
>    essential information about failure detection and path exploration.
> 
> MB: i would remove essential

'essential' removed.

[snip]

> 3.  Terminology
> 
>    This document does not intend to give new definitions for technical
>    terms that are relevant to multihomed environment but tries to
>    inherit definitions provided in the existing documents as listed
>    below:
> 
>    o  SHIM6 Protocol Specification[I-D.ietf-shim6-proto]
> 
>    o  HIP Architecture[I-D.ietf-hip-arch]
> 
>    o  Reachability Protocol (REAP)[I-D.ietf-shim6-failure-detection]
> 
>    For clarification, we provide definition for the terms that are
>    frequently used in this document:
> 
>    o  Endpoint Identifier (EID) - An identifier used by the application
>       to specify an endpoint of the communication.  As addressed in
>       [I-D.ietf-shim6-app-refer], application may handle EID in various
>       ways in different types of communication models such as long-lived
>       connection, callback, and referral.
> 
>       *  In case of SHIM6, the EID is called ULID.  ULID is chosen from
>          one of available locators on the host.
> 
>       *  In case of HIP, the EID is essentially a public key of the
>          host.  In order to preserve backward compatibility of legacy
>          application, hash of public key called Host Identity Tag (HIT)
>          is used by application as a handler of EID.
> 
> MB s/handler of/handle for the

done.

> 
> 
>    o  Locator - IP address actually used to deliver the IP packet.
> 
> MB: s/IP address/An IP address

done.

> 
>       Locator should be present in the source and destination field of
>       IP header of a packet that appears on wire.  Normally, locator is
> 
> MB: s/locator/a locator

done.

> 
>       assigned to the network interface of the host.  And the IP packet
>       destined to given locator is delivered to the network interface by
> 
> MB: s/to given locator/to a given locator

done.

> s/the network interface/to the correspondent network interface

done.

> 
>       the routing system.
> 
>    o  Shim - A conceptual layer inside the IP Layer which maintains
>       mappings of EID and locator.  An EID can be associated with more
> 
> MB: s/ mappings of EID and locator/ mappings between EIDs and locators

done.

> 
>       than one locators at a time when the host is multihomed.  From
>       network architecture perspective, shim should be even or lower
>       than the IPsec layer.  It should be noted that the term 'shim'
>       does not refer to specific protocol but refers to a generic
>       concept of a layer that enables separation of identifier and
>       locator.  SHIM6 and HIP are examples of the shim.
> 
>    o  Context - A state information to be shared by the peers, which
>       essentially stores a binding of EID and associated locators.  The
> 
> MB: s/binding of/ binding between the

done.

> 
> TBD                      Expires August 5, 2006                 [Page 5]
> 
> Internet-Draft             Multihomed Shim API             February 2006
> 
> 
>       context is maintained inside the host at the shim layer.
> 
> s/inside the host at the shim layer/ at the shim layer of the host

done.

> 
>    o  List of Locators - A list of available locators on the host.
> 
> MB: this sounds like the list of locators is only for the local host,
>  while the list of locators can also be for the remote host.
> I would say, the list of locators associated with a EID or something like this...
> 
>        The
>       list should be stored in a context, which tells all available
>       locators for the communication based on EID pair.
> 
> MB: the list of locators is asociated to a EID not to a EID pair or a context... 
> i mean there are TWO list of locators in a single context, one per EID of the context...

Correct.  rephrased as follows:

<t>List of Locators - A list of locators associated with an EID.
There are two lists of locators stored in a given context, one
is associated with local EID and the other is associated with
remote EID.  As defined in <>, list of locators associated with
an EID 'A' can be denoted as Ls(A).

>       As defined in
>       [I-D.ietf-shim6-proto], list of locators of a host whose EID is
>       'A' can be denoted as Ls(A).
> 
>    o  Preferred Locator - The (source/destination) locator currently
>       used to send packets.  As defined in [I-D.ietf-shim6-proto],
>       preferred locator of a host whose EID is 'A' can be denoted as
>       Lp(A).
> 
>    o  Reachability Detection - A procedure to detect reachability
>       between given locator pair.
> 
> MB: s/between given/between a given

done.

> 
> 
>    o  Path - A sequence of routers that an IP packet goes through to
>       reach the destination.
> 
>    o  Path Exploration - A procedure to explore available path for given
>       locator pairs.
> 
> MB: s/for given locator pairs/for a given set of locator pairs

done.

> 
> 
>    o  Outage - An incident meaning that the reachability among given
> 
> MB: s/among given/among a given

done.


>       locator pair is lost.  The outage could be caused by any kinds of
>       problems inside the routing infrastructure and problems of network
> 
> MB: s/of network/of the network

done.

> 
>       interface of the end hosts.
> 
>    o  Working Address Pair - An address pair is said to be working if
>       the packet containing the first address from the pair as source
>       address and the second address from the pair as destination
>       address can safely travel from the source to the destination, and
>       vice versa.
> 
> MB: remove and vice versa since the definition is an ordered address pair...

done.

> 
>   If the reachability is confirmed in both directions,
>       the address pairs is said to be bi-directional.  Otherwise, it's
>       unidirectional.
> 
>    o  REAP - A protocol for detecting failure and exploring reachability
>       in multihomed environment.  REAP is defined in[I-D.ietf-shim6-
>       failure-detection].
> 
>    o  Endpoint Descriptor (ED) - The representation of endpoints is
>       hidden from the applications.
> 
> MB: i am not sure what does this sentence means here
> 
>       ED is a "handle" or "pointer" to
>       the actual EID.  A given ED serves as a AID [I-D.nordmark-multi6-
>       noid].
> 
> MB: i haven't read the noid draft recently, but afair and AID was just as a ULID not a ED... (at least no more than a shim ULID)

I would leave definitions of ED to Miika.  Miika ?

from <draft-nordmark-multi6-noid-02.txt> Section 1.2:

>       Application identifier (AID)
>                   - an IP locator which has been selected for
>                     communication with a peer to be used by the upper
>                     layer protocol.  128 bits.  This is used for
>                     pseudo-header checksum computation and connection
>                     identification in the ULP.  Different sets of
>                     communication to a host (e.g., different
>                     connections) might use different AIDs in order to
>                     enable load spreading.

So, it sounds like notion of AID is similar to that of ULID in SHIM6
as Marcelo pointed out.

[snip]

> 5.  Requirements
> 
>    Following is a list of requirements from the application perspective.
>    These requirements are mainly identified during the discussions on
>    SHIM6 WG mailing list.  Some requirements are derived from
>    Reachability Protocol document[I-D.ietf-shim6-failure-detection].
> 
>    o  Locator management.  Locator management is role of shim layer to
> 
> MB: s/of shim/of the shim

done.

>       select a pair of locators for sending IP packets within given
> 
> MB: s/within given/within a given

done.

>       context.  The selection is made by taking miscellaneous conditions
>       into account such as reachability of path, application's
> 
> MB: s/of path/of the path

done.

>       preference, and characteristics of path.  From application's
> 
> MB: s/of path/of the path

done.

> 
>       perspective:
> 
>       *  It should be possible to obtain list of locators of the host
>          within a given context.  Ls(local) and Ls(remote).
> 
>       *  It should be possible to obtain preferred locator of the node
>          within a given context.  Lp(local) and Lp(remote).
> 
>    o  Notification from application to shim layer about the status of
> 
> MB: s/from application to shim/from the application to the shim

done.

> 
>       communication.  Note that the notification is made in event based
> 
> MB: s/of communication/of the communication
> s/in event/in an event

done.

> 
>       manner.  There are mainly two aspects of the feedback that
>       application or upper layer protocol may provide for shim layer,
>       positive and negative feedbacks [NOTE: These feedbacks are
>       addressed in sectoin 4.3 and section 5.2 of REAP specification]:
> 
>       *  Positive feedback could be given by application or upper layer
> 
> MB: s/by application/by the application

done.

> 
>          protocol (e.g.  TCP) to the shim layer informing that its
>          communication is going well.
> 
>       *  Negative feedback could be given by application or upper layer
> 
> MB: s/by application/by the application

done.

>          protocol (e.g.  TCP) to the shim layer informing that its
>          communication status is not satisfactory.  TCP could detect a
>          problem when it does not receives expected ACK from the peer.
>          ICMP error messages delivered to the upper layer protocol could
>          be a clue for application to detect any kind of problem.  REAP
>          module may be triggered by these negative feedbacks and invoke
>          procedure of path exploration.
> 
>    o  Feedback from application to shim layer.  The application should
>       be able to inform the shim layer about the timeout values for
>       detecting failure, for sending keepalives, for starting the
>       exploration procedure.  In particular, the application should be
>       able to suppress the keepalives.
> 
>    o  Hot-standby.  Application may request shim layer if hot-standby
>       connection is needed.  In this case, alternative paths are known
> 
> 
> 
> TBD                      Expires August 5, 2006                 [Page 8]
> 
> Internet-Draft             Multihomed Shim API             February 2006
> 
> 
>       to be working.  Hence it is possible for the host to immediately
>       replace the current locator pair with the alternative locator
>       pair.  Hot-standby may allow application to achieve better
>       failover.
> 
>    o  Eagerness of locator exploration.  Application should be able to
>       specify shim layer how aggressive it wants to search alternative
> 
> MB: i think this sentence needs rewording...

Does this sound better ?

<t>Eagerness of locator exploration.  The application should be able
to inform the shim layer how proactive it wants REAP mechanism to perform
path exploration (e.g. specifying the number of concurrent attempts of
discovering working locator pair) when an outage occurs on the path between
the currently selected locator pair.</t>
> 
>       path (e.g. specifying the number of concurrent attempts of
>       discovering working locator pair) when an outage occurs on the
>       path between the currently selected locator pair.
> 

[snip]

> 6.  Issues of Handling Multiple Locators with shim unaware applications
> 
>    In multihomed environment where either or both of the peers have
>    multiple locators, there are some issues with legacy socket API.
> 
> 6.1.  Initial Contact
> 
>    When application is going to establish communication with its peer
>    who happens to have multiple locators, there are some issues to
>    consider.  In connection oriented communication, connect() system
>    call is used to make the initial contact to the peer, which requires
>    IP address and port number to specify the endpoint.  Hence, name-to-
>    address resolution should be performed prior to connect().
>    Application needs to resolve FQDN of the peer to an IP address by any
>    available name-to-address conversion method.
> 
>    In typical case, the application receives information from resolver.
>    If the application ends up with receiving multiple IP addresses to
>    reach the peer, it should iterate each destination address one-by-
>    one.  It should be noted that the host may also have multiple source
>    addresses.
> 
>    The different resulting address pair may have different reachability
>    status so, in order to find a working address pair, it may be
>    required to explore all the available address pairs (as opposed to
>    explore all available destination addresses).
> 
>    In normal case, application issues connect() by specifying resolved
>    IP address of the peer.  If the connect() fails, IP address is
>    iterated one by one sequentially until working pair is found.
>    Another approach is to initiate concurrent connect() with every
>    locator of the peer. connect() can also be called in a sequence which
>    would probably require more time to find the working pair.
> 
>    There could be another case where involvement of shim layer is
>    expected for handling initial contact.
> 
> MB: which is the previous case where the shim was involved in?
> i mean the next is "another case" is there a previous case?
> maybe s/there/this ?

yes, the sentence is misleading.  I rephrased as "Besides, there
is a case where involvement of the shim layer is expected... "

> 
> 
>    In such case, behavior of
>    shim layer will depend on presence of required context.  If there
>    exists the context for the EID specified in the connect(), the
>    initial contact can be made in accordance with the context
>    information.  Otherwise, shim layer should invoke context
>    establishment with the peer EID specified in the argument for
>    connect().
> 
>    Additional efforts would be required in a case where the peer cannot
>    be reachable by the EID (for example, EID is non-routable or non-IP
>    reachable) but can be reached by alternative locator.  In particular,
>    shim layer should somehow discover the alternate locator for the EID
>    to establish context.  [I-D.nordmark-shim6-esd] addresses the
> 
> 
> 
> TBD                      Expires August 5, 2006                [Page 10]
> 
> Internet-Draft             Multihomed Shim API             February 2006
> 
> 
>    possible approach to perform reverse DNS lookup from EID to FQDN,
>    then perform forward lookup again to find the full-set of locators
>    and EID.
> 
>    In HIP, resolving HITs to IP addresses using DNS is not feasible
>    because HITs do not contain any hierarchical information.  To
>    mitigate this problem, there are a few alternatives.  Firstly,
>    resolver library on end-host can be modified to provide HIT-to-IP
>    mappings for HIP software module.  Secondly, a distributed hash table
>    (DHT) service can be used for storing and looking up the mappings
>    because it supports non-hierarchical identifiers, such as HITs
>    [I-D.ietf-hip-arch].  Thirdly, it is possible to use IP addresses in
>    legacy applications as described in [I-D.henderson-hip-applications].
> 

[snip]

> 8.  Further Issues
> 
>    Followings are issues that need further considerations.
> 
> 8.1.  Additional Requirements from Applications
> 
>    Followings are additional requirements.  At the moment, it is not
>    certain if these features are commonly needed in all the targeted
>    multihomed environments (SHIM6 and HIP).  These requirements are
>    mainly identified during discussions made on SHIM6 WG mailing list.
> 
>    o  The application should be able to select a locator pair.
> 
>    o  The application should be able to set preferences for the
>       locators, local and remote one and also to the preferences of the
>       local locators that will be passed to the peer.
> 
> MB: i think here it should be included the description of the discussion
> about whether an app can select soemthing for a context that will affect
> all the other apps that are using this

Noted.  A context can be by definition, shared by apps, so if we let
app to specify 

> Actually i think this is a relevant discussion in general (for instance for
> negative and positive feedback, timers and so on) because the settings/information
> passed by a single application would affect all other apps using the context.
> I think that we need a section disucssing how to manage the case where there
> are multiple apps that are source of information to the shim and how we can
> deal with contradictory information in particular 
> 

I agree.  Race condition should be avoided.
I think this issue is common to BTNS in case of connection latching.
Specific SA parameters should be chosen for a given application.

And we may also learn from past experience (existing systems).
In some of major Operating Systems, it is possible for application to
configure per-socket IPsec policy by setsockopt().  By doing so, policy
enforcement could be done in per-socket manner.  Well, per-socket does
not necessariliy mean per-application, but...  In those cases (systems
that allows app to specify per-socket IPsec policy), IPsec policy
could be either system-wide or per-socket.  Per-socket policy must not
be applied to flow of application that has no association with the
policy entry.  Question is which policy to apply for when both system-wide
policy and per-socket policy match.  Probably per-socket policy
should override the system-wide policy in any case of race condition.

I will add new section for this issue.  Thank you for pointing this out.

> 
>    o  Don't apply shim.  Application should be able to request shim
>       layer not to apply Identifier/Locator adaptation but to apply
>       normal IP processing at the IP layer.
> 
> MB: this is already mentioned in the above requirements and i think this is required (i.e. it is not for discussion)

Yes.

> 
> 
>    o  Application should be able to specify if it wants to defer the
>       context setup or it wants context establishment to be started
>       immediately if there is no available context.  In such way,
>       application can 'upgrade' the connection providing in a sense that
>       identifier and locator are managed separately.
> 
> 
> MB: I think this should be supported

Ok.

[snip]


Regards,
Shinta

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Tue May 23 13:19:58 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1FiaY2-0001bT-B4; Tue, 23 May 2006 13:19:58 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1FiaY0-0001N5-WF
	for multimobsec-api@ietf.org; Tue, 23 May 2006 13:19:57 -0400
Received: from twilight.cs.hut.fi ([130.233.40.5])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FiaXz-0000tT-Lp
	for multimobsec-api@ietf.org; Tue, 23 May 2006 13:19:56 -0400
Received: by twilight.cs.hut.fi (Postfix, from userid 60001)
	id D9AAC3119; Tue, 23 May 2006 20:19:52 +0300 (EEST)
X-Spam-Checker-Version: SpamAssassin 3.1.1-niksula20060321 (2006-03-10) on 
	twilight.cs.hut.fi
X-Spam-Level: 
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=failed 
	version=3.1.1-niksula20060321
X-Spam-Niksula: No
Received: from kekkonen.cs.hut.fi (kekkonen.cs.hut.fi [130.233.41.50])
	by twilight.cs.hut.fi (Postfix) with ESMTP id 67EB12F73;
	Tue, 23 May 2006 20:19:52 +0300 (EEST)
Received: from localhost (mkomu@localhost)
	by kekkonen.cs.hut.fi (8.13.4+Sun/8.13.3/Submit) with ESMTP id
	k4NHJnIe004870; Tue, 23 May 2006 20:19:49 +0300 (EEST)
X-Authentication-Warning: kekkonen.cs.hut.fi: mkomu owned process doing -bs
Date: Tue, 23 May 2006 20:19:49 +0300 (EEST)
From: Miika Komu <miika@iki.fi>
X-X-Sender: mkomu@kekkonen.cs.hut.fi
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <20060523092851.5256.SHINTA@sfc.wide.ad.jp>
Message-ID: <Pine.SOL.4.64.0605232006570.4193@kekkonen.cs.hut.fi>
References: <20060519165423.523B.SHINTA@sfc.wide.ad.jp>
	<b9dabded1676f9bd775e46efa01ce9ca@it.uc3m.es>
	<20060523092851.5256.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 7baded97d9887f7a0c7e8a33c2e3ea1b
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

On Tue, 23 May 2006, Shinta Sugimoto wrote:

>> MB: i am not sure what does this sentence means here
>>
>>       ED is a "handle" or "pointer" to
>>       the actual EID.  A given ED serves as a AID [I-D.nordmark-multi6-
>>       noid].
>>
>> MB: i haven't read the noid draft recently, but afair and AID was just 
>> as a ULID not a ED... (at least no more than a shim ULID)
>
> I would leave definitions of ED to Miika.  Miika ?

I think I originally misinterpreted AID to be any application identifer. 
Please remove the latter sentence.

> from <draft-nordmark-multi6-noid-02.txt> Section 1.2:
>
>>       Application identifier (AID)
>>                   - an IP locator which has been selected for
>>                     communication with a peer to be used by the upper
>>                     layer protocol.  128 bits.  This is used for
>>                     pseudo-header checksum computation and connection
>>                     identification in the ULP.  Different sets of
>>                     communication to a host (e.g., different
>>                     connections) might use different AIDs in order to
>>                     enable load spreading.
>
> So, it sounds like notion of AID is similar to that of ULID in SHIM6
> as Marcelo pointed out.

The AID term is a little bit confusing from the viewpoint of EDs, because 
they are also "application identifiers" even though the pseudo-header 
checksum is not based on the ED.

Anyway, maybe we should have the AID term redundantly in the draft 
terminology.

-- 
Miika Komu              miika@iki.fi          http://www.iki.fi/miika/

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api



From multimobsec-api-bounces@ietf.org Wed May 24 03:49:55 2006
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
	by megatron.ietf.org with esmtp (Exim 4.43)
	id 1Fio7r-00028I-8s; Wed, 24 May 2006 03:49:51 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
	by megatron.ietf.org with esmtp (Exim 4.43) id 1Fio7p-00027w-4L
	for multimobsec-api@ietf.org; Wed, 24 May 2006 03:49:49 -0400
Received: from mail.sfc.wide.ad.jp ([203.178.142.146])
	by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Fio7c-0000M5-61
	for multimobsec-api@ietf.org; Wed, 24 May 2006 03:49:49 -0400
Received: from [193.234.219.165] (w165.nomadiclab.com [193.234.219.165])
	by mail.sfc.wide.ad.jp (Postfix) with ESMTP id C79E94D90F;
	Wed, 24 May 2006 16:49:04 +0900 (JST)
Date: Wed, 24 May 2006 10:49:03 +0300
From: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
To: Shinta Sugimoto <shinta@sfc.wide.ad.jp>
Subject: Re: [MULTIMOBSEC-API] api requirements
In-Reply-To: <20060523092851.5256.SHINTA@sfc.wide.ad.jp>
References: <b9dabded1676f9bd775e46efa01ce9ca@it.uc3m.es>
	<20060523092851.5256.SHINTA@sfc.wide.ad.jp>
Message-Id: <20060524103550.5264.SHINTA@sfc.wide.ad.jp>
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="------_44740CD66C00071F4530_MULTIPART_MIXED_"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.21.03 [ja]
X-Spam-Score: 0.0 (/)
X-Scan-Signature: a67cdb0531fa0833bc39a420fca82ee6
Cc: multimobsec-api@ietf.org
X-BeenThere: multimobsec-api@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "Multihoming, mobility and security APIs" <multimobsec-api.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/multimobsec-api>
List-Post: <mailto:multimobsec-api@ietf.org>
List-Help: <mailto:multimobsec-api-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/multimobsec-api>,
	<mailto:multimobsec-api-request@ietf.org?subject=subscribe>
Errors-To: multimobsec-api-bounces@ietf.org

--------_44740CD66C00071F4530_MULTIPART_MIXED_
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

Hi,

Attached please find the latest version of the API draft.
Updates were made based on the comments from Marcelo and Miika.

Regards,
Shinta

On Tue, 23 May 2006 11:22:30 +0300
Shinta Sugimoto <shinta@sfc.wide.ad.jp> wrote:

> Hi Marcelo,
> 
> Thank you for your comments.  I reflected most of your editorial
> comments except some items that I need clarification.  Please find
> my comments inline.
> 
> [snip]
> 
> > 1.  Introduction
> > 
> >    This document specifies socket API for multihomed shim layer.
> > 
> > MB: i would rephrase as
> >    This document specifies a/the socket API for a multihoming shim layer.
> 
> done (with 'a').
> 
> > 
> >    The
> >    API aims to enable interactions between application and the multihome
> > 
> > MB: s/mulithome/multihoming
> 
> done.
> 
> >    shim layer for advanced locator management and interface to access
> >    essential information about failure detection and path exploration.
> > 
> > MB: i would remove essential
> 
> 'essential' removed.
> 
> [snip]
> 
> > 3.  Terminology
> > 
> >    This document does not intend to give new definitions for technical
> >    terms that are relevant to multihomed environment but tries to
> >    inherit definitions provided in the existing documents as listed
> >    below:
> > 
> >    o  SHIM6 Protocol Specification[I-D.ietf-shim6-proto]
> > 
> >    o  HIP Architecture[I-D.ietf-hip-arch]
> > 
> >    o  Reachability Protocol (REAP)[I-D.ietf-shim6-failure-detection]
> > 
> >    For clarification, we provide definition for the terms that are
> >    frequently used in this document:
> > 
> >    o  Endpoint Identifier (EID) - An identifier used by the application
> >       to specify an endpoint of the communication.  As addressed in
> >       [I-D.ietf-shim6-app-refer], application may handle EID in various
> >       ways in different types of communication models such as long-lived
> >       connection, callback, and referral.
> > 
> >       *  In case of SHIM6, the EID is called ULID.  ULID is chosen from
> >          one of available locators on the host.
> > 
> >       *  In case of HIP, the EID is essentially a public key of the
> >          host.  In order to preserve backward compatibility of legacy
> >          application, hash of public key called Host Identity Tag (HIT)
> >          is used by application as a handler of EID.
> > 
> > MB s/handler of/handle for the
> 
> done.
> 
> > 
> > 
> >    o  Locator - IP address actually used to deliver the IP packet.
> > 
> > MB: s/IP address/An IP address
> 
> done.
> 
> > 
> >       Locator should be present in the source and destination field of
> >       IP header of a packet that appears on wire.  Normally, locator is
> > 
> > MB: s/locator/a locator
> 
> done.
> 
> > 
> >       assigned to the network interface of the host.  And the IP packet
> >       destined to given locator is delivered to the network interface by
> > 
> > MB: s/to given locator/to a given locator
> 
> done.
> 
> > s/the network interface/to the correspondent network interface
> 
> done.
> 
> > 
> >       the routing system.
> > 
> >    o  Shim - A conceptual layer inside the IP Layer which maintains
> >       mappings of EID and locator.  An EID can be associated with more
> > 
> > MB: s/ mappings of EID and locator/ mappings between EIDs and locators
> 
> done.
> 
> > 
> >       than one locators at a time when the host is multihomed.  From
> >       network architecture perspective, shim should be even or lower
> >       than the IPsec layer.  It should be noted that the term 'shim'
> >       does not refer to specific protocol but refers to a generic
> >       concept of a layer that enables separation of identifier and
> >       locator.  SHIM6 and HIP are examples of the shim.
> > 
> >    o  Context - A state information to be shared by the peers, which
> >       essentially stores a binding of EID and associated locators.  The
> > 
> > MB: s/binding of/ binding between the
> 
> done.
> 
> > 
> > TBD                      Expires August 5, 2006                 [Page 5]
> > 
> > Internet-Draft             Multihomed Shim API             February 2006
> > 
> > 
> >       context is maintained inside the host at the shim layer.
> > 
> > s/inside the host at the shim layer/ at the shim layer of the host
> 
> done.
> 
> > 
> >    o  List of Locators - A list of available locators on the host.
> > 
> > MB: this sounds like the list of locators is only for the local host,
> >  while the list of locators can also be for the remote host.
> > I would say, the list of locators associated with a EID or something like this...
> > 
> >        The
> >       list should be stored in a context, which tells all available
> >       locators for the communication based on EID pair.
> > 
> > MB: the list of locators is asociated to a EID not to a EID pair or a context... 
> > i mean there are TWO list of locators in a single context, one per EID of the context...
> 
> Correct.  rephrased as follows:
> 
> <t>List of Locators - A list of locators associated with an EID.
> There are two lists of locators stored in a given context, one
> is associated with local EID and the other is associated with
> remote EID.  As defined in <>, list of locators associated with
> an EID 'A' can be denoted as Ls(A).
> 
> >       As defined in
> >       [I-D.ietf-shim6-proto], list of locators of a host whose EID is
> >       'A' can be denoted as Ls(A).
> > 
> >    o  Preferred Locator - The (source/destination) locator currently
> >       used to send packets.  As defined in [I-D.ietf-shim6-proto],
> >       preferred locator of a host whose EID is 'A' can be denoted as
> >       Lp(A).
> > 
> >    o  Reachability Detection - A procedure to detect reachability
> >       between given locator pair.
> > 
> > MB: s/between given/between a given
> 
> done.
> 
> > 
> > 
> >    o  Path - A sequence of routers that an IP packet goes through to
> >       reach the destination.
> > 
> >    o  Path Exploration - A procedure to explore available path for given
> >       locator pairs.
> > 
> > MB: s/for given locator pairs/for a given set of locator pairs
> 
> done.
> 
> > 
> > 
> >    o  Outage - An incident meaning that the reachability among given
> > 
> > MB: s/among given/among a given
> 
> done.
> 
> 
> >       locator pair is lost.  The outage could be caused by any kinds of
> >       problems inside the routing infrastructure and problems of network
> > 
> > MB: s/of network/of the network
> 
> done.
> 
> > 
> >       interface of the end hosts.
> > 
> >    o  Working Address Pair - An address pair is said to be working if
> >       the packet containing the first address from the pair as source
> >       address and the second address from the pair as destination
> >       address can safely travel from the source to the destination, and
> >       vice versa.
> > 
> > MB: remove and vice versa since the definition is an ordered address pair...
> 
> done.
> 
> > 
> >   If the reachability is confirmed in both directions,
> >       the address pairs is said to be bi-directional.  Otherwise, it's
> >       unidirectional.
> > 
> >    o  REAP - A protocol for detecting failure and exploring reachability
> >       in multihomed environment.  REAP is defined in[I-D.ietf-shim6-
> >       failure-detection].
> > 
> >    o  Endpoint Descriptor (ED) - The representation of endpoints is
> >       hidden from the applications.
> > 
> > MB: i am not sure what does this sentence means here
> > 
> >       ED is a "handle" or "pointer" to
> >       the actual EID.  A given ED serves as a AID [I-D.nordmark-multi6-
> >       noid].
> > 
> > MB: i haven't read the noid draft recently, but afair and AID was just as a ULID not a ED... (at least no more than a shim ULID)
> 
> I would leave definitions of ED to Miika.  Miika ?
> 
> from <draft-nordmark-multi6-noid-02.txt> Section 1.2:
> 
> >       Application identifier (AID)
> >                   - an IP locator which has been selected for
> >                     communication with a peer to be used by the upper
> >                     layer protocol.  128 bits.  This is used for
> >                     pseudo-header checksum computation and connection
> >                     identification in the ULP.  Different sets of
> >                     communication to a host (e.g., different
> >                     connections) might use different AIDs in order to
> >                     enable load spreading.
> 
> So, it sounds like notion of AID is similar to that of ULID in SHIM6
> as Marcelo pointed out.
> 
> [snip]
> 
> > 5.  Requirements
> > 
> >    Following is a list of requirements from the application perspective.
> >    These requirements are mainly identified during the discussions on
> >    SHIM6 WG mailing list.  Some requirements are derived from
> >    Reachability Protocol document[I-D.ietf-shim6-failure-detection].
> > 
> >    o  Locator management.  Locator management is role of shim layer to
> > 
> > MB: s/of shim/of the shim
> 
> done.
> 
> >       select a pair of locators for sending IP packets within given
> > 
> > MB: s/within given/within a given
> 
> done.
> 
> >       context.  The selection is made by taking miscellaneous conditions
> >       into account such as reachability of path, application's
> > 
> > MB: s/of path/of the path
> 
> done.
> 
> >       preference, and characteristics of path.  From application's
> > 
> > MB: s/of path/of the path
> 
> done.
> 
> > 
> >       perspective:
> > 
> >       *  It should be possible to obtain list of locators of the host
> >          within a given context.  Ls(local) and Ls(remote).
> > 
> >       *  It should be possible to obtain preferred locator of the node
> >          within a given context.  Lp(local) and Lp(remote).
> > 
> >    o  Notification from application to shim layer about the status of
> > 
> > MB: s/from application to shim/from the application to the shim
> 
> done.
> 
> > 
> >       communication.  Note that the notification is made in event based
> > 
> > MB: s/of communication/of the communication
> > s/in event/in an event
> 
> done.
> 
> > 
> >       manner.  There are mainly two aspects of the feedback that
> >       application or upper layer protocol may provide for shim layer,
> >       positive and negative feedbacks [NOTE: These feedbacks are
> >       addressed in sectoin 4.3 and section 5.2 of REAP specification]:
> > 
> >       *  Positive feedback could be given by application or upper layer
> > 
> > MB: s/by application/by the application
> 
> done.
> 
> > 
> >          protocol (e.g.  TCP) to the shim layer informing that its
> >          communication is going well.
> > 
> >       *  Negative feedback could be given by application or upper layer
> > 
> > MB: s/by application/by the application
> 
> done.
> 
> >          protocol (e.g.  TCP) to the shim layer informing that its
> >          communication status is not satisfactory.  TCP could detect a
> >          problem when it does not receives expected ACK from the peer.
> >          ICMP error messages delivered to the upper layer protocol could
> >          be a clue for application to detect any kind of problem.  REAP
> >          module may be triggered by these negative feedbacks and invoke
> >          procedure of path exploration.
> > 
> >    o  Feedback from application to shim layer.  The application should
> >       be able to inform the shim layer about the timeout values for
> >       detecting failure, for sending keepalives, for starting the
> >       exploration procedure.  In particular, the application should be
> >       able to suppress the keepalives.
> > 
> >    o  Hot-standby.  Application may request shim layer if hot-standby
> >       connection is needed.  In this case, alternative paths are known
> > 
> > 
> > 
> > TBD                      Expires August 5, 2006                 [Page 8]
> > 
> > Internet-Draft             Multihomed Shim API             February 2006
> > 
> > 
> >       to be working.  Hence it is possible for the host to immediately
> >       replace the current locator pair with the alternative locator
> >       pair.  Hot-standby may allow application to achieve better
> >       failover.
> > 
> >    o  Eagerness of locator exploration.  Application should be able to
> >       specify shim layer how aggressive it wants to search alternative
> > 
> > MB: i think this sentence needs rewording...
> 
> Does this sound better ?
> 
> <t>Eagerness of locator exploration.  The application should be able
> to inform the shim layer how proactive it wants REAP mechanism to perform
> path exploration (e.g. specifying the number of concurrent attempts of
> discovering working locator pair) when an outage occurs on the path between
> the currently selected locator pair.</t>
> > 
> >       path (e.g. specifying the number of concurrent attempts of
> >       discovering working locator pair) when an outage occurs on the
> >       path between the currently selected locator pair.
> > 
> 
> [snip]
> 
> > 6.  Issues of Handling Multiple Locators with shim unaware applications
> > 
> >    In multihomed environment where either or both of the peers have
> >    multiple locators, there are some issues with legacy socket API.
> > 
> > 6.1.  Initial Contact
> > 
> >    When application is going to establish communication with its peer
> >    who happens to have multiple locators, there are some issues to
> >    consider.  In connection oriented communication, connect() system
> >    call is used to make the initial contact to the peer, which requires
> >    IP address and port number to specify the endpoint.  Hence, name-to-
> >    address resolution should be performed prior to connect().
> >    Application needs to resolve FQDN of the peer to an IP address by any
> >    available name-to-address conversion method.
> > 
> >    In typical case, the application receives information from resolver.
> >    If the application ends up with receiving multiple IP addresses to
> >    reach the peer, it should iterate each destination address one-by-
> >    one.  It should be noted that the host may also have multiple source
> >    addresses.
> > 
> >    The different resulting address pair may have different reachability
> >    status so, in order to find a working address pair, it may be
> >    required to explore all the available address pairs (as opposed to
> >    explore all available destination addresses).
> > 
> >    In normal case, application issues connect() by specifying resolved
> >    IP address of the peer.  If the connect() fails, IP address is
> >    iterated one by one sequentially until working pair is found.
> >    Another approach is to initiate concurrent connect() with every
> >    locator of the peer. connect() can also be called in a sequence which
> >    would probably require more time to find the working pair.
> > 
> >    There could be another case where involvement of shim layer is
> >    expected for handling initial contact.
> > 
> > MB: which is the previous case where the shim was involved in?
> > i mean the next is "another case" is there a previous case?
> > maybe s/there/this ?
> 
> yes, the sentence is misleading.  I rephrased as "Besides, there
> is a case where involvement of the shim layer is expected... "
> 
> > 
> > 
> >    In such case, behavior of
> >    shim layer will depend on presence of required context.  If there
> >    exists the context for the EID specified in the connect(), the
> >    initial contact can be made in accordance with the context
> >    information.  Otherwise, shim layer should invoke context
> >    establishment with the peer EID specified in the argument for
> >    connect().
> > 
> >    Additional efforts would be required in a case where the peer cannot
> >    be reachable by the EID (for example, EID is non-routable or non-IP
> >    reachable) but can be reached by alternative locator.  In particular,
> >    shim layer should somehow discover the alternate locator for the EID
> >    to establish context.  [I-D.nordmark-shim6-esd] addresses the
> > 
> > 
> > 
> > TBD                      Expires August 5, 2006                [Page 10]
> > 
> > Internet-Draft             Multihomed Shim API             February 2006
> > 
> > 
> >    possible approach to perform reverse DNS lookup from EID to FQDN,
> >    then perform forward lookup again to find the full-set of locators
> >    and EID.
> > 
> >    In HIP, resolving HITs to IP addresses using DNS is not feasible
> >    because HITs do not contain any hierarchical information.  To
> >    mitigate this problem, there are a few alternatives.  Firstly,
> >    resolver library on end-host can be modified to provide HIT-to-IP
> >    mappings for HIP software module.  Secondly, a distributed hash table
> >    (DHT) service can be used for storing and looking up the mappings
> >    because it supports non-hierarchical identifiers, such as HITs
> >    [I-D.ietf-hip-arch].  Thirdly, it is possible to use IP addresses in
> >    legacy applications as described in [I-D.henderson-hip-applications].
> > 
> 
> [snip]
> 
> > 8.  Further Issues
> > 
> >    Followings are issues that need further considerations.
> > 
> > 8.1.  Additional Requirements from Applications
> > 
> >    Followings are additional requirements.  At the moment, it is not
> >    certain if these features are commonly needed in all the targeted
> >    multihomed environments (SHIM6 and HIP).  These requirements are
> >    mainly identified during discussions made on SHIM6 WG mailing list.
> > 
> >    o  The application should be able to select a locator pair.
> > 
> >    o  The application should be able to set preferences for the
> >       locators, local and remote one and also to the preferences of the
> >       local locators that will be passed to the peer.
> > 
> > MB: i think here it should be included the description of the discussion
> > about whether an app can select soemthing for a context that will affect
> > all the other apps that are using this
> 
> Noted.  A context can be by definition, shared by apps, so if we let
> app to specify 
> 
> > Actually i think this is a relevant discussion in general (for instance for
> > negative and positive feedback, timers and so on) because the settings/information
> > passed by a single application would affect all other apps using the context.
> > I think that we need a section disucssing how to manage the case where there
> > are multiple apps that are source of information to the shim and how we can
> > deal with contradictory information in particular 
> > 
> 
> I agree.  Race condition should be avoided.
> I think this issue is common to BTNS in case of connection latching.
> Specific SA parameters should be chosen for a given application.
> 
> And we may also learn from past experience (existing systems).
> In some of major Operating Systems, it is possible for application to
> configure per-socket IPsec policy by setsockopt().  By doing so, policy
> enforcement could be done in per-socket manner.  Well, per-socket does
> not necessariliy mean per-application, but...  In those cases (systems
> that allows app to specify per-socket IPsec policy), IPsec policy
> could be either system-wide or per-socket.  Per-socket policy must not
> be applied to flow of application that has no association with the
> policy entry.  Question is which policy to apply for when both system-wide
> policy and per-socket policy match.  Probably per-socket policy
> should override the system-wide policy in any case of race condition.
> 
> I will add new section for this issue.  Thank you for pointing this out.
> 
> > 
> >    o  Don't apply shim.  Application should be able to request shim
> >       layer not to apply Identifier/Locator adaptation but to apply
> >       normal IP processing at the IP layer.
> > 
> > MB: this is already mentioned in the above requirements and i think this is required (i.e. it is not for discussion)
> 
> Yes.
> 
> > 
> > 
> >    o  Application should be able to specify if it wants to defer the
> >       context setup or it wants context establishment to be started
> >       immediately if there is no available context.  In such way,
> >       application can 'upgrade' the connection providing in a sense that
> >       identifier and locator are managed separately.
> > 
> > 
> > MB: I think this should be supported
> 
> Ok.
> 
> [snip]
> 
> 
> Regards,
> Shinta
> 
> _______________________________________________
> MULTIMOBSEC-API mailing list
> MULTIMOBSEC-API@ietf.org
> https://www1.ietf.org/mailman/listinfo/multimobsec-api



--------_44740CD66C00071F4530_MULTIPART_MIXED_
Content-Type: application/octet-stream;
	name="draft-manyfolks-multihome-shim-api-00.txt"
Content-Disposition: attachment;
	filename="draft-manyfolks-multihome-shim-api-00.txt"
Content-Transfer-Encoding: base64

DQoNCg0KTmV0d29yayBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFRCRC4gVEJEDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUQkQNCkV4cGlyZXM6IEF1Z3VzdCA1
LCAyMDA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0K
DQoNCiAgICAgICAgICAgICAgICAgICAgIFNvY2tldCBBUEkgZm9yIE11bHRpaG9tZWQgU2hpbQ0K
ICAgICAgICAgICAgICAgICBkcmFmdC1tYW55Zm9sa3MtbXVsdGlob21lLXNoaW0tYXBpLTAwDQoN
ClN0YXR1cyBvZiB0aGlzIE1lbW8NCg0KICAgQnkgc3VibWl0dGluZyB0aGlzIEludGVybmV0LURy
YWZ0LCBlYWNoIGF1dGhvciByZXByZXNlbnRzIHRoYXQgYW55DQogICBhcHBsaWNhYmxlIHBhdGVu
dCBvciBvdGhlciBJUFIgY2xhaW1zIG9mIHdoaWNoIGhlIG9yIHNoZSBpcyBhd2FyZQ0KICAgaGF2
ZSBiZWVuIG9yIHdpbGwgYmUgZGlzY2xvc2VkLCBhbmQgYW55IG9mIHdoaWNoIGhlIG9yIHNoZSBi
ZWNvbWVzDQogICBhd2FyZSB3aWxsIGJlIGRpc2Nsb3NlZCwgaW4gYWNjb3JkYW5jZSB3aXRoIFNl
Y3Rpb24gNiBvZiBCQ1AgNzkuDQoNCiAgIEludGVybmV0LURyYWZ0cyBhcmUgd29ya2luZyBkb2N1
bWVudHMgb2YgdGhlIEludGVybmV0IEVuZ2luZWVyaW5nDQogICBUYXNrIEZvcmNlIChJRVRGKSwg
aXRzIGFyZWFzLCBhbmQgaXRzIHdvcmtpbmcgZ3JvdXBzLiAgTm90ZSB0aGF0DQogICBvdGhlciBn
cm91cHMgbWF5IGFsc28gZGlzdHJpYnV0ZSB3b3JraW5nIGRvY3VtZW50cyBhcyBJbnRlcm5ldC0N
CiAgIERyYWZ0cy4NCg0KICAgSW50ZXJuZXQtRHJhZnRzIGFyZSBkcmFmdCBkb2N1bWVudHMgdmFs
aWQgZm9yIGEgbWF4aW11bSBvZiBzaXggbW9udGhzDQogICBhbmQgbWF5IGJlIHVwZGF0ZWQsIHJl
cGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0IGFueQ0KICAgdGltZS4g
IEl0IGlzIGluYXBwcm9wcmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyByZWZlcmVuY2UN
CiAgIG1hdGVyaWFsIG9yIHRvIGNpdGUgdGhlbSBvdGhlciB0aGFuIGFzICJ3b3JrIGluIHByb2dy
ZXNzLiINCg0KICAgVGhlIGxpc3Qgb2YgY3VycmVudCBJbnRlcm5ldC1EcmFmdHMgY2FuIGJlIGFj
Y2Vzc2VkIGF0DQogICBodHRwOi8vd3d3LmlldGYub3JnL2lldGYvMWlkLWFic3RyYWN0cy50eHQu
DQoNCiAgIFRoZSBsaXN0IG9mIEludGVybmV0LURyYWZ0IFNoYWRvdyBEaXJlY3RvcmllcyBjYW4g
YmUgYWNjZXNzZWQgYXQNCiAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvc2hhZG93Lmh0bWwuDQoNCiAg
IFRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBpcmUgb24gQXVndXN0IDUsIDIwMDYuDQoNCkNv
cHlyaWdodCBOb3RpY2UNCg0KICAgQ29weXJpZ2h0IChDKSBUaGUgSW50ZXJuZXQgU29jaWV0eSAo
MjAwNikuDQoNCkFic3RyYWN0DQoNCiAgIFRoaXMgZG9jdW1lbnQgc3BlY2lmaWVzIGEgc29ja2V0
IEFQSSBmb3IgbXVsdGlob21lZCBzaGltIGxheWVyLiAgVGhlDQogICBBUEkgYWltcyB0byBlbmFi
bGUgaW50ZXJhY3Rpb25zIGJldHdlZW4gYXBwbGljYXRpb24gYW5kIHRoZQ0KICAgbXVsdGlob21p
bmcgc2hpbSBsYXllciBmb3IgYWR2YW5jZWQgbG9jYXRvciBtYW5hZ2VtZW50IGFuZCBpbnRlcmZh
Y2UNCiAgIHRvIGFjY2VzcyBpbmZvcm1hdGlvbiBhYm91dCBmYWlsdXJlIGRldGVjdGlvbiBhbmQg
cGF0aCBleHBsb3JhdGlvbi4NCg0KICAgVGhpcyBkb2N1bWVudCBpcyBiYXNlZCBvbiBhbiBhc3N1
bXB0aW9uIHRoYXQgYSBtdWx0aG9tZWQgaG9zdCBpcw0KICAgZXF1aXBwZWQgd2l0aCBhICdzaGlt
JyB3aGljaCBlc3NuZXRpYWxseSBtYWludGFpbnMgbWFwcGluZyBvZg0KICAgaWRlbnRpZmllciBh
bmQgbG9jYXRvci4gIFNISU02IGFuZCBISVAgYXJlIGV4YW1wbGVzIG9mIHRoZSBzaGltLg0KICAg
SGVuY2UsIHRoZSBBUEkgY2FuIGJlIGNvbW1vbmx5IHVzZWQgYnkgU0hJTTYgYW5kIEhJUC4NCg0K
DQoNClRCRCAgICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAg
ICAgICAgICAgICBbUGFnZSAxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlo
b21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KVGFibGUgb2YgQ29u
dGVudHMNCg0KICAgMS4gIEludHJvZHVjdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzDQogICAyLiAgVGFyZ2V0IC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQNCiAgIDMuICBUZXJtaW5v
bG9neSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg
NQ0KICAgNC4gIFN5c3RlbSBPdmVydmlldyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuICA3DQogICA1LiAgUmVxdWlyZW1lbnRzIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDgNCiAgIDYuICBJc3N1ZXMgd2l0aCBh
IENvbnRleHQgU2hhcmVkIGJ5IEFwcGxpY2F0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAxMA0KICAg
Ny4gIElzc3VlcyBvZiBIYW5kbGluZyBNdWx0aXBsZSBMb2NhdG9ycyB3aXRoIHNoaW0gdW5hd2Fy
ZQ0KICAgICAgIGFwcGxpY2F0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIDExDQogICAgIDcuMS4gIEluaXRpYWwgQ29udGFjdCAgLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTENCiAgICAgNy4yLiAgTmFtaW5nIGF0
IFNvY2tldCBMYXllciAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxMg0KICAg
OC4gIElzc3VlcyBvZiBIYW5kbGluZyBNdWx0aXBsZSBMb2NhdG9ycyB3aXRoIHNoaW0gYXdhcmUN
CiAgICAgICBhcHBsaWNhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAxMw0KICAgOS4gIEZ1cnRoZXIgSXNzdWVzIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE0DQogICAgIDkuMS4gIEFkZGl0aW9uYWwg
UmVxdWlyZW1lbnRzIGZyb20gQXBwbGljYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gMTQNCiAgIDEw
LiBJQU5BIENvbnNpZGVyYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAxNQ0KICAgMTEuIFNlY3VyaXR5IENvbnNpZGVyYXRpb25zICAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDE2DQogICAxMi4gQ29uY2x1c2lvbiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTcNCiAgIDEzLiBBY2tu
b3dsZWRnbWVudHMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g
LiAxOA0KICAgMTQuIE5vcm1hdGl2ZSBSZWZlcmVuY2VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu
IC4gLiAuIC4gLiAuIC4gLiAuIDE4DQogICBBdXRob3IncyBBZGRyZXNzIC4gLiAuIC4gLiAuIC4g
LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTkNCiAgIEludGVsbGVjdHVhbCBQ
cm9wZXJ0eSBhbmQgQ29weXJpZ2h0IFN0YXRlbWVudHMgLiAuIC4gLiAuIC4gLiAuIC4gLiAyMA0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpU
QkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAg
ICAgICAgW1BhZ2UgMl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQg
U2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjEuICBJbnRyb2R1Y3Rpb24N
Cg0KICAgVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBzb2NrZXQgQVBJIGZvciBtdWx0aWhvbWVk
IHNoaW0gbGF5ZXIuICBUaGUNCiAgIEFQSSBhaW1zIHRvIGVuYWJsZSBpbnRlcmFjdGlvbnMgYmV0
d2VlbiBhcHBsaWNhdGlvbiBhbmQgdGhlDQogICBtdWx0aWhvbWluZyBzaGltIGxheWVyIGZvciBh
ZHZhbmNlZCBsb2NhdG9yIG1hbmFnZW1lbnQgYW5kIGludGVyZmFjZQ0KICAgdG8gYWNjZXNzIGVz
c2VudGlhbCBpbmZvcm1hdGlvbiBhYm91dCBmYWlsdXJlIGRldGVjdGlvbiBhbmQgcGF0aA0KICAg
ZXhwbG9yYXRpb24uDQoNCiAgIFRoaXMgZG9jdW1lbnQgaXMgYmFzZWQgb24gYW4gYXNzdW1wdGlv
biB0aGF0IGEgbXVsdGhvbWVkIGhvc3QgaXMNCiAgIGVxdWlwcGVkIHdpdGggYSAnc2hpbScgd2hp
Y2ggZXNzZW50aWFsbHkgbWFpbnRhaW5zIG1hcHBpbmcgb2YNCiAgIGlkZW50aWZpZXIgYW5kIGxv
Y2F0b3IuICBTSElNNiBhbmQgSElQIGFyZSBleGFtcGxlcyBvZiB0aGUgc2hpbS4NCiAgIEhlbmNl
LCB0aGUgQVBJIGNhbiBiZSBjb21tb25seSB1c2VkIGJ5IFNISU02IGFuZCBISVAuDQoNCiAgIElu
IHRoaXMgZG9jdW1lbnQsIG5vdGF0aW9uIG9mIEFQSSBpcyBwcmVzZW50ZWQgaW4gQyBsYW5ndWFn
ZS4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KVEJEICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVn
dXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgIFtQYWdlIDNdDQoMDQpJbnRlcm5ldC1EcmFmdCAg
ICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYN
Cg0KDQoyLiAgVGFyZ2V0DQoNCiAgIEV4cGVjdGVkIHJlYWRlcnMgb2YgdGhpcyBkb2N1bWVudCBh
cmU6IGFwcGxpY2F0aW9uIHByb2dyYW1tZXIgd2hvDQogICBkZXZlbG9wcyBhcHBsaWNhdGlvbiBz
b2Z0d2FyZSB3aGljaCBtYXkgcnVuIG9uIHRvcCBvZiBtdWx0aWhvbWVkDQogICBlbnZpcm9ubWVu
dC4gIEluIHBhcnRpY3VsYXIsIHRoZSBBUEkgc2hvdWxkIGJlIGJlbmVmaWNpYWwgZm9yDQogICBh
cHBsaWNhdGlvbiBkZXZlbG9wbWVudCBvZiB0aGUgc29mdHdhcmUgd2hpY2ggdGFrZXMgYWR2YW50
YWdlIG9mDQogICBtdWx0aWhvbWVkIGVudmlyb25tZW50IGFpbWluZyB0byBhY2hpZXZlIGJldHRl
ciBmYWlsb3Zlci4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAg
ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICAgW1BhZ2Ug
NF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAg
ICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjMuICBUZXJtaW5vbG9neQ0KDQogICBUaGlzIGRv
Y3VtZW50IGRvZXMgbm90IGludGVuZCB0byBnaXZlIG5ldyBkZWZpbml0aW9ucyBmb3IgdGVjaG5p
Y2FsDQogICB0ZXJtcyB0aGF0IGFyZSByZWxldmFudCB0byBtdWx0aWhvbWVkIGVudmlyb25tZW50
IGJ1dCB0cmllcyB0bw0KICAgaW5oZXJpdCBkZWZpbml0aW9ucyBwcm92aWRlZCBpbiB0aGUgZXhp
c3RpbmcgZG9jdW1lbnRzIGFzIGxpc3RlZA0KICAgYmVsb3c6DQoNCiAgIG8gIFNISU02IFByb3Rv
Y29sIFNwZWNpZmljYXRpb25bSS1ELmlldGYtc2hpbTYtcHJvdG9dDQoNCiAgIG8gIEhJUCBBcmNo
aXRlY3R1cmVbSS1ELmlldGYtaGlwLWFyY2hdDQoNCiAgIG8gIFJlYWNoYWJpbGl0eSBQcm90b2Nv
bCAoUkVBUClbSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb25dDQoNCiAgIEZvciBjbGFy
aWZpY2F0aW9uLCB3ZSBwcm92aWRlIGRlZmluaXRpb24gZm9yIHRoZSB0ZXJtcyB0aGF0IGFyZQ0K
ICAgZnJlcXVlbnRseSB1c2VkIGluIHRoaXMgZG9jdW1lbnQ6DQoNCiAgIG8gIEVuZHBvaW50IElk
ZW50aWZpZXIgKEVJRCkgLSBBbiBpZGVudGlmaWVyIHVzZWQgYnkgdGhlIGFwcGxpY2F0aW9uDQog
ICAgICB0byBzcGVjaWZ5IGFuIGVuZHBvaW50IG9mIHRoZSBjb21tdW5pY2F0aW9uLiAgQXMgYWRk
cmVzc2VkIGluDQogICAgICBbSS1ELmlldGYtc2hpbTYtYXBwLXJlZmVyXSwgYXBwbGljYXRpb24g
bWF5IGhhbmRsZSBFSUQgaW4gdmFyaW91cw0KICAgICAgd2F5cyBpbiBkaWZmZXJlbnQgdHlwZXMg
b2YgY29tbXVuaWNhdGlvbiBtb2RlbHMgc3VjaCBhcyBsb25nLWxpdmVkDQogICAgICBjb25uZWN0
aW9uLCBjYWxsYmFjaywgYW5kIHJlZmVycmFsLg0KDQogICAgICAqICBJbiBjYXNlIG9mIFNISU02
LCB0aGUgRUlEIGlzIGNhbGxlZCBVTElELiAgVUxJRCBpcyBjaG9zZW4gZnJvbQ0KICAgICAgICAg
b25lIG9mIGF2YWlsYWJsZSBsb2NhdG9ycyBvbiB0aGUgaG9zdC4NCg0KICAgICAgKiAgSW4gY2Fz
ZSBvZiBISVAsIHRoZSBFSUQgaXMgZXNzZW50aWFsbHkgYSBwdWJsaWMga2V5IG9mIHRoZQ0KICAg
ICAgICAgaG9zdC4gIEluIG9yZGVyIHRvIHByZXNlcnZlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkg
b2YgbGVnYWN5DQogICAgICAgICBhcHBsaWNhdGlvbiwgaGFzaCBvZiBwdWJsaWMga2V5IGNhbGxl
ZCBIb3N0IElkZW50aXR5IFRhZyAoSElUKQ0KICAgICAgICAgaXMgdXNlZCBieSBhcHBsaWNhdGlv
biBhcyBhIGhhbmRsZXIgZm9yIHRoZSBFSUQuDQoNCiAgIG8gIExvY2F0b3IgLSBBbiBJUCBhZGRy
ZXNzIGFjdHVhbGx5IHVzZWQgdG8gZGVsaXZlciB0aGUgSVAgcGFja2V0Lg0KICAgICAgTG9jYXRv
ciBzaG91bGQgYmUgcHJlc2VudCBpbiB0aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBmaWVsZCBv
Zg0KICAgICAgSVAgaGVhZGVyIG9mIGEgcGFja2V0IHRoYXQgYXBwZWFycyBvbiB3aXJlLiAgTm9y
bWFsbHksIGEgbG9jYXRvcg0KICAgICAgaXMgYXNzaWduZWQgdG8gdGhlIG5ldHdvcmsgaW50ZXJm
YWNlIG9mIHRoZSBob3N0LiAgQW5kIHRoZSBJUA0KICAgICAgcGFja2V0IGRlc3RpbmVkIHRvIGEg
Z2l2ZW4gbG9jYXRvciBpcyBkZWxpdmVyZWQgdG8gdGhlDQogICAgICBjb3JyZXNwb25kZW50IG5l
dHdvcmsgaW50ZXJmYWNlIGJ5IHRoZSByb3V0aW5nIHN5c3RlbS4NCg0KICAgbyAgU2hpbSAtIEEg
Y29uY2VwdHVhbCBsYXllciBpbnNpZGUgdGhlIElQIExheWVyIHdoaWNoIG1haW50YWlucw0KICAg
ICAgbWFwcGluZ3Mgb2YgRUlEcyBhbmQgbG9jYXRvcnMuICBBbiBFSUQgY2FuIGJlIGFzc29jaWF0
ZWQgd2l0aCBtb3JlDQogICAgICB0aGFuIG9uZSBsb2NhdG9ycyBhdCBhIHRpbWUgd2hlbiB0aGUg
aG9zdCBpcyBtdWx0aWhvbWVkLiAgRnJvbQ0KICAgICAgbmV0d29yayBhcmNoaXRlY3R1cmUgcGVy
c3BlY3RpdmUsIHNoaW0gc2hvdWxkIGJlIGV2ZW4gb3IgbG93ZXINCiAgICAgIHRoYW4gdGhlIElQ
c2VjIGxheWVyLiAgSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgdGhlIHRlcm0gJ3NoaW0nDQogICAg
ICBkb2VzIG5vdCByZWZlciB0byBzcGVjaWZpYyBwcm90b2NvbCBidXQgcmVmZXJzIHRvIGEgZ2Vu
ZXJpYw0KICAgICAgY29uY2VwdCBvZiBhIGxheWVyIHRoYXQgZW5hYmxlcyBzZXBhcmF0aW9uIG9m
IGlkZW50aWZpZXIgYW5kDQogICAgICBsb2NhdG9yLiAgU0hJTTYgYW5kIEhJUCBhcmUgZXhhbXBs
ZXMgb2YgdGhlIHNoaW0uDQoNCiAgIG8gIENvbnRleHQgLSBBIHN0YXRlIGluZm9ybWF0aW9uIHRv
IGJlIHNoYXJlZCBieSB0aGUgcGVlcnMsIHdoaWNoDQogICAgICBlc3NlbnRpYWxseSBzdG9yZXMg
YSBiaW5kaW5nIGJldHdlZW4gdGhlIEVJRCBhbmQgYXNzb2NpYXRlZA0KDQoNCg0KVEJEICAgICAg
ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAgIFtQ
YWdlIDVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJ
ICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQogICAgICBsb2NhdG9ycy4gIFRoZSBjb250
ZXh0IGlzIG1haW50YWluZWQgYXQgdGhlIHNoaW0gbGF5ZXIgb2YgdGhlDQogICAgICBob3N0Lg0K
DQogICBvICBMaXN0IG9mIExvY2F0b3JzIC0gQSBsaXN0IG9mIGxvY2F0b3JzIGFzc29jaWF0ZWQg
d2l0aCBhbiBFSUQuDQogICAgICBUaGVyZSBhcmUgdHdvIGxpc3RzIG9mIGxvY2F0b3JzIHN0b3Jl
ZCBpbiBhIGdpdmVuIGNvbnRleHQsIG9uZSBpcw0KICAgICAgYXNzb2NpYXRlZCB3aXRoIGxvY2Fs
IEVJRCBhbmQgdGhlIG90aGVyIGlzIGFzc29jaWF0ZWQgd2l0aCByZW1vdGUNCiAgICAgIEVJRC4g
IEFzIGRlZmluZWQgaW4gW0ktRC5pZXRmLXNoaW02LXByb3RvXSwgbGlzdCBvZiBsb2NhdG9ycw0K
ICAgICAgYXNzb2NpYXRlZCB3aXRoIGFuIEVJRCAnQScgY2FuIGJlIGRlbm90ZWQgYXMgTHMoQSku
DQoNCiAgIG8gIFByZWZlcnJlZCBMb2NhdG9yIC0gVGhlIChzb3VyY2UvZGVzdGluYXRpb24pIGxv
Y2F0b3IgY3VycmVudGx5DQogICAgICB1c2VkIHRvIHNlbmQgcGFja2V0cy4gIEFzIGRlZmluZWQg
aW4gW0ktRC5pZXRmLXNoaW02LXByb3RvXSwNCiAgICAgIHByZWZlcnJlZCBsb2NhdG9yIG9mIGEg
aG9zdCB3aG9zZSBFSUQgaXMgJ0EnIGNhbiBiZSBkZW5vdGVkIGFzDQogICAgICBMcChBKS4NCg0K
ICAgbyAgUmVhY2hhYmlsaXR5IERldGVjdGlvbiAtIEEgcHJvY2VkdXJlIHRvIGRldGVjdCByZWFj
aGFiaWxpdHkNCiAgICAgIGJldHdlZW4gYSBnaXZlbiBsb2NhdG9yIHBhaXIuDQoNCiAgIG8gIFBh
dGggLSBBIHNlcXVlbmNlIG9mIHJvdXRlcnMgdGhhdCBhbiBJUCBwYWNrZXQgZ29lcyB0aHJvdWdo
IHRvDQogICAgICByZWFjaCB0aGUgZGVzdGluYXRpb24uDQoNCiAgIG8gIFBhdGggRXhwbG9yYXRp
b24gLSBBIHByb2NlZHVyZSB0byBleHBsb3JlIGF2YWlsYWJsZSBwYXRoIGZvciBhDQogICAgICBn
aXZlbiBzZXQgb2YgbG9jYXRvciBwYWlycy4NCg0KICAgbyAgT3V0YWdlIC0gQW4gaW5jaWRlbnQg
bWVhbmluZyB0aGF0IHRoZSByZWFjaGFiaWxpdHkgYW1vbmcgYSBnaXZlbg0KICAgICAgbG9jYXRv
ciBwYWlyIGlzIGxvc3QuICBUaGUgb3V0YWdlIGNvdWxkIGJlIGNhdXNlZCBieSBhbnkga2luZHMg
b2YNCiAgICAgIHByb2JsZW1zIGluc2lkZSB0aGUgcm91dGluZyBpbmZyYXN0cnVjdHVyZSBhbmQg
cHJvYmxlbXMgb2YgdGhlDQogICAgICBuZXR3b3JrIGludGVyZmFjZSBvZiB0aGUgZW5kIGhvc3Rz
Lg0KDQogICBvICBXb3JraW5nIEFkZHJlc3MgUGFpciAtIEFuIGFkZHJlc3MgcGFpciBpcyBzYWlk
IHRvIGJlIHdvcmtpbmcgaWYNCiAgICAgIHRoZSBwYWNrZXQgY29udGFpbmluZyB0aGUgZmlyc3Qg
YWRkcmVzcyBmcm9tIHRoZSBwYWlyIGFzIHNvdXJjZQ0KICAgICAgYWRkcmVzcyBhbmQgdGhlIHNl
Y29uZCBhZGRyZXNzIGZyb20gdGhlIHBhaXIgYXMgZGVzdGluYXRpb24NCiAgICAgIGFkZHJlc3Mg
Y2FuIHNhZmVseSB0cmF2ZWwgZnJvbSB0aGUgc291cmNlIHRvIHRoZSBkZXN0aW5hdGlvbi4gIElm
DQogICAgICB0aGUgcmVhY2hhYmlsaXR5IGlzIGNvbmZpcm1lZCBpbiBib3RoIGRpcmVjdGlvbnMs
IHRoZSBhZGRyZXNzDQogICAgICBwYWlycyBpcyBzYWlkIHRvIGJlIGJpLWRpcmVjdGlvbmFsLiAg
T3RoZXJ3aXNlLCBpdCdzDQogICAgICB1bmlkaXJlY3Rpb25hbC4NCg0KICAgbyAgUkVBUCAtIEEg
cHJvdG9jb2wgZm9yIGRldGVjdGluZyBmYWlsdXJlIGFuZCBleHBsb3JpbmcgcmVhY2hhYmlsaXR5
DQogICAgICBpbiBtdWx0aWhvbWVkIGVudmlyb25tZW50LiAgUkVBUCBpcyBkZWZpbmVkIGluW0kt
RC5pZXRmLXNoaW02LQ0KICAgICAgZmFpbHVyZS1kZXRlY3Rpb25dLg0KDQogICBvICBFbmRwb2lu
dCBEZXNjcmlwdG9yIChFRCkgLSBUaGUgcmVwcmVzZW50YXRpb24gb2YgZW5kcG9pbnRzIGlzDQog
ICAgICBoaWRkZW4gZnJvbSB0aGUgYXBwbGljYXRpb25zLiAgRUQgaXMgYSAiaGFuZGxlIiBvciAi
cG9pbnRlciIgdG8NCiAgICAgIHRoZSBhY3R1YWwgRUlELg0KDQoNCg0KDQoNCg0KDQoNClRCRCAg
ICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAgICAgICAgICAgICAg
ICBbUGFnZSA2XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVsdGlob21lZCBTaGlt
IEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KNC4gIFN5c3RlbSBPdmVydmlldw0K
DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQog
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIEFwcGxpY2F0aW9uICAgICAgfA0KICAgICAg
ICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF4gICAgICAgICAgICAgICAgIF4NCiAgICAgICAgICAgICAgfn5+fn5+
fn5+fn5+fnx+U29ja2V0IEludGVyZmFjZXx+fn5+fn5+fn5+fn5+fg0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgdg0KICAgICAgICAgICAgICAgKy0tLS0tLS0t
LS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgICAgICAgIHwgICAg
ICAgICAgIHwgIFRyYW5zcG9ydCBMYXllciAgICAgICAgICAgICB8DQogICAgICAgICAgICAgICAr
LS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgICAgICAgICAg
ICAgICAgICAgXiAgICAgfA0KICAgICAgICstLS0tLS0tLS0tLS0tfC0tLS0tfC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICAgICAgfCAgICAgICAgICAgICB2ICAgICB2
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICAgICB8ICAgKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgICAgICArLS0tLS0tLS0tLSsgICAgfCAgSVANCiAg
ICAgICB8ICAgfCAgICAgICAgICAgIFNoaW0gICAgICAgICAgICAgfDwtLS0tLT58ICAgUkVBUCAg
IHwgICAgfCBMYXllcg0KICAgICAgIHwgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r
ICAgICAgICstLS0tLS0tLS0tKyAgICB8DQogICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg
XiAgICAgICAgICAgICAgICAgICAgICBeICAgICAgICAgIHwNCiAgICAgICArLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tKw0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHYgICAgICAgICAgICAgICAgICAgICAgdg0KICAgICAgICAg
ICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAg
ICAgICAgICAgIHwgICAgICAgICAgICAgICAgTGluayBMYXllciAgICAgICAgICAgICAgICB8DQog
ICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Kw0KDQoNCiAgIEZpZ3VyZSAxOiBTeXN0ZW0gT3ZlcnZpZXcNCg0KICAgRmlndXJlIDEgaWxsdXN0
cmF0ZXMgdGhlIHN5c3RlbSBvdmVydmlldy4gIFRoZSBhcHBsaWNhdGlvbiBjYW4gdGFrZQ0KICAg
YWR2YW50YWdlIG9mIHRoZSBzb2NrZXQgQVBJIHRvIGludGVyYWN0IHdpdGggdGhlIHNoaW0gbGF5
ZXIgYW5kDQogICB0cmFuc3BvcnQgbGF5ZXIgZm9yIGJldHRlciBjb250cm9sIG9mIGxvY2F0b3Ig
bWFuYWdlbWVudCBhbmQgZmFpbHVyZQ0KICAgZGV0ZWN0aW9uIGFuZCBwYXRoIGV4cGxvcmF0aW9u
Lg0KDQogICBJbnNpZGUgdGhlIElQIGxheWVyLCB0aGVyZSBpcyBhIHNoaW0gd2hpY2ggY2xvc2Vs
eSBpbnRlcmFjdHMgd2l0aA0KICAgUkVBUCBjb21wb25lbnQuICBUaGVyZSBjb3VsZCBiZSBpbnRl
cmFjdGlvbnMgYmV0d2VlbiB0aGUgc2hpbSBhbmQNCiAgIHRyYW5zcG9ydCBsYXllciwgaG93ZXZl
ciB0aGV5IGFyZSBvdXRzaWRlIG9mIHNjb3BlIG9mIHRoaXMgZG9jdW1lbnQuDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1
c3QgNSwgMjAwNiAgICAgICAgICAgICAgICAgW1BhZ2UgN10NCgwNCkludGVybmV0LURyYWZ0ICAg
ICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0K
DQoNCjUuICBSZXF1aXJlbWVudHMNCg0KICAgRm9sbG93aW5nIGlzIGEgbGlzdCBvZiByZXF1aXJl
bWVudHMgZnJvbSB0aGUgYXBwbGljYXRpb24gcGVyc3BlY3RpdmUuDQogICBUaGVzZSByZXF1aXJl
bWVudHMgYXJlIG1haW5seSBpZGVudGlmaWVkIGR1cmluZyB0aGUgZGlzY3Vzc2lvbnMgb24NCiAg
IFNISU02IFdHIG1haWxpbmcgbGlzdC4gIFNvbWUgcmVxdWlyZW1lbnRzIGFyZSBkZXJpdmVkIGZy
b20NCiAgIFJlYWNoYWJpbGl0eSBQcm90b2NvbCBkb2N1bWVudFtJLUQuaWV0Zi1zaGltNi1mYWls
dXJlLWRldGVjdGlvbl0uDQoNCiAgIG8gIExvY2F0b3IgbWFuYWdlbWVudC4gIExvY2F0b3IgbWFu
YWdlbWVudCBpcyByb2xlIG9mIHRoZSBzaGltIGxheWVyDQogICAgICB0byBzZWxlY3QgYSBwYWly
IG9mIGxvY2F0b3JzIGZvciBzZW5kaW5nIElQIHBhY2tldHMgd2l0aGluIGEgZ2l2ZW4NCiAgICAg
IGNvbnRleHQuICBUaGUgc2VsZWN0aW9uIGlzIG1hZGUgYnkgdGFraW5nIG1pc2NlbGxhbmVvdXMg
Y29uZGl0aW9ucw0KICAgICAgaW50byBhY2NvdW50IHN1Y2ggYXMgcmVhY2hhYmlsaXR5IG9mIHRo
ZSBwYXRoLCBhcHBsaWNhdGlvbidzDQogICAgICBwcmVmZXJlbmNlLCBhbmQgY2hhcmFjdGVyaXN0
aWNzIG9mIHBhdGguICBGcm9tIGFwcGxpY2F0aW9uJ3MNCiAgICAgIHBlcnNwZWN0aXZlOg0KDQog
ICAgICAqICBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8gb2J0YWluIGxpc3Qgb2YgbG9jYXRvcnMg
b2YgdGhlIGhvc3QNCiAgICAgICAgIHdpdGhpbiBhIGdpdmVuIGNvbnRleHQuICBMcyhsb2NhbCkg
YW5kIExzKHJlbW90ZSkuDQoNCiAgICAgICogIEl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBvYnRh
aW4gcHJlZmVycmVkIGxvY2F0b3Igb2YgdGhlIG5vZGUNCiAgICAgICAgIHdpdGhpbiBhIGdpdmVu
IGNvbnRleHQuICBMcChsb2NhbCkgYW5kIExwKHJlbW90ZSkuDQoNCiAgIG8gIE5vdGlmaWNhdGlv
biBmcm9tIGFwcGxpY2F0aW9uIHRvIHRoZSBzaGltIGxheWVyIGFib3V0IHRoZSBzdGF0dXMNCiAg
ICAgIG9mIHRoZSBjb21tdW5pY2F0aW9uLiAgTm90ZSB0aGF0IHRoZSBub3RpZmljYXRpb24gaXMg
bWFkZSBpbiBhbg0KICAgICAgZXZlbnQgYmFzZWQgbWFubmVyLiAgVGhlcmUgYXJlIG1haW5seSB0
d28gYXNwZWN0cyBvZiB0aGUgZmVlZGJhY2sNCiAgICAgIHRoYXQgYXBwbGljYXRpb24gb3IgdXBw
ZXIgbGF5ZXIgcHJvdG9jb2wgbWF5IHByb3ZpZGUgZm9yIHRoZSBzaGltDQogICAgICBsYXllciwg
cG9zaXRpdmUgYW5kIG5lZ2F0aXZlIGZlZWRiYWNrcyBbTk9URTogVGhlc2UgZmVlZGJhY2tzIGFy
ZQ0KICAgICAgYWRkcmVzc2VkIGluIHNlY3RvaW4gNC4zIGFuZCBzZWN0aW9uIDUuMiBvZiBSRUFQ
IHNwZWNpZmljYXRpb25dOg0KDQogICAgICAqICBQb3NpdGl2ZSBmZWVkYmFjayBjb3VsZCBiZSBn
aXZlbiBieSB0aGUgYXBwbGljYXRpb24gb3IgdXBwZXINCiAgICAgICAgIGxheWVyIHByb3RvY29s
IChlLmcuICBUQ1ApIHRvIHRoZSBzaGltIGxheWVyIGluZm9ybWluZyB0aGF0IGl0cw0KICAgICAg
ICAgY29tbXVuaWNhdGlvbiBpcyBnb2luZyB3ZWxsLg0KDQogICAgICAqICBOZWdhdGl2ZSBmZWVk
YmFjayBjb3VsZCBiZSBnaXZlbiBieSB0aGUgYXBwbGljYXRpb24gb3IgdXBwZXINCiAgICAgICAg
IGxheWVyIHByb3RvY29sIChlLmcuICBUQ1ApIHRvIHRoZSBzaGltIGxheWVyIGluZm9ybWluZyB0
aGF0IGl0cw0KICAgICAgICAgY29tbXVuaWNhdGlvbiBzdGF0dXMgaXMgbm90IHNhdGlzZmFjdG9y
eS4gIFRDUCBjb3VsZCBkZXRlY3QgYQ0KICAgICAgICAgcHJvYmxlbSB3aGVuIGl0IGRvZXMgbm90
IHJlY2VpdmVzIGV4cGVjdGVkIEFDSyBmcm9tIHRoZSBwZWVyLg0KICAgICAgICAgSUNNUCBlcnJv
ciBtZXNzYWdlcyBkZWxpdmVyZWQgdG8gdGhlIHVwcGVyIGxheWVyIHByb3RvY29sIGNvdWxkDQog
ICAgICAgICBiZSBhIGNsdWUgZm9yIGFwcGxpY2F0aW9uIHRvIGRldGVjdCBhbnkga2luZCBvZiBw
cm9ibGVtLiAgUkVBUA0KICAgICAgICAgbW9kdWxlIG1heSBiZSB0cmlnZ2VyZWQgYnkgdGhlc2Ug
bmVnYXRpdmUgZmVlZGJhY2tzIGFuZCBpbnZva2UNCiAgICAgICAgIHByb2NlZHVyZSBvZiBwYXRo
IGV4cGxvcmF0aW9uLg0KDQogICBvICBGZWVkYmFjayBmcm9tIGFwcGxpY2F0aW9uIHRvIHNoaW0g
bGF5ZXIuICBUaGUgYXBwbGljYXRpb24gc2hvdWxkDQogICAgICBiZSBhYmxlIHRvIGluZm9ybSB0
aGUgc2hpbSBsYXllciBhYm91dCB0aGUgdGltZW91dCB2YWx1ZXMgZm9yDQogICAgICBkZXRlY3Rp
bmcgZmFpbHVyZSwgZm9yIHNlbmRpbmcga2VlcGFsaXZlcywgZm9yIHN0YXJ0aW5nIHRoZQ0KICAg
ICAgZXhwbG9yYXRpb24gcHJvY2VkdXJlLiAgSW4gcGFydGljdWxhciwgdGhlIGFwcGxpY2F0aW9u
IHNob3VsZCBiZQ0KICAgICAgYWJsZSB0byBzdXBwcmVzcyB0aGUga2VlcGFsaXZlcy4NCg0KICAg
byAgSG90LXN0YW5kYnkuICBUaGUgYXBwbGljYXRpb24gbWF5IHJlcXVlc3QgdGhlIHNoaW0gbGF5
ZXIgaWYgaG90LQ0KICAgICAgc3RhbmRieSBjb25uZWN0aW9uIGlzIG5lZWRlZC4gIEluIHRoaXMg
Y2FzZSwgYWx0ZXJuYXRpdmUgcGF0aHMgYXJlDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAg
ICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICAgW1BhZ2UgOF0NCgwNCklu
dGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAg
RmVicnVhcnkgMjAwNg0KDQoNCiAgICAgIGtub3duIHRvIGJlIHdvcmtpbmcuICBIZW5jZSBpdCBp
cyBwb3NzaWJsZSBmb3IgdGhlIGhvc3QgdG8NCiAgICAgIGltbWVkaWF0ZWx5IHJlcGxhY2UgdGhl
IGN1cnJlbnQgbG9jYXRvciBwYWlyIHdpdGggdGhlIGFsdGVybmF0aXZlDQogICAgICBsb2NhdG9y
IHBhaXIuICBIb3Qtc3RhbmRieSBtYXkgYWxsb3cgYXBwbGljYXRpb24gdG8gYWNoaWV2ZSBiZXR0
ZXINCiAgICAgIGZhaWxvdmVyLg0KDQogICBvICBFYWdlcm5lc3Mgb2YgbG9jYXRvciBleHBsb3Jh
dGlvbi4gIFRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZQ0KICAgICAgdG8gaW5mb3JtIHRo
ZSBzaGltIGxheWVyIGhvdyBwcm9hY3RpdmUgaXQgd2FudHMgUkVBUCBtZWNoYW5pc20gdG8NCiAg
ICAgIHBlcmZvcm0gcGF0aCBleHBsb3JhdGlvbiAoZS5nLiBzcGVjaWZ5aW5nIHRoZSBudW1iZXIg
b2YgY29uY3VycmVudA0KICAgICAgYXR0ZW1wdHMgb2YgZGlzY292ZXJpbmcgd29ya2luZyBsb2Nh
dG9yIHBhaXIpIHdoZW4gYW4gb3V0YWdlDQogICAgICBvY2N1cnMgb24gdGhlIHBhdGggYmV0d2Vl
biB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGxvY2F0b3IgcGFpci4NCg0KICAgbyAgUHJvdmlkaW5n
IGxvY2F0b3IgaW5mb3JtYXRpb24gdG8gYXBwbGljYXRpb24uICBUaGUgYXBwbGljYXRpb24NCiAg
ICAgIHNob3VsZCBiZSBhYmxlIHRvIG9idGFpbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbG9jYXRv
ciBwYWlyIHdoaWNoDQogICAgICB3YXMgYWN0dWFsbHkgdXNlZCB0byBzZW5kIG9yIHJlY2VpdmUg
dGhlIHBhY2tldC4NCg0KICAgICAgKiAgRm9yIGluYm91bmQgdHJhZmZpYywgdGhlIGFwcGxpY2F0
aW9uIG1heSBiZSBpbnRlcmVzdGVkIGluIHRoZQ0KICAgICAgICAgbG9jYXRvciBwYWlyIHdoaWNo
IHdhcyBhY3R1YWxseSB1c2VkIHRvIHJlY2VpdmUgdGhlIHBhY2tldC4NCg0KICAgICAgKiAgRm9y
IG91dGJvdW5kIHRyYWZmaWMsIHRoZSBhcHBsaWNhdGlvbiBtYXkgYmUgaW50ZXJlc3RlZCBpbiB0
aGUNCiAgICAgICAgIGxvY2F0b3IgcGFpciB3aGljaCB3YXMgYWN0dWFsbHkgdXNlZCB0byB0cmFu
c21pdCB0aGUgcGFja2V0Lg0KDQogICAgICBJbiB0aGlzIHdheSwgdGhlIGFwcGxpY2F0aW9uIG1h
eSBoYXZlIGFkZGl0aW9uYWwgY29udHJvbCBvbg0KICAgICAgbG9jYXRvciBtYW5hZ2VtZW50LiAg
Rm9yIGV4YW1wbGUsIHRoZSBhcHBsaWNhdGlvbiBjYW4gdmVyaWZ5IGlmDQogICAgICBpdHMgcHJl
ZmVyZW5jZSBvZiBsb2NhdG9yIGlzIGFjdHVhbGx5IGFwcGxpZWQgdG8gdGhlIGZsb3cgb3Igbm90
Lg0KDQogICBvICBEb24ndCBhcHBseSBzaGltLiAgVGhlIGFwcGxpY2F0aW9uIHNob3VsZCBiZSBh
YmxlIHRvIHJlcXVlc3QgdGhlDQogICAgICBzaGltIGxheWVyIG5vdCB0byBhcHBseSBJZGVudGlm
aWVyL0xvY2F0b3IgYWRhcHRhdGlvbiBidXQgdG8gYXBwbHkNCiAgICAgIG5vcm1hbCBJUCBwcm9j
ZXNzaW5nIGF0IHRoZSBJUCBsYXllci4NCg0KICAgbyAgVGhlIGFwcGxpY2F0aW9uIHNob3VsZCBi
ZSBhYmxlIHRvIHNwZWNpZnkgaWYgaXQgd2FudHMgdG8gZGVmZXIgdGhlDQogICAgICBjb250ZXh0
IHNldHVwIG9yIGl0IHdhbnRzIGNvbnRleHQgZXN0YWJsaXNobWVudCB0byBiZSBzdGFydGVkDQog
ICAgICBpbW1lZGlhdGVseSBpZiB0aGVyZSBpcyBubyBhdmFpbGFibGUgY29udGV4dC4gIEluIHN1
Y2ggd2F5LA0KICAgICAgYXBwbGljYXRpb24gY2FuICd1cGdyYWRlJyB0aGUgY29ubmVjdGlvbiBw
cm92aWRpbmcgaW4gYSBzZW5zZSB0aGF0DQogICAgICBpZGVudGlmaWVyIGFuZCBsb2NhdG9yIGFy
ZSBtYW5hZ2VkIHNlcGFyYXRlbHkuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
VEJEICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAg
ICAgICAgIFtQYWdlIDldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVk
IFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQo2LiAgSXNzdWVzIHdpdGgg
YSBDb250ZXh0IFNoYXJlZCBieSBBcHBsaWNhdGlvbnMNCg0KICAgQSBjb250ZXh0IGlzIGJ5IGRl
ZmluaXRpb24sIHN5c3RlbS13aWRlLiAgVGhpcyBpbXBsaWVzIHRoYXQgYSBjb250ZXh0DQogICBj
b3VsZCBiZSBzaGFyZWQgYnkgYXBwbGljYXRpb25zIHdob3NlIGNvbW11bmljYXRpb25zIGFyZSBi
eSBjaGFuY2UNCiAgIGJhc2VkIG9uIHRoZSBzYW1lIEVJRCBwYWlyLg0KDQogICBXaGVuIGEgY29u
dGV4dCBpcyBzaGFyZWQgYnkgYXBwbGljYXRpb25zLCBpdCB3b3VsZCBiZSBkaWZmaWN1bHQgZm9y
DQogICB0aGUgc2hpbSBsYXllciB0byBoYW5kbGUgZmVlZGJhY2tzIGZyb20gdGhlIGFwcGxpY2F0
aW9ucy4gIEFzDQogICBtZW50aW9uZWQgaW4gU2VjdGlvbiBYLCBhbiBhcHBsaWNhdGlvbiBtYXkg
cHJvdmlkZSB0aGUgc2hpbSBsYXllcg0KICAgc29tZSBmZWVkYmFja3Mgb2YgdGltZW91dCB2YWx1
ZXMgZnJvbSBpdHMgb3duIHNldHRpbmdzLiAgVGhpcyBpbXBsaWVzDQogICB0aGF0IHRoZXJlIGlz
IHBvdGVudGlhbGx5IGEgcmFjZSBjb25kaXRpb24gaW4gdGhlIHNoaW0gbGF5ZXIuDQogICBGdXJ0
aGVyIGRpc2N1c3Npb25zIGFyZSBuZWVkZWQgaG93IHRoZSBzaGltIGxheWVyIGNhbiBhY2NvbW1v
ZGF0ZQ0KICAgZmVlZGJhY2tzIGZyb20gbXVsdGlwbGUgYXBwbGljYXRpb25zIHdpdGhpbiBhIHNh
bWUgY29udGV4dC4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAg
RXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxMF0NCgwNCkludGVy
bmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVi
cnVhcnkgMjAwNg0KDQoNCjcuICBJc3N1ZXMgb2YgSGFuZGxpbmcgTXVsdGlwbGUgTG9jYXRvcnMg
d2l0aCBzaGltIHVuYXdhcmUgYXBwbGljYXRpb25zDQoNCiAgIEluIG11bHRpaG9tZWQgZW52aXJv
bm1lbnQgd2hlcmUgZWl0aGVyIG9yIGJvdGggb2YgdGhlIHBlZXJzIGhhdmUNCiAgIG11bHRpcGxl
IGxvY2F0b3JzLCB0aGVyZSBhcmUgc29tZSBpc3N1ZXMgd2l0aCBsZWdhY3kgc29ja2V0IEFQSS4N
Cg0KNy4xLiAgSW5pdGlhbCBDb250YWN0DQoNCiAgIFdoZW4gYXBwbGljYXRpb24gaXMgZ29pbmcg
dG8gZXN0YWJsaXNoIGNvbW11bmljYXRpb24gd2l0aCBpdHMgcGVlcg0KICAgd2hvIGhhcHBlbnMg
dG8gaGF2ZSBtdWx0aXBsZSBsb2NhdG9ycywgdGhlcmUgYXJlIHNvbWUgaXNzdWVzIHRvDQogICBj
b25zaWRlci4gIEluIGNvbm5lY3Rpb24gb3JpZW50ZWQgY29tbXVuaWNhdGlvbiwgY29ubmVjdCgp
IHN5c3RlbQ0KICAgY2FsbCBpcyB1c2VkIHRvIG1ha2UgdGhlIGluaXRpYWwgY29udGFjdCB0byB0
aGUgcGVlciwgd2hpY2ggcmVxdWlyZXMNCiAgIElQIGFkZHJlc3MgYW5kIHBvcnQgbnVtYmVyIHRv
IHNwZWNpZnkgdGhlIGVuZHBvaW50LiAgSGVuY2UsIG5hbWUtdG8tDQogICBhZGRyZXNzIHJlc29s
dXRpb24gc2hvdWxkIGJlIHBlcmZvcm1lZCBwcmlvciB0byBjb25uZWN0KCkuDQogICBBcHBsaWNh
dGlvbiBuZWVkcyB0byByZXNvbHZlIEZRRE4gb2YgdGhlIHBlZXIgdG8gYW4gSVAgYWRkcmVzcyBi
eSBhbnkNCiAgIGF2YWlsYWJsZSBuYW1lLXRvLWFkZHJlc3MgY29udmVyc2lvbiBtZXRob2QuDQoN
CiAgIEluIHR5cGljYWwgY2FzZSwgdGhlIGFwcGxpY2F0aW9uIHJlY2VpdmVzIGluZm9ybWF0aW9u
IGZyb20gcmVzb2x2ZXIuDQogICBJZiB0aGUgYXBwbGljYXRpb24gZW5kcyB1cCB3aXRoIHJlY2Vp
dmluZyBtdWx0aXBsZSBJUCBhZGRyZXNzZXMgdG8NCiAgIHJlYWNoIHRoZSBwZWVyLCBpdCBzaG91
bGQgaXRlcmF0ZSBlYWNoIGRlc3RpbmF0aW9uIGFkZHJlc3Mgb25lLWJ5LQ0KICAgb25lLiAgSXQg
c2hvdWxkIGJlIG5vdGVkIHRoYXQgdGhlIGhvc3QgbWF5IGFsc28gaGF2ZSBtdWx0aXBsZSBzb3Vy
Y2UNCiAgIGFkZHJlc3Nlcy4NCg0KICAgVGhlIGRpZmZlcmVudCByZXN1bHRpbmcgYWRkcmVzcyBw
YWlyIG1heSBoYXZlIGRpZmZlcmVudCByZWFjaGFiaWxpdHkNCiAgIHN0YXR1cyBzbywgaW4gb3Jk
ZXIgdG8gZmluZCBhIHdvcmtpbmcgYWRkcmVzcyBwYWlyLCBpdCBtYXkgYmUNCiAgIHJlcXVpcmVk
IHRvIGV4cGxvcmUgYWxsIHRoZSBhdmFpbGFibGUgYWRkcmVzcyBwYWlycyAoYXMgb3Bwb3NlZCB0
bw0KICAgZXhwbG9yZSBhbGwgYXZhaWxhYmxlIGRlc3RpbmF0aW9uIGFkZHJlc3NlcykuDQoNCiAg
IEluIG5vcm1hbCBjYXNlLCBhcHBsaWNhdGlvbiBpc3N1ZXMgY29ubmVjdCgpIGJ5IHNwZWNpZnlp
bmcgcmVzb2x2ZWQNCiAgIElQIGFkZHJlc3Mgb2YgdGhlIHBlZXIuICBJZiB0aGUgY29ubmVjdCgp
IGZhaWxzLCBJUCBhZGRyZXNzIGlzDQogICBpdGVyYXRlZCBvbmUgYnkgb25lIHNlcXVlbnRpYWxs
eSB1bnRpbCB3b3JraW5nIHBhaXIgaXMgZm91bmQuDQogICBBbm90aGVyIGFwcHJvYWNoIGlzIHRv
IGluaXRpYXRlIGNvbmN1cnJlbnQgY29ubmVjdCgpIHdpdGggZXZlcnkNCiAgIGxvY2F0b3Igb2Yg
dGhlIHBlZXIuIGNvbm5lY3QoKSBjYW4gYWxzbyBiZSBjYWxsZWQgaW4gYSBzZXF1ZW5jZSB3aGlj
aA0KICAgd291bGQgcHJvYmFibHkgcmVxdWlyZSBtb3JlIHRpbWUgdG8gZmluZCB0aGUgd29ya2lu
ZyBwYWlyLg0KDQogICBCZXNpZGVzLCB0aGVyZSBpcyBhIGNhc2Ugd2hlcmUgaW52b2x2ZW1lbnQg
b2YgdGhlIHNoaW0gbGF5ZXIgaXMNCiAgIGV4cGVjdGVkIGZvciBoYW5kbGluZyBpbml0aWFsIGNv
bnRhY3QuICBJbiBzdWNoIGNhc2UsIGJlaGF2aW9yIG9mIHRoZQ0KICAgc2hpbSBsYXllciB3aWxs
IGRlcGVuZCBvbiBwcmVzZW5jZSBvZiByZXF1aXJlZCBjb250ZXh0LiAgSWYgdGhlcmUNCiAgIGV4
aXN0cyB0aGUgY29udGV4dCBmb3IgdGhlIEVJRCBzcGVjaWZpZWQgaW4gdGhlIGNvbm5lY3QoKSwg
dGhlDQogICBpbml0aWFsIGNvbnRhY3QgY2FuIGJlIG1hZGUgaW4gYWNjb3JkYW5jZSB3aXRoIHRo
ZSBjb250ZXh0DQogICBpbmZvcm1hdGlvbi4gIE90aGVyd2lzZSwgdGhlIHNoaW0gbGF5ZXIgc2hv
dWxkIGludm9rZSBjb250ZXh0DQogICBlc3RhYmxpc2htZW50IHdpdGggdGhlIHBlZXIgRUlEIHNw
ZWNpZmllZCBpbiB0aGUgYXJndW1lbnQgZm9yDQogICBjb25uZWN0KCkuDQoNCiAgIEFkZGl0aW9u
YWwgZWZmb3J0cyB3b3VsZCBiZSByZXF1aXJlZCBpbiBhIGNhc2Ugd2hlcmUgdGhlIHBlZXIgY2Fu
bm90DQogICBiZSByZWFjaGFibGUgYnkgdGhlIEVJRCAoZm9yIGV4YW1wbGUsIEVJRCBpcyBub24t
cm91dGFibGUgb3Igbm9uLUlQDQogICByZWFjaGFibGUpIGJ1dCBjYW4gYmUgcmVhY2hlZCBieSBh
bHRlcm5hdGl2ZSBsb2NhdG9yLiAgSW4gcGFydGljdWxhciwNCiAgIHRoZSBzaGltIGxheWVyIHNo
b3VsZCBzb21laG93IGRpc2NvdmVyIHRoZSBhbHRlcm5hdGUgbG9jYXRvciBmb3IgdGhlDQogICBF
SUQgdG8gZXN0YWJsaXNoIGNvbnRleHQuICBbSS1ELm5vcmRtYXJrLXNoaW02LWVzZF0gYWRkcmVz
c2VzIHRoZQ0KDQoNCg0KVEJEICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUs
IDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMTFdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAg
ICAgICBNdWx0aWhvbWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQog
ICBwb3NzaWJsZSBhcHByb2FjaCB0byBwZXJmb3JtIHJldmVyc2UgRE5TIGxvb2t1cCBmcm9tIEVJ
RCB0byBGUUROLA0KICAgdGhlbiBwZXJmb3JtIGZvcndhcmQgbG9va3VwIGFnYWluIHRvIGZpbmQg
dGhlIGZ1bGwtc2V0IG9mIGxvY2F0b3JzDQogICBhbmQgRUlELg0KDQogICBJbiBISVAsIHJlc29s
dmluZyBISVRzIHRvIElQIGFkZHJlc3NlcyB1c2luZyBETlMgaXMgbm90IGZlYXNpYmxlDQogICBi
ZWNhdXNlIEhJVHMgZG8gbm90IGNvbnRhaW4gYW55IGhpZXJhcmNoaWNhbCBpbmZvcm1hdGlvbi4g
IFRvDQogICBtaXRpZ2F0ZSB0aGlzIHByb2JsZW0sIHRoZXJlIGFyZSBhIGZldyBhbHRlcm5hdGl2
ZXMuICBGaXJzdGx5LA0KICAgcmVzb2x2ZXIgbGlicmFyeSBvbiBlbmQtaG9zdCBjYW4gYmUgbW9k
aWZpZWQgdG8gcHJvdmlkZSBISVQtdG8tSVANCiAgIG1hcHBpbmdzIGZvciBISVAgc29mdHdhcmUg
bW9kdWxlLiAgU2Vjb25kbHksIGEgZGlzdHJpYnV0ZWQgaGFzaCB0YWJsZQ0KICAgKERIVCkgc2Vy
dmljZSBjYW4gYmUgdXNlZCBmb3Igc3RvcmluZyBhbmQgbG9va2luZyB1cCB0aGUgbWFwcGluZ3MN
CiAgIGJlY2F1c2UgaXQgc3VwcG9ydHMgbm9uLWhpZXJhcmNoaWNhbCBpZGVudGlmaWVycywgc3Vj
aCBhcyBISVRzDQogICBbSS1ELmlldGYtaGlwLWFyY2hdLiAgVGhpcmRseSwgaXQgaXMgcG9zc2li
bGUgdG8gdXNlIElQIGFkZHJlc3NlcyBpbg0KICAgbGVnYWN5IGFwcGxpY2F0aW9ucyBhcyBkZXNj
cmliZWQgaW4gW0ktRC5oZW5kZXJzb24taGlwLWFwcGxpY2F0aW9uc10uDQoNCjcuMi4gIE5hbWlu
ZyBhdCBTb2NrZXQgTGF5ZXINCg0KICAgZ2V0c29ja25hbWUoKSBhbmQgZ2V0cGVlcm5hbWUoKSBz
eXN0ZW0gY2FsbHMgYXJlIHVzZWQgdG8gb2J0YWluIHRoZQ0KICAgJ25hbWUnIG9mIGVuZHBvaW50
IHdoaWNoIGlzIGFjdHVhbGx5IGEgcGFpciBvZiBJUCBhZGRyZXNzIGFuZCBwb3J0DQogICBudW1i
ZXIgYXNzaWduZWQgdG8gZ2l2ZW4gc29ja2V0LiBnZXRzb2NrbmFtZSgpIGlzIHVzZWQgd2hlbiBh
bg0KICAgYXBwbGljYXRpb24gd2FudHMgdG8gb2J0YWluIHRoZSBsb2NhbCBJUCBhZGRyZXNzIGFu
ZCBwb3J0IG51bWJlcg0KICAgYXNzaWduZWQgZm9yIGdpdmVuIHNvY2tldCBpbnN0YW5jZS4gZ2V0
cGVlcm5hbWUoKSBpcyB1c2VkIHdoZW4gYW4NCiAgIGFwcGxpY2F0aW9uIHdhbnRzIHRvIG9idGFp
biB0aGUgcmVtb3RlIElQIGFkZHJlc3MgYW5kIHBvcnQgbnVtYmVyLg0KICAgQXMgSVAgYWRkcmVz
cyBpcyB0aGUga2V5IGluZm9ybWF0aW9uIGluIHRoZSB0d28gc3lzdGVtIGNhbGxzLCB0aGVyZQ0K
ICAgaXMgYSBxdWVzdGlvbiBpZiBpdCBzaG91bGQgYmUgaWRlbnRpZmllciBvciBsb2NhdG9yIHdo
ZW4gc2hpbSBsYXllcg0KICAgaXMgcHJlc2VudC4NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJl
cyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxMl0NCgwNCkludGVybmV0LURy
YWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkg
MjAwNg0KDQoNCjguICBJc3N1ZXMgb2YgSGFuZGxpbmcgTXVsdGlwbGUgTG9jYXRvcnMgd2l0aCBz
aGltIGF3YXJlIGFwcGxpY2F0aW9ucw0KDQogICBUQkQuDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg
NSwgMjAwNiAgICAgICAgICAgICAgICBbUGFnZSAxM10NCgwNCkludGVybmV0LURyYWZ0ICAgICAg
ICAgICAgIE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoN
CjkuICBGdXJ0aGVyIElzc3Vlcw0KDQogICBGb2xsb3dpbmdzIGFyZSBpc3N1ZXMgdGhhdCBuZWVk
IGZ1cnRoZXIgY29uc2lkZXJhdGlvbnMuDQoNCjkuMS4gIEFkZGl0aW9uYWwgUmVxdWlyZW1lbnRz
IGZyb20gQXBwbGljYXRpb25zDQoNCiAgIEZvbGxvd2luZ3MgYXJlIGFkZGl0aW9uYWwgcmVxdWly
ZW1lbnRzLiAgQXQgdGhlIG1vbWVudCwgaXQgaXMgbm90DQogICBjZXJ0YWluIGlmIHRoZXNlIGZl
YXR1cmVzIGFyZSBjb21tb25seSBuZWVkZWQgaW4gYWxsIHRoZSB0YXJnZXRlZA0KICAgbXVsdGlo
b21lZCBlbnZpcm9ubWVudHMgKFNISU02IGFuZCBISVApLiAgVGhlc2UgcmVxdWlyZW1lbnRzIGFy
ZQ0KICAgbWFpbmx5IGlkZW50aWZpZWQgZHVyaW5nIGRpc2N1c3Npb25zIG1hZGUgb24gU0hJTTYg
V0cgbWFpbGluZyBsaXN0Lg0KDQogICBvICBUaGUgYXBwbGljYXRpb24gc2hvdWxkIGJlIGFibGUg
dG8gc2VsZWN0IGEgbG9jYXRvciBwYWlyLg0KDQogICBvICBUaGUgYXBwbGljYXRpb24gc2hvdWxk
IGJlIGFibGUgdG8gc2V0IHByZWZlcmVuY2VzIGZvciB0aGUNCiAgICAgIGxvY2F0b3JzLCBsb2Nh
bCBhbmQgcmVtb3RlIG9uZSBhbmQgYWxzbyB0byB0aGUgcHJlZmVyZW5jZXMgb2YgdGhlDQogICAg
ICBsb2NhbCBsb2NhdG9ycyB0aGF0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBwZWVyLg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNClRCRCAgICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCA1LCAyMDA2ICAg
ICAgICAgICAgICAgIFtQYWdlIDE0XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgTXVs
dGlob21lZCBTaGltIEFQSSAgICAgICAgICAgICBGZWJydWFyeSAyMDA2DQoNCg0KMTAuICBJQU5B
IENvbnNpZGVyYXRpb25zDQoNCiAgIFRoaXMgZG9jdW1lbnQgY29udGFpbnMgbm8gSUFOQSBjb25z
aWRlcmF0aW9uLg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KVEJEICAg
ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAgICAgICAg
W1BhZ2UgMTVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVkIFNoaW0g
QVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQoxMS4gIFNlY3VyaXR5IENvbnNpZGVy
YXRpb25zDQoNCiAgIFRCRA0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
VEJEICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAgICAg
ICAgICAgW1BhZ2UgMTZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhvbWVk
IFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQoxMi4gIENvbmNsdXNpb24N
Cg0KICAgVEJEDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpUQkQgICAg
ICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAwNiAgICAgICAgICAgICAgICBb
UGFnZSAxN10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgIE11bHRpaG9tZWQgU2hpbSBB
UEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCjEzLiAgQWNrbm93bGVkZ21lbnRzDQoN
CiAgIFRCRA0KDQoxNC4gIE5vcm1hdGl2ZSBSZWZlcmVuY2VzDQoNCiAgIFtJLUQuaGVuZGVyc29u
LWhpcC1hcHBsaWNhdGlvbnNdDQogICAgICAgICAgICAgIEhlbmRlcnNvbiwgVC4gYW5kIFAuIE5p
a2FuZGVyLCAiVXNpbmcgSElQIHdpdGggTGVnYWN5DQogICAgICAgICAgICAgIEFwcGxpY2F0aW9u
cyIsIGRyYWZ0LWhlbmRlcnNvbi1oaXAtYXBwbGljYXRpb25zLTAxICh3b3JrDQogICAgICAgICAg
ICAgIGluIHByb2dyZXNzKSwgRmVicnVhcnkgMjAwNS4NCg0KICAgW0ktRC5pZXRmLWhpcC1hcmNo
XQ0KICAgICAgICAgICAgICBNb3Nrb3dpdHosIFIuIGFuZCBQLiBOaWthbmRlciwgIkhvc3QgSWRl
bnRpdHkgUHJvdG9jb2wNCiAgICAgICAgICAgICAgQXJjaGl0ZWN0dXJlIiwgZHJhZnQtaWV0Zi1o
aXAtYXJjaC0wMyAod29yayBpbiBwcm9ncmVzcyksDQogICAgICAgICAgICAgIEF1Z3VzdCAyMDA1
Lg0KDQogICBbSS1ELmlldGYtc2hpbTYtYXBwLXJlZmVyXQ0KICAgICAgICAgICAgICBOb3JkbWFy
aywgRS4sICJTaGltNiBBcHBsaWNhdGlvbiBSZWZlcnJhbCBJc3N1ZXMiLA0KICAgICAgICAgICAg
ICBkcmFmdC1pZXRmLXNoaW02LWFwcC1yZWZlci0wMCAod29yayBpbiBwcm9ncmVzcyksDQogICAg
ICAgICAgICAgIEp1bHkgMjAwNS4NCg0KICAgW0ktRC5pZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0
aW9uXQ0KICAgICAgICAgICAgICBBcmtrbywgSi4gYW5kIEkuIEJlaWpudW0sICJGYWlsdXJlIERl
dGVjdGlvbiBhbmQgTG9jYXRvcg0KICAgICAgICAgICAgICBQYWlyIEV4cGxvcmF0aW9uIFByb3Rv
Y29sIGZvciBJUHY2IE11bHRpaG9taW5nIiwNCiAgICAgICAgICAgICAgZHJhZnQtaWV0Zi1zaGlt
Ni1mYWlsdXJlLWRldGVjdGlvbi0wMyAod29yayBpbiBwcm9ncmVzcyksDQogICAgICAgICAgICAg
IERlY2VtYmVyIDIwMDUuDQoNCiAgIFtJLUQuaWV0Zi1zaGltNi1wcm90b10NCiAgICAgICAgICAg
ICAgQmFnbnVsbywgTS4gYW5kIEUuIE5vcmRtYXJrLCAiTGV2ZWwgMyBtdWx0aWhvbWluZyBzaGlt
DQogICAgICAgICAgICAgIHByb3RvY29sIiwgZHJhZnQtaWV0Zi1zaGltNi1wcm90by0wMyAod29y
ayBpbiBwcm9ncmVzcyksDQogICAgICAgICAgICAgIERlY2VtYmVyIDIwMDUuDQoNCiAgIFtJLUQu
bm9yZG1hcmstc2hpbTYtZXNkXQ0KICAgICAgICAgICAgICBOb3JkbWFyaywgRS4sICJFeHRlbmRl
ZCBTaGltNiBEZXNpZ24gZm9yIElEL2xvYyBzcGxpdCBhbmQNCiAgICAgICAgICAgICAgVHJhZmZp
YyBFbmdpbmVlcmluZyIsIGRyYWZ0LW5vcmRtYXJrLXNoaW02LWVzZC0wMCAod29yayBpbg0KICAg
ICAgICAgICAgICBwcm9ncmVzcyksIEZlYnJ1YXJ5IDIwMDYuDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAw
NiAgICAgICAgICAgICAgICBbUGFnZSAxOF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg
IE11bHRpaG9tZWQgU2hpbSBBUEkgICAgICAgICAgICAgRmVicnVhcnkgMjAwNg0KDQoNCkF1dGhv
cidzIEFkZHJlc3MNCg0KICAgVEJEDQogICBUQkQNCiAgIFRCRA0KICAgVEJEICBUQkQNCiAgIFRC
RA0KDQogICBQaG9uZTogVEJEDQogICBFbWFpbDogVEJEDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K
DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN
Cg0KVEJEICAgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDUsIDIwMDYgICAgICAg
ICAgICAgICAgW1BhZ2UgMTldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICBNdWx0aWhv
bWVkIFNoaW0gQVBJICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYNCg0KDQpJbnRlbGxlY3R1YWwg
UHJvcGVydHkgU3RhdGVtZW50DQoNCiAgIFRoZSBJRVRGIHRha2VzIG5vIHBvc2l0aW9uIHJlZ2Fy
ZGluZyB0aGUgdmFsaWRpdHkgb3Igc2NvcGUgb2YgYW55DQogICBJbnRlbGxlY3R1YWwgUHJvcGVy
dHkgUmlnaHRzIG9yIG90aGVyIHJpZ2h0cyB0aGF0IG1pZ2h0IGJlIGNsYWltZWQgdG8NCiAgIHBl
cnRhaW4gdG8gdGhlIGltcGxlbWVudGF0aW9uIG9yIHVzZSBvZiB0aGUgdGVjaG5vbG9neSBkZXNj
cmliZWQgaW4NCiAgIHRoaXMgZG9jdW1lbnQgb3IgdGhlIGV4dGVudCB0byB3aGljaCBhbnkgbGlj
ZW5zZSB1bmRlciBzdWNoIHJpZ2h0cw0KICAgbWlnaHQgb3IgbWlnaHQgbm90IGJlIGF2YWlsYWJs
ZTsgbm9yIGRvZXMgaXQgcmVwcmVzZW50IHRoYXQgaXQgaGFzDQogICBtYWRlIGFueSBpbmRlcGVu
ZGVudCBlZmZvcnQgdG8gaWRlbnRpZnkgYW55IHN1Y2ggcmlnaHRzLiAgSW5mb3JtYXRpb24NCiAg
IG9uIHRoZSBwcm9jZWR1cmVzIHdpdGggcmVzcGVjdCB0byByaWdodHMgaW4gUkZDIGRvY3VtZW50
cyBjYW4gYmUNCiAgIGZvdW5kIGluIEJDUCA3OCBhbmQgQkNQIDc5Lg0KDQogICBDb3BpZXMgb2Yg
SVBSIGRpc2Nsb3N1cmVzIG1hZGUgdG8gdGhlIElFVEYgU2VjcmV0YXJpYXQgYW5kIGFueQ0KICAg
YXNzdXJhbmNlcyBvZiBsaWNlbnNlcyB0byBiZSBtYWRlIGF2YWlsYWJsZSwgb3IgdGhlIHJlc3Vs
dCBvZiBhbg0KICAgYXR0ZW1wdCBtYWRlIHRvIG9idGFpbiBhIGdlbmVyYWwgbGljZW5zZSBvciBw
ZXJtaXNzaW9uIGZvciB0aGUgdXNlIG9mDQogICBzdWNoIHByb3ByaWV0YXJ5IHJpZ2h0cyBieSBp
bXBsZW1lbnRlcnMgb3IgdXNlcnMgb2YgdGhpcw0KICAgc3BlY2lmaWNhdGlvbiBjYW4gYmUgb2J0
YWluZWQgZnJvbSB0aGUgSUVURiBvbi1saW5lIElQUiByZXBvc2l0b3J5IGF0DQogICBodHRwOi8v
d3d3LmlldGYub3JnL2lwci4NCg0KICAgVGhlIElFVEYgaW52aXRlcyBhbnkgaW50ZXJlc3RlZCBw
YXJ0eSB0byBicmluZyB0byBpdHMgYXR0ZW50aW9uIGFueQ0KICAgY29weXJpZ2h0cywgcGF0ZW50
cyBvciBwYXRlbnQgYXBwbGljYXRpb25zLCBvciBvdGhlciBwcm9wcmlldGFyeQ0KICAgcmlnaHRz
IHRoYXQgbWF5IGNvdmVyIHRlY2hub2xvZ3kgdGhhdCBtYXkgYmUgcmVxdWlyZWQgdG8gaW1wbGVt
ZW50DQogICB0aGlzIHN0YW5kYXJkLiAgUGxlYXNlIGFkZHJlc3MgdGhlIGluZm9ybWF0aW9uIHRv
IHRoZSBJRVRGIGF0DQogICBpZXRmLWlwckBpZXRmLm9yZy4NCg0KDQpEaXNjbGFpbWVyIG9mIFZh
bGlkaXR5DQoNCiAgIFRoaXMgZG9jdW1lbnQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQg
aGVyZWluIGFyZSBwcm92aWRlZCBvbiBhbg0KICAgIkFTIElTIiBiYXNpcyBhbmQgVEhFIENPTlRS
SUJVVE9SLCBUSEUgT1JHQU5JWkFUSU9OIEhFL1NIRSBSRVBSRVNFTlRTDQogICBPUiBJUyBTUE9O
U09SRUQgQlkgKElGIEFOWSksIFRIRSBJTlRFUk5FVCBTT0NJRVRZIEFORCBUSEUgSU5URVJORVQN
CiAgIEVOR0lORUVSSU5HIFRBU0sgRk9SQ0UgRElTQ0xBSU0gQUxMIFdBUlJBTlRJRVMsIEVYUFJF
U1MgT1IgSU1QTElFRCwNCiAgIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gQU5ZIFdBUlJB
TlRZIFRIQVQgVEhFIFVTRSBPRiBUSEUNCiAgIElORk9STUFUSU9OIEhFUkVJTiBXSUxMIE5PVCBJ
TkZSSU5HRSBBTlkgUklHSFRTIE9SIEFOWSBJTVBMSUVEDQogICBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4NCg0KDQpDb3B5
cmlnaHQgU3RhdGVtZW50DQoNCiAgIENvcHlyaWdodCAoQykgVGhlIEludGVybmV0IFNvY2lldHkg
KDIwMDYpLiAgVGhpcyBkb2N1bWVudCBpcyBzdWJqZWN0DQogICB0byB0aGUgcmlnaHRzLCBsaWNl
bnNlcyBhbmQgcmVzdHJpY3Rpb25zIGNvbnRhaW5lZCBpbiBCQ1AgNzgsIGFuZA0KICAgZXhjZXB0
IGFzIHNldCBmb3J0aCB0aGVyZWluLCB0aGUgYXV0aG9ycyByZXRhaW4gYWxsIHRoZWlyIHJpZ2h0
cy4NCg0KDQpBY2tub3dsZWRnbWVudA0KDQogICBGdW5kaW5nIGZvciB0aGUgUkZDIEVkaXRvciBm
dW5jdGlvbiBpcyBjdXJyZW50bHkgcHJvdmlkZWQgYnkgdGhlDQogICBJbnRlcm5ldCBTb2NpZXR5
Lg0KDQoNCg0KDQpUQkQgICAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgNSwgMjAw
NiAgICAgICAgICAgICAgICBbUGFnZSAyMF0NCgwNCg==
--------_44740CD66C00071F4530_MULTIPART_MIXED_
Content-Type: application/octet-stream;
	name="draft-manyfolks-multihome-shim-api-00.xml"
Content-Disposition: attachment;
	filename="draft-manyfolks-multihome-shim-api-00.xml"
Content-Transfer-Encoding: base64

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjw/eG1sLXN0eWxlc2hlZXQg
dHlwZT0ndGV4dC94c2wnIGhyZWY9J3JlZjI2MjkueHNsdCcgPz4NCg0KPCFET0NUWVBFIHJmYyBT
WVNURU0gInJmYzI2MjkuZHRkIj4NCjxyZmMgY2F0ZWdvcnk9ImluZm8iIGRvY05hbWU9ImRyYWZ0
LW1hbnlmb2xrcy1tdWx0aWhvbWUtc2hpbS1hcGktMDAiDQogICAgIGlwcj0iZnVsbDM5NzgiPg0K
ICA8P3htbC1zdHlsZXNoZWV0IHR5cGU9J3RleHQveHNsJyBocmVmPSdyZmMyNjI5LnhzbHQnID8+
IDw/cmZjDQogIHRvYz0ieWVzIiA/PiA8P3JmYyBzeW1yZWZzPSJ5ZXMiID8+IDw/cmZjIHNvcnRy
ZWZzPSJ5ZXMiID8+IDw/cmZjDQogIGlwcm5vdGlmaWVkPSJubyIgPz4gPD9yZmMgc3RyaWN0PSJ5
ZXMiID8+DQogIDxmcm9udD4NCiAgICA8dGl0bGUgYWJicmV2PSJNdWx0aWhvbWVkIFNoaW0gQVBJ
Ij5Tb2NrZXQgQVBJIGZvciBNdWx0aWhvbWVkDQogICAgU2hpbTwvdGl0bGU+DQogICAgPGF1dGhv
ciBmdWxsbmFtZT0iVEJEIiBpbml0aWFscz0iVEJEIiBzdXJuYW1lPSJUQkQiPg0KICAgICAgPG9y
Z2FuaXphdGlvbiBhYmJyZXY9IlRCRCI+VEJEPC9vcmdhbml6YXRpb24+DQogICAgICA8YWRkcmVz
cz4NCgk8cG9zdGFsPg0KCSAgPHN0cmVldD5UQkQ8L3N0cmVldD4NCgkgIDxjaXR5PlRCRDwvY2l0
eT4NCgkgIDxjb2RlPlRCRDwvY29kZT4NCgkgIDxjb3VudHJ5PlRCRDwvY291bnRyeT4NCgk8L3Bv
c3RhbD4NCgk8cGhvbmU+VEJEPC9waG9uZT4NCgk8ZW1haWw+VEJEPC9lbWFpbD4NCiAgICAgIDwv
YWRkcmVzcz4NCiAgICA8L2F1dGhvcj4NCiAgICA8ZGF0ZSBtb250aD0iRmVicnVhcnkiIHllYXI9
IjIwMDYiLz4NCiAgICA8YXJlYT5JbnRlcm5ldDwvYXJlYT4NCiAgICA8d29ya2dyb3VwPk5ldHdv
cmsgV29ya2luZyBHcm91cDwvd29ya2dyb3VwPg0KICAgIDxrZXl3b3JkPlNISU02LCBISVAsIElE
L0xvY2F0b3Igc3BsaXQ8L2tleXdvcmQ+DQogICAgPGFic3RyYWN0Pg0KICAgICAgDQogICAgICA8
dD5UaGlzIGRvY3VtZW50IHNwZWNpZmllcyBhIHNvY2tldCBBUEkgZm9yIG11bHRpaG9tZWQgc2hp
bQ0KICAgICAgbGF5ZXIuICBUaGUgQVBJIGFpbXMgdG8gZW5hYmxlIGludGVyYWN0aW9ucyBiZXR3
ZWVuIGFwcGxpY2F0aW9uDQogICAgICBhbmQgdGhlIG11bHRpaG9taW5nIHNoaW0gbGF5ZXIgZm9y
IGFkdmFuY2VkIGxvY2F0b3IgbWFuYWdlbWVudA0KICAgICAgYW5kIGludGVyZmFjZSB0byBhY2Nl
c3MgaW5mb3JtYXRpb24gYWJvdXQgZmFpbHVyZSBkZXRlY3Rpb24gYW5kDQogICAgICBwYXRoIGV4
cGxvcmF0aW9uLjwvdD4NCg0KICAgICAgPHQ+VGhpcyBkb2N1bWVudCBpcyBiYXNlZCBvbiBhbiBh
c3N1bXB0aW9uIHRoYXQgYSBtdWx0aG9tZWQgaG9zdA0KICAgICAgaXMgZXF1aXBwZWQgd2l0aCBh
ICdzaGltJyB3aGljaCBlc3NuZXRpYWxseSBtYWludGFpbnMgbWFwcGluZyBvZg0KICAgICAgaWRl
bnRpZmllciBhbmQgbG9jYXRvci4gIFNISU02IGFuZCBISVAgYXJlIGV4YW1wbGVzIG9mIHRoZSBz
aGltLg0KICAgICAgSGVuY2UsIHRoZSBBUEkgY2FuIGJlIGNvbW1vbmx5IHVzZWQgYnkgU0hJTTYg
YW5kIEhJUC48L3Q+DQoNCiAgICA8L2Fic3RyYWN0Pg0KICA8L2Zyb250Pg0KICA8bWlkZGxlPg0K
ICAgIDwhLS0NCgk9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQoJSW50cm9kdWN0aW9uDQoJPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgIC0tPg0KICAg
IDxzZWN0aW9uIHRpdGxlPSJJbnRyb2R1Y3Rpb24iIHRvYz0iaW5jbHVkZSI+ICAgICAgDQoNCg0K
ICAgICAgPHQ+VGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBzb2NrZXQgQVBJIGZvciBtdWx0aWhv
bWVkIHNoaW0NCiAgICAgIGxheWVyLiAgVGhlIEFQSSBhaW1zIHRvIGVuYWJsZSBpbnRlcmFjdGlv
bnMgYmV0d2VlbiBhcHBsaWNhdGlvbg0KICAgICAgYW5kIHRoZSBtdWx0aWhvbWluZyBzaGltIGxh
eWVyIGZvciBhZHZhbmNlZCBsb2NhdG9yIG1hbmFnZW1lbnQNCiAgICAgIGFuZCBpbnRlcmZhY2Ug
dG8gYWNjZXNzIGVzc2VudGlhbCBpbmZvcm1hdGlvbiBhYm91dCBmYWlsdXJlDQogICAgICBkZXRl
Y3Rpb24gYW5kIHBhdGggZXhwbG9yYXRpb24uPC90Pg0KDQogICAgICA8dD5UaGlzIGRvY3VtZW50
IGlzIGJhc2VkIG9uIGFuIGFzc3VtcHRpb24gdGhhdCBhIG11bHRob21lZCBob3N0DQogICAgICBp
cyBlcXVpcHBlZCB3aXRoIGEgJ3NoaW0nIHdoaWNoIGVzc2VudGlhbGx5IG1haW50YWlucyBtYXBw
aW5nIG9mDQogICAgICBpZGVudGlmaWVyIGFuZCBsb2NhdG9yLiAgU0hJTTYgYW5kIEhJUCBhcmUg
ZXhhbXBsZXMgb2YgdGhlIHNoaW0uDQogICAgICBIZW5jZSwgdGhlIEFQSSBjYW4gYmUgY29tbW9u
bHkgdXNlZCBieSBTSElNNiBhbmQgSElQLjwvdD4NCg0KICAgICAgPHQ+SW4gdGhpcyBkb2N1bWVu
dCwgbm90YXRpb24gb2YgQVBJIGlzIHByZXNlbnRlZCBpbiBDDQogICAgICBsYW5ndWFnZS48L3Q+
DQoNCiAgICA8L3NlY3Rpb24+DQoNCiAgICA8c2VjdGlvbiB0aXRsZT0iVGFyZ2V0Ij4NCg0KICAg
ICAgPHQ+RXhwZWN0ZWQgcmVhZGVycyBvZiB0aGlzIGRvY3VtZW50IGFyZTogYXBwbGljYXRpb24g
cHJvZ3JhbW1lcg0KICAgICAgd2hvIGRldmVsb3BzIGFwcGxpY2F0aW9uIHNvZnR3YXJlIHdoaWNo
IG1heSBydW4gb24gdG9wIG9mDQogICAgICBtdWx0aWhvbWVkIGVudmlyb25tZW50LiAgSW4gcGFy
dGljdWxhciwgdGhlIEFQSSBzaG91bGQgYmUNCiAgICAgIGJlbmVmaWNpYWwgZm9yIGFwcGxpY2F0
aW9uIGRldmVsb3BtZW50IG9mIHRoZSBzb2Z0d2FyZSB3aGljaA0KICAgICAgdGFrZXMgYWR2YW50
YWdlIG9mIG11bHRpaG9tZWQgZW52aXJvbm1lbnQgYWltaW5nIHRvIGFjaGlldmUNCiAgICAgIGJl
dHRlciBmYWlsb3Zlci48L3Q+DQoNCiAgICA8L3NlY3Rpb24+DQogICAgPCEtLQ0KCT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N
CglUZXJtaW5vbG9neQ0KCT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0NCiAgICAtLT4NCiAgICA8c2VjdGlvbiB0aXRsZT0iVGVy
bWlub2xvZ3kiIHRvYz0iaW5jbHVkZSI+DQoNCiAgICAgIDx0PlRoaXMgZG9jdW1lbnQgZG9lcyBu
b3QgaW50ZW5kIHRvIGdpdmUgbmV3IGRlZmluaXRpb25zIGZvcg0KICAgICAgdGVjaG5pY2FsIHRl
cm1zIHRoYXQgYXJlIHJlbGV2YW50IHRvIG11bHRpaG9tZWQgZW52aXJvbm1lbnQgYnV0DQogICAg
ICB0cmllcyB0byBpbmhlcml0IGRlZmluaXRpb25zIHByb3ZpZGVkIGluIHRoZSBleGlzdGluZyBk
b2N1bWVudHMNCiAgICAgIGFzIGxpc3RlZCBiZWxvdzoNCg0KICAgICAgPGxpc3Qgc3R5bGU9InN5
bWJvbHMiPg0KCTx0PlNISU02IFByb3RvY29sIFNwZWNpZmljYXRpb248eHJlZg0KCXRhcmdldD0i
SS1ELmlldGYtc2hpbTYtcHJvdG8iLz48L3Q+DQoJPHQ+SElQIEFyY2hpdGVjdHVyZTx4cmVmIHRh
cmdldD0iSS1ELmlldGYtaGlwLWFyY2giLz48L3Q+DQoJPHQ+UmVhY2hhYmlsaXR5IFByb3RvY29s
IChSRUFQKTx4cmVmDQoJdGFyZ2V0PSJJLUQuaWV0Zi1zaGltNi1mYWlsdXJlLWRldGVjdGlvbiIv
PjwvdD4NCiAgICAgIDwvbGlzdD4NCg0KICAgICAgRm9yIGNsYXJpZmljYXRpb24sIHdlIHByb3Zp
ZGUgZGVmaW5pdGlvbiBmb3IgdGhlIHRlcm1zIHRoYXQgYXJlDQogICAgICBmcmVxdWVudGx5IHVz
ZWQgaW4gdGhpcyBkb2N1bWVudDoNCiANCiAgICAgIDxsaXN0IHN0eWxlPSJzeW1ib2xzIj4NCg0K
CTx0PkVuZHBvaW50IElkZW50aWZpZXIgKEVJRCkgLSBBbiBpZGVudGlmaWVyIHVzZWQgYnkgdGhl
DQoJYXBwbGljYXRpb24gdG8gc3BlY2lmeSBhbiBlbmRwb2ludCBvZiB0aGUgY29tbXVuaWNhdGlv
bi4gIEFzDQoJYWRkcmVzc2VkIGluIDx4cmVmIHRhcmdldD0iSS1ELmlldGYtc2hpbTYtYXBwLXJl
ZmVyIi8+LA0KCWFwcGxpY2F0aW9uIG1heSBoYW5kbGUgRUlEIGluIHZhcmlvdXMgd2F5cyBpbiBk
aWZmZXJlbnQgdHlwZXMNCglvZiBjb21tdW5pY2F0aW9uIG1vZGVscyBzdWNoIGFzIGxvbmctbGl2
ZWQgY29ubmVjdGlvbiwNCgljYWxsYmFjaywgYW5kIHJlZmVycmFsLg0KCTxsaXN0IHN0eWxlPSJz
eW1ib2xzIj4NCgkgIDx0PkluIGNhc2Ugb2YgU0hJTTYsIHRoZSBFSUQgaXMgY2FsbGVkIFVMSUQu
ICBVTElEIGlzIGNob3Nlbg0KCSAgZnJvbSBvbmUgb2YgYXZhaWxhYmxlIGxvY2F0b3JzIG9uIHRo
ZSBob3N0LjwvdD4NCgkgIDx0PkluIGNhc2Ugb2YgSElQLCB0aGUgRUlEIGlzIGVzc2VudGlhbGx5
IGEgcHVibGljIGtleSBvZg0KCSAgdGhlIGhvc3QuICBJbiBvcmRlciB0byBwcmVzZXJ2ZSBiYWNr
d2FyZCBjb21wYXRpYmlsaXR5IG9mDQoJICBsZWdhY3kgYXBwbGljYXRpb24sIGhhc2ggb2YgcHVi
bGljIGtleSBjYWxsZWQgSG9zdCBJZGVudGl0eQ0KCSAgVGFnIChISVQpIGlzIHVzZWQgYnkgYXBw
bGljYXRpb24gYXMgYSBoYW5kbGVyIGZvciB0aGUgRUlELg0KCSAgPC90Pg0KCTwvbGlzdD4NCgk8
L3Q+DQoNCgk8dD5Mb2NhdG9yIC0gQW4gSVAgYWRkcmVzcyBhY3R1YWxseSB1c2VkIHRvIGRlbGl2
ZXIgdGhlIElQDQoJcGFja2V0LiAgTG9jYXRvciBzaG91bGQgYmUgcHJlc2VudCBpbiB0aGUgc291
cmNlIGFuZA0KCWRlc3RpbmF0aW9uIGZpZWxkIG9mIElQIGhlYWRlciBvZiBhIHBhY2tldCB0aGF0
IGFwcGVhcnMgb24NCgl3aXJlLiAgTm9ybWFsbHksIGEgbG9jYXRvciBpcyBhc3NpZ25lZCB0byB0
aGUgbmV0d29yaw0KCWludGVyZmFjZSBvZiB0aGUgaG9zdC4gIEFuZCB0aGUgSVAgcGFja2V0IGRl
c3RpbmVkIHRvIGEgZ2l2ZW4NCglsb2NhdG9yIGlzIGRlbGl2ZXJlZCB0byB0aGUgY29ycmVzcG9u
ZGVudCBuZXR3b3JrIGludGVyZmFjZSBieQ0KCXRoZSByb3V0aW5nIHN5c3RlbS48L3Q+DQoNCgk8
dD5TaGltIC0gQSBjb25jZXB0dWFsIGxheWVyIGluc2lkZSB0aGUgSVAgTGF5ZXIgd2hpY2gNCglt
YWludGFpbnMgbWFwcGluZ3Mgb2YgRUlEcyBhbmQgbG9jYXRvcnMuICBBbiBFSUQgY2FuIGJlDQoJ
YXNzb2NpYXRlZCB3aXRoIG1vcmUgdGhhbiBvbmUgbG9jYXRvcnMgYXQgYSB0aW1lIHdoZW4gdGhl
IGhvc3QNCglpcyBtdWx0aWhvbWVkLiAgRnJvbSBuZXR3b3JrIGFyY2hpdGVjdHVyZSBwZXJzcGVj
dGl2ZSwgc2hpbQ0KCXNob3VsZCBiZSBldmVuIG9yIGxvd2VyIHRoYW4gdGhlIElQc2VjIGxheWVy
LiAgSXQgc2hvdWxkIGJlDQoJbm90ZWQgdGhhdCB0aGUgdGVybSAnc2hpbScgZG9lcyBub3QgcmVm
ZXIgdG8gc3BlY2lmaWMgcHJvdG9jb2wNCglidXQgcmVmZXJzIHRvIGEgZ2VuZXJpYyBjb25jZXB0
IG9mIGEgbGF5ZXIgdGhhdCBlbmFibGVzDQoJc2VwYXJhdGlvbiBvZiBpZGVudGlmaWVyIGFuZCBs
b2NhdG9yLiAgU0hJTTYgYW5kIEhJUCBhcmUNCglleGFtcGxlcyBvZiB0aGUgc2hpbS48L3Q+DQoN
Cgk8dD5Db250ZXh0IC0gQSBzdGF0ZSBpbmZvcm1hdGlvbiB0byBiZSBzaGFyZWQgYnkgdGhlIHBl
ZXJzLA0KCXdoaWNoIGVzc2VudGlhbGx5IHN0b3JlcyBhIGJpbmRpbmcgYmV0d2VlbiB0aGUgRUlE
IGFuZA0KCWFzc29jaWF0ZWQgbG9jYXRvcnMuICBUaGUgY29udGV4dCBpcyBtYWludGFpbmVkIGF0
IHRoZSBzaGltDQoJbGF5ZXIgb2YgdGhlIGhvc3QuPC90Pg0KDQoJPHQ+TGlzdCBvZiBMb2NhdG9y
cyAtIEEgbGlzdCBvZiBsb2NhdG9ycyBhc3NvY2lhdGVkIHdpdGggYW4NCglFSUQuICBUaGVyZSBh
cmUgdHdvIGxpc3RzIG9mIGxvY2F0b3JzIHN0b3JlZCBpbiBhIGdpdmVuDQoJY29udGV4dCwgb25l
IGlzIGFzc29jaWF0ZWQgd2l0aCBsb2NhbCBFSUQgYW5kIHRoZSBvdGhlciBpcw0KCWFzc29jaWF0
ZWQgd2l0aCByZW1vdGUgRUlELiAgQXMgZGVmaW5lZCBpbiA8eHJlZg0KCXRhcmdldD0iSS1ELmll
dGYtc2hpbTYtcHJvdG8iLz4sIGxpc3Qgb2YgbG9jYXRvcnMgYXNzb2NpYXRlZA0KCXdpdGggYW4g
RUlEICdBJyBjYW4gYmUgZGVub3RlZCBhcyBMcyhBKS48L3Q+DQoNCgk8dD5QcmVmZXJyZWQgTG9j
YXRvciAtIFRoZSAoc291cmNlL2Rlc3RpbmF0aW9uKSBsb2NhdG9yDQoJY3VycmVudGx5IHVzZWQg
dG8gc2VuZCBwYWNrZXRzLiAgQXMgZGVmaW5lZCBpbiA8eHJlZg0KCXRhcmdldD0iSS1ELmlldGYt
c2hpbTYtcHJvdG8iLz4sIHByZWZlcnJlZCBsb2NhdG9yIG9mIGEgaG9zdA0KCXdob3NlIEVJRCBp
cyAnQScgY2FuIGJlIGRlbm90ZWQgYXMgTHAoQSkuPC90Pg0KDQoJPHQ+UmVhY2hhYmlsaXR5IERl
dGVjdGlvbiAtIEEgcHJvY2VkdXJlIHRvIGRldGVjdCByZWFjaGFiaWxpdHkNCgliZXR3ZWVuIGEg
Z2l2ZW4gbG9jYXRvciBwYWlyLjwvdD4NCg0KCTx0PlBhdGggLSBBIHNlcXVlbmNlIG9mIHJvdXRl
cnMgdGhhdCBhbiBJUCBwYWNrZXQgZ29lcyB0aHJvdWdoDQoJdG8gcmVhY2ggdGhlIGRlc3RpbmF0
aW9uLjwvdD4NCg0KCTx0PlBhdGggRXhwbG9yYXRpb24gLSBBIHByb2NlZHVyZSB0byBleHBsb3Jl
IGF2YWlsYWJsZSBwYXRoDQoJZm9yIGEgZ2l2ZW4gc2V0IG9mIGxvY2F0b3IgcGFpcnMuPC90Pg0K
DQoJPHQ+T3V0YWdlIC0gQW4gaW5jaWRlbnQgbWVhbmluZyB0aGF0IHRoZSByZWFjaGFiaWxpdHkg
YW1vbmcgYQ0KCWdpdmVuIGxvY2F0b3IgcGFpciBpcyBsb3N0LiAgVGhlIG91dGFnZSBjb3VsZCBi
ZSBjYXVzZWQgYnkgYW55DQoJa2luZHMgb2YgcHJvYmxlbXMgaW5zaWRlIHRoZSByb3V0aW5nIGlu
ZnJhc3RydWN0dXJlIGFuZA0KCXByb2JsZW1zIG9mIHRoZSBuZXR3b3JrIGludGVyZmFjZSBvZiB0
aGUgZW5kIGhvc3RzLjwvdD4NCg0KCTx0PldvcmtpbmcgQWRkcmVzcyBQYWlyIC0gQW4gYWRkcmVz
cyBwYWlyIGlzIHNhaWQgdG8gYmUNCgl3b3JraW5nIGlmIHRoZSBwYWNrZXQgY29udGFpbmluZyB0
aGUgZmlyc3QgYWRkcmVzcyBmcm9tIHRoZQ0KCXBhaXIgYXMgc291cmNlIGFkZHJlc3MgYW5kIHRo
ZSBzZWNvbmQgYWRkcmVzcyBmcm9tIHRoZSBwYWlyIGFzDQoJZGVzdGluYXRpb24gYWRkcmVzcyBj
YW4gc2FmZWx5IHRyYXZlbCBmcm9tIHRoZSBzb3VyY2UgdG8gdGhlDQoJZGVzdGluYXRpb24uICBJ
ZiB0aGUgcmVhY2hhYmlsaXR5IGlzIGNvbmZpcm1lZCBpbiBib3RoDQoJZGlyZWN0aW9ucywgdGhl
IGFkZHJlc3MgcGFpcnMgaXMgc2FpZCB0byBiZSBiaS1kaXJlY3Rpb25hbC4NCglPdGhlcndpc2Us
IGl0J3MgdW5pZGlyZWN0aW9uYWwuPC90Pg0KDQoJPHQ+UkVBUCAtIEEgcHJvdG9jb2wgZm9yIGRl
dGVjdGluZyBmYWlsdXJlIGFuZCBleHBsb3JpbmcNCglyZWFjaGFiaWxpdHkgaW4gbXVsdGlob21l
ZCBlbnZpcm9ubWVudC4gIFJFQVAgaXMgZGVmaW5lZA0KCWluPHhyZWYgdGFyZ2V0PSJJLUQuaWV0
Zi1zaGltNi1mYWlsdXJlLWRldGVjdGlvbiIvPi48L3Q+DQoNCgk8dD5FbmRwb2ludCBEZXNjcmlw
dG9yIChFRCkgLSBUaGUgcmVwcmVzZW50YXRpb24gb2YgZW5kcG9pbnRzDQoJaXMgaGlkZGVuIGZy
b20gdGhlIGFwcGxpY2F0aW9ucy4gIEVEIGlzIGEgImhhbmRsZSIgb3INCgkicG9pbnRlciIgdG8g
dGhlIGFjdHVhbCBFSUQuPC90Pg0KDQoJPCEtLQ0KCSAgICA8dD5Db25uZWN0aW9uIGxhdGNoaW5n
IC0gVEJEPC90Pg0KCSAgICA8dD5ISVAgLSBUQkQ8L3Q+DQoJLS0+DQoNCiAgICAgIDwvbGlzdD4N
CiAgICAgIDwvdD4NCiAgICA8L3NlY3Rpb24+DQogICAgPCEtLQ0KCT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglTeXN0ZW0g
T3ZlcnZpZXcNCgk9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQogICAgLS0+DQogICAgPHNlY3Rpb24gdGl0bGU9IlN5c3RlbSBP
dmVydmlldyIgdG9jPSJpbmNsdWRlIj4NCgk8ZmlndXJlPg0KCSAgPGFydHdvcms+PCFbQ0RBVEFb
DQoNCiAgICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICAg
ICAgICAgICAgICAgICAgICB8ICAgICAgIEFwcGxpY2F0aW9uICAgICAgfA0KICAgICAgICAgICAg
ICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgICAgICAgICAgICAg
ICAgIF4gICAgICAgICAgICAgICAgIF4gDQogICAgICAgICAgIH5+fn5+fn5+fn5+fn58flNvY2tl
dCBJbnRlcmZhY2V8fn5+fn5+fn5+fn5+fn4NCiAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg
ICAgICAgICAgICAgIHYNCiAgICAgICAgICAgICstLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0rDQogICAgICAgICAgICB8ICAgICAgICAgICB8ICBUcmFuc3BvcnQgTGF5
ZXIgICAgICAgICAgICAgfA0KICAgICAgICAgICAgKy0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSsNCiAgICAgICAgICAgICAgICAgIF4gICAgIHwNCiAgICArLS0tLS0t
LS0tLS0tLXwtLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAg
IHwgICAgICAgICAgICAgdiAgICAgdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8DQogICAgfCAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgICAgKy0tLS0t
LS0tLS0rICAgIHwgIElQIA0KICAgIHwgICB8ICAgICAgICAgICAgU2hpbSAgICAgICAgICAgICB8
PC0tLS0tPnwgICBSRUFQICAgfCAgICB8IExheWVyDQogICAgfCAgICstLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSsgICAgICAgKy0tLS0tLS0tLS0rICAgIHwNCiAgICB8ICAgICAgICAgICAg
ICAgICAgICAgICBeICAgICAgICAgICAgICAgICAgICAgIF4gICAgICAgICAgfA0KICAgICstLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0rDQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdiAgICAgICAgICAgICAgICAgICAgICB2DQogICAg
ICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAg
ICAgICAgICAgfCAgICAgICAgICAgICAgICBMaW5rIExheWVyICAgICAgICAgICAgICAgIHwNCiAg
ICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIA0K
DQoJICBdXT48L2FydHdvcms+DQoJICA8cG9zdGFtYmxlPkZpZ3VyZSAxOiBTeXN0ZW0gT3ZlcnZp
ZXc8L3Bvc3RhbWJsZT4NCgk8L2ZpZ3VyZT4NCiAgICAgIA0KICAgICAgPHQ+RmlndXJlIDEgaWxs
dXN0cmF0ZXMgdGhlIHN5c3RlbSBvdmVydmlldy4gIFRoZSBhcHBsaWNhdGlvbg0KICAgICAgY2Fu
IHRha2UgYWR2YW50YWdlIG9mIHRoZSBzb2NrZXQgQVBJIHRvIGludGVyYWN0IHdpdGggdGhlIHNo
aW0NCiAgICAgIGxheWVyIGFuZCB0cmFuc3BvcnQgbGF5ZXIgZm9yIGJldHRlciBjb250cm9sIG9m
IGxvY2F0b3INCiAgICAgIG1hbmFnZW1lbnQgYW5kIGZhaWx1cmUgZGV0ZWN0aW9uIGFuZCBwYXRo
IGV4cGxvcmF0aW9uLjwvdD4NCiAgICAgIA0KICAgICAgPHQ+SW5zaWRlIHRoZSBJUCBsYXllciwg
dGhlcmUgaXMgYSBzaGltIHdoaWNoIGNsb3NlbHkgaW50ZXJhY3RzDQogICAgICB3aXRoIFJFQVAg
Y29tcG9uZW50LiAgVGhlcmUgY291bGQgYmUgaW50ZXJhY3Rpb25zIGJldHdlZW4gdGhlDQogICAg
ICBzaGltIGFuZCB0cmFuc3BvcnQgbGF5ZXIsIGhvd2V2ZXIgdGhleSBhcmUgb3V0c2lkZSBvZiBz
Y29wZSBvZg0KICAgICAgdGhpcyBkb2N1bWVudC48L3Q+DQoNCiAgICA8L3NlY3Rpb24+DQogICAg
PCEtLQ0KCT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NCglSZXF1aXJlbWVudHMNCgk9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgLS0+DQogICAgPHNl
Y3Rpb24gdGl0bGU9IlJlcXVpcmVtZW50cyI+DQogICAgICANCiAgICAgIDwhLS0gYWRkcmVzcyBy
ZXF1aXJlbWVudHMgLS0+DQoNCiAgICAgIDx0PkZvbGxvd2luZyBpcyBhIGxpc3Qgb2YgcmVxdWly
ZW1lbnRzIGZyb20gdGhlIGFwcGxpY2F0aW9uDQogICAgICBwZXJzcGVjdGl2ZS4gIFRoZXNlIHJl
cXVpcmVtZW50cyBhcmUgbWFpbmx5IGlkZW50aWZpZWQgZHVyaW5nDQogICAgICB0aGUgZGlzY3Vz
c2lvbnMgb24gU0hJTTYgV0cgbWFpbGluZyBsaXN0LiAgU29tZSByZXF1aXJlbWVudHMgYXJlDQog
ICAgICBkZXJpdmVkIGZyb20gUmVhY2hhYmlsaXR5IFByb3RvY29sIGRvY3VtZW50PHhyZWYNCiAg
ICAgIHRhcmdldD0iSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRlY3Rpb24iLz4uDQoNCiAgICAg
IDwhLS0NCgkgIE1hcmNlbG8ncyBlbWFpbCB3aGljaCB3YXMgc2VudCBvbiB0aGUgU0hJTTYgbWFp
bGluZyBsaXN0Og0KCSAgaHR0cDovL3d3dy5vcHMuaWV0Zi5vcmcvbGlzdHMvc2hpbTYvbXNnMDEx
OTEuaHRtbA0KICAgICAgLS0+DQogICAgICANCiAgICAgIDxsaXN0IHN0eWxlPSJzeW1ib2xzIj4N
Cg0KCTx0PkxvY2F0b3IgbWFuYWdlbWVudC4gIExvY2F0b3IgbWFuYWdlbWVudCBpcyByb2xlIG9m
IHRoZSBzaGltDQoJbGF5ZXIgdG8gc2VsZWN0IGEgcGFpciBvZiBsb2NhdG9ycyBmb3Igc2VuZGlu
ZyBJUCBwYWNrZXRzDQoJd2l0aGluIGEgZ2l2ZW4gY29udGV4dC4gIFRoZSBzZWxlY3Rpb24gaXMg
bWFkZSBieSB0YWtpbmcNCgltaXNjZWxsYW5lb3VzIGNvbmRpdGlvbnMgaW50byBhY2NvdW50IHN1
Y2ggYXMgcmVhY2hhYmlsaXR5IG9mDQoJdGhlIHBhdGgsIGFwcGxpY2F0aW9uJ3MgcHJlZmVyZW5j
ZSwgYW5kIGNoYXJhY3RlcmlzdGljcyBvZg0KCXBhdGguICBGcm9tIGFwcGxpY2F0aW9uJ3MgcGVy
c3BlY3RpdmU6DQoNCgk8bGlzdCBzdHlsZT0ic3ltYm9scyI+DQoJICA8dD5JdCBzaG91bGQgYmUg
cG9zc2libGUgdG8gb2J0YWluIGxpc3Qgb2YgbG9jYXRvcnMgb2YgdGhlDQoJICBob3N0IHdpdGhp
biBhIGdpdmVuIGNvbnRleHQuICBMcyhsb2NhbCkgYW5kIExzKHJlbW90ZSkuPC90Pg0KCSAgPHQ+
SXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIG9idGFpbiBwcmVmZXJyZWQgbG9jYXRvciBvZiB0aGUN
CgkgIG5vZGUgd2l0aGluIGEgZ2l2ZW4gY29udGV4dC4gIExwKGxvY2FsKSBhbmQgTHAocmVtb3Rl
KS48L3Q+DQoJPC9saXN0Pg0KCTwvdD4NCg0KCTx0Pk5vdGlmaWNhdGlvbiBmcm9tIGFwcGxpY2F0
aW9uIHRvIHRoZSBzaGltIGxheWVyIGFib3V0IHRoZQ0KCXN0YXR1cyBvZiB0aGUgY29tbXVuaWNh
dGlvbi4gIE5vdGUgdGhhdCB0aGUgbm90aWZpY2F0aW9uIGlzDQoJbWFkZSBpbiBhbiBldmVudCBi
YXNlZCBtYW5uZXIuICBUaGVyZSBhcmUgbWFpbmx5IHR3byBhc3BlY3RzDQoJb2YgdGhlIGZlZWRi
YWNrIHRoYXQgYXBwbGljYXRpb24gb3IgdXBwZXIgbGF5ZXIgcHJvdG9jb2wgbWF5DQoJcHJvdmlk
ZSBmb3IgdGhlIHNoaW0gbGF5ZXIsIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBmZWVkYmFja3MNCglb
Tk9URTogVGhlc2UgZmVlZGJhY2tzIGFyZSBhZGRyZXNzZWQgaW4gc2VjdG9pbiA0LjMgYW5kDQoJ
c2VjdGlvbiA1LjIgb2YgUkVBUCBzcGVjaWZpY2F0aW9uXToNCgkNCgk8bGlzdCBzdHlsZT0ic3lt
Ym9scyI+DQoJICA8dD5Qb3NpdGl2ZSBmZWVkYmFjayBjb3VsZCBiZSBnaXZlbiBieSB0aGUgYXBw
bGljYXRpb24gb3INCgkgIHVwcGVyIGxheWVyIHByb3RvY29sIChlLmcuIFRDUCkgdG8gdGhlIHNo
aW0gbGF5ZXIgaW5mb3JtaW5nDQoJICB0aGF0IGl0cyBjb21tdW5pY2F0aW9uIGlzIGdvaW5nIHdl
bGwuPC90Pg0KDQoJICA8dD5OZWdhdGl2ZSBmZWVkYmFjayBjb3VsZCBiZSBnaXZlbiBieSB0aGUg
YXBwbGljYXRpb24gb3INCgkgIHVwcGVyIGxheWVyIHByb3RvY29sIChlLmcuIFRDUCkgdG8gdGhl
IHNoaW0gbGF5ZXIgaW5mb3JtaW5nDQoJICB0aGF0IGl0cyBjb21tdW5pY2F0aW9uIHN0YXR1cyBp
cyBub3Qgc2F0aXNmYWN0b3J5LiAgVENQDQoJICBjb3VsZCBkZXRlY3QgYSBwcm9ibGVtIHdoZW4g
aXQgZG9lcyBub3QgcmVjZWl2ZXMgZXhwZWN0ZWQNCgkgIEFDSyBmcm9tIHRoZSBwZWVyLiAgSUNN
UCBlcnJvciBtZXNzYWdlcyBkZWxpdmVyZWQgdG8gdGhlDQoJICB1cHBlciBsYXllciBwcm90b2Nv
bCBjb3VsZCBiZSBhIGNsdWUgZm9yIGFwcGxpY2F0aW9uIHRvDQoJICBkZXRlY3QgYW55IGtpbmQg
b2YgcHJvYmxlbS4gIFJFQVAgbW9kdWxlIG1heSBiZSB0cmlnZ2VyZWQgYnkNCgkgIHRoZXNlIG5l
Z2F0aXZlIGZlZWRiYWNrcyBhbmQgaW52b2tlIHByb2NlZHVyZSBvZiBwYXRoDQoJICBleHBsb3Jh
dGlvbi48L3Q+DQoJPC9saXN0Pg0KCTwvdD4NCg0KCTx0PkZlZWRiYWNrIGZyb20gYXBwbGljYXRp
b24gdG8gc2hpbSBsYXllci4gIFRoZSBhcHBsaWNhdGlvbg0KCXNob3VsZCBiZSBhYmxlIHRvIGlu
Zm9ybSB0aGUgc2hpbSBsYXllciBhYm91dCB0aGUgdGltZW91dA0KCXZhbHVlcyBmb3IgZGV0ZWN0
aW5nIGZhaWx1cmUsIGZvciBzZW5kaW5nIGtlZXBhbGl2ZXMsIGZvcg0KCXN0YXJ0aW5nIHRoZSBl
eHBsb3JhdGlvbiBwcm9jZWR1cmUuICBJbiBwYXJ0aWN1bGFyLCB0aGUNCglhcHBsaWNhdGlvbiBz
aG91bGQgYmUgYWJsZSB0byBzdXBwcmVzcyB0aGUga2VlcGFsaXZlcy4NCgk8L3Q+DQoNCgk8dD5I
b3Qtc3RhbmRieS4gIFRoZSBhcHBsaWNhdGlvbiBtYXkgcmVxdWVzdCB0aGUgc2hpbSBsYXllciBp
Zg0KCWhvdC1zdGFuZGJ5IGNvbm5lY3Rpb24gaXMgbmVlZGVkLiAgSW4gdGhpcyBjYXNlLCBhbHRl
cm5hdGl2ZQ0KCXBhdGhzIGFyZSBrbm93biB0byBiZSB3b3JraW5nLiAgSGVuY2UgaXQgaXMgcG9z
c2libGUgZm9yIHRoZQ0KCWhvc3QgdG8gaW1tZWRpYXRlbHkgcmVwbGFjZSB0aGUgY3VycmVudCBs
b2NhdG9yIHBhaXIgd2l0aCB0aGUNCglhbHRlcm5hdGl2ZSBsb2NhdG9yIHBhaXIuICBIb3Qtc3Rh
bmRieSBtYXkgYWxsb3cgYXBwbGljYXRpb24NCgl0byBhY2hpZXZlIGJldHRlciBmYWlsb3Zlci48
L3Q+DQoNCgk8dD5FYWdlcm5lc3Mgb2YgbG9jYXRvciBleHBsb3JhdGlvbi4gIFRoZSBhcHBsaWNh
dGlvbiBzaG91bGQNCgliZSBhYmxlIHRvIGluZm9ybSB0aGUgc2hpbSBsYXllciBob3cgcHJvYWN0
aXZlIGl0IHdhbnRzIFJFQVANCgltZWNoYW5pc20gdG8gcGVyZm9ybSBwYXRoIGV4cGxvcmF0aW9u
IChlLmcuIHNwZWNpZnlpbmcgdGhlDQoJbnVtYmVyIG9mIGNvbmN1cnJlbnQgYXR0ZW1wdHMgb2Yg
ZGlzY292ZXJpbmcgd29ya2luZyBsb2NhdG9yDQoJcGFpcikgd2hlbiBhbiBvdXRhZ2Ugb2NjdXJz
IG9uIHRoZSBwYXRoIGJldHdlZW4gdGhlIGN1cnJlbnRseQ0KCXNlbGVjdGVkIGxvY2F0b3IgcGFp
ci48L3Q+DQoJDQoJPHQ+UHJvdmlkaW5nIGxvY2F0b3IgaW5mb3JtYXRpb24gdG8gYXBwbGljYXRp
b24uICBUaGUNCglhcHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZSB0byBvYnRhaW4gaW5mb3JtYXRp
b24gYWJvdXQgdGhlDQoJbG9jYXRvciBwYWlyIHdoaWNoIHdhcyBhY3R1YWxseSB1c2VkIHRvIHNl
bmQgb3IgcmVjZWl2ZSB0aGUNCglwYWNrZXQuDQoJPGxpc3Qgc3R5bGU9InN5bWJvbHMiPg0KCSAg
PHQ+Rm9yIGluYm91bmQgdHJhZmZpYywgdGhlIGFwcGxpY2F0aW9uIG1heSBiZSBpbnRlcmVzdGVk
IGluDQoJICB0aGUgbG9jYXRvciBwYWlyIHdoaWNoIHdhcyBhY3R1YWxseSB1c2VkIHRvIHJlY2Vp
dmUgdGhlDQoJICBwYWNrZXQuDQoJICA8L3Q+DQoJICA8dD5Gb3Igb3V0Ym91bmQgdHJhZmZpYywg
dGhlIGFwcGxpY2F0aW9uIG1heSBiZSBpbnRlcmVzdGVkDQoJICBpbiB0aGUgbG9jYXRvciBwYWly
IHdoaWNoIHdhcyBhY3R1YWxseSB1c2VkIHRvIHRyYW5zbWl0IHRoZQ0KCSAgcGFja2V0LjwvdD4N
Cgk8L2xpc3Q+DQoJSW4gdGhpcyB3YXksIHRoZSBhcHBsaWNhdGlvbiBtYXkgaGF2ZSBhZGRpdGlv
bmFsIGNvbnRyb2wgb24NCglsb2NhdG9yIG1hbmFnZW1lbnQuICBGb3IgZXhhbXBsZSwgdGhlIGFw
cGxpY2F0aW9uIGNhbiB2ZXJpZnkNCglpZiBpdHMgcHJlZmVyZW5jZSBvZiBsb2NhdG9yIGlzIGFj
dHVhbGx5IGFwcGxpZWQgdG8gdGhlIGZsb3cNCglvciBub3QuDQoJPC90Pg0KDQoJPHQ+RG9uJ3Qg
YXBwbHkgc2hpbS4gIFRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZSB0bw0KCXJlcXVlc3Qg
dGhlIHNoaW0gbGF5ZXIgbm90IHRvIGFwcGx5IElkZW50aWZpZXIvTG9jYXRvcg0KCWFkYXB0YXRp
b24gYnV0IHRvIGFwcGx5IG5vcm1hbCBJUCBwcm9jZXNzaW5nIGF0IHRoZSBJUA0KCWxheWVyLjwv
dD4NCg0KCTx0PlRoZSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgYWJsZSB0byBzcGVjaWZ5IGlmIGl0
IHdhbnRzIHRvDQoJZGVmZXIgdGhlIGNvbnRleHQgc2V0dXAgb3IgaXQgd2FudHMgY29udGV4dCBl
c3RhYmxpc2htZW50IHRvDQoJYmUgc3RhcnRlZCBpbW1lZGlhdGVseSBpZiB0aGVyZSBpcyBubyBh
dmFpbGFibGUgY29udGV4dC4gIEluDQoJc3VjaCB3YXksIGFwcGxpY2F0aW9uIGNhbiAndXBncmFk
ZScgdGhlIGNvbm5lY3Rpb24gcHJvdmlkaW5nDQoJaW4gYSBzZW5zZSB0aGF0IGlkZW50aWZpZXIg
YW5kIGxvY2F0b3IgYXJlIG1hbmFnZWQNCglzZXBhcmF0ZWx5LjwvdD4NCg0KICAgICAgPC9saXN0
PgkNCiAgICA8L3Q+DQoNCiAgICA8L3NlY3Rpb24+DQoNCiAgICA8IS0tDQoJPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
CUlzc3VlcyB3aXRoIGEgQ29udGV4dCBTaGFyZWQgYnkgQXBwbGljYXRpb25zDQoJPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQ0KICAgIC0tPg0KICAgIDxzZWN0aW9uIHRpdGxlPSJJc3N1ZXMgd2l0aCBhIENvbnRleHQgU2hh
cmVkIGJ5IEFwcGxpY2F0aW9ucyI+DQoNCiAgICAgIDx0PkEgY29udGV4dCBpcyBieSBkZWZpbml0
aW9uLCBzeXN0ZW0td2lkZS4gIFRoaXMgaW1wbGllcyB0aGF0IGENCiAgICAgIGNvbnRleHQgY291
bGQgYmUgc2hhcmVkIGJ5IGFwcGxpY2F0aW9ucyB3aG9zZSBjb21tdW5pY2F0aW9ucyBhcmUNCiAg
ICAgIGJ5IGNoYW5jZSBiYXNlZCBvbiB0aGUgc2FtZSBFSUQgcGFpci48L3Q+DQoNCiAgICAgIDx0
PldoZW4gYSBjb250ZXh0IGlzIHNoYXJlZCBieSBhcHBsaWNhdGlvbnMsIGl0IHdvdWxkIGJlDQog
ICAgICBkaWZmaWN1bHQgZm9yIHRoZSBzaGltIGxheWVyIHRvIGhhbmRsZSBmZWVkYmFja3MgZnJv
bSB0aGUNCiAgICAgIGFwcGxpY2F0aW9ucy4gIEFzIG1lbnRpb25lZCBpbiBTZWN0aW9uIFgsIGFu
IGFwcGxpY2F0aW9uIG1heQ0KICAgICAgcHJvdmlkZSB0aGUgc2hpbSBsYXllciBzb21lIGZlZWRi
YWNrcyBvZiB0aW1lb3V0IHZhbHVlcyBmcm9tIGl0cw0KICAgICAgb3duIHNldHRpbmdzLiAgVGhp
cyBpbXBsaWVzIHRoYXQgdGhlcmUgaXMgcG90ZW50aWFsbHkgYSByYWNlDQogICAgICBjb25kaXRp
b24gaW4gdGhlIHNoaW0gbGF5ZXIuICBGdXJ0aGVyIGRpc2N1c3Npb25zIGFyZSBuZWVkZWQgaG93
DQogICAgICB0aGUgc2hpbSBsYXllciBjYW4gYWNjb21tb2RhdGUgZmVlZGJhY2tzIGZyb20gbXVs
dGlwbGUNCiAgICAgIGFwcGxpY2F0aW9ucyB3aXRoaW4gYSBzYW1lIGNvbnRleHQuPC90Pg0KDQog
ICAgPC9zZWN0aW9uPg0KDQogICAgPCEtLQ0KCT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglJc3N1ZXMgb2YgSGFuZGxp
bmcgTXVsdGlwbGUgTG9jYXRvcnMgd2l0aCBzaGltIHVuYXdhcmUgYXBwbGljYXRpb25zDQoJPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KICAgIC0tPg0KICAgIDxzZWN0aW9uIHRpdGxlPSJJc3N1ZXMgb2YgSGFuZGxpbmcg
TXVsdGlwbGUgTG9jYXRvcnMgd2l0aCBzaGltIHVuYXdhcmUNCgkJICAgIGFwcGxpY2F0aW9ucyI+
DQoNCiAgICAgIDx0PkluIG11bHRpaG9tZWQgZW52aXJvbm1lbnQgd2hlcmUgZWl0aGVyIG9yIGJv
dGggb2YgdGhlIHBlZXJzDQogICAgICBoYXZlIG11bHRpcGxlIGxvY2F0b3JzLCB0aGVyZSBhcmUg
c29tZSBpc3N1ZXMgd2l0aCBsZWdhY3kgc29ja2V0DQogICAgICBBUEkuPC90Pg0KDQogICAgICA8
c2VjdGlvbiB0aXRsZT0iSW5pdGlhbCBDb250YWN0Ij4NCg0KCTx0PldoZW4gYXBwbGljYXRpb24g
aXMgZ29pbmcgdG8gZXN0YWJsaXNoIGNvbW11bmljYXRpb24gd2l0aA0KCWl0cyBwZWVyIHdobyBo
YXBwZW5zIHRvIGhhdmUgbXVsdGlwbGUgbG9jYXRvcnMsIHRoZXJlIGFyZSBzb21lDQoJaXNzdWVz
IHRvIGNvbnNpZGVyLiAgSW4gY29ubmVjdGlvbiBvcmllbnRlZCBjb21tdW5pY2F0aW9uLA0KCWNv
bm5lY3QoKSBzeXN0ZW0gY2FsbCBpcyB1c2VkIHRvIG1ha2UgdGhlIGluaXRpYWwgY29udGFjdCB0
bw0KCXRoZSBwZWVyLCB3aGljaCByZXF1aXJlcyBJUCBhZGRyZXNzIGFuZCBwb3J0IG51bWJlciB0
byBzcGVjaWZ5DQoJdGhlIGVuZHBvaW50LiAgSGVuY2UsIG5hbWUtdG8tYWRkcmVzcyByZXNvbHV0
aW9uIHNob3VsZCBiZQ0KCXBlcmZvcm1lZCBwcmlvciB0byBjb25uZWN0KCkuICBBcHBsaWNhdGlv
biBuZWVkcyB0byByZXNvbHZlDQoJRlFETiBvZiB0aGUgcGVlciB0byBhbiBJUCBhZGRyZXNzIGJ5
IGFueSBhdmFpbGFibGUNCgluYW1lLXRvLWFkZHJlc3MgY29udmVyc2lvbiBtZXRob2QuPC90Pg0K
DQoJPHQ+SW4gdHlwaWNhbCBjYXNlLCB0aGUgYXBwbGljYXRpb24gcmVjZWl2ZXMgaW5mb3JtYXRp
b24gZnJvbQ0KCXJlc29sdmVyLiAgSWYgdGhlIGFwcGxpY2F0aW9uIGVuZHMgdXAgd2l0aCByZWNl
aXZpbmcgbXVsdGlwbGUNCglJUCBhZGRyZXNzZXMgdG8gcmVhY2ggdGhlIHBlZXIsIGl0IHNob3Vs
ZCBpdGVyYXRlIGVhY2gNCglkZXN0aW5hdGlvbiBhZGRyZXNzIG9uZS1ieS1vbmUuICBJdCBzaG91
bGQgYmUgbm90ZWQgdGhhdCB0aGUNCglob3N0IG1heSBhbHNvIGhhdmUgbXVsdGlwbGUgc291cmNl
IGFkZHJlc3Nlcy48L3Q+DQoNCgk8dD5UaGUgZGlmZmVyZW50IHJlc3VsdGluZyBhZGRyZXNzIHBh
aXIgbWF5IGhhdmUgZGlmZmVyZW50DQoJcmVhY2hhYmlsaXR5IHN0YXR1cyBzbywgaW4gb3JkZXIg
dG8gZmluZCBhIHdvcmtpbmcgYWRkcmVzcw0KCXBhaXIsIGl0IG1heSBiZSByZXF1aXJlZCB0byBl
eHBsb3JlIGFsbCB0aGUgYXZhaWxhYmxlIGFkZHJlc3MNCglwYWlycyAoYXMgb3Bwb3NlZCB0byBl
eHBsb3JlIGFsbCBhdmFpbGFibGUgZGVzdGluYXRpb24NCglhZGRyZXNzZXMpLjwvdD4NCgkNCgk8
dD5JbiBub3JtYWwgY2FzZSwgYXBwbGljYXRpb24gaXNzdWVzIGNvbm5lY3QoKSBieSBzcGVjaWZ5
aW5nDQoJcmVzb2x2ZWQgSVAgYWRkcmVzcyBvZiB0aGUgcGVlci4gIElmIHRoZSBjb25uZWN0KCkg
ZmFpbHMsIElQDQoJYWRkcmVzcyBpcyBpdGVyYXRlZCBvbmUgYnkgb25lIHNlcXVlbnRpYWxseSB1
bnRpbCB3b3JraW5nIHBhaXINCglpcyBmb3VuZC4gIEFub3RoZXIgYXBwcm9hY2ggaXMgdG8gaW5p
dGlhdGUgY29uY3VycmVudA0KCWNvbm5lY3QoKSB3aXRoIGV2ZXJ5IGxvY2F0b3Igb2YgdGhlIHBl
ZXIuICBjb25uZWN0KCkgY2FuIGFsc28NCgliZSBjYWxsZWQgaW4gYSBzZXF1ZW5jZSB3aGljaCB3
b3VsZCBwcm9iYWJseSByZXF1aXJlIG1vcmUgdGltZQ0KCXRvIGZpbmQgdGhlIHdvcmtpbmcgcGFp
ci48L3Q+DQoJDQoJPHQ+QmVzaWRlcywgdGhlcmUgaXMgYSBjYXNlIHdoZXJlIGludm9sdmVtZW50
IG9mIHRoZSBzaGltDQoJbGF5ZXIgaXMgZXhwZWN0ZWQgZm9yIGhhbmRsaW5nIGluaXRpYWwgY29u
dGFjdC4gIEluIHN1Y2ggY2FzZSwNCgliZWhhdmlvciBvZiB0aGUgc2hpbSBsYXllciB3aWxsIGRl
cGVuZCBvbiBwcmVzZW5jZSBvZiByZXF1aXJlZA0KCWNvbnRleHQuICBJZiB0aGVyZSBleGlzdHMg
dGhlIGNvbnRleHQgZm9yIHRoZSBFSUQgc3BlY2lmaWVkIGluDQoJdGhlIGNvbm5lY3QoKSwgdGhl
IGluaXRpYWwgY29udGFjdCBjYW4gYmUgbWFkZSBpbiBhY2NvcmRhbmNlDQoJd2l0aCB0aGUgY29u
dGV4dCBpbmZvcm1hdGlvbi4gIE90aGVyd2lzZSwgdGhlIHNoaW0gbGF5ZXINCglzaG91bGQgaW52
b2tlIGNvbnRleHQgZXN0YWJsaXNobWVudCB3aXRoIHRoZSBwZWVyIEVJRA0KCXNwZWNpZmllZCBp
biB0aGUgYXJndW1lbnQgZm9yIGNvbm5lY3QoKS48L3Q+DQoNCgk8dD5BZGRpdGlvbmFsIGVmZm9y
dHMgd291bGQgYmUgcmVxdWlyZWQgaW4gYSBjYXNlIHdoZXJlIHRoZQ0KCXBlZXIgY2Fubm90IGJl
IHJlYWNoYWJsZSBieSB0aGUgRUlEIChmb3IgZXhhbXBsZSwgRUlEIGlzDQoJbm9uLXJvdXRhYmxl
IG9yIG5vbi1JUCByZWFjaGFibGUpIGJ1dCBjYW4gYmUgcmVhY2hlZCBieQ0KCWFsdGVybmF0aXZl
IGxvY2F0b3IuICBJbiBwYXJ0aWN1bGFyLCB0aGUgc2hpbSBsYXllciBzaG91bGQNCglzb21laG93
IGRpc2NvdmVyIHRoZSBhbHRlcm5hdGUgbG9jYXRvciBmb3IgdGhlIEVJRCB0bw0KCWVzdGFibGlz
aCBjb250ZXh0LiAgPHhyZWYgdGFyZ2V0PSJJLUQubm9yZG1hcmstc2hpbTYtZXNkIi8+DQoJYWRk
cmVzc2VzIHRoZSBwb3NzaWJsZSBhcHByb2FjaCB0byBwZXJmb3JtIHJldmVyc2UgRE5TIGxvb2t1
cA0KCWZyb20gRUlEIHRvIEZRRE4sIHRoZW4gcGVyZm9ybSBmb3J3YXJkIGxvb2t1cCBhZ2FpbiB0
byBmaW5kDQoJdGhlIGZ1bGwtc2V0IG9mIGxvY2F0b3JzIGFuZCBFSUQuDQoJPC90Pg0KDQoJPHQ+
SW4gSElQLCByZXNvbHZpbmcgSElUcyB0byBJUCBhZGRyZXNzZXMgdXNpbmcgRE5TIGlzIG5vdA0K
CWZlYXNpYmxlIGJlY2F1c2UgSElUcyBkbyBub3QgY29udGFpbiBhbnkgaGllcmFyY2hpY2FsDQoJ
aW5mb3JtYXRpb24uICBUbyBtaXRpZ2F0ZSB0aGlzIHByb2JsZW0sIHRoZXJlIGFyZSBhIGZldw0K
CWFsdGVybmF0aXZlcy4gIEZpcnN0bHksIHJlc29sdmVyIGxpYnJhcnkgb24gZW5kLWhvc3QgY2Fu
IGJlDQoJbW9kaWZpZWQgdG8gcHJvdmlkZSBISVQtdG8tSVAgbWFwcGluZ3MgZm9yIEhJUCBzb2Z0
d2FyZQ0KCW1vZHVsZS4gIFNlY29uZGx5LCBhIGRpc3RyaWJ1dGVkIGhhc2ggdGFibGUgKERIVCkg
c2VydmljZSBjYW4NCgliZSB1c2VkIGZvciBzdG9yaW5nIGFuZCBsb29raW5nIHVwIHRoZSBtYXBw
aW5ncyBiZWNhdXNlIGl0DQoJc3VwcG9ydHMgbm9uLWhpZXJhcmNoaWNhbCBpZGVudGlmaWVycywg
c3VjaCBhcyBISVRzIDx4cmVmDQoJdGFyZ2V0PSJJLUQuaWV0Zi1oaXAtYXJjaCIvPi4gIFRoaXJk
bHksIGl0IGlzIHBvc3NpYmxlIHRvIHVzZQ0KCUlQIGFkZHJlc3NlcyBpbiBsZWdhY3kgYXBwbGlj
YXRpb25zIGFzIGRlc2NyaWJlZCBpbiA8eHJlZg0KCXRhcmdldD0iSS1ELmhlbmRlcnNvbi1oaXAt
YXBwbGljYXRpb25zIi8+LjwvdD4NCg0KICAgICAgPC9zZWN0aW9uPg0KDQogICAgICA8c2VjdGlv
biB0aXRsZT0iTmFtaW5nIGF0IFNvY2tldCBMYXllciI+DQoNCgk8dD5nZXRzb2NrbmFtZSgpIGFu
ZCBnZXRwZWVybmFtZSgpIHN5c3RlbSBjYWxscyBhcmUgdXNlZCB0bw0KCW9idGFpbiB0aGUgJ25h
bWUnIG9mIGVuZHBvaW50IHdoaWNoIGlzIGFjdHVhbGx5IGEgcGFpciBvZiBJUA0KCWFkZHJlc3Mg
YW5kIHBvcnQgbnVtYmVyIGFzc2lnbmVkIHRvIGdpdmVuIHNvY2tldC4NCglnZXRzb2NrbmFtZSgp
IGlzIHVzZWQgd2hlbiBhbiBhcHBsaWNhdGlvbiB3YW50cyB0byBvYnRhaW4gdGhlDQoJbG9jYWwg
SVAgYWRkcmVzcyBhbmQgcG9ydCBudW1iZXIgYXNzaWduZWQgZm9yIGdpdmVuIHNvY2tldA0KCWlu
c3RhbmNlLiAgZ2V0cGVlcm5hbWUoKSBpcyB1c2VkIHdoZW4gYW4gYXBwbGljYXRpb24gd2FudHMg
dG8NCglvYnRhaW4gdGhlIHJlbW90ZSBJUCBhZGRyZXNzIGFuZCBwb3J0IG51bWJlci4gIEFzIElQ
IGFkZHJlc3MNCglpcyB0aGUga2V5IGluZm9ybWF0aW9uIGluIHRoZSB0d28gc3lzdGVtIGNhbGxz
LCB0aGVyZSBpcyBhDQoJcXVlc3Rpb24gaWYgaXQgc2hvdWxkIGJlIGlkZW50aWZpZXIgb3IgbG9j
YXRvciB3aGVuIHNoaW0gbGF5ZXINCglpcyBwcmVzZW50LjwvdD4NCg0KICAgICAgPC9zZWN0aW9u
Pg0KICAgIDwvc2VjdGlvbj4NCg0KICAgIDwhLS0NCgk9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoJSXNzdWVzIG9mIEhh
bmRsaW5nIE11bHRpcGxlIExvY2F0b3JzIHdpdGggc2hpbSBhd2FyZSBhcHBsaWNhdGlvbnMNCgk9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQogICAgLS0+DQogICAgPHNlY3Rpb24gdGl0bGU9Iklzc3VlcyBvZiBIYW5kbGlu
ZyBNdWx0aXBsZSBMb2NhdG9ycyB3aXRoIHNoaW0gYXdhcmUNCgkJICAgIGFwcGxpY2F0aW9ucyI+
DQogICAgICA8dD5UQkQuPC90Pg0KICAgIDwvc2VjdGlvbj4NCg0KICAgIDxzZWN0aW9uIHRpdGxl
PSJGdXJ0aGVyIElzc3VlcyIgdG9jPSJkZWZhdWx0Ij4NCiAgICAgIDx0PkZvbGxvd2luZ3MgYXJl
IGlzc3VlcyB0aGF0IG5lZWQgZnVydGhlciBjb25zaWRlcmF0aW9ucy48L3Q+DQogICAgICA8c2Vj
dGlvbiB0aXRsZT0iQWRkaXRpb25hbCBSZXF1aXJlbWVudHMgZnJvbSBBcHBsaWNhdGlvbnMiPg0K
DQoJPHQ+Rm9sbG93aW5ncyBhcmUgYWRkaXRpb25hbCByZXF1aXJlbWVudHMuICBBdCB0aGUgbW9t
ZW50LCBpdA0KCWlzIG5vdCBjZXJ0YWluIGlmIHRoZXNlIGZlYXR1cmVzIGFyZSBjb21tb25seSBu
ZWVkZWQgaW4gYWxsDQoJdGhlIHRhcmdldGVkIG11bHRpaG9tZWQgZW52aXJvbm1lbnRzIChTSElN
NiBhbmQgSElQKS4gIFRoZXNlDQoJcmVxdWlyZW1lbnRzIGFyZSBtYWlubHkgaWRlbnRpZmllZCBk
dXJpbmcgZGlzY3Vzc2lvbnMgbWFkZSBvbg0KCVNISU02IFdHIG1haWxpbmcgbGlzdC4NCgkNCgk8
bGlzdCBzdHlsZT0ic3ltYm9scyI+DQoJICA8dD5UaGUgYXBwbGljYXRpb24gc2hvdWxkIGJlIGFi
bGUgdG8gc2VsZWN0IGEgbG9jYXRvcg0KCSAgcGFpci48L3Q+DQoJICA8dD5UaGUgYXBwbGljYXRp
b24gc2hvdWxkIGJlIGFibGUgdG8gc2V0IHByZWZlcmVuY2VzIGZvciB0aGUNCgkgIGxvY2F0b3Jz
LCBsb2NhbCBhbmQgcmVtb3RlIG9uZSBhbmQgYWxzbyB0byB0aGUgcHJlZmVyZW5jZXMgb2YNCgkg
IHRoZSBsb2NhbCBsb2NhdG9ycyB0aGF0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBwZWVyLjwvdD4N
Cg0KDQoJPC9saXN0Pg0KCTwvdD4NCiAgICAgIDwvc2VjdGlvbj4NCiAgICA8L3NlY3Rpb24+DQog
ICAgDQogICAgPCEtLQ0KCT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0NCglJQU5BIENvbnNpZGVyYXRpb24NCgk9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQog
ICAgLS0+DQogICAgPHNlY3Rpb24gdGl0bGU9IklBTkEgQ29uc2lkZXJhdGlvbnMiIHRvYz0iZGVm
YXVsdCI+DQogICAgICA8dD5UaGlzIGRvY3VtZW50IGNvbnRhaW5zIG5vIElBTkEgY29uc2lkZXJh
dGlvbi48L3Q+DQogICAgPC9zZWN0aW9uPg0KDQogICAgPCEtLQ0KCT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglTZWN1cml0
eSBDb25zaWRlcmF0aW9uDQoJPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgIC0tPg0KICAgIDxzZWN0aW9uIHRpdGxlPSJT
ZWN1cml0eSBDb25zaWRlcmF0aW9ucyIgdG9jPSJkZWZhdWx0Ij4NCiAgICAgIA0KICAgICAgPHQ+
VEJEPC90Pg0KICAgICAgDQogICAgPC9zZWN0aW9uPg0KICAgIDwhLS0NCgk9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoJQ29u
Y2x1c2lvbg0KCT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCiAgICAtLT4NCiAgICA8c2VjdGlvbiB0aXRsZT0iQ29uY2x1c2lv
biIgdG9jPSJkZWZhdWx0Ij4NCg0KICAgICAgPHQ+VEJEPC90Pg0KDQogICAgPC9zZWN0aW9uPg0K
ICAgIDwhLS0NCgk9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQoJQWNrbm93bGVkZ21lbnQNCgk9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgLS0+DQog
ICAgPHNlY3Rpb24gdGl0bGUgPSJBY2tub3dsZWRnbWVudHMiIHRvYz0iaW5jbHVkZSI+DQoNCiAg
ICAgIDx0PlRCRDwvdD4NCg0KICAgIDwvc2VjdGlvbj4NCiAgPC9taWRkbGU+DQogIDxiYWNrPg0K
ICAgIDwhLS0NCgk9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQoJUmVmZXJlbmNlcw0KCT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgICAtLT4NCiAgICA8
cmVmZXJlbmNlcyB0aXRsZT0iTm9ybWF0aXZlIFJlZmVyZW5jZXMiPg0KICAgICAgPHJlZmVyZW5j
ZSBhbmNob3I9J0ktRC5pZXRmLXNoaW02LXByb3RvJz4NCgk8ZnJvbnQ+DQoJICA8dGl0bGU+TGV2
ZWwgMyBtdWx0aWhvbWluZyBzaGltIHByb3RvY29sPC90aXRsZT4NCgkgIA0KCSAgPGF1dGhvciBp
bml0aWFscz0nTScgc3VybmFtZT0nQmFnbnVsbycgZnVsbG5hbWU9J01hcmNlbG8gQmFnbnVsbyc+
DQoJICAgIDxvcmdhbml6YXRpb24gLz4NCgkgIDwvYXV0aG9yPg0KCSAgPGF1dGhvciBpbml0aWFs
cz0nRScgc3VybmFtZT0nTm9yZG1hcmsnIGZ1bGxuYW1lPSdFcmlrIE5vcmRtYXJrJz4NCgkgICAg
PG9yZ2FuaXphdGlvbiAvPg0KCSAgPC9hdXRob3I+DQoJICANCgkgIDxkYXRlIG1vbnRoPSdEZWNl
bWJlcicgZGF5PScyMScgeWVhcj0nMjAwNScgLz4NCgk8L2Zyb250Pg0KCQ0KCTxzZXJpZXNJbmZv
IG5hbWU9J0ludGVybmV0LURyYWZ0JyB2YWx1ZT0nZHJhZnQtaWV0Zi1zaGltNi1wcm90by0wMycg
Lz4NCgk8Zm9ybWF0IHR5cGU9J1RYVCcNCgkJdGFyZ2V0PSdodHRwOi8vd3d3LmlldGYub3JnL2lu
dGVybmV0LWRyYWZ0cy9kcmFmdC1pZXRmLXNoaW02LXByb3RvLTAzLnR4dCcgLz4NCiAgICAgIDwv
cmVmZXJlbmNlPg0KDQogICAgICA8cmVmZXJlbmNlIGFuY2hvcj0nSS1ELmlldGYtaGlwLWFyY2gn
Pg0KCTxmcm9udD4NCgkgIDx0aXRsZT5Ib3N0IElkZW50aXR5IFByb3RvY29sIEFyY2hpdGVjdHVy
ZTwvdGl0bGU+DQoNCgkgIDxhdXRob3IgaW5pdGlhbHM9J1InIHN1cm5hbWU9J01vc2tvd2l0eicg
ZnVsbG5hbWU9J1JvYmVydCBNb3Nrb3dpdHonPg0KCSAgICA8b3JnYW5pemF0aW9uIC8+DQoJICA8
L2F1dGhvcj4NCg0KCSAgPGF1dGhvciBpbml0aWFscz0nUCcgc3VybmFtZT0nTmlrYW5kZXInIGZ1
bGxuYW1lPSdQZWtrYSBOaWthbmRlcic+DQoJICAgIDxvcmdhbml6YXRpb24gLz4NCgkgIDwvYXV0
aG9yPg0KCSAgDQoJICA8ZGF0ZSBtb250aD0nQXVndXN0JyBkYXk9JzIyJyB5ZWFyPScyMDA1JyAv
Pg0KCTwvZnJvbnQ+DQoJPHNlcmllc0luZm8gbmFtZT0nSW50ZXJuZXQtRHJhZnQnIHZhbHVlPSdk
cmFmdC1pZXRmLWhpcC1hcmNoLTAzJyAvPg0KCTxmb3JtYXQgdHlwZT0nVFhUJw0KCQl0YXJnZXQ9
J2h0dHA6Ly93d3cuaWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYtaGlwLWFyY2gt
MDMudHh0JyAvPg0KICAgICAgPC9yZWZlcmVuY2U+DQoNCiAgICAgIDwhLS0NCiAgICAgIDxyZWZl
cmVuY2UgYW5jaG9yPSdSRkMzNDkzJz4NCgkNCgk8ZnJvbnQ+DQoJICA8dGl0bGU+QmFzaWMgU29j
a2V0IEludGVyZmFjZSBFeHRlbnNpb25zIGZvciBJUHY2PC90aXRsZT4NCgkgIDxhdXRob3IgaW5p
dGlhbHM9J1IuJyBzdXJuYW1lPSdHaWxsaWdhbicgZnVsbG5hbWU9J1IuIEdpbGxpZ2FuJz4NCgkg
IDxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4NCgkgIDxhdXRob3IgaW5pdGlhbHM9J1MuJyBzdXJu
YW1lPSdUaG9tc29uJyBmdWxsbmFtZT0nUy4gVGhvbXNvbic+DQoJICA8b3JnYW5pemF0aW9uIC8+
PC9hdXRob3I+DQoJICA8YXV0aG9yIGluaXRpYWxzPSdKLicgc3VybmFtZT0nQm91bmQnIGZ1bGxu
YW1lPSdKLiBCb3VuZCc+DQoJICA8b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+DQoJICA8YXV0aG9y
IGluaXRpYWxzPSdKLicgc3VybmFtZT0nTWNDYW5uJyBmdWxsbmFtZT0nSi4gTWNDYW5uJz4NCgkg
IDxvcmdhbml6YXRpb24gLz48L2F1dGhvcj4NCgkgIDxhdXRob3IgaW5pdGlhbHM9J1cuJyBzdXJu
YW1lPSdTdGV2ZW5zJyBmdWxsbmFtZT0nVy4gU3RldmVucyc+DQoJICA8b3JnYW5pemF0aW9uIC8+
PC9hdXRob3I+DQoJPGRhdGUgeWVhcj0nMjAwMycgbW9udGg9J0ZlYnJ1YXJ5JyAvPjwvZnJvbnQ+
DQoJDQoJPHNlcmllc0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0nMzQ5MycgLz4NCgk8Zm9ybWF0IHR5
cGU9J1RYVCcgb2N0ZXRzPSc4MjU3MCcNCgkJdGFyZ2V0PSdmdHA6Ly9mdHAuaXNpLmVkdS9pbi1u
b3Rlcy9yZmMzNDkzLnR4dCcgLz4NCiAgICAgIDwvcmVmZXJlbmNlPg0KICAgICAgLS0+DQoNCiAg
ICAgIDwhLS0NCiAgICAgIDxyZWZlcmVuY2UgYW5jaG9yPSdSRkMzNTQyJz4NCg0KCTxmcm9udD4N
CgkgIDx0aXRsZT5BZHZhbmNlZCBTb2NrZXRzIEFwcGxpY2F0aW9uIFByb2dyYW0gSW50ZXJmYWNl
IChBUEkpDQoJICBmb3IgSVB2NjwvdGl0bGU+DQoJICA8YXV0aG9yIGluaXRpYWxzPSdXLicgc3Vy
bmFtZT0nU3RldmVucycgZnVsbG5hbWU9J1cuIFN0ZXZlbnMnPg0KCSAgPG9yZ2FuaXphdGlvbiAv
PjwvYXV0aG9yPg0KCSAgPGF1dGhvciBpbml0aWFscz0nTS4nIHN1cm5hbWU9J1Rob21hcycgZnVs
bG5hbWU9J00uIFRob21hcyc+DQoJICA8b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+DQoJICA8YXV0
aG9yIGluaXRpYWxzPSdFLicgc3VybmFtZT0nTm9yZG1hcmsnIGZ1bGxuYW1lPSdFLiBOb3JkbWFy
ayc+DQoJICA8b3JnYW5pemF0aW9uIC8+PC9hdXRob3I+DQoJICA8YXV0aG9yIGluaXRpYWxzPSdU
Licgc3VybmFtZT0nSmlubWVpJyBmdWxsbmFtZT0nVC4gSmlubWVpJz4NCgkgIDxvcmdhbml6YXRp
b24gLz48L2F1dGhvcj4NCgk8ZGF0ZSB5ZWFyPScyMDAzJyBtb250aD0nTWF5JyAvPjwvZnJvbnQ+
DQoJDQoJPHNlcmllc0luZm8gbmFtZT0nUkZDJyB2YWx1ZT0nMzU0MicgLz4NCgk8Zm9ybWF0IHR5
cGU9J1RYVCcgb2N0ZXRzPScxNzMwMjgnDQoJCXRhcmdldD0nZnRwOi8vZnRwLmlzaS5lZHUvaW4t
bm90ZXMvcmZjMzU0Mi50eHQnIC8+DQogICAgICA8L3JlZmVyZW5jZT4NCiAgICAgIC0tPg0KICAg
ICAgDQogICAgICA8cmVmZXJlbmNlIGFuY2hvcj0nSS1ELmlldGYtc2hpbTYtZmFpbHVyZS1kZXRl
Y3Rpb24nPg0KCTxmcm9udD4NCgkgIDx0aXRsZT5GYWlsdXJlIERldGVjdGlvbiBhbmQgTG9jYXRv
ciBQYWlyIEV4cGxvcmF0aW9uDQoJICBQcm90b2NvbCBmb3IgSVB2NiBNdWx0aWhvbWluZzwvdGl0
bGU+DQoJICA8YXV0aG9yIGluaXRpYWxzPSdKJyBzdXJuYW1lPSdBcmtrbycgZnVsbG5hbWU9J0ph
cmkgQXJra28nPg0KCSAgICA8b3JnYW5pemF0aW9uIC8+DQoJICA8L2F1dGhvcj4NCgkgIDxhdXRo
b3IgaW5pdGlhbHM9J0knIHN1cm5hbWU9J0JlaWpudW0nDQoJCSAgZnVsbG5hbWU9J0lsaml0c2No
IHZhbiBCZWlqbnVtJz4NCgkgICAgPG9yZ2FuaXphdGlvbiAvPg0KCSAgPC9hdXRob3I+DQoJICA8
ZGF0ZSBtb250aD0nRGVjZW1iZXInIGRheT0nMjEnIHllYXI9JzIwMDUnIC8+DQoJPC9mcm9udD4N
Cgk8c2VyaWVzSW5mbyBuYW1lPSdJbnRlcm5ldC1EcmFmdCcNCgkJICAgIHZhbHVlPSdkcmFmdC1p
ZXRmLXNoaW02LWZhaWx1cmUtZGV0ZWN0aW9uLTAzJyAvPg0KCTxmb3JtYXQgdHlwZT0nVFhUJw0K
CQl0YXJnZXQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYt
c2hpbTYtZmFpbHVyZS1kZXRlY3Rpb24tMDMudHh0JyAvPg0KCTxmb3JtYXQgdHlwZT0nUERGJw0K
CQl0YXJnZXQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYt
c2hpbTYtZmFpbHVyZS1kZXRlY3Rpb24tMDMucGRmJyAvPg0KCQ0KICAgICAgPC9yZWZlcmVuY2U+
DQoNCiAgICAgIDxyZWZlcmVuY2UgYW5jaG9yPSdJLUQuaWV0Zi1zaGltNi1hcHAtcmVmZXInPg0K
CTxmcm9udD4NCgkgIDx0aXRsZT5TaGltNiBBcHBsaWNhdGlvbiBSZWZlcnJhbCBJc3N1ZXM8L3Rp
dGxlPg0KCSAgDQoJICA8YXV0aG9yIGluaXRpYWxzPSdFJyBzdXJuYW1lPSdOb3JkbWFyaycgZnVs
bG5hbWU9J0VyaWsgTm9yZG1hcmsnPg0KCSAgICA8b3JnYW5pemF0aW9uIC8+DQoJICA8L2F1dGhv
cj4NCgkgIA0KCSAgPGRhdGUgbW9udGg9J0p1bHknIGRheT0nNScgeWVhcj0nMjAwNScgLz4NCgkg
IA0KCTwvZnJvbnQ+DQoJDQoJPHNlcmllc0luZm8gbmFtZT0nSW50ZXJuZXQtRHJhZnQnIHZhbHVl
PSdkcmFmdC1pZXRmLXNoaW02LWFwcC1yZWZlci0wMCcgLz4NCgk8Zm9ybWF0IHR5cGU9J1RYVCcN
CgkJdGFyZ2V0PSdodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1pZXRm
LXNoaW02LWFwcC1yZWZlci0wMC50eHQnIC8+DQogICAgICA8L3JlZmVyZW5jZT4NCg0KICAgICAg
PCEtLQ0KICAgICAgPHJlZmVyZW5jZSBhbmNob3I9J0ktRC5jb2VuZS1tdWx0aTYtc2N0cCc+DQoJ
PGZyb250Pg0KCSAgPHRpdGxlPk11bHRpaG9taW5nOiB0aGUgU0NUUCBzb2x1dGlvbjwvdGl0bGU+
DQoJICANCgkgIDxhdXRob3IgaW5pdGlhbHM9J0wnIHN1cm5hbWU9J0NvZW5lJyBmdWxsbmFtZT0n
TG9kZSBDb2VuZSc+DQoJICAgIDxvcmdhbml6YXRpb24gLz4NCgkgIDwvYXV0aG9yPg0KCSAgPGRh
dGUgbW9udGg9J0p1bHknIGRheT0nMTknIHllYXI9JzIwMDQnIC8+DQoJPC9mcm9udD4NCgkNCgk8
c2VyaWVzSW5mbyBuYW1lPSdJbnRlcm5ldC1EcmFmdCcgdmFsdWU9J2RyYWZ0LWNvZW5lLW11bHRp
Ni1zY3RwLTAxJyAvPg0KCTxmb3JtYXQgdHlwZT0nVFhUJw0KCQl0YXJnZXQ9J2h0dHA6Ly93d3cu
aWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWNvZW5lLW11bHRpNi1zY3RwLTAxLnR4dCcg
Lz4NCiAgICAgIDwvcmVmZXJlbmNlPg0KICAgICAgLS0+DQoNCiAgICAgIDxyZWZlcmVuY2UgYW5j
aG9yPSdJLUQubm9yZG1hcmstc2hpbTYtZXNkJz4NCgk8ZnJvbnQ+DQoJICA8dGl0bGU+RXh0ZW5k
ZWQgU2hpbTYgRGVzaWduIGZvciBJRC9sb2Mgc3BsaXQgYW5kIFRyYWZmaWMNCgkgIEVuZ2luZWVy
aW5nPC90aXRsZT4NCgkgIDxhdXRob3IgaW5pdGlhbHM9J0UnIHN1cm5hbWU9J05vcmRtYXJrJyBm
dWxsbmFtZT0nRXJpayBOb3JkbWFyayc+DQoJICAgIDxvcmdhbml6YXRpb24gLz4NCgkgIDwvYXV0
aG9yPg0KCSAgPGRhdGUgbW9udGg9J0ZlYnJ1YXJ5JyBkYXk9JzI2JyB5ZWFyPScyMDA2Jy8+DQoJ
PC9mcm9udD4NCgk8c2VyaWVzSW5mbyBuYW1lPSdJbnRlcm5ldC1EcmFmdCcgdmFsdWU9J2RyYWZ0
LW5vcmRtYXJrLXNoaW02LWVzZC0wMCcgLz4NCgk8Zm9ybWF0IHR5cGU9J1RYVCcNCgkJdGFyZ2V0
PSdodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1ub3JkbWFyay1zaGlt
Ni1lc2QtMDAudHh0JyAvPg0KICAgICAgPC9yZWZlcmVuY2U+DQoNCg0KICAgICAgPHJlZmVyZW5j
ZSBhbmNob3I9J0ktRC5oZW5kZXJzb24taGlwLWFwcGxpY2F0aW9ucyc+DQoJPGZyb250Pg0KCSAg
PHRpdGxlPlVzaW5nIEhJUCB3aXRoIExlZ2FjeSBBcHBsaWNhdGlvbnM8L3RpdGxlPg0KCSAgDQoJ
ICA8YXV0aG9yIGluaXRpYWxzPSdUJyBzdXJuYW1lPSdIZW5kZXJzb24nIGZ1bGxuYW1lPSdUb20g
SGVuZGVyc29uJz4NCgkgICAgPG9yZ2FuaXphdGlvbiAvPg0KCSAgPC9hdXRob3I+DQoJICANCgkg
IDxhdXRob3IgaW5pdGlhbHM9J1AnIHN1cm5hbWU9J05pa2FuZGVyJyBmdWxsbmFtZT0nUGVra2Eg
TmlrYW5kZXInPg0KCSAgICA8b3JnYW5pemF0aW9uIC8+DQoJICA8L2F1dGhvcj4NCgkgIA0KCSAg
PGRhdGUgbW9udGg9J0ZlYnJ1YXJ5JyBkYXk9JzI0JyB5ZWFyPScyMDA1JyAvPg0KCSAgDQoJICAN
Cgk8L2Zyb250Pg0KCQ0KCTxzZXJpZXNJbmZvIG5hbWU9J0ludGVybmV0LURyYWZ0Jw0KCQkgICAg
dmFsdWU9J2RyYWZ0LWhlbmRlcnNvbi1oaXAtYXBwbGljYXRpb25zLTAxJyAvPg0KCTxmb3JtYXQg
dHlwZT0nVFhUJw0KCQl0YXJnZXQ9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRz
L2RyYWZ0LWhlbmRlcnNvbi1oaXAtYXBwbGljYXRpb25zLTAyLnR4dCcgLz4NCiAgICAgIDwvcmVm
ZXJlbmNlPg0KDQogICAgPC9yZWZlcmVuY2VzPg0KICAgIDwhLS0NCgk8c2VjdGlvbiB0aXRsZSA9
IkFwcGVuZGl4LUEiIHRvYz0iaW5jbHVkZSI+IDx0PlRCRC48L3Q+DQoJPC9zZWN0aW9uPg0KICAg
IC0tPg0KICA8L2JhY2s+DQo8L3JmYz4NCg==
--------_44740CD66C00071F4530_MULTIPART_MIXED_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MULTIMOBSEC-API mailing list
MULTIMOBSEC-API@ietf.org
https://www1.ietf.org/mailman/listinfo/multimobsec-api

--------_44740CD66C00071F4530_MULTIPART_MIXED_--





