<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>148659</bug_id>
          
          <creation_ts>2015-08-31 17:02:57 -0700</creation_ts>
          <short_desc>JavaScript functions should restore the stack pointer after a call</short_desc>
          <delta_ts>2015-09-03 17:25:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>148661</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Basile Clement">basile_clement</reporter>
          <assigned_to name="Basile Clement">basile_clement</assigned_to>
          <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1122364</commentid>
    <comment_count>0</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-08-31 17:02:57 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122370</commentid>
    <comment_count>1</comment_count>
      <attachid>260333</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-08-31 17:04:41 -0700</bug_when>
    <thetext>Created attachment 260333
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122371</commentid>
    <comment_count>2</comment_count>
      <attachid>260334</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-08-31 17:05:19 -0700</bug_when>
    <thetext>Created attachment 260334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122372</commentid>
    <comment_count>3</comment_count>
      <attachid>260335</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-08-31 17:05:48 -0700</bug_when>
    <thetext>Created attachment 260335
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122531</commentid>
    <comment_count>4</comment_count>
      <attachid>260335</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-09-01 07:48:47 -0700</bug_when>
    <thetext>Comment on attachment 260335
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=260335&amp;action=review

&gt; Source/JavaScriptCore/ftl/FTLJSCall.cpp:59
&gt; +    jit.addPtr(CCallHelpers::TrustedImm32(sizeof(void*) - static_cast&lt;int64_t&gt;(stackSize)), CCallHelpers::framePointerRegister, CCallHelpers::stackPointerRegister);

Why the &quot;-&quot; here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122532</commentid>
    <comment_count>5</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-09-01 08:02:46 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 260335 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=260335&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/ftl/FTLJSCall.cpp:59
&gt; &gt; +    jit.addPtr(CCallHelpers::TrustedImm32(sizeof(void*) - static_cast&lt;int64_t&gt;(stackSize)), CCallHelpers::framePointerRegister, CCallHelpers::stackPointerRegister);
&gt; 
&gt; Why the &quot;-&quot; here?
I think what I&apos;m more curious about is why are we not subtracting
the entire stack size, but subtracting stack size minus 8 bytes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122597</commentid>
    <comment_count>6</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-09-01 11:16:30 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Comment on attachment 260335 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=260335&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/ftl/FTLJSCall.cpp:59
&gt; &gt; &gt; +    jit.addPtr(CCallHelpers::TrustedImm32(sizeof(void*) - static_cast&lt;int64_t&gt;(stackSize)), CCallHelpers::framePointerRegister, CCallHelpers::stackPointerRegister);
&gt; &gt; 
&gt; &gt; Why the &quot;-&quot; here?
&gt; I think what I&apos;m more curious about is why are we not subtracting
&gt; the entire stack size, but subtracting stack size minus 8 bytes

What LLVM calls the stack size is the amount of stack space that the function will use. This does include saving of the frame pointer, which is saved above the actual frame. You just made me realize that this is a bug on ARM64 however, since we save the link register in the actual frame, in addition to the frame pointer. This should have crashed almost everything, I wonder why we don&apos;t see it happening...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122604</commentid>
    <comment_count>7</comment_count>
      <attachid>260335</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-09-01 11:31:22 -0700</bug_when>
    <thetext>Comment on attachment 260335
Patch

r- because of the bug Saam and Basile noticed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122649</commentid>
    <comment_count>8</comment_count>
      <attachid>260384</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-09-01 14:41:00 -0700</bug_when>
    <thetext>Created attachment 260384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122952</commentid>
    <comment_count>9</comment_count>
      <attachid>260452</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-09-02 16:25:34 -0700</bug_when>
    <thetext>Created attachment 260452
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122954</commentid>
    <comment_count>10</comment_count>
      <attachid>260452</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-09-02 16:26:09 -0700</bug_when>
    <thetext>Comment on attachment 260452
Patch

This is the wrong patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122955</commentid>
    <comment_count>11</comment_count>
      <attachid>260452</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-09-02 16:27:27 -0700</bug_when>
    <thetext>Comment on attachment 260452
Patch

Actually, I don&apos;t know how to read, and this is the right patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122976</commentid>
    <comment_count>12</comment_count>
      <attachid>260452</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-09-02 17:48:15 -0700</bug_when>
    <thetext>Comment on attachment 260452
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123228</commentid>
    <comment_count>13</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-09-03 17:25:24 -0700</bug_when>
    <thetext>Committed r189325: &lt;http://trac.webkit.org/changeset/189325&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260333</attachid>
            <date>2015-08-31 17:04:41 -0700</date>
            <delta_ts>2015-08-31 17:05:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148659-20150831170424.patch</filename>
            <type>text/plain</type>
            <size>7788</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
ZDBiYmI4ZTIzODU3ZTRmOTNkZTBiYzgwNDFlNmVmZTI2Y2M3NTg5Li5hMDU1NTc1NGUwNmJlOTYw
NGRhMDA3YzIyOTEzOTk0MmMyMDNkOTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNS0wOC0yNyAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAgSmF2YVNjcmlwdCBmdW5jdGlvbnMgc2hvdWxkIHJlc3RvcmUg
dGhlIHN0YWNrIHBvaW50ZXIgYWZ0ZXIgYSBjYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIGl0IHNvIHRoYXQgdGhlIHZh
cmlvdXMgcGxhY2VzIHdoZXJlIHdlIGFyZSBtYWtpbmcgYQorICAgICAgICBKUy10by1KUyBjYWxs
IHJlc3RvcmUgdGhlIHN0YWNrIHBvaW50ZXIgYWZ0ZXJ3YXJkcy4gVGhpcyBhbGxvd3MgdXMgdG8K
KyAgICAgICAgbm8gbG9uZ2VyIHJlbHkgb24gdGhlIHN0YWNrIHBvaW50ZXIgc3RpbGwgYmVpbmcg
dmFsaWQgYWZ0ZXIgYSBjYWxsLCBhbmQKKyAgICAgICAgaXMgYSBwcmVyZXF1aXNpdGUgZm9yIGdl
dHRpbmcgcmlkIG9mIHRoZSBhcml0eSBmaXh1cCByZXR1cm4gdGh1bmsuCisKKyAgICAgICAgKiBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAg
ICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6bW1BbGxvY2F0ZURh
dGFTZWN0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMSlNDYWxsLmNwcDoKKyAgICAgICAgKEpTQzo6
RlRMOjpKU0NhbGw6OmVtaXQpOgorICAgICAgICAqIGZ0bC9GVExKU0NhbGwuaDoKKyAgICAgICAg
KiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OmdlbmVyYXRlQnlJZFN0dWIpOgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy90YWlsLWNhbGwtaW4taW5saW5lLWNhY2hlLmpzOiBBZGRlZC4K
KyAgICAgICAgKHRhaWwpOgorICAgICAgICAob2JqLmdldCB4KToKKwogMjAxNS0wOC0zMSAgQmFz
aWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBhcHBsZS5jb20+IGFuZCBNaWNoYWVsIFNhYm9m
ZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIHJlZ2lzdGVyIG5hbWlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKaW5kZXggNTE1YzA2MzQzZmJiZDBjZGNhY2JlOTdiYjJjNGQ2NTk4MmRkOWQ1Zi4u
YzdjNmI3NmEwZjMyYTIzODk3YjgxYWNmOTE4YzUxYjhhODQyNWQ5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC04
MjEsOSArODIxLDEwIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUp
CiAgICAgaW5mby0+c2V0VXBDYWxsKGNhbGxUeXBlLCBub2RlLT5vcmlnaW4uc2VtYW50aWMsIGNh
bGxlZVBheWxvYWRHUFIpOwogICAgIG1faml0LmFkZEpTQ2FsbChmYXN0Q2FsbCwgc2xvd0NhbGws
IHRhcmdldFRvQ2hlY2ssIGluZm8pOwogICAgIAotICAgIC8vIElmIHdlIHdlcmUgdmFyYXJncywg
dGhlbiBhZnRlciB0aGUgY2FsbHMgYXJlIGRvbmUsIHdlIG5lZWQgdG8gcmVlc3RhYmxpc2ggb3Vy
IHN0YWNrIHBvaW50ZXIuCi0gICAgaWYgKGlzVmFyYXJncyB8fCBpc0ZvcndhcmRWYXJhcmdzKQot
ICAgICAgICBtX2ppdC5hZGRQdHIoVHJ1c3RlZEltbTMyKG1faml0LmdyYXBoKCkuc3RhY2tQb2lu
dGVyT2Zmc2V0KCkgKiBzaXplb2YoUmVnaXN0ZXIpKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0
ZXIsIEpJVENvbXBpbGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgLy8gQWZ0ZXIgdGhl
IGNhbGxzIGFyZSBkb25lLCB3ZSBuZWVkIHRvIHJlZXN0YWJsaXNoIG91ciBzdGFjaworICAgIC8v
IHBvaW50ZXIuIFdlIHJlbHkgb24gdGhpcyBmb3IgdmFyYXJncyBjYWxscywgY2FsbHMgd2l0aCBh
cml0eQorICAgIC8vIG1pc21hdGNoICh0aGUgY2FsbGZyYW1lIGlzIHNsaWRlZCkgYW5kIHRhaWwg
Y2FsbHMuCisgICAgbV9qaXQuYWRkUHRyKFRydXN0ZWRJbW0zMihtX2ppdC5ncmFwaCgpLnN0YWNr
UG9pbnRlck9mZnNldCgpICogc2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJl
Z2lzdGVyLCBKSVRDb21waWxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogfQogCiB0ZW1wbGF0
ZTxib29sIHN0cmljdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwCmluZGV4IDM3OWQ5YzNkNTllZDdiNTlhOGIzM2IzZDMzM2I5NTk0ZmU5
ZTNhYjUuLjI4YTM1M2RmMmY3OTgyYTVhNTdmYWE0MTEzYTAwODRlNTlkYWIwNGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAt
Nzc2LDEwICs3NzYsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwoTm9kZSogbm9k
ZSkKICAgICAKICAgICBjYWxsTGlua0luZm8tPnNldFVwQ2FsbChjYWxsVHlwZSwgbV9jdXJyZW50
Tm9kZS0+b3JpZ2luLnNlbWFudGljLCAgY2FsbGVlR1BSKTsgICAgCiAgICAgbV9qaXQuYWRkSlND
YWxsKGZhc3RDYWxsLCBzbG93Q2FsbCwgdGFyZ2V0VG9DaGVjaywgY2FsbExpbmtJbmZvKTsKLSAg
ICAKLSAgICAvLyBJZiB3ZSB3ZXJlIHZhcmFyZ3MsIHRoZW4gYWZ0ZXIgdGhlIGNhbGxzIGFyZSBk
b25lLCB3ZSBuZWVkIHRvIHJlZXN0YWJsaXNoIG91ciBzdGFjayBwb2ludGVyLgotICAgIGlmIChp
c1ZhcmFyZ3MgfHwgaXNGb3J3YXJkVmFyYXJncykKLSAgICAgICAgbV9qaXQuYWRkUHRyKFRydXN0
ZWRJbW0zMihtX2ppdC5ncmFwaCgpLnN0YWNrUG9pbnRlck9mZnNldCgpICogc2l6ZW9mKFJlZ2lz
dGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBKSVRDb21waWxlcjo6c3RhY2tQb2lu
dGVyUmVnaXN0ZXIpOworCisgICAgLy8gQWZ0ZXIgdGhlIGNhbGxzIGFyZSBkb25lLCB3ZSBuZWVk
IHRvIHJlZXN0YWJsaXNoIG91ciBzdGFjaworICAgIC8vIHBvaW50ZXIuIFdlIHJlbHkgb24gdGhp
cyBmb3IgdmFyYXJncyBjYWxscywgY2FsbHMgd2l0aCBhcml0eQorICAgIC8vIG1pc21hdGNoICh0
aGUgY2FsbGZyYW1lIGlzIHNsaWRlZCkgYW5kIHRhaWwgY2FsbHMuCisgICAgbV9qaXQuYWRkUHRy
KFRydXN0ZWRJbW0zMihtX2ppdC5ncmFwaCgpLnN0YWNrUG9pbnRlck9mZnNldCgpICogc2l6ZW9m
KFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBKSVRDb21waWxlcjo6c3Rh
Y2tQb2ludGVyUmVnaXN0ZXIpOwogfQogCiAvLyBDbGFuZyBzaG91bGQgYWxsb3cgdW5yZWFjaGFi
bGUgW1tjbGFuZzo6ZmFsbHRocm91Z2hdXSBpbiB0ZW1wbGF0ZSBmdW5jdGlvbnMgaWYgYW55IHRl
bXBsYXRlIGV4cGFuc2lvbiB1c2VzIGl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTENvbXBpbGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21w
aWxlLmNwcAppbmRleCA1M2Y0YzZmODMzNjhmYTBkMWE3NmQ1MGEyZDNlZjJmMWQzYjAzMzM1Li5k
ZTU4ZjFmYTRiMDU0YTllZjIyNTdmNzBiYzc4YjlkODk1OTY3OTIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKQEAgLTU5NCw3ICs1OTQsNyBAQCBzdGF0aWMgdm9p
ZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMoCiAgICAgICAgIEpTQ2FsbCYgY2FsbCA9IHN0
YXRlLmpzQ2FsbHNbaV07CiAKICAgICAgICAgQ0NhbGxIZWxwZXJzIGZhc3RQYXRoSklUKCZ2bSwg
Y29kZUJsb2NrKTsKLSAgICAgICAgY2FsbC5lbWl0KGZhc3RQYXRoSklUKTsKKyAgICAgICAgY2Fs
bC5lbWl0KGZhc3RQYXRoSklULCBzdGF0ZS5qaXRDb2RlLT5zdGFja21hcHMuc3RhY2tTaXplKCkp
OwogCiAgICAgICAgIGNoYXIqIHN0YXJ0T2ZJQyA9IGJpdHdpc2VfY2FzdDxjaGFyKj4oZ2VuZXJh
dGVkRnVuY3Rpb24pICsgY2FsbC5tX2luc3RydWN0aW9uT2Zmc2V0OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpTQ2FsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEpTQ2FsbC5jcHAKaW5kZXggZTZmNmJkYTQ3NmUyMGRlMGY5Nzc5ZjkwN2I5
NTE0Njc3MWEzM2U4Ni4uYjU4NjIxN2ZhNjBmYmI1ZmZlYmVmNTAxMjU3NzlkNTkzODc3NDZhMCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKU0NhbGwuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSlNDYWxsLmNwcApAQCAtNTEsNiArNTEsMTQg
QEAgSlNDYWxsOjpKU0NhbGwodW5zaWduZWQgc3RhY2ttYXBJRCwgTm9kZSogbm9kZSkKICAgICBB
U1NFUlQobm9kZS0+b3AoKSA9PSBDYWxsIHx8IG5vZGUtPm9wKCkgPT0gQ29uc3RydWN0KTsKIH0K
IAordm9pZCBKU0NhbGw6OmVtaXQoQ0NhbGxIZWxwZXJzJiBqaXQsIHVuc2lnbmVkIHN0YWNrU2l6
ZSkKK3sKKyAgICBKU0NhbGxCYXNlOjplbWl0KGppdCk7CisKKyAgICAvLyBSZXN0b3JlIHRoZSBz
dGFjayBwb2ludGVyCisgICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihz
aXplb2Yodm9pZCopIC0gc3RhdGljX2Nhc3Q8aW50NjRfdD4oc3RhY2tTaXplKSksIENDYWxsSGVs
cGVyczo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsIENDYWxsSGVscGVyczo6c3RhY2tQb2ludGVyUmVn
aXN0ZXIpOworfQorCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCiAKICNlbmRpZiAvLyBFTkFC
TEUoRlRMX0pJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSlND
YWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpTQ2FsbC5oCmluZGV4IDJmNWU2
NGFlYTgzOWRiOTBhZWFjNjhhZmFkZGYzNTFkZTBjOGY1YTAuLjIyZDMwOTU0MzdjMmY5ZGI2ZDdl
NWMzNDkwYmEyNTRmODZmNWVjOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMSlNDYWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKU0NhbGwu
aApAQCAtNDIsNiArNDIsOCBAQCBjbGFzcyBKU0NhbGwgOiBwdWJsaWMgSlNDYWxsQmFzZSB7CiBw
dWJsaWM6CiAgICAgSlNDYWxsKCk7CiAgICAgSlNDYWxsKHVuc2lnbmVkIHN0YWNrbWFwSUQsIERG
Rzo6Tm9kZSopOworCisgICAgdm9pZCBlbWl0KENDYWxsSGVscGVycyYsIHVuc2lnbmVkIHN0YWNr
U2l6ZSk7CiAgICAgCiAgICAgdW5zaWduZWQgc3RhY2ttYXBJRCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RhY2ttYXBJRDsgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZXBhdGNoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKaW5k
ZXggYzVkYjUzYmUwNjIyNDBmNGRiY2ZkMGIwM2I1MDNjMTc5MmMwNjc2Ny4uZmY5NjE5NjRlZWY2
YmU5OGZlNDI0MThmN2FhNDRiZmVjMjczZjhkNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZXBhdGNoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
cGF0Y2guY3BwCkBAIC00OTUsOSArNDk1LDEwIEBAIHN0YXRpYyBib29sIGdlbmVyYXRlQnlJZFN0
dWIoCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoMCkpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBmYXN0UGF0aENhbGwgPSBzdHViSml0Lm5lYXJDYWxs
KCk7Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgc3R1YkppdC5hZGRQdHIoCi0gICAgICAg
ICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihhbGlnbmVkTnVtYmVyT2ZCeXRl
c0ZvckNhbGwpLAorICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIo
Y29kZUJsb2NrLT5zdGFja1BvaW50ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLAorICAg
ICAgICAgICAgICAgIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLAogICAgICAgICAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAgICAgICAgICBpZiAo
a2luZCA9PSBDYWxsR2V0dGVyKQogICAgICAgICAgICAgICAgIHN0dWJKaXQuc2V0dXBSZXN1bHRz
KHZhbHVlUmVncyk7CkBAIC01MTMsNyArNTE0LDggQEAgc3RhdGljIGJvb2wgZ2VuZXJhdGVCeUlk
U3R1YigKICAgICAgICAgICAgIHNsb3dQYXRoQ2FsbCA9IHN0dWJKaXQubmVhckNhbGwoKTsKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgc3R1YkppdC5hZGRQdHIoCi0gICAgICAgICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihhbGlnbmVkTnVtYmVyT2ZCeXRlc0ZvckNhbGwp
LAorICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoY29kZUJsb2Nr
LT5zdGFja1BvaW50ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLAorICAgICAgICAgICAg
ICAgIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLAogICAgICAgICAgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAgICAgICAgICBpZiAoa2luZCA9PSBD
YWxsR2V0dGVyKQogICAgICAgICAgICAgICAgIHN0dWJKaXQuc2V0dXBSZXN1bHRzKHZhbHVlUmVn
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RhaWwt
Y2FsbC1pbi1pbmxpbmUtY2FjaGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL3RhaWwtY2FsbC1pbi1pbmxpbmUtY2FjaGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhkNjRmMTU0M2Q3
MWMxZjJjNWZlYTFkYjYwNTVlY2FhZjU1ZGM0YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvdGFpbC1jYWxsLWluLWlubGluZS1jYWNoZS5qcwpA
QCAtMCwwICsxLDEwIEBACisidXNlIHN0cmljdCI7CisKK2Z1bmN0aW9uIHRhaWwoKSB7IH0KKwor
dmFyIG9iaiA9IHsKKyAgICBnZXQgeCgpIHsgcmV0dXJuIHRhaWwoMCk7IH0KK307CisKK2ZvciAo
dmFyIGkgPSAwOyBpIDwgMTA7ICsraSkKKyAgICBvYmoueDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260334</attachid>
            <date>2015-08-31 17:05:19 -0700</date>
            <delta_ts>2015-08-31 17:05:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148659-20150831170502.patch</filename>
            <type>text/plain</type>
            <size>135797</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ODMzNThkZGZhNjU1ZGVhZjI0MmI1MTllYWZhM2I4MGFkYzczZWNiLi45ZDBiYmI4ZTIzODU3ZTRm
OTNkZTBiYzgwNDFlNmVmZTI2Y2M3NTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2NiBAQAorMjAxNS0wOC0zMSAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+IGFuZCBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENsZWFuIHVwIHJlZ2lzdGVyIG5hbWluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4NjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2VzIHJlZ2lzdGVyIG5hbWluZyBjb252ZW50
aW9ucyBpbiB0aGUgbGxpbnQgYW5kIGJhc2VsaW5lIEpJVAorICAgICAgICBpbiBvcmRlciB0byB1
c2UgYXMgZmV3IChuYXRpdmUpIGNhbGxlZS1zYXZlIHJlZ2lzdGVycyBhcyBwb3NzaWJsZSBvbgor
ICAgICAgICA2NC1iaXRzIHBsYXRmb3Jtcy4gSXQgYWxzbyBpbnRyb2R1Y2VzIHNpZ25pZmljYW50
IGNoYW5nZXMgaW4gdGhlIHdheQorICAgICAgICByZWdpc3RlcnMgbmFtZXMgYXJlIGRlZmluZWQg
aW4gdGhlIExMaW50IGFuZCBiYXNlbGluZSBKSVQgaW4gb3JkZXIgdG8KKyAgICAgICAgZW5hYmxl
IGEgc2ltcGxlciBjb252ZW50aW9uIGFib3V0IHdoaWNoIHJlZ2lzdGVycyBjYW4gYmUgYWxpYXNl
ZC4gVGhhdAorICAgICAgICBjb252ZW50aW9uIGlzIHZhbGlkIGFjcm9zcyBhbGwgYXJjaGl0ZWN0
dXJlLCBhbmQgZGVzY3JpYmVkIGluCisgICAgICAgIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtLgorCisgICAgICAgIENhbGxlZSBzYXZlIHJlZ2lzdGVycyBhcmUgbm93IGNhbGxlZCBvdXQg
cmVnQ1M8bj4gKGluIHRoZSBKSVQpIG9yCisgICAgICAgIGNzcjxuPiAoaW4gdGhlIExMSW50KSB3
aXRoIGEgY29tbW9uIG51bWJlcmluZyBhY3Jvc3MgYWxsIHRpZXJzLiBTb21lCisgICAgICAgIHJl
Z2lzdGVycyBhcmUgdW51c2VkIGluIHNvbWUgdGllcnMuCisKKyAgICAgICAgQXMgYSBwYXJ0IG9m
IHRoaXMgY2hhbmdlLCByZGkgd2FzIHJlbW92ZWQgZnJvbSB0aGUgbGlzdCBvZiB0ZW1wb3JhcnkK
KyAgICAgICAgcmVnaXN0ZXJzIGZvciBYODYtNjQgV2luZG93cyBhcyBpdCBpcyBhIGNhbGxlZSBz
YXZlcyByZWdpc3Rlci4gVGhpcworICAgICAgICByZWR1Y2VkIHRoZSBudW1iZXIgb2YgdGVtcG9y
YXJ5IHJlZ2lzdGVycyBmb3IgWDg2LTY0IFdpbmRvd3MuCisKKyAgICAgICAgVGhpcyBpcyBpbiBw
cmVwYXJhdGlvbiBmb3IgcHJvcGVybHkgaGFuZGxpbmcgY2FsbGVlIHNhdmUgcmVnaXN0ZXIKKyAg
ICAgICAgcHJlc2VydmF0aW9uIGFuZCByZXN0b3JhdGlvbi4KKworICAgICAgICAqIGRmZy9ERkdK
SVRDb21waWxlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29tcGlsZXI6OmNvbXBpbGVG
dW5jdGlvbik6CisgICAgICAgICogZnRsL0ZUTExpbmsuY3BwOgorICAgICAgICAoSlNDOjpGVEw6
OmxpbmspOgorICAgICAgICAqIGppdC9GUFJJbmZvLmg6CisgICAgICAgIChKU0M6OkZQUkluZm86
OnRvUmVnaXN0ZXIpOgorICAgICAgICAoSlNDOjpGUFJJbmZvOjp0b0luZGV4KToKKyAgICAgICAg
KiBqaXQvR1BSSW5mby5oOgorICAgICAgICAoSlNDOjpHUFJJbmZvOjp0b0luZGV4KToKKyAgICAg
ICAgKEpTQzo6R1BSSW5mbzo6dG9SZWdpc3Rlcik6CisgICAgICAgIChKU0M6OkdQUkluZm86OmRl
YnVnTmFtZSk6IERlbGV0ZWQuCisgICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVRBcml0aG1ldGljLmNwcDoK
KyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX21vZCk6CisgICAgICAgICogaml0L0pJVE9wY29k
ZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX2xvb3BfaGludCk6CisgICAg
ICAgICogaml0L0pJVE9wY29kZXMzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9lbmQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfbmV3X29iamVjdCk6CisgICAgICAg
ICogaml0L1JlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5jcHA6CisgICAgICAg
IChKU0M6OmdlbmVyYXRlUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyKToKKyAgICAgICAgKEpT
Qzo6Z2VuZXJhdGVSZWdpc3RlclJlc3RvcmF0aW9uKToKKyAgICAgICAgKiBqaXQvVGh1bmtHZW5l
cmF0b3JzLmNwcDoKKyAgICAgICAgKEpTQzo6YXJpdHlGaXh1cEdlbmVyYXRvcik6CisgICAgICAg
IChKU0M6Om5hdGl2ZUZvckdlbmVyYXRvcik6IERlbGV0ZWQuCisgICAgICAgICogbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjMyXzY0LmFzbToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOgor
ICAgICAgICAqIG9mZmxpbmVhc20vYXJtLnJiOgorICAgICAgICAqIG9mZmxpbmVhc20vYXJtNjQu
cmI6CisgICAgICAgICogb2ZmbGluZWFzbS9jbG9vcC5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNt
L21pcHMucmI6CisgICAgICAgICogb2ZmbGluZWFzbS9yZWdpc3RlcnMucmI6CisgICAgICAgICog
b2ZmbGluZWFzbS9zaDQucmI6CisgICAgICAgICogb2ZmbGluZWFzbS94ODYucmI6CisKIDIwMTUt
MDgtMTEgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBtb3JlIHN0cmljdCBtb2RlIHRlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHSklUQ29tcGlsZXIuY3BwCmluZGV4IGI1OGQ2N2UxZjhlYzM4NTljOTJlMGVhMTkzMTQw
MmU0MWJmZTk5OWUuLjE3MThkZjZkY2Q2MDQyMDc2MjdmMzIyYTU2OTMyNGFmN2MxNGM2NzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwCkBAIC0zOTUs
MTggKzM5NSwxNCBAQCB2b2lkIEpJVENvbXBpbGVyOjpjb21waWxlRnVuY3Rpb24oKQogICAgIG1f
c3BlY3VsYXRpdmUtPmNhbGxPcGVyYXRpb25XaXRoQ2FsbEZyYW1lUm9sbGJhY2tPbkV4Y2VwdGlv
bihtX2NvZGVCbG9jay0+bV9pc0NvbnN0cnVjdG9yID8gb3BlcmF0aW9uQ29uc3RydWN0QXJpdHlD
aGVjayA6IG9wZXJhdGlvbkNhbGxBcml0eUNoZWNrLCBHUFJJbmZvOjpyZWdUMCk7CiAgICAgaWYg
KG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsKQogICAgICAgICBhZGRQdHIoVHJ1c3RlZElt
bTMyKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIp
OwotICAgIGJyYW5jaFRlc3QzMihaZXJvLCBHUFJJbmZvOjpyZWdUMCkubGlua1RvKGZyb21Bcml0
eUNoZWNrLCB0aGlzKTsKKyAgICBicmFuY2hUZXN0MzIoWmVybywgR1BSSW5mbzo6cmV0dXJuVmFs
dWVHUFIpLmxpbmtUbyhmcm9tQXJpdHlDaGVjaywgdGhpcyk7CiAgICAgZW1pdFN0b3JlQ29kZU9y
aWdpbihDb2RlT3JpZ2luKDApKTsKLSAgICBHUFJSZWcgdGh1bmtSZWc7Ci0jaWYgVVNFKEpTVkFM
VUU2NCkKLSAgICB0aHVua1JlZyA9IEdQUkluZm86OnJlZ1Q3OwotI2Vsc2UKLSAgICB0aHVua1Jl
ZyA9IEdQUkluZm86OnJlZ1Q1OwotI2VuZGlmCisgICAgR1BSUmVnIHRodW5rUmVnID0gR1BSSW5m
bzo6YXJndW1lbnRHUFIxOwogICAgIENvZGVMb2NhdGlvbkxhYmVsKiBhcml0eVRodW5rTGFiZWxz
ID0KICAgICAgICAgbV92bS0+YXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MtPnJldHVyblBDc0Zv
cigqbV92bSwgbV9jb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSk7CiAgICAgbW92ZShUcnVzdGVk
SW1tUHRyKGFyaXR5VGh1bmtMYWJlbHMpLCB0aHVua1JlZyk7Ci0gICAgbG9hZFB0cihCYXNlSW5k
ZXgodGh1bmtSZWcsIEdQUkluZm86OnJlZ1QwLCB0aW1lc1B0cigpKSwgdGh1bmtSZWcpOworICAg
IGxvYWRQdHIoQmFzZUluZGV4KHRodW5rUmVnLCBHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgdGlt
ZXNQdHIoKSksIHRodW5rUmVnKTsKKyAgICBtb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCBH
UFJJbmZvOjphcmd1bWVudEdQUjApOwogICAgIG1fY2FsbEFyaXR5Rml4dXAgPSBjYWxsKCk7CiAg
ICAganVtcChmcm9tQXJpdHlDaGVjayk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExpbmsuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
aW5rLmNwcAppbmRleCA3N2I2NTcxZjBlZmVhOTA5Nzg5YmQ1N2M5NjZjMTlmYTkzZjA3MjQ5Li5m
YTkzNGMzMjdhOGIwZDg3YWVkZGVjMDFlM2I5NTZjNTMxZDFlN2I4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTGluay5jcHAKQEAgLTE2NSwxNCArMTY1LDE0IEBAIHZvaWQgbGluayhTdGF0
ZSYgc3RhdGUpCiAgICAgICAgIGppdC5sb2FkNjQodm0uYWRkcmVzc09mRXhjZXB0aW9uKCksIEdQ
UkluZm86OnJlZ1QxKTsKICAgICAgICAgaml0LmppdEFzc2VydElzTnVsbChHUFJJbmZvOjpyZWdU
MSk7CiAjZW5kaWYKLSAgICAgICAgaml0Lm1vdmUoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIEdQ
UkluZm86OnJlZ1QwKTsKKyAgICAgICAgaml0Lm1vdmUoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIs
IEdQUkluZm86OmFyZ3VtZW50R1BSMCk7CiAgICAgICAgIGppdC5lbWl0RnVuY3Rpb25FcGlsb2d1
ZSgpOwotICAgICAgICBtYWluUGF0aEp1bXBzLmFwcGVuZChqaXQuYnJhbmNoVGVzdDMyKENDYWxs
SGVscGVyczo6WmVybywgR1BSSW5mbzo6cmVnVDApKTsKKyAgICAgICAgbWFpblBhdGhKdW1wcy5h
cHBlbmQoaml0LmJyYW5jaFRlc3QzMihDQ2FsbEhlbHBlcnM6Olplcm8sIEdQUkluZm86OmFyZ3Vt
ZW50R1BSMCkpOwogICAgICAgICBqaXQuZW1pdEZ1bmN0aW9uUHJvbG9ndWUoKTsKICAgICAgICAg
Q29kZUxvY2F0aW9uTGFiZWwqIGFyaXR5VGh1bmtMYWJlbHMgPQogICAgICAgICAgICAgdm0uYXJp
dHlDaGVja0ZhaWxSZXR1cm5UaHVua3MtPnJldHVyblBDc0Zvcih2bSwgY29kZUJsb2NrLT5udW1Q
YXJhbWV0ZXJzKCkpOwotICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1Q
dHIoYXJpdHlUaHVua0xhYmVscyksIEdQUkluZm86OnJlZ1Q3KTsKLSAgICAgICAgaml0LmxvYWRQ
dHIoQ0NhbGxIZWxwZXJzOjpCYXNlSW5kZXgoR1BSSW5mbzo6cmVnVDcsIEdQUkluZm86OnJlZ1Qw
LCBDQ2FsbEhlbHBlcnM6OnRpbWVzUHRyKCkpLCBHUFJJbmZvOjpyZWdUNyk7CisgICAgICAgIGpp
dC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhcml0eVRodW5rTGFiZWxzKSwgR1BS
SW5mbzo6YXJndW1lbnRHUFIxKTsKKyAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpC
YXNlSW5kZXgoR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJbmZvOjphcmd1bWVudEdQUjAsIEND
YWxsSGVscGVyczo6dGltZXNQdHIoKSksIEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CiAgICAgICAg
IENDYWxsSGVscGVyczo6Q2FsbCBjYWxsQXJpdHlGaXh1cCA9IGppdC5jYWxsKCk7CiAgICAgICAg
IGppdC5lbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAgICAgICBtYWluUGF0aEp1bXBzLmFwcGVu
ZChqaXQuanVtcCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRlBS
SW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9GUFJJbmZvLmgKaW5kZXggZjA2YjE3
YzBkZDVhNTc2NzZmOWY3ZTQyYjkwZWFmYzhmZWMyOTI5ZC4uMDA2MmI3MTUyOGIxOWUzZjg1ZTY2
OGEwYmIyZTVhMzY2ZDM2NmRlMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9GUFJJbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9GUFJJbmZvLmgKQEAg
LTI2OCwxNSArMjY4LDE2IEBAIHB1YmxpYzoKIGNsYXNzIEZQUkluZm8gewogcHVibGljOgogICAg
IHR5cGVkZWYgRlBSUmVnIFJlZ2lzdGVyVHlwZTsKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bnVtYmVyT2ZSZWdpc3RlcnMgPSA2OworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBudW1iZXJP
ZlJlZ2lzdGVycyA9IDc7CiAKICAgICAvLyBUZW1wb3JhcnkgcmVnaXN0ZXJzLgogICAgIHN0YXRp
YyBjb25zdCBGUFJSZWcgZnBSZWdUMCA9IE1JUFNSZWdpc3RlcnM6OmYwOwotICAgIHN0YXRpYyBj
b25zdCBGUFJSZWcgZnBSZWdUMSA9IE1JUFNSZWdpc3RlcnM6OmY0OwotICAgIHN0YXRpYyBjb25z
dCBGUFJSZWcgZnBSZWdUMiA9IE1JUFNSZWdpc3RlcnM6OmY2OwotICAgIHN0YXRpYyBjb25zdCBG
UFJSZWcgZnBSZWdUMyA9IE1JUFNSZWdpc3RlcnM6OmY4OwotICAgIHN0YXRpYyBjb25zdCBGUFJS
ZWcgZnBSZWdUNCA9IE1JUFNSZWdpc3RlcnM6OmYxMDsKLSAgICBzdGF0aWMgY29uc3QgRlBSUmVn
IGZwUmVnVDUgPSBNSVBTUmVnaXN0ZXJzOjpmMTg7CisgICAgc3RhdGljIGNvbnN0IEZQUlJlZyBm
cFJlZ1QxID0gTUlQU1JlZ2lzdGVyczo6ZjI7CisgICAgc3RhdGljIGNvbnN0IEZQUlJlZyBmcFJl
Z1QyID0gTUlQU1JlZ2lzdGVyczo6ZjQ7CisgICAgc3RhdGljIGNvbnN0IEZQUlJlZyBmcFJlZ1Qz
ID0gTUlQU1JlZ2lzdGVyczo6ZjY7CisgICAgc3RhdGljIGNvbnN0IEZQUlJlZyBmcFJlZ1Q0ID0g
TUlQU1JlZ2lzdGVyczo6Zjg7CisgICAgc3RhdGljIGNvbnN0IEZQUlJlZyBmcFJlZ1Q1ID0gTUlQ
U1JlZ2lzdGVyczo6ZjEwOworICAgIHN0YXRpYyBjb25zdCBGUFJSZWcgZnBSZWdUNiA9IE1JUFNS
ZWdpc3RlcnM6OmYxODsKIAogICAgIHN0YXRpYyBjb25zdCBGUFJSZWcgcmV0dXJuVmFsdWVGUFIg
PSBNSVBTUmVnaXN0ZXJzOjpmMDsKIApAQCAtMjg2LDcgKzI4Nyw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgRlBSUmVnIHRvUmVnaXN0ZXIodW5zaWduZWQgaW5kZXgpCiAgICAgewogICAgICAgICBz
dGF0aWMgY29uc3QgRlBSUmVnIHJlZ2lzdGVyRm9ySW5kZXhbbnVtYmVyT2ZSZWdpc3RlcnNdID0g
ewotICAgICAgICAgICAgZnBSZWdUMCwgZnBSZWdUMSwgZnBSZWdUMiwgZnBSZWdUMywgZnBSZWdU
NCwgZnBSZWdUNSB9OworICAgICAgICAgICAgZnBSZWdUMCwgZnBSZWdUMSwgZnBSZWdUMiwgZnBS
ZWdUMywgZnBSZWdUNCwgZnBSZWdUNSwgZnBSZWdUNiB9OwogCiAgICAgICAgIEFTU0VSVChpbmRl
eCA8IG51bWJlck9mUmVnaXN0ZXJzKTsKICAgICAgICAgcmV0dXJuIHJlZ2lzdGVyRm9ySW5kZXhb
aW5kZXhdOwpAQCAtMjk3LDExICsyOTgsMTEgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQocmVn
ICE9IEludmFsaWRGUFJSZWcpOwogICAgICAgICBBU1NFUlQocmVnIDwgMjApOwogICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgaW5kZXhGb3JSZWdpc3RlclsyMF0gPSB7Ci0gICAgICAgICAg
ICAwLCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LAotICAgICAgICAg
ICAgMSwgSW52YWxpZEluZGV4LCAyLCBJbnZhbGlkSW5kZXgsCi0gICAgICAgICAgICAzLCBJbnZh
bGlkSW5kZXgsIDQsIEludmFsaWRJbmRleCwKKyAgICAgICAgICAgIDAsIEludmFsaWRJbmRleCwg
MSwgSW52YWxpZEluZGV4LAorICAgICAgICAgICAgMiwgSW52YWxpZEluZGV4LCAzLCBJbnZhbGlk
SW5kZXgsCisgICAgICAgICAgICA0LCBJbnZhbGlkSW5kZXgsIDUsIEludmFsaWRJbmRleCwKICAg
ICAgICAgICAgIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFs
aWRJbmRleCwKLSAgICAgICAgICAgIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCA1LCBJbnZh
bGlkSW5kZXgsCisgICAgICAgICAgICBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgNiwgSW52
YWxpZEluZGV4LAogICAgICAgICB9OwogICAgICAgICB1bnNpZ25lZCByZXN1bHQgPSBpbmRleEZv
clJlZ2lzdGVyW3JlZ107CiAgICAgICAgIHJldHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvR1BSSW5mby5oCmluZGV4IGQ1Y2YyNjc5ZWM3MjM5NGNmZWQ5MDFkNzRjMzdjZjliZTY4Yjcw
YmYuLmM3MDg4MDUzNTg5ODg1Zjk0OTQ0MzEzYmI5NzdlYjA0MTZkMWQyODggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvR1BSSW5mby5oCkBAIC0zMSw2ICszMSwxMSBAQAogCiBuYW1lc3BhY2UgSlND
IHsKIAorLy8gV2UgdXNlIHRoZSBzYW1lIGNvbnZlbnRpb25zIGluIHRoZSBiYXNsaW5lIEpJVCBh
cyBpbiB0aGUgTExpbnQuIElmIHlvdQorLy8gY2hhbmdlIG1hcHBpbmdzIGluIHRoZSBHUFJJbmZv
LCB5b3Ugc2hvdWxkIGNoYW5nZSB0aGVtIGluIHRoZSBvZmZsaW5lYXNtCisvLyBjb21waWxlciBh
ZGVxdWF0ZWx5LiBUaGUgcmVnaXN0ZXIgbmFtaW5nIGNvbnZlbnRpb25zIGFyZSBkZXNjcmliZWQg
YXQgdGhlCisvLyB0b3Agb2YgdGhlIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGZpbGUuCisKIHR5
cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdGVySUQgR1BSUmVnOwogI2RlZmluZSBJbnZhbGlk
R1BSUmVnICgoOjpKU0M6OkdQUlJlZyktMSkKIApAQCAtMzA4LDggKzMxMyw2IEBAIHByaXZhdGU6
CiB9OwogI2VuZGlmIC8vIFVTRShKU1ZBTFVFMzJfNjQpCiAKLS8vIFRoZSBiYXNlbGluZSBKSVQg
cmVxdWlyZXMgdGhhdCByZWdUMyBiZSBjYWxsZWUtcHJlc2VydmVkLgotCiAjaWYgQ1BVKFg4NikK
ICNkZWZpbmUgTlVNQkVSX09GX0FSR1VNRU5UX1JFR0lTVEVSUyAwdQogCkBAIC0zMTksMjUgKzMy
MiwyMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bWJlck9mUmVnaXN0
ZXJzID0gNjsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbnVtYmVyT2ZBcmd1bWVudFJlZ2lz
dGVycyA9IE5VTUJFUl9PRl9BUkdVTUVOVF9SRUdJU1RFUlM7CiAKLSAgICAvLyBOb3RlOiByZWdU
MyBpcyByZXF1aXJlZCB0byBiZSBjYWxsZWUtcHJlc2VydmVkLgotCiAgICAgLy8gVGVtcG9yYXJ5
IHJlZ2lzdGVycy4KICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1QwID0gWDg2UmVnaXN0ZXJz
OjplYXg7CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUMSA9IFg4NlJlZ2lzdGVyczo6ZWR4
OwogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDIgPSBYODZSZWdpc3RlcnM6OmVjeDsKLSAg
ICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1QzID0gWDg2UmVnaXN0ZXJzOjplYng7Ci0gICAgc3Rh
dGljIGNvbnN0IEdQUlJlZyByZWdUNCA9IFg4NlJlZ2lzdGVyczo6ZWRpOwotICAgIHN0YXRpYyBj
b25zdCBHUFJSZWcgcmVnVDUgPSBYODZSZWdpc3RlcnM6OmVzaTsKLSAgICAvLyBUaGVzZSByZWdp
c3RlcnMgbWF0Y2ggdGhlIGJhc2VsaW5lIEpJVC4KLSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGNh
Y2hlZFJlc3VsdFJlZ2lzdGVyID0gcmVnVDA7Ci0gICAgc3RhdGljIGNvbnN0IEdQUlJlZyBjYWNo
ZWRSZXN1bHRSZWdpc3RlcjIgPSByZWdUMTsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Qz
ID0gWDg2UmVnaXN0ZXJzOjplYng7IC8vIENhbGxlZS1zYXZlCisgICAgc3RhdGljIGNvbnN0IEdQ
UlJlZyByZWdUNCA9IFg4NlJlZ2lzdGVyczo6ZXNpOyAvLyBDYWxsZWUtc2F2ZQorICAgIHN0YXRp
YyBjb25zdCBHUFJSZWcgcmVnVDUgPSBYODZSZWdpc3RlcnM6OmVkaTsgLy8gQ2FsbGVlLXNhdmUK
ICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGNhbGxGcmFtZVJlZ2lzdGVyID0gWDg2UmVnaXN0ZXJz
OjplYnA7CiAgICAgLy8gVGhlc2UgY29uc3RhbnRzIHByb3ZpZGUgdGhlIG5hbWVzIGZvciB0aGUg
Z2VuZXJhbCBwdXJwb3NlIGFyZ3VtZW50ICYgcmV0dXJuIHZhbHVlIHJlZ2lzdGVycy4KICAgICBz
dGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMCA9IFg4NlJlZ2lzdGVyczo6ZWN4OyAvLyBy
ZWdUMgogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgYXJndW1lbnRHUFIxID0gWDg2UmVnaXN0ZXJz
OjplZHg7IC8vIHJlZ1QxCisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBhcmd1bWVudEdQUjIgPSBY
ODZSZWdpc3RlcnM6OmVheDsgLy8gcmVnVDAKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3Vt
ZW50R1BSMyA9IFg4NlJlZ2lzdGVyczo6ZWJ4OyAvLyByZWdUMwogICAgIHN0YXRpYyBjb25zdCBH
UFJSZWcgbm9uQXJnR1BSMCA9IFg4NlJlZ2lzdGVyczo6ZXNpOyAvLyByZWdUNAotICAgIHN0YXRp
YyBjb25zdCBHUFJSZWcgbm9uQXJnR1BSMSA9IFg4NlJlZ2lzdGVyczo6ZWF4OyAvLyByZWdUMAot
ICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJnR1BSMiA9IFg4NlJlZ2lzdGVyczo6ZWJ4OyAv
LyByZWdUMworICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJnR1BSMSA9IFg4NlJlZ2lzdGVy
czo6ZWRpOyAvLyByZWdUNQogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmV0dXJuVmFsdWVHUFIg
PSBYODZSZWdpc3RlcnM6OmVheDsgLy8gcmVnVDAKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJl
dHVyblZhbHVlR1BSMiA9IFg4NlJlZ2lzdGVyczo6ZWR4OyAvLyByZWdUMQogICAgIHN0YXRpYyBj
b25zdCBHUFJSZWcgbm9uUHJlc2VydmVkTm9uUmV0dXJuR1BSID0gWDg2UmVnaXN0ZXJzOjplY3g7
CkBAIC0zNTksNyArMzU4LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgQVNTRVJUKHJlZyAh
PSBJbnZhbGlkR1BSUmVnKTsKICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4ocmVnKSA8
IDgpOwotICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5kZXhGb3JSZWdpc3Rlcls4XSA9
IHsgMCwgMiwgMSwgMywgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDUsIDQgfTsKKyAgICAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0ZXJbOF0gPSB7IDAsIDIsIDEs
IDMsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCA0LCA1IH07CiAgICAgICAgIHVuc2lnbmVk
IHJlc3VsdCA9IGluZGV4Rm9yUmVnaXN0ZXJbcmVnXTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICB9CkBAIC0zOTMsNTIgKzM5Miw3NCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIG51bWJlck9mUmVnaXN0ZXJzID0gMTE7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IG51bWJlck9mQXJndW1lbnRSZWdpc3RlcnMgPSBOVU1CRVJfT0ZfQVJHVU1FTlRfUkVHSVNURVJT
OwogCi0gICAgLy8gTm90ZTogcmVnVDMgaXMgcmVxdWlyZWQgdG8gYmUgY2FsbGVlLXByZXNlcnZl
ZC4KLQogICAgIC8vIFRoZXNlIHJlZ2lzdGVycyBtYXRjaCB0aGUgYmFzZWxpbmUgSklULgotICAg
IHN0YXRpYyBjb25zdCBHUFJSZWcgY2FjaGVkUmVzdWx0UmVnaXN0ZXIgPSBYODZSZWdpc3RlcnM6
OmVheDsKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGNhbGxGcmFtZVJlZ2lzdGVyID0gWDg2UmVn
aXN0ZXJzOjplYnA7CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyB0YWdUeXBlTnVtYmVyUmVnaXN0
ZXIgPSBYODZSZWdpc3RlcnM6OnIxNDsKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHRhZ01hc2tS
ZWdpc3RlciA9IFg4NlJlZ2lzdGVyczo6cjE1OwogICAgIC8vIFRlbXBvcmFyeSByZWdpc3RlcnMu
CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUMCA9IFg4NlJlZ2lzdGVyczo6ZWF4OwotICAg
IHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDEgPSBYODZSZWdpc3RlcnM6OmVkeDsKLSAgICBzdGF0
aWMgY29uc3QgR1BSUmVnIHJlZ1QyID0gWDg2UmVnaXN0ZXJzOjplY3g7Ci0gICAgc3RhdGljIGNv
bnN0IEdQUlJlZyByZWdUMyA9IFg4NlJlZ2lzdGVyczo6ZWJ4OwotICAgIHN0YXRpYyBjb25zdCBH
UFJSZWcgcmVnVDQgPSBYODZSZWdpc3RlcnM6OmVkaTsKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVn
IHJlZ1Q1ID0gWDg2UmVnaXN0ZXJzOjplc2k7Ci0gICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdU
NiA9IFg4NlJlZ2lzdGVyczo6cjg7CisjaWYgIU9TKFdJTkRPV1MpCisgICAgc3RhdGljIGNvbnN0
IEdQUlJlZyByZWdUMSA9IFg4NlJlZ2lzdGVyczo6ZXNpOworICAgIHN0YXRpYyBjb25zdCBHUFJS
ZWcgcmVnVDIgPSBYODZSZWdpc3RlcnM6OmVkeDsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJl
Z1QzID0gWDg2UmVnaXN0ZXJzOjplY3g7CisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNCA9
IFg4NlJlZ2lzdGVyczo6cjg7CisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNSA9IFg4NlJl
Z2lzdGVyczo6cjEwOworICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDYgPSBYODZSZWdpc3Rl
cnM6OmVkaTsKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q3ID0gWDg2UmVnaXN0ZXJzOjpy
OTsKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q4ID0gWDg2UmVnaXN0ZXJzOjpyMTA7Ci0g
ICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUOSA9IFg4NlJlZ2lzdGVyczo6cjEyOwotICAgIHN0
YXRpYyBjb25zdCBHUFJSZWcgcmVnVDEwID0gWDg2UmVnaXN0ZXJzOjpyMTM7CisjZWxzZQorICAg
IHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDEgPSBYODZSZWdpc3RlcnM6OmVkeDsKKyAgICBzdGF0
aWMgY29uc3QgR1BSUmVnIHJlZ1QyID0gWDg2UmVnaXN0ZXJzOjpyODsKKyAgICBzdGF0aWMgY29u
c3QgR1BSUmVnIHJlZ1QzID0gWDg2UmVnaXN0ZXJzOjpyOTsKKyAgICBzdGF0aWMgY29uc3QgR1BS
UmVnIHJlZ1Q0ID0gWDg2UmVnaXN0ZXJzOjpyMTA7CisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBy
ZWdUNSA9IFg4NlJlZ2lzdGVyczo6ZWN4OworI2VuZGlmCisKKyAgICBzdGF0aWMgY29uc3QgR1BS
UmVnIHJlZ0NTMCA9IFg4NlJlZ2lzdGVyczo6ZWJ4OworCisjaWYgIU9TKFdJTkRPV1MpCisgICAg
c3RhdGljIGNvbnN0IEdQUlJlZyByZWdDUzEgPSBYODZSZWdpc3RlcnM6OnIxMjsKKyAgICBzdGF0
aWMgY29uc3QgR1BSUmVnIHJlZ0NTMiA9IFg4NlJlZ2lzdGVyczo6cjEzOworICAgIHN0YXRpYyBj
b25zdCBHUFJSZWcgcmVnQ1MzID0gWDg2UmVnaXN0ZXJzOjpyMTQ7CisgICAgc3RhdGljIGNvbnN0
IEdQUlJlZyByZWdDUzQgPSBYODZSZWdpc3RlcnM6OnIxNTsKKyNlbHNlCisgICAgc3RhdGljIGNv
bnN0IEdQUlJlZyByZWdDUzEgPSBYODZSZWdpc3RlcnM6OmVzaTsKKyAgICBzdGF0aWMgY29uc3Qg
R1BSUmVnIHJlZ0NTMiA9IFg4NlJlZ2lzdGVyczo6ZWRpOworICAgIHN0YXRpYyBjb25zdCBHUFJS
ZWcgcmVnQ1MzID0gWDg2UmVnaXN0ZXJzOjpyMTI7CisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBy
ZWdDUzQgPSBYODZSZWdpc3RlcnM6OnIxMzsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ0NT
NSA9IFg4NlJlZ2lzdGVyczo6cjE0OworICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnQ1M2ID0g
WDg2UmVnaXN0ZXJzOjpyMTU7CisjZW5kaWYKKwogICAgIC8vIFRoZXNlIGNvbnN0YW50cyBwcm92
aWRlIHRoZSBuYW1lcyBmb3IgdGhlIGdlbmVyYWwgcHVycG9zZSBhcmd1bWVudCAmIHJldHVybiB2
YWx1ZSByZWdpc3RlcnMuCiAjaWYgIU9TKFdJTkRPV1MpCi0gICAgc3RhdGljIGNvbnN0IEdQUlJl
ZyBhcmd1bWVudEdQUjAgPSBYODZSZWdpc3RlcnM6OmVkaTsgLy8gcmVnVDQKLSAgICBzdGF0aWMg
Y29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMSA9IFg4NlJlZ2lzdGVyczo6ZXNpOyAvLyByZWdUNQot
ICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgYXJndW1lbnRHUFIyID0gWDg2UmVnaXN0ZXJzOjplZHg7
IC8vIHJlZ1QxCi0gICAgc3RhdGljIGNvbnN0IEdQUlJlZyBhcmd1bWVudEdQUjMgPSBYODZSZWdp
c3RlcnM6OmVjeDsgLy8gcmVnVDIKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BS
NCA9IFg4NlJlZ2lzdGVyczo6cjg7ICAvLyByZWdUNgotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcg
YXJndW1lbnRHUFI1ID0gWDg2UmVnaXN0ZXJzOjpyOTsgIC8vIHJlZ1Q3CisgICAgc3RhdGljIGNv
bnN0IEdQUlJlZyBhcmd1bWVudEdQUjAgPSBYODZSZWdpc3RlcnM6OmVkaTsgLy8gcmVnVDYKKyAg
ICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMSA9IFg4NlJlZ2lzdGVyczo6ZXNpOyAv
LyByZWdUMQorICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgYXJndW1lbnRHUFIyID0gWDg2UmVnaXN0
ZXJzOjplZHg7IC8vIHJlZ1QyCisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBhcmd1bWVudEdQUjMg
PSBYODZSZWdpc3RlcnM6OmVjeDsgLy8gcmVnVDMKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFy
Z3VtZW50R1BSNCA9IFg4NlJlZ2lzdGVyczo6cjg7IC8vIHJlZ1Q0CisgICAgc3RhdGljIGNvbnN0
IEdQUlJlZyBhcmd1bWVudEdQUjUgPSBYODZSZWdpc3RlcnM6OnI5OyAvLyByZWdUNwogI2Vsc2UK
LSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMCA9IFg4NlJlZ2lzdGVyczo6ZWN4
OwotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgYXJndW1lbnRHUFIxID0gWDg2UmVnaXN0ZXJzOjpl
ZHg7Ci0gICAgc3RhdGljIGNvbnN0IEdQUlJlZyBhcmd1bWVudEdQUjIgPSBYODZSZWdpc3RlcnM6
OnI4OyAvLyByZWdUNgotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgYXJndW1lbnRHUFIzID0gWDg2
UmVnaXN0ZXJzOjpyOTsgLy8gcmVnVDcKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50
R1BSMCA9IFg4NlJlZ2lzdGVyczo6ZWN4OyAvLyByZWdUNQorICAgIHN0YXRpYyBjb25zdCBHUFJS
ZWcgYXJndW1lbnRHUFIxID0gWDg2UmVnaXN0ZXJzOjplZHg7IC8vIHJlZ1QxCisgICAgc3RhdGlj
IGNvbnN0IEdQUlJlZyBhcmd1bWVudEdQUjIgPSBYODZSZWdpc3RlcnM6OnI4OyAvLyByZWdUMgor
ICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgYXJndW1lbnRHUFIzID0gWDg2UmVnaXN0ZXJzOjpyOTsg
Ly8gcmVnVDMKICNlbmRpZgotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJnR1BSMCA9IFg4
NlJlZ2lzdGVyczo6cjEwOyAvLyByZWdUOAotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJn
R1BSMSA9IFg4NlJlZ2lzdGVyczo6ZWJ4OyAvLyByZWdUMwotICAgIHN0YXRpYyBjb25zdCBHUFJS
ZWcgbm9uQXJnR1BSMiA9IFg4NlJlZ2lzdGVyczo6cjEyOyAvLyByZWdUOQorICAgIHN0YXRpYyBj
b25zdCBHUFJSZWcgbm9uQXJnR1BSMCA9IFg4NlJlZ2lzdGVyczo6cjEwOyAvLyByZWdUNSAocmVn
VDQgb24gV2luZG93cykKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vbkFyZ0dQUjEgPSBYODZS
ZWdpc3RlcnM6OmVieDsgLy8gQ2FsbGVlIHNhdmUKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJl
dHVyblZhbHVlR1BSID0gWDg2UmVnaXN0ZXJzOjplYXg7IC8vIHJlZ1QwCi0gICAgc3RhdGljIGNv
bnN0IEdQUlJlZyByZXR1cm5WYWx1ZUdQUjIgPSBYODZSZWdpc3RlcnM6OmVkeDsgLy8gcmVnVDEK
LSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vblByZXNlcnZlZE5vblJldHVybkdQUiA9IFg4NlJl
Z2lzdGVyczo6ZXNpOwotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uUHJlc2VydmVkTm9uQXJn
dW1lbnRHUFIgPSBYODZSZWdpc3RlcnM6OnIxMDsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJl
dHVyblZhbHVlR1BSMiA9IFg4NlJlZ2lzdGVyczo6ZWR4OyAvLyByZWdUMSBvciByZWdUMgorICAg
IHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uUHJlc2VydmVkTm9uUmV0dXJuR1BSID0gWDg2UmVnaXN0
ZXJzOjpyMTA7IC8vIHJlZ1Q1IChyZWdUNCBvbiBXaW5kb3dzKQorICAgIHN0YXRpYyBjb25zdCBH
UFJSZWcgbm9uUHJlc2VydmVkTm9uQXJndW1lbnRHUFIgPSBYODZSZWdpc3RlcnM6OnIxMDsgLy8g
cmVnVDUgKHJlZ1Q0IG9uIFdpbmRvd3MpCiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBwYXRjaHBv
aW50U2NyYXRjaFJlZ2lzdGVyID0gTWFjcm9Bc3NlbWJsZXI6OnNjcmF0Y2hSZWdpc3RlcjsKIAog
ICAgIHN0YXRpYyBHUFJSZWcgdG9SZWdpc3Rlcih1bnNpZ25lZCBpbmRleCkKICAgICB7CiAgICAg
ICAgIEFTU0VSVChpbmRleCA8IG51bWJlck9mUmVnaXN0ZXJzKTsKLSAgICAgICAgc3RhdGljIGNv
bnN0IEdQUlJlZyByZWdpc3RlckZvckluZGV4W251bWJlck9mUmVnaXN0ZXJzXSA9IHsgcmVnVDAs
IHJlZ1QxLCByZWdUMiwgcmVnVDMsIHJlZ1Q0LCByZWdUNSwgcmVnVDYsIHJlZ1Q3LCByZWdUOCwg
cmVnVDksIHJlZ1QxMCB9OworI2lmICFPUyhXSU5ET1dTKQorICAgICAgICBzdGF0aWMgY29uc3Qg
R1BSUmVnIHJlZ2lzdGVyRm9ySW5kZXhbbnVtYmVyT2ZSZWdpc3RlcnNdID0geyByZWdUMCwgcmVn
VDEsIHJlZ1QyLCByZWdUMywgcmVnVDQsIHJlZ1Q1LCByZWdUNiwgcmVnVDcsIHJlZ0NTMCwgcmVn
Q1MxLCByZWdDUzIgfTsKKyNlbHNlCisgICAgICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnaXN0
ZXJGb3JJbmRleFtudW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJl
Z1QzLCByZWdUNCwgcmVnVDUsIHJlZ0NTMCwgcmVnQ1MxLCByZWdDUzIsIHJlZ0NTMywgcmVnQ1M0
IH07CisjZW5kaWYKICAgICAgICAgcmV0dXJuIHJlZ2lzdGVyRm9ySW5kZXhbaW5kZXhdOwogICAg
IH0KICAgICAKQEAgLTQ1Nyw3ICs0NzgsMTEgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgQVNT
RVJUKHJlZyAhPSBJbnZhbGlkR1BSUmVnKTsKICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGlu
dD4ocmVnKSA8IDE2KTsKLSAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVn
aXN0ZXJbMTZdID0geyAwLCAyLCAxLCAzLCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgNSwg
NCwgNiwgNywgOCwgSW52YWxpZEluZGV4LCA5LCAxMCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5k
ZXggfTsKKyNpZiAhT1MoV0lORE9XUykKKyAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGlu
ZGV4Rm9yUmVnaXN0ZXJbMTZdID0geyAwLCAzLCAyLCA4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJ
bmRleCwgMSwgNiwgNCwgNywgNSwgSW52YWxpZEluZGV4LCA5LCAxMCwgSW52YWxpZEluZGV4LCBJ
bnZhbGlkSW5kZXggfTsKKyNlbHNlCisgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmRl
eEZvclJlZ2lzdGVyWzE2XSA9IHsgMCwgNSwgMSwgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5k
ZXgsIDcsIDgsIDIsIDMsIDQsIEludmFsaWRJbmRleCwgOSwgMTAsIEludmFsaWRJbmRleCwgSW52
YWxpZEluZGV4IH07CisjZW5kaWYKICAgICAgICAgcmV0dXJuIGluZGV4Rm9yUmVnaXN0ZXJbcmVn
XTsKICAgICB9CiAKQEAgLTQ4OCwxMyArNTEzLDExIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgbnVtYmVyT2ZSZWdpc3RlcnMgPSA5OwogICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBudW1iZXJPZkFyZ3VtZW50UmVnaXN0ZXJzID0gTlVNQkVSX09GX0FSR1VNRU5UX1JFR0lT
VEVSUzsKIAotICAgIC8vIE5vdGU6IHJlZ1QzIGlzIHJlcXVpcmVkIHRvIGJlIGNhbGxlZS1wcmVz
ZXJ2ZWQuCi0KICAgICAvLyBUZW1wb3JhcnkgcmVnaXN0ZXJzLgogICAgIHN0YXRpYyBjb25zdCBH
UFJSZWcgcmVnVDAgPSBBUk1SZWdpc3RlcnM6OnIwOwogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcg
cmVnVDEgPSBBUk1SZWdpc3RlcnM6OnIxOwogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDIg
PSBBUk1SZWdpc3RlcnM6OnIyOwotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDMgPSBBUk1S
ZWdpc3RlcnM6OnI0OworICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDMgPSBBUk1SZWdpc3Rl
cnM6OnIzOwogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDQgPSBBUk1SZWdpc3RlcnM6OnI4
OwogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDUgPSBBUk1SZWdpc3RlcnM6OnI5OwogICAg
IHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDYgPSBBUk1SZWdpc3RlcnM6OnIxMDsKQEAgLTUwMywy
MiArNTI2LDIwIEBAIHB1YmxpYzoKICNlbHNlIAogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVn
VDcgPSBBUk1SZWdpc3RlcnM6OnI3OwogI2VuZGlmCi0gICAgc3RhdGljIGNvbnN0IEdQUlJlZyBy
ZWdUOCA9IEFSTVJlZ2lzdGVyczo6cjM7CisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUOCA9
IEFSTVJlZ2lzdGVyczo6cjQ7CiAgICAgLy8gVGhlc2UgcmVnaXN0ZXJzIG1hdGNoIHRoZSBiYXNl
bGluZSBKSVQuCi0gICAgc3RhdGljIGNvbnN0IEdQUlJlZyBjYWNoZWRSZXN1bHRSZWdpc3RlciA9
IHJlZ1QwOwotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgY2FjaGVkUmVzdWx0UmVnaXN0ZXIyID0g
cmVnVDE7CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBjYWxsRnJhbWVSZWdpc3RlciA9IEFSTVJl
Z2lzdGVyczo6ZnA7CiAgICAgLy8gVGhlc2UgY29uc3RhbnRzIHByb3ZpZGUgdGhlIG5hbWVzIGZv
ciB0aGUgZ2VuZXJhbCBwdXJwb3NlIGFyZ3VtZW50ICYgcmV0dXJuIHZhbHVlIHJlZ2lzdGVycy4K
ICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMCA9IEFSTVJlZ2lzdGVyczo6cjA7
IC8vIHJlZ1QwCiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBhcmd1bWVudEdQUjEgPSBBUk1SZWdp
c3RlcnM6OnIxOyAvLyByZWdUMQogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgYXJndW1lbnRHUFIy
ID0gQVJNUmVnaXN0ZXJzOjpyMjsgLy8gcmVnVDIKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFy
Z3VtZW50R1BSMyA9IEFSTVJlZ2lzdGVyczo6cjM7IC8vIHJlZ1Q4Ci0gICAgc3RhdGljIGNvbnN0
IEdQUlJlZyBub25BcmdHUFIwID0gQVJNUmVnaXN0ZXJzOjpyNDsgLy8gcmVnVDMKKyAgICBzdGF0
aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMyA9IEFSTVJlZ2lzdGVyczo6cjM7IC8vIHJlZ1Qz
CisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIwID0gQVJNUmVnaXN0ZXJzOjpyNDsg
Ly8gcmVnVDgKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vbkFyZ0dQUjEgPSBBUk1SZWdpc3Rl
cnM6OnI4OyAvLyByZWdUNAogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJnR1BSMiA9IEFS
TVJlZ2lzdGVyczo6cjk7IC8vIHJlZ1Q1CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZXR1cm5W
YWx1ZUdQUiA9IEFSTVJlZ2lzdGVyczo6cjA7IC8vIHJlZ1QwCiAgICAgc3RhdGljIGNvbnN0IEdQ
UlJlZyByZXR1cm5WYWx1ZUdQUjIgPSBBUk1SZWdpc3RlcnM6OnIxOyAvLyByZWdUMQotICAgIHN0
YXRpYyBjb25zdCBHUFJSZWcgbm9uUHJlc2VydmVkTm9uUmV0dXJuR1BSID0gQVJNUmVnaXN0ZXJz
OjpyNTsgLy8gcmVnVDcKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vblByZXNlcnZlZE5vblJl
dHVybkdQUiA9IEFSTVJlZ2lzdGVyczo6cjU7CiAKICAgICBzdGF0aWMgR1BSUmVnIHRvUmVnaXN0
ZXIodW5zaWduZWQgaW5kZXgpCiAgICAgewpAQCAtNTQwLDkgKzU2MSw5IEBAIHB1YmxpYzoKICAg
ICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4ocmVnKSA8IDE2KTsKICAgICAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0ZXJbMTZdID0KICNpZiBDUFUoQVJNX1RIVU1C
MikKLSAgICAgICAgICAgIHsgMCwgMSwgMiwgOCwgMywgOSwgSW52YWxpZEluZGV4LCBJbnZhbGlk
SW5kZXgsIDQsIDUsIDYsIDcsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5k
ZXgsIEludmFsaWRJbmRleCB9OworICAgICAgICAgICAgeyAwLCAxLCAyLCAzLCA4LCBJbnZhbGlk
SW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCA0LCA1LCA2LCA3LCBJbnZhbGlkSW5k
ZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKICNlbHNlCi0g
ICAgICAgICAgICB7IDAsIDEsIDIsIDgsIDMsIDksIEludmFsaWRJbmRleCwgNywgNCwgNSwgNiwg
SW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJ
bnZhbGlkSW5kZXggfTsKKyAgICAgICAgICAgIHsgMCwgMSwgMiwgMywgOCwgSW52YWxpZEluZGV4
LCBJbnZhbGlkSW5kZXgsIDcsIDQsIDUsIDYsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJ
bnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4IH07CiAjZW5kaWYKICAgICAg
ICAgdW5zaWduZWQgcmVzdWx0ID0gaW5kZXhGb3JSZWdpc3RlcltyZWddOwogICAgICAgICByZXR1
cm4gcmVzdWx0OwpAQCAtNTc1LDExICs1OTYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIG51bWJlck9mUmVnaXN0ZXJzID0gMTY7CiAgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIG51bWJlck9mQXJndW1lbnRSZWdpc3RlcnMgPSA4OwogCi0gICAgLy8gTm90ZTogcmVnVDMg
aXMgcmVxdWlyZWQgdG8gYmUgY2FsbGVlLXByZXNlcnZlZC4KLQogICAgIC8vIFRoZXNlIHJlZ2lz
dGVycyBtYXRjaCB0aGUgYmFzZWxpbmUgSklULgotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgY2Fj
aGVkUmVzdWx0UmVnaXN0ZXIgPSBBUk02NFJlZ2lzdGVyczo6eDA7Ci0gICAgc3RhdGljIGNvbnN0
IEdQUlJlZyB0aW1lb3V0Q2hlY2tSZWdpc3RlciA9IEFSTTY0UmVnaXN0ZXJzOjp4MjY7CiAgICAg
c3RhdGljIGNvbnN0IEdQUlJlZyBjYWxsRnJhbWVSZWdpc3RlciA9IEFSTTY0UmVnaXN0ZXJzOjpm
cDsKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHRhZ1R5cGVOdW1iZXJSZWdpc3RlciA9IEFSTTY0
UmVnaXN0ZXJzOjp4Mjc7CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyB0YWdNYXNrUmVnaXN0ZXIg
PSBBUk02NFJlZ2lzdGVyczo6eDI4OwpAQCAtNTg3LDkgKzYwNCw5IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgY29uc3QgR1BSUmVnIHJlZ1QwID0gQVJNNjRSZWdpc3RlcnM6OngwOwogICAgIHN0YXRp
YyBjb25zdCBHUFJSZWcgcmVnVDEgPSBBUk02NFJlZ2lzdGVyczo6eDE7CiAgICAgc3RhdGljIGNv
bnN0IEdQUlJlZyByZWdUMiA9IEFSTTY0UmVnaXN0ZXJzOjp4MjsKLSAgICBzdGF0aWMgY29uc3Qg
R1BSUmVnIHJlZ1QzID0gQVJNNjRSZWdpc3RlcnM6OngyMzsKLSAgICBzdGF0aWMgY29uc3QgR1BS
UmVnIHJlZ1Q0ID0gQVJNNjRSZWdpc3RlcnM6Ong1OwotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcg
cmVnVDUgPSBBUk02NFJlZ2lzdGVyczo6eDI0OworICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVn
VDMgPSBBUk02NFJlZ2lzdGVyczo6eDM7CisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNCA9
IEFSTTY0UmVnaXN0ZXJzOjp4NDsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q1ID0gQVJN
NjRSZWdpc3RlcnM6Ong1OwogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDYgPSBBUk02NFJl
Z2lzdGVyczo6eDY7CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNyA9IEFSTTY0UmVnaXN0
ZXJzOjp4NzsKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q4ID0gQVJNNjRSZWdpc3RlcnM6
Ong4OwpAQCAtNjAwLDE4ICs2MTcsMjAgQEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBHUFJS
ZWcgcmVnVDEzID0gQVJNNjRSZWdpc3RlcnM6OngxMzsKICAgICBzdGF0aWMgY29uc3QgR1BSUmVn
IHJlZ1QxNCA9IEFSTTY0UmVnaXN0ZXJzOjp4MTQ7CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBy
ZWdUMTUgPSBBUk02NFJlZ2lzdGVyczo6eDE1OworICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVn
Q1MwID0gQVJNNjRSZWdpc3RlcnM6OngyNjsgLy8gVXNlZCBieSBMTEludCBvbmx5CisgICAgc3Rh
dGljIGNvbnN0IEdQUlJlZyByZWdDUzEgPSBBUk02NFJlZ2lzdGVyczo6eDI3OyAvLyB0YWdUeXBl
TnVtYmVyCisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdDUzIgPSBBUk02NFJlZ2lzdGVyczo6
eDI4OyAvLyB0YWdNYXNrCiAgICAgLy8gVGhlc2UgY29uc3RhbnRzIHByb3ZpZGUgdGhlIG5hbWVz
IGZvciB0aGUgZ2VuZXJhbCBwdXJwb3NlIGFyZ3VtZW50ICYgcmV0dXJuIHZhbHVlIHJlZ2lzdGVy
cy4KICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMCA9IEFSTTY0UmVnaXN0ZXJz
Ojp4MDsgLy8gcmVnVDAKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMSA9IEFS
TTY0UmVnaXN0ZXJzOjp4MTsgLy8gcmVnVDEKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3Vt
ZW50R1BSMiA9IEFSTTY0UmVnaXN0ZXJzOjp4MjsgLy8gcmVnVDIKLSAgICBzdGF0aWMgY29uc3Qg
R1BSUmVnIGFyZ3VtZW50R1BSMyA9IEFSTTY0UmVnaXN0ZXJzOjp4MzsKLSAgICBzdGF0aWMgY29u
c3QgR1BSUmVnIGFyZ3VtZW50R1BSNCA9IEFSTTY0UmVnaXN0ZXJzOjp4NDsKLSAgICBzdGF0aWMg
Y29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSNSA9IEFSTTY0UmVnaXN0ZXJzOjp4NTsgLy8gcmVnVDQK
KyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMyA9IEFSTTY0UmVnaXN0ZXJzOjp4
MzsgLy8gcmVnVDMKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSNCA9IEFSTTY0
UmVnaXN0ZXJzOjp4NDsgLy8gcmVnVDQKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50
R1BSNSA9IEFSTTY0UmVnaXN0ZXJzOjp4NTsgLy8gcmVnVDUKICAgICBzdGF0aWMgY29uc3QgR1BS
UmVnIGFyZ3VtZW50R1BSNiA9IEFSTTY0UmVnaXN0ZXJzOjp4NjsgLy8gcmVnVDYKICAgICBzdGF0
aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSNyA9IEFSTTY0UmVnaXN0ZXJzOjp4NzsgLy8gcmVn
VDcKICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vbkFyZ0dQUjAgPSBBUk02NFJlZ2lzdGVyczo6
eDg7IC8vIHJlZ1Q4CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIxID0gQVJNNjRS
ZWdpc3RlcnM6Ong5OyAvLyByZWdUOQotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uQXJnR1BS
MiA9IEFSTTY0UmVnaXN0ZXJzOjp4MTA7IC8vIHJlZ1QxMAogICAgIHN0YXRpYyBjb25zdCBHUFJS
ZWcgcmV0dXJuVmFsdWVHUFIgPSBBUk02NFJlZ2lzdGVyczo6eDA7IC8vIHJlZ1QwCiAgICAgc3Rh
dGljIGNvbnN0IEdQUlJlZyByZXR1cm5WYWx1ZUdQUjIgPSBBUk02NFJlZ2lzdGVyczo6eDE7IC8v
IHJlZ1QxCiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25QcmVzZXJ2ZWROb25SZXR1cm5HUFIg
PSBBUk02NFJlZ2lzdGVyczo6eDI7CkBAIC02NzcsNDEgKzY5NiwzOCBAQCBwdWJsaWM6CiBjbGFz
cyBHUFJJbmZvIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEdQUlJlZyBSZWdpc3RlclR5cGU7Ci0g
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bWJlck9mUmVnaXN0ZXJzID0gNzsKKyAgICBzdGF0
aWMgY29uc3QgdW5zaWduZWQgbnVtYmVyT2ZSZWdpc3RlcnMgPSA4OwogICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBudW1iZXJPZkFyZ3VtZW50UmVnaXN0ZXJzID0gTlVNQkVSX09GX0FSR1VNRU5U
X1JFR0lTVEVSUzsKIAogICAgIC8vIHJlZ1QwIG11c3QgYmUgdjAgZm9yIHJldHVybmluZyBhIDMy
LWJpdCB2YWx1ZS4KICAgICAvLyByZWdUMSBtdXN0IGJlIHYxIGZvciByZXR1cm5pbmcgYSBwYWly
IG9mIDMyLWJpdCB2YWx1ZS4KLSAgICAvLyByZWdUMyBtdXN0IGJlIHNhdmVkIGluIHRoZSBjYWxs
ZWUsIHNvIHVzZSBhbiBTIHJlZ2lzdGVyLgogCiAgICAgLy8gVGVtcG9yYXJ5IHJlZ2lzdGVycy4K
ICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1QwID0gTUlQU1JlZ2lzdGVyczo6djA7CiAgICAg
c3RhdGljIGNvbnN0IEdQUlJlZyByZWdUMSA9IE1JUFNSZWdpc3RlcnM6OnYxOwotICAgIHN0YXRp
YyBjb25zdCBHUFJSZWcgcmVnVDIgPSBNSVBTUmVnaXN0ZXJzOjp0NDsKLSAgICBzdGF0aWMgY29u
c3QgR1BSUmVnIHJlZ1QzID0gTUlQU1JlZ2lzdGVyczo6czI7Ci0gICAgc3RhdGljIGNvbnN0IEdQ
UlJlZyByZWdUNCA9IE1JUFNSZWdpc3RlcnM6OnQ1OwotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcg
cmVnVDUgPSBNSVBTUmVnaXN0ZXJzOjp0NjsKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q2
ID0gTUlQU1JlZ2lzdGVyczo6czA7CisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUMiA9IE1J
UFNSZWdpc3RlcnM6OnQyOworICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDMgPSBNSVBTUmVn
aXN0ZXJzOjp0MzsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q0ID0gTUlQU1JlZ2lzdGVy
czo6dDQ7CisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdUNSA9IE1JUFNSZWdpc3RlcnM6OnQ1
OworICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDYgPSBNSVBTUmVnaXN0ZXJzOjp0MDsKKyAg
ICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q3ID0gTUlQU1JlZ2lzdGVyczo6dDE7CiAgICAgLy8g
VGhlc2UgcmVnaXN0ZXJzIG1hdGNoIHRoZSBiYXNlbGluZSBKSVQuCi0gICAgc3RhdGljIGNvbnN0
IEdQUlJlZyBjYWNoZWRSZXN1bHRSZWdpc3RlciA9IHJlZ1QwOwotICAgIHN0YXRpYyBjb25zdCBH
UFJSZWcgY2FjaGVkUmVzdWx0UmVnaXN0ZXIyID0gcmVnVDE7CiAgICAgc3RhdGljIGNvbnN0IEdQ
UlJlZyBjYWxsRnJhbWVSZWdpc3RlciA9IE1JUFNSZWdpc3RlcnM6OmZwOwogICAgIC8vIFRoZXNl
IGNvbnN0YW50cyBwcm92aWRlIHRoZSBuYW1lcyBmb3IgdGhlIGdlbmVyYWwgcHVycG9zZSBhcmd1
bWVudCAmIHJldHVybiB2YWx1ZSByZWdpc3RlcnMuCiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBh
cmd1bWVudEdQUjAgPSBNSVBTUmVnaXN0ZXJzOjphMDsKICAgICBzdGF0aWMgY29uc3QgR1BSUmVn
IGFyZ3VtZW50R1BSMSA9IE1JUFNSZWdpc3RlcnM6OmExOwogICAgIHN0YXRpYyBjb25zdCBHUFJS
ZWcgYXJndW1lbnRHUFIyID0gTUlQU1JlZ2lzdGVyczo6YTI7CiAgICAgc3RhdGljIGNvbnN0IEdQ
UlJlZyBhcmd1bWVudEdQUjMgPSBNSVBTUmVnaXN0ZXJzOjphMzsKLSAgICBzdGF0aWMgY29uc3Qg
R1BSUmVnIG5vbkFyZ0dQUjAgPSByZWdUMjsKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vbkFy
Z0dQUjEgPSByZWdUMzsKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vbkFyZ0dQUjIgPSByZWdU
NDsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vbkFyZ0dQUjAgPSByZWdUMDsKKyAgICBzdGF0
aWMgY29uc3QgR1BSUmVnIG5vbkFyZ0dQUjEgPSByZWdUMTsKICAgICBzdGF0aWMgY29uc3QgR1BS
UmVnIHJldHVyblZhbHVlR1BSID0gcmVnVDA7CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZXR1
cm5WYWx1ZUdQUjIgPSByZWdUMTsKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vblByZXNlcnZl
ZE5vblJldHVybkdQUiA9IHJlZ1Q1OworICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgbm9uUHJlc2Vy
dmVkTm9uUmV0dXJuR1BSID0gcmVnVDI7CiAKICAgICBzdGF0aWMgR1BSUmVnIHRvUmVnaXN0ZXIo
dW5zaWduZWQgaW5kZXgpCiAgICAgewogICAgICAgICBBU1NFUlQoaW5kZXggPCBudW1iZXJPZlJl
Z2lzdGVycyk7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnaXN0ZXJGb3JJbmRleFtu
dW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzLCByZWdUNCwg
cmVnVDUsIHJlZ1Q2IH07CisgICAgICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnaXN0ZXJGb3JJ
bmRleFtudW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzLCBy
ZWdUNCwgcmVnVDUsIHJlZ1Q2LCByZWdUNyB9OwogICAgICAgICByZXR1cm4gcmVnaXN0ZXJGb3JJ
bmRleFtpbmRleF07CiAgICAgfQogCkBAIC03MjEsOCArNzM3LDggQEAgcHVibGljOgogICAgICAg
ICBBU1NFUlQocmVnIDwgMjQpOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5kZXhG
b3JSZWdpc3RlclsyNF0gPSB7CiAgICAgICAgICAgICBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRl
eCwgMCwgMSwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxp
ZEluZGV4LAotICAgICAgICAgICAgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJ
bmRleCwgSW52YWxpZEluZGV4LCAyLCA0LCA1LCBJbnZhbGlkSW5kZXgsCi0gICAgICAgICAgICA2
LCBJbnZhbGlkSW5kZXgsIDMsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5k
ZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4CisgICAgICAgICAgICA2LCA3LCAyLCAzLCA0
LCA1LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwKKyAgICAgICAgICAgIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4
LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4CiAgICAgICAgIH07CiAg
ICAgICAgIHVuc2lnbmVkIHJlc3VsdCA9IGluZGV4Rm9yUmVnaXN0ZXJbcmVnXTsKICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKQEAgLTc1OSwxMiArNzc1LDEyIEBAIHB1YmxpYzoKICAgICAvLyBUZW1w
b3JhcnkgcmVnaXN0ZXJzLgogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDAgPSBTSDRSZWdp
c3RlcnM6OnIwOwogICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDEgPSBTSDRSZWdpc3RlcnM6
OnIxOwotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDIgPSBTSDRSZWdpc3RlcnM6OnIyOwot
ICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnVDMgPSBTSDRSZWdpc3RlcnM6OnIxMDsKLSAgICBz
dGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q0ID0gU0g0UmVnaXN0ZXJzOjpyNDsKLSAgICBzdGF0aWMg
Y29uc3QgR1BSUmVnIHJlZ1Q1ID0gU0g0UmVnaXN0ZXJzOjpyNTsKLSAgICBzdGF0aWMgY29uc3Qg
R1BSUmVnIHJlZ1Q2ID0gU0g0UmVnaXN0ZXJzOjpyNjsKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVn
IHJlZ1Q3ID0gU0g0UmVnaXN0ZXJzOjpyNzsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Qy
ID0gU0g0UmVnaXN0ZXJzOjpyNjsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1QzID0gU0g0
UmVnaXN0ZXJzOjpyNzsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q0ID0gU0g0UmVnaXN0
ZXJzOjpyMjsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q1ID0gU0g0UmVnaXN0ZXJzOjpy
MzsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q2ID0gU0g0UmVnaXN0ZXJzOjpyNDsKKyAg
ICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ1Q3ID0gU0g0UmVnaXN0ZXJzOjpyNTsKICAgICBzdGF0
aWMgY29uc3QgR1BSUmVnIHJlZ1Q4ID0gU0g0UmVnaXN0ZXJzOjpyODsKICAgICBzdGF0aWMgY29u
c3QgR1BSUmVnIHJlZ1Q5ID0gU0g0UmVnaXN0ZXJzOjpyOTsKICAgICAvLyBUaGVzZSByZWdpc3Rl
cnMgbWF0Y2ggdGhlIGJhc2VsaW5lIEpJVC4KQEAgLTc3MiwxMyArNzg4LDEyIEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGNhY2hlZFJlc3VsdFJlZ2lzdGVyMiA9IHJlZ1QxOwog
ICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIgPSBTSDRSZWdpc3RlcnM6
OmZwOwogICAgIC8vIFRoZXNlIGNvbnN0YW50cyBwcm92aWRlIHRoZSBuYW1lcyBmb3IgdGhlIGdl
bmVyYWwgcHVycG9zZSBhcmd1bWVudCAmIHJldHVybiB2YWx1ZSByZWdpc3RlcnMuCi0gICAgc3Rh
dGljIGNvbnN0IEdQUlJlZyBhcmd1bWVudEdQUjAgPSByZWdUNDsKLSAgICBzdGF0aWMgY29uc3Qg
R1BSUmVnIGFyZ3VtZW50R1BSMSA9IHJlZ1Q1OwotICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgYXJn
dW1lbnRHUFIyID0gcmVnVDY7Ci0gICAgc3RhdGljIGNvbnN0IEdQUlJlZyBhcmd1bWVudEdQUjMg
PSByZWdUNzsKLSAgICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vbkFyZ0dQUjAgPSByZWdUMzsKLSAg
ICBzdGF0aWMgY29uc3QgR1BSUmVnIG5vbkFyZ0dQUjEgPSByZWdUODsKLSAgICBzdGF0aWMgY29u
c3QgR1BSUmVnIG5vbkFyZ0dQUjIgPSByZWdUOTsKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFy
Z3VtZW50R1BSMCA9IFNINFJlZ2lzdGVyczo6cjQ7IC8vIHJlZ1Q2CisgICAgc3RhdGljIGNvbnN0
IEdQUlJlZyBhcmd1bWVudEdQUjEgPSBTSDRSZWdpc3RlcnM6OnI1OyAvLyByZWdUNworICAgIHN0
YXRpYyBjb25zdCBHUFJSZWcgYXJndW1lbnRHUFIyID0gU0g0UmVnaXN0ZXJzOjpyNjsgLy8gcmVn
VDIKKyAgICBzdGF0aWMgY29uc3QgR1BSUmVnIGFyZ3VtZW50R1BSMyA9IFNINFJlZ2lzdGVyczo6
cjc7IC8vIHJlZ1QzCisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIwID0gcmVnVDQ7
CisgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBub25BcmdHUFIxID0gcmVnVDU7CiAgICAgc3RhdGlj
IGNvbnN0IEdQUlJlZyByZXR1cm5WYWx1ZUdQUiA9IHJlZ1QwOwogICAgIHN0YXRpYyBjb25zdCBH
UFJSZWcgcmV0dXJuVmFsdWVHUFIyID0gcmVnVDE7CiAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBu
b25QcmVzZXJ2ZWROb25SZXR1cm5HUFIgPSByZWdUMjsKQEAgLTc5NCw3ICs4MDksNyBAQCBwdWJs
aWM6CiAgICAgewogICAgICAgICBBU1NFUlQocmVnICE9IEludmFsaWRHUFJSZWcpOwogICAgICAg
ICBBU1NFUlQocmVnIDwgMTQpOwotICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5kZXhG
b3JSZWdpc3RlclsxNF0gPSB7IDAsIDEsIDIsIEludmFsaWRJbmRleCwgNCwgNSwgNiwgNywgOCwg
OSwgMywgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9OworICAgICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5kZXhGb3JSZWdpc3RlclsxNF0gPSB7IDAsIDEsIDQs
IDUsIDYsIDcsIDIsIDMsIDgsIDksIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlk
SW5kZXgsIEludmFsaWRJbmRleCB9OwogICAgICAgICB1bnNpZ25lZCByZXN1bHQgPSBpbmRleEZv
clJlZ2lzdGVyW3JlZ107CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuY3BwCmluZGV4IGJiYzg1MjNmNWJiMjNhMzkzMGMwOTRlZDQ4NjIxNzQ2NGQ4
NmM1NTEuLmJiZDZmZGViMzU3MGUzYjRiMWE5MzEzMGQwZDU1NDIxZTNhODNkM2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAKQEAgLTU4MywxOSArNTgzLDEzIEBAIENvbXBpbGF0aW9uUmVz
dWx0IEpJVDo6cHJpdmF0ZUNvbXBpbGUoSklUQ29tcGlsYXRpb25FZmZvcnQgZWZmb3J0KQogICAg
ICAgICBjYWxsT3BlcmF0aW9uV2l0aENhbGxGcmFtZVJvbGxiYWNrT25FeGNlcHRpb24obV9jb2Rl
QmxvY2stPm1faXNDb25zdHJ1Y3RvciA/IG9wZXJhdGlvbkNvbnN0cnVjdEFyaXR5Q2hlY2sgOiBv
cGVyYXRpb25DYWxsQXJpdHlDaGVjayk7CiAgICAgICAgIGlmIChtYXhGcmFtZUV4dGVudEZvclNs
b3dQYXRoQ2FsbCkKICAgICAgICAgICAgIGFkZFB0cihUcnVzdGVkSW1tMzIobWF4RnJhbWVFeHRl
bnRGb3JTbG93UGF0aENhbGwpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7Ci0gICAgICAgIGlmIChy
ZXR1cm5WYWx1ZUdQUiAhPSByZWdUMCkKLSAgICAgICAgICAgIG1vdmUocmV0dXJuVmFsdWVHUFIs
IHJlZ1QwKTsKLSAgICAgICAgYnJhbmNoVGVzdDMyKFplcm8sIHJlZ1QwKS5saW5rVG8oYmVnaW5M
YWJlbCwgdGhpcyk7Ci0gICAgICAgIEdQUlJlZyB0aHVua1JlZzsKLSNpZiBVU0UoSlNWQUxVRTY0
KQotICAgICAgICB0aHVua1JlZyA9IEdQUkluZm86OnJlZ1Q3OwotI2Vsc2UKLSAgICAgICAgdGh1
bmtSZWcgPSBHUFJJbmZvOjpyZWdUNTsKLSNlbmRpZgorICAgICAgICBicmFuY2hUZXN0MzIoWmVy
bywgcmV0dXJuVmFsdWVHUFIpLmxpbmtUbyhiZWdpbkxhYmVsLCB0aGlzKTsKKyAgICAgICAgR1BS
UmVnIHRodW5rUmVnID0gR1BSSW5mbzo6YXJndW1lbnRHUFIxOwogICAgICAgICBDb2RlTG9jYXRp
b25MYWJlbCogZmFpbFRodW5rTGFiZWxzID0KICAgICAgICAgICAgIG1fdm0tPmFyaXR5Q2hlY2tG
YWlsUmV0dXJuVGh1bmtzLT5yZXR1cm5QQ3NGb3IoKm1fdm0sIG1fY29kZUJsb2NrLT5udW1QYXJh
bWV0ZXJzKCkpOwogICAgICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoZmFpbFRodW5rTGFiZWxzKSwg
dGh1bmtSZWcpOwotICAgICAgICBsb2FkUHRyKEJhc2VJbmRleCh0aHVua1JlZywgcmVnVDAsIHRp
bWVzUHRyKCkpLCB0aHVua1JlZyk7CisgICAgICAgIGxvYWRQdHIoQmFzZUluZGV4KHRodW5rUmVn
LCByZXR1cm5WYWx1ZUdQUiwgdGltZXNQdHIoKSksIHRodW5rUmVnKTsKKyAgICAgICAgbW92ZShy
ZXR1cm5WYWx1ZUdQUiwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKICAgICAgICAgZW1pdE5ha2Vk
Q2FsbChtX3ZtLT5nZXRDVElTdHViKGFyaXR5Rml4dXBHZW5lcmF0b3IpLmNvZGUoKSk7CiAKICNp
ZiAhQVNTRVJUX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVEFyaXRobWV0aWMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0aG1l
dGljLmNwcAppbmRleCAxNjdlNDEzMDE1OWNhMTg1NjE5MmM1ZTRlZDFlYmYwZWJjZWUyNmY2Li42
MTg5ZTU1ODBmZGMzODY4YzljY2RjMjIxZDY2YWVhNzJjN2IwMjQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5jcHAKQEAgLTYxMSwyNSArNjExLDMyIEBAIHZv
aWQgSklUOjplbWl0X29wX21vZChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAg
IGludCBvcDIgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kOwogCiAgICAgLy8gTWFr
ZSBzdXJlIHJlZ2lzdGVycyBhcmUgY29ycmVjdCBmb3IgeDg2IElESVYgaW5zdHJ1Y3Rpb25zLgor
I2lmIENQVShYODYpCisgICAgYXV0byBlZHggPSByZWdUMTsKKyAgICBhdXRvIGVjeCA9IHJlZ1Qy
OworI2Vsc2UKKyAgICBhdXRvIGVkeCA9IHJlZ1QyOworICAgIGF1dG8gZWN4ID0gcmVnVDM7Cisj
ZW5kaWYKICAgICBBU1NFUlQocmVnVDAgPT0gWDg2UmVnaXN0ZXJzOjplYXgpOwotICAgIEFTU0VS
VChyZWdUMSA9PSBYODZSZWdpc3RlcnM6OmVkeCk7Ci0gICAgQVNTRVJUKHJlZ1QyID09IFg4NlJl
Z2lzdGVyczo6ZWN4KTsKKyAgICBBU1NFUlQoZWR4ID09IFg4NlJlZ2lzdGVyczo6ZWR4KTsKKyAg
ICBBU1NFUlQoZWN4ID09IFg4NlJlZ2lzdGVyczo6ZWN4KTsKIAotICAgIGVtaXRHZXRWaXJ0dWFs
UmVnaXN0ZXJzKG9wMSwgcmVnVDMsIG9wMiwgcmVnVDIpOwotICAgIGVtaXRKdW1wU2xvd0Nhc2VJ
Zk5vdEltbWVkaWF0ZUludGVnZXIocmVnVDMpOwotICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdElt
bWVkaWF0ZUludGVnZXIocmVnVDIpOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXJzKG9wMSwg
cmVnVDQsIG9wMiwgZWN4KTsKKyAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RJbW1lZGlhdGVJbnRl
Z2VyKHJlZ1Q0KTsKKyAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RJbW1lZGlhdGVJbnRlZ2VyKGVj
eCk7CiAKLSAgICBtb3ZlKHJlZ1QzLCByZWdUMCk7Ci0gICAgYWRkU2xvd0Nhc2UoYnJhbmNoVGVz
dDMyKFplcm8sIHJlZ1QyKSk7Ci0gICAgSnVtcCBkZW5vbWluYXRvck5vdE5lZzEgPSBicmFuY2gz
MihOb3RFcXVhbCwgcmVnVDIsIFRydXN0ZWRJbW0zMigtMSkpOworICAgIG1vdmUocmVnVDQsIHJl
Z1QwKTsKKyAgICBhZGRTbG93Q2FzZShicmFuY2hUZXN0MzIoWmVybywgZWN4KSk7CisgICAgSnVt
cCBkZW5vbWluYXRvck5vdE5lZzEgPSBicmFuY2gzMihOb3RFcXVhbCwgZWN4LCBUcnVzdGVkSW1t
MzIoLTEpKTsKICAgICBhZGRTbG93Q2FzZShicmFuY2gzMihFcXVhbCwgcmVnVDAsIFRydXN0ZWRJ
bW0zMigtMjE0NzQ4MzY0Ny0xKSkpOwogICAgIGRlbm9taW5hdG9yTm90TmVnMS5saW5rKHRoaXMp
OwogICAgIG1fYXNzZW1ibGVyLmNkcSgpOwotICAgIG1fYXNzZW1ibGVyLmlkaXZsX3IocmVnVDIp
OwotICAgIEp1bXAgbnVtZXJhdG9yUG9zaXRpdmUgPSBicmFuY2gzMihHcmVhdGVyVGhhbk9yRXF1
YWwsIHJlZ1QzLCBUcnVzdGVkSW1tMzIoMCkpOwotICAgIGFkZFNsb3dDYXNlKGJyYW5jaFRlc3Qz
MihaZXJvLCByZWdUMSkpOworICAgIG1fYXNzZW1ibGVyLmlkaXZsX3IoZWN4KTsKKyAgICBKdW1w
IG51bWVyYXRvclBvc2l0aXZlID0gYnJhbmNoMzIoR3JlYXRlclRoYW5PckVxdWFsLCByZWdUNCwg
VHJ1c3RlZEltbTMyKDApKTsKKyAgICBhZGRTbG93Q2FzZShicmFuY2hUZXN0MzIoWmVybywgZWR4
KSk7CiAgICAgbnVtZXJhdG9yUG9zaXRpdmUubGluayh0aGlzKTsKLSAgICBlbWl0RmFzdEFyaXRo
UmVUYWdJbW1lZGlhdGUocmVnVDEsIHJlZ1QwKTsKKyAgICBlbWl0RmFzdEFyaXRoUmVUYWdJbW1l
ZGlhdGUoZWR4LCByZWdUMCk7CiAgICAgZW1pdFB1dFZpcnR1YWxSZWdpc3RlcihyZXN1bHQpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCBmMzBmZDAy
MzI1YWMzMGUyYjk5ZDRlMzI2ZGEyNTI0ZjBkMzBhODFlLi5lYzc5MmM0MWI2NDQ2ODNmNTk5ZjZl
ODg2NmU5YTNhZmNmZmJiOTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAKQEAgLTkyOSw3ICs5MjksNyBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfbG9vcF9oaW50
KEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYgaQogICAgICAg
ICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk9wdGltaXplLCBtX2J5dGVjb2RlT2Zmc2V0KTsKICAg
ICAgICAgSnVtcCBub09wdGltaXplZEVudHJ5ID0gYnJhbmNoVGVzdFB0cihaZXJvLCByZXR1cm5W
YWx1ZUdQUik7CiAgICAgICAgIGlmICghQVNTRVJUX0RJU0FCTEVEKSB7Ci0gICAgICAgICAgICBK
dW1wIG9rID0gYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpBYm92ZSwgcmVnVDAsIFRydXN0ZWRJ
bW1QdHIoYml0d2lzZV9jYXN0PHZvaWQqPihzdGF0aWNfY2FzdDxpbnRwdHJfdD4oMTAwMCkpKSk7
CisgICAgICAgICAgICBKdW1wIG9rID0gYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpBYm92ZSwg
cmV0dXJuVmFsdWVHUFIsIFRydXN0ZWRJbW1QdHIoYml0d2lzZV9jYXN0PHZvaWQqPihzdGF0aWNf
Y2FzdDxpbnRwdHJfdD4oMTAwMCkpKSk7CiAgICAgICAgICAgICBhYm9ydFdpdGhSZWFzb24oSklU
VW5yZWFzb25hYmxlTG9vcEhpbnRKdW1wVGFyZ2V0KTsKICAgICAgICAgICAgIG9rLmxpbmsodGhp
cyk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2RlczMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMy
XzY0LmNwcAppbmRleCBiMzlhZTFkMWEzMDY4MDM0M2U5ZmQ5YTcyMzE0MjliNmU1NDQxMGE3Li40
Y2RiZTUzMjU2N2UxZDhmMTY5YjU0MDEwY2I2OTQ0MGFmNWY4YjIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCkBAIC0xNDgsNyArMTQ4LDcgQEAg
dm9pZCBKSVQ6OmVtaXRfb3BfbW92KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB2
b2lkIEpJVDo6ZW1pdF9vcF9lbmQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsK
ICAgICBBU1NFUlQocmV0dXJuVmFsdWVHUFIgIT0gY2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgIGVt
aXRMb2FkKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQsIHJlZ1QxLCByZWdUMCk7Cisg
ICAgZW1pdExvYWQoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCwgcmVnVDEsIHJldHVy
blZhbHVlR1BSKTsKICAgICBlbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAgIHJldCgpOwogfQpA
QCAtMTY1LDkgKzE2NSw5IEBAIHZvaWQgSklUOjplbWl0X29wX25ld19vYmplY3QoSW5zdHJ1Y3Rp
b24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0Zp
bmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShzdHJ1Y3R1cmUtPmlubGluZUNhcGFjaXR5KCkpOwog
ICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gJm1fdm0tPmhlYXAuYWxsb2NhdG9yRm9y
T2JqZWN0V2l0aG91dERlc3RydWN0b3IoYWxsb2NhdGlvblNpemUpOwogCi0gICAgUmVnaXN0ZXJJ
RCByZXN1bHRSZWcgPSByZWdUMDsKKyAgICBSZWdpc3RlcklEIHJlc3VsdFJlZyA9IHJldHVyblZh
bHVlR1BSOwogICAgIFJlZ2lzdGVySUQgYWxsb2NhdG9yUmVnID0gcmVnVDE7Ci0gICAgUmVnaXN0
ZXJJRCBzY3JhdGNoUmVnID0gcmVnVDI7CisgICAgUmVnaXN0ZXJJRCBzY3JhdGNoUmVnID0gcmVn
VDM7CiAKICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoYWxsb2NhdG9yKSwgYWxsb2NhdG9yUmVnKTsK
ICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChhbGxvY2F0b3JSZWcsIFRydXN0ZWRJbW1QdHIoc3Ry
dWN0dXJlKSwgcmVzdWx0UmVnLCBzY3JhdGNoUmVnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2Vu
ZXJhdG9yLmNwcAppbmRleCAwNzBiNWNiMjViOTUxMDE0MDMxNWQ0NWJhNTVhZmFiZWZmMzA0MzMy
Li4xODA3MjUxODU3YmY2YWU3NmVhNGU4MWRiNjc2MTgzMzczODE5Y2M2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVy
YXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclByZXNlcnZh
dGlvbldyYXBwZXJHZW5lcmF0b3IuY3BwCkBAIC02NSw2ICs2NSwxMCBAQCBNYWNyb0Fzc2VtYmxl
ckNvZGVSZWYgZ2VuZXJhdGVSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXIoVk0mIHZtLCBFeGVj
dXRhYmxlQmFzZQogICAgIC8vIFdlIHNob3VsZG4ndCBldmVyIGJlIGdlbmVyYXRpbmcgd3JhcHBl
cnMgZm9yIG5hdGl2ZSBmdW5jdGlvbnMuCiAgICAgUmVnaXN0ZXJTZXQgdG9TYXZlID0gcmVnaXN0
ZXJzVG9QcmVzZXJ2ZSgpOwogICAgIHB0cmRpZmZfdCBvZmZzZXQgPSByZWdpc3RlclByZXNlcnZh
dGlvbk9mZnNldCgpOworCisgICAgQVNTRVJUKCF0b1NhdmUuZ2V0KEdQUkluZm86OnJlZ1QxKSk7
CisgICAgQVNTRVJUKCF0b1NhdmUuZ2V0KEdQUkluZm86OnJlZ1QyKSk7CisgICAgQVNTRVJUKCF0
b1NhdmUuZ2V0KEdQUkluZm86OnJlZ1QzKSk7CiAgICAgCiAgICAgQXNzZW1ibHlIZWxwZXJzIGpp
dCgmdm0sIDApOwogICAgIApAQCAtODQsMzEgKzg4LDMwIEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJl
ZiBnZW5lcmF0ZVJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlcihWTSYgdm0sIEV4ZWN1dGFibGVC
YXNlCiAgICAgICAgICAgICBKU1N0YWNrOjpDYWxsRnJhbWVIZWFkZXJTaXplIC0gSlNTdGFjazo6
Q2FsbGVyRnJhbWVBbmRQQ1NpemUpLAogICAgICAgICBHUFJJbmZvOjpyZWdUMik7CiAKLSAgICBB
U1NFUlQoIXRvU2F2ZS5nZXQoR1BSSW5mbzo6cmVnVDQpKTsKLSAgICBqaXQubW92ZShBc3NlbWJs
eUhlbHBlcnM6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBHUFJJbmZvOjpyZWdUNCk7CisgICAgaml0
Lm1vdmUoQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3RlciwgR1BSSW5mbzo6cmVn
VDMpOwogICAgIAogICAgIEFzc2VtYmx5SGVscGVyczo6TGFiZWwgbG9vcCA9IGppdC5sYWJlbCgp
OwogICAgIGppdC5zdWIzMihBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW0zMigxKSwgR1BSSW5m
bzo6cmVnVDIpOwotICAgIGppdC5sb2FkNjQoQXNzZW1ibHlIZWxwZXJzOjpBZGRyZXNzKEdQUklu
Zm86OnJlZ1Q0LCBvZmZzZXQpLCBHUFJJbmZvOjpyZWdUMCk7Ci0gICAgaml0LnN0b3JlNjQoR1BS
SW5mbzo6cmVnVDAsIEdQUkluZm86OnJlZ1Q0KTsKLSAgICBqaXQuYWRkUHRyKEFzc2VtYmx5SGVs
cGVyczo6VHJ1c3RlZEltbTMyKHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpyZWdUNCk7Cisg
ICAgaml0LmxvYWQ2NChBc3NlbWJseUhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6cmVnVDMsIG9m
ZnNldCksIEdQUkluZm86OnJlZ1QwKTsKKyAgICBqaXQuc3RvcmU2NChHUFJJbmZvOjpyZWdUMCwg
R1BSSW5mbzo6cmVnVDMpOworICAgIGppdC5hZGRQdHIoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVk
SW1tMzIoc2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OnJlZ1QzKTsKICAgICBqaXQuYnJhbmNo
VGVzdDMyKEFzc2VtYmx5SGVscGVyczo6Tm9uWmVybywgR1BSSW5mbzo6cmVnVDIpLmxpbmtUbyhs
b29wLCAmaml0KTsKIAotICAgIC8vIEF0IHRoaXMgcG9pbnQgcmVnVDQgKyBvZmZzZXQgcG9pbnRz
IHRvIHdoZXJlIHdlIHNhdmUgdGhpbmdzLgorICAgIC8vIEF0IHRoaXMgcG9pbnQgcmVnVDMgKyBv
ZmZzZXQgcG9pbnRzIHRvIHdoZXJlIHdlIHNhdmUgdGhpbmdzLgogICAgIHB0cmRpZmZfdCBjdXJy
ZW50T2Zmc2V0ID0gMDsKLSAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6cmVnVDEsIEFzc2VtYmx5
SGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUNCwgY3VycmVudE9mZnNldCkpOworICAgIGpp
dC5zdG9yZVB0cihHUFJJbmZvOjpyZWdUMSwgQXNzZW1ibHlIZWxwZXJzOjpBZGRyZXNzKEdQUklu
Zm86OnJlZ1QzLCBjdXJyZW50T2Zmc2V0KSk7CiAgICAgCiAgICAgZm9yIChHUFJSZWcgZ3ByID0g
QXNzZW1ibHlIZWxwZXJzOjpmaXJzdFJlZ2lzdGVyKCk7IGdwciA8PSBBc3NlbWJseUhlbHBlcnM6
Omxhc3RSZWdpc3RlcigpOyBncHIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KGdwciArIDEpKSB7CiAg
ICAgICAgIGlmICghdG9TYXZlLmdldChncHIpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIGN1cnJlbnRPZmZzZXQgKz0gc2l6ZW9mKFJlZ2lzdGVyKTsKLSAgICAgICAgaml0LnN0b3Jl
NjQoZ3ByLCBBc3NlbWJseUhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6cmVnVDQsIGN1cnJlbnRP
ZmZzZXQpKTsKKyAgICAgICAgaml0LnN0b3JlNjQoZ3ByLCBBc3NlbWJseUhlbHBlcnM6OkFkZHJl
c3MoR1BSSW5mbzo6cmVnVDMsIGN1cnJlbnRPZmZzZXQpKTsKICAgICB9CiAgICAgZm9yIChGUFJS
ZWcgZnByID0gQXNzZW1ibHlIZWxwZXJzOjpmaXJzdEZQUmVnaXN0ZXIoKTsgZnByIDw9IEFzc2Vt
Ymx5SGVscGVyczo6bGFzdEZQUmVnaXN0ZXIoKTsgZnByID0gc3RhdGljX2Nhc3Q8RlBSUmVnPihm
cHIgKyAxKSkgewogICAgICAgICBpZiAoIXRvU2F2ZS5nZXQoZnByKSkKICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICBjdXJyZW50T2Zmc2V0ICs9IHNpemVvZihSZWdpc3Rlcik7Ci0gICAg
ICAgIGppdC5zdG9yZURvdWJsZShmcHIsIEFzc2VtYmx5SGVscGVyczo6QWRkcmVzcyhHUFJJbmZv
OjpyZWdUNCwgY3VycmVudE9mZnNldCkpOworICAgICAgICBqaXQuc3RvcmVEb3VibGUoZnByLCBB
c3NlbWJseUhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6cmVnVDMsIGN1cnJlbnRPZmZzZXQpKTsK
ICAgICB9CiAgICAgCiAgICAgLy8gQXNzdW1lIHRoYXQgdGhlcmUgYXJlbid0IGFueSBzYXZlZCBG
UCByZWdpc3RlcnMuCkBAIC0xNTEsNyArMTU0LDkgQEAgc3RhdGljIHZvaWQgZ2VuZXJhdGVSZWdp
c3RlclJlc3RvcmF0aW9uKEFzc2VtYmx5SGVscGVycyYgaml0KQogICAgIFJlZ2lzdGVyU2V0IHRv
U2F2ZSA9IHJlZ2lzdGVyc1RvUHJlc2VydmUoKTsKICAgICBwdHJkaWZmX3Qgb2Zmc2V0ID0gcmVn
aXN0ZXJQcmVzZXJ2YXRpb25PZmZzZXQoKTsKICAgICAKLSAgICBBU1NFUlQoIXRvU2F2ZS5nZXQo
R1BSSW5mbzo6cmVnVDQpKTsKKyAgICBBU1NFUlQoIXRvU2F2ZS5nZXQoR1BSSW5mbzo6cmVnVDEp
KTsKKyAgICBBU1NFUlQoIXRvU2F2ZS5nZXQoR1BSSW5mbzo6cmVnVDIpKTsKKyAgICBBU1NFUlQo
IXRvU2F2ZS5nZXQoR1BSSW5mbzo6cmVnVDMpKTsKIAogICAgIC8vIFdlIG5lZWQgdG8gcGxhY2Ug
dGhlIHN0YWNrIHBvaW50ZXIgYmFjayB0byB3aGVyZSB0aGUgY2FsbGVyIHRob3VnaHQgdGhleSBs
ZWZ0IGl0LgogICAgIC8vIEJ1dCBhbHNvLCBpbiBvcmRlciB0byByZWNvdmVyIHRoZSByZWdpc3Rl
cnMsIHdlIG5lZWQgdG8gZmlndXJlIG91dCBob3cgYmlnIHRoZQpAQCAtMTYxLDkgKzE2Niw5IEBA
IHN0YXRpYyB2b2lkIGdlbmVyYXRlUmVnaXN0ZXJSZXN0b3JhdGlvbihBc3NlbWJseUhlbHBlcnMm
IGppdCkKICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpBZGRyZXNzKAogICAgICAgICAgICAgQXNz
ZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3RlciwKICAgICAgICAgICAgIChKU1N0YWNr
OjpBcmd1bWVudENvdW50IC0gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUpICogc2l6ZW9m
KFJlZ2lzdGVyKSArIFBheWxvYWRPZmZzZXQpLAotICAgICAgICBHUFJJbmZvOjpyZWdUNCk7Cisg
ICAgICAgIEdQUkluZm86OnJlZ1QzKTsKICAgICAKLSAgICBqaXQubW92ZShHUFJJbmZvOjpyZWdU
NCwgR1BSSW5mbzo6cmVnVDIpOworICAgIGppdC5tb3ZlKEdQUkluZm86OnJlZ1QzLCBHUFJJbmZv
OjpyZWdUMik7CiAgICAgaml0LmxzaGlmdDMyKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMy
KDMpLCBHUFJJbmZvOjpyZWdUMik7CiAgICAgCiAgICAgaml0LmFkZFB0cihBc3NlbWJseUhlbHBl
cnM6OlRydXN0ZWRJbW0zMihvZmZzZXQpLCBBc3NlbWJseUhlbHBlcnM6OnN0YWNrUG9pbnRlclJl
Z2lzdGVyKTsKQEAgLTIwMyw3ICsyMDgsNyBAQCBzdGF0aWMgdm9pZCBnZW5lcmF0ZVJlZ2lzdGVy
UmVzdG9yYXRpb24oQXNzZW1ibHlIZWxwZXJzJiBqaXQpCiAgICAgCiAgICAgLy8gVGh1bmtzIGxp
a2UgdGhpcyByZWx5IG9uIHRoZSBBcmd1bWVudENvdW50IGJlaW5nIGludGFjdC4gUGF5IGl0IGZv
cndhcmQuCiAgICAgaml0LnN0b3JlMzIoCi0gICAgICAgIEdQUkluZm86OnJlZ1Q0LAorICAgICAg
ICBHUFJJbmZvOjpyZWdUMywKICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpBZGRyZXNzKAogICAg
ICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3RlciwKICAgICAgICAg
ICAgIChKU1N0YWNrOjpBcmd1bWVudENvdW50IC0gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1Np
emUpICogc2l6ZW9mKFJlZ2lzdGVyKSArIFBheWxvYWRPZmZzZXQpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAppbmRleCAzNGM2NTA0ZGQxMjkwMzlj
M2RjNzM0YmRmZDBiZGEyYTVkNmU1MjM3Li41MDViZTMzNmJkODNmNTAzMDg4NDJlMzEyMmM1MmM0
OWZhZGIwYTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2Vu
ZXJhdG9ycy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRv
cnMuY3BwCkBAIC0yNTUsOCArMjU1LDYgQEAgc3RhdGljIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBu
YXRpdmVGb3JHZW5lcmF0b3IoVk0qIHZtLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGsKICNlbmRp
ZgogCiAjZWxpZiBDUFUoQVJNNjQpCi0gICAgQ09NUElMRV9BU1NFUlQoQVJNNjRSZWdpc3RlcnM6
OngzICE9IEpTSW50ZXJmYWNlSklUOjpyZWdUMSwgcHJldl9jYWxsZnJhbWVfbm90X3RyYW1wbGVk
X2J5X1QxKTsKLSAgICBDT01QSUxFX0FTU0VSVChBUk02NFJlZ2lzdGVyczo6eDMgIT0gSlNJbnRl
cmZhY2VKSVQ6OnJlZ1QzLCBwcmV2X2NhbGxmcmFtZV9ub3RfdHJhbXBsZWRfYnlfVDMpOwogICAg
IENPTVBJTEVfQVNTRVJUKEFSTTY0UmVnaXN0ZXJzOjp4MCAhPSBKU0ludGVyZmFjZUpJVDo6cmVn
VDMsIFQzX25vdF90cmFtcGxlZF9ieV9hcmdfMCk7CiAgICAgQ09NUElMRV9BU1NFUlQoQVJNNjRS
ZWdpc3RlcnM6OngxICE9IEpTSW50ZXJmYWNlSklUOjpyZWdUMywgVDNfbm90X3RyYW1wbGVkX2J5
X2FyZ18xKTsKICAgICBDT01QSUxFX0FTU0VSVChBUk02NFJlZ2lzdGVyczo6eDIgIT0gSlNJbnRl
cmZhY2VKSVQ6OnJlZ1QzLCBUM19ub3RfdHJhbXBsZWRfYnlfYXJnXzIpOwpAQCAtMzU1LDQ2ICsz
NTMsNTEgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGFyaXR5Rml4dXBHZW5lcmF0b3IoVk0qIHZt
KQogewogICAgIEpTSW50ZXJmYWNlSklUIGppdCh2bSk7CiAKLSAgICAvLyBXZSBlbnRlciB3aXRo
IGZpeHVwIGNvdW50LCBpbiBhbGlnbmVkIHN0YWNrIHVuaXRzLCBpbiByZWdUMCBhbmQgdGhlIHJl
dHVybiB0aHVuayBpbgotICAgIC8vIHJlZ1Q1IG9uIDMyLWJpdCBhbmQgcmVnVDcgb24gNjQtYml0
LgorICAgIC8vIFdlIGVudGVyIHdpdGggZml4dXAgY291bnQsIGluIGFsaWduZWQgc3RhY2sgdW5p
dHMsIGluIGFyZ3VtZW50R1BSMCBhbmQgdGhlIHJldHVybiB0aHVuayBpbiBhcmd1bWVudEdQUjEK
KyAgICAvLyBXZSBoYXZlIHRoZSBndWFyYW50ZWUgdGhhdCBhMCwgYTEsIGEyLCB0MywgdDQgYW5k
IHQ1IChvciB0MCBmb3IgV2luZG93cykgYXJlIGFsbCBkaXN0aW5jdCA6LSkKICNpZiBVU0UoSlNW
QUxVRTY0KQorI2lmIE9TKFdJTkRPV1MpCisgICAgY29uc3QgR1BSUmVnIGV4dHJhVGVtcCA9IEpT
SW50ZXJmYWNlSklUOjpyZWdUMDsKKyNlbHNlCisgICAgY29uc3QgR1BSUmVnIGV4dHJhVGVtcCA9
IEpTSW50ZXJmYWNlSklUOjpyZWdUNTsKKyNlbmRpZgogIyAgaWYgQ1BVKFg4Nl82NCkKICAgICBq
aXQucG9wKEpTSW50ZXJmYWNlSklUOjpyZWdUNCk7CiAjICBlbmRpZgotICAgIGppdC5sc2hpZnQz
MihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKGxvZ1N0YWNrQWxpZ25tZW50UmVnaXN0ZXJz
KCkpLCBKU0ludGVyZmFjZUpJVDo6cmVnVDApOwotICAgIGppdC5uZWc2NChKU0ludGVyZmFjZUpJ
VDo6cmVnVDApOwotICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3Rl
ciwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1Q2KTsKLSAgICBqaXQubG9hZDMyKEpTSW50ZXJmYWNlSklU
OjpBZGRyZXNzKEpTSW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3RlciwgSlNTdGFjazo6QXJn
dW1lbnRDb3VudCAqIHNpemVvZihSZWdpc3RlcikpLCBKU0ludGVyZmFjZUpJVDo6cmVnVDIpOwot
ICAgIGppdC5hZGQzMihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKEpTU3RhY2s6OkNhbGxG
cmFtZUhlYWRlclNpemUpLCBKU0ludGVyZmFjZUpJVDo6cmVnVDIpOworICAgIGppdC5sc2hpZnQz
MihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKGxvZ1N0YWNrQWxpZ25tZW50UmVnaXN0ZXJz
KCkpLCBKU0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIwKTsKKyAgICBqaXQubmVnNjQoSlNJbnRl
cmZhY2VKSVQ6OmFyZ3VtZW50R1BSMCk7CisgICAgaml0Lm1vdmUoSlNJbnRlcmZhY2VKSVQ6OmNh
bGxGcmFtZVJlZ2lzdGVyLCBKU0ludGVyZmFjZUpJVDo6cmVnVDMpOworICAgIGppdC5sb2FkMzIo
SlNJbnRlcmZhY2VKSVQ6OkFkZHJlc3MoSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVy
LCBKU1N0YWNrOjpBcmd1bWVudENvdW50ICogc2l6ZW9mKFJlZ2lzdGVyKSksIEpTSW50ZXJmYWNl
SklUOjphcmd1bWVudEdQUjIpOworICAgIGppdC5hZGQzMihKU0ludGVyZmFjZUpJVDo6VHJ1c3Rl
ZEltbTMyKEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUpLCBKU0ludGVyZmFjZUpJVDo6YXJn
dW1lbnRHUFIyKTsKIAotICAgIC8vIE1vdmUgY3VycmVudCBmcmFtZSBkb3duIHJlZ1QwIG51bWJl
ciBvZiBzbG90cworICAgIC8vIE1vdmUgY3VycmVudCBmcmFtZSBkb3duIGFyZ3VtZW50R1BSMCBu
dW1iZXIgb2Ygc2xvdHMKICAgICBKU0ludGVyZmFjZUpJVDo6TGFiZWwgY29weUxvb3Aoaml0Lmxh
YmVsKCkpOwotICAgIGppdC5sb2FkNjQoSlNJbnRlcmZhY2VKSVQ6OnJlZ1Q2LCBKU0ludGVyZmFj
ZUpJVDo6cmVnVDEpOwotICAgIGppdC5zdG9yZTY0KEpTSW50ZXJmYWNlSklUOjpyZWdUMSwgTWFj
cm9Bc3NlbWJsZXI6OkJhc2VJbmRleChKU0ludGVyZmFjZUpJVDo6cmVnVDYsIEpTSW50ZXJmYWNl
SklUOjpyZWdUMCwgSlNJbnRlcmZhY2VKSVQ6OlRpbWVzRWlnaHQpKTsKLSAgICBqaXQuYWRkUHRy
KEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoOCksIEpTSW50ZXJmYWNlSklUOjpyZWdUNik7
Ci0gICAgaml0LmJyYW5jaFN1YjMyKE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBKU0ludGVyZmFj
ZUpJVDo6VHJ1c3RlZEltbTMyKDEpLCBKU0ludGVyZmFjZUpJVDo6cmVnVDIpLmxpbmtUbyhjb3B5
TG9vcCwgJmppdCk7Ci0KLSAgICAvLyBGaWxsIGluIHJlZ1QwIC0gMSBtaXNzaW5nIGFyZyBzbG90
cyB3aXRoIHVuZGVmaW5lZAotICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpyZWdUMCwgSlNJ
bnRlcmZhY2VKSVQ6OnJlZ1QyKTsKLSAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6VHJ1c3Rl
ZEltbTY0KFZhbHVlVW5kZWZpbmVkKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKLSAgICBqaXQu
YWRkMzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigxKSwgSlNJbnRlcmZhY2VKSVQ6OnJl
Z1QyKTsKKyAgICBqaXQubG9hZDY0KEpTSW50ZXJmYWNlSklUOjpyZWdUMywgZXh0cmFUZW1wKTsK
KyAgICBqaXQuc3RvcmU2NChleHRyYVRlbXAsIE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoSlNJ
bnRlcmZhY2VKSVQ6OnJlZ1QzLCBKU0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIwLCBKU0ludGVy
ZmFjZUpJVDo6VGltZXNFaWdodCkpOworICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OlRy
dXN0ZWRJbW0zMig4KSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QzKTsKKyAgICBqaXQuYnJhbmNoU3Vi
MzIoTWFjcm9Bc3NlbWJsZXI6Ok5vblplcm8sIEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIo
MSksIEpTSW50ZXJmYWNlSklUOjphcmd1bWVudEdQUjIpLmxpbmtUbyhjb3B5TG9vcCwgJmppdCk7
CisKKyAgICAvLyBGaWxsIGluIGFyZ3VtZW50R1BSMCAtIDEgbWlzc2luZyBhcmcgc2xvdHMgd2l0
aCB1bmRlZmluZWQKKyAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIwLCBK
U0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIyKTsKKyAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJ
VDo6VHJ1c3RlZEltbTY0KFZhbHVlVW5kZWZpbmVkKSwgZXh0cmFUZW1wKTsKKyAgICBqaXQuYWRk
MzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigxKSwgSlNJbnRlcmZhY2VKSVQ6OmFyZ3Vt
ZW50R1BSMik7CiAgICAgSlNJbnRlcmZhY2VKSVQ6OkxhYmVsIGZpbGxVbmRlZmluZWRMb29wKGpp
dC5sYWJlbCgpKTsKLSAgICBqaXQuc3RvcmU2NChKU0ludGVyZmFjZUpJVDo6cmVnVDEsIE1hY3Jv
QXNzZW1ibGVyOjpCYXNlSW5kZXgoSlNJbnRlcmZhY2VKSVQ6OnJlZ1Q2LCBKU0ludGVyZmFjZUpJ
VDo6cmVnVDAsIEpTSW50ZXJmYWNlSklUOjpUaW1lc0VpZ2h0KSk7Ci0gICAgaml0LmFkZFB0cihK
U0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKDgpLCBKU0ludGVyZmFjZUpJVDo6cmVnVDYpOwot
ICAgIGppdC5icmFuY2hBZGQzMihNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywgSlNJbnRlcmZhY2VK
SVQ6OlRydXN0ZWRJbW0zMigxKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKS5saW5rVG8oZmlsbFVu
ZGVmaW5lZExvb3AsICZqaXQpOworICAgIGppdC5zdG9yZTY0KGV4dHJhVGVtcCwgTWFjcm9Bc3Nl
bWJsZXI6OkJhc2VJbmRleChKU0ludGVyZmFjZUpJVDo6cmVnVDMsIEpTSW50ZXJmYWNlSklUOjph
cmd1bWVudEdQUjAsIEpTSW50ZXJmYWNlSklUOjpUaW1lc0VpZ2h0KSk7CisgICAgaml0LmFkZFB0
cihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKDgpLCBKU0ludGVyZmFjZUpJVDo6cmVnVDMp
OworICAgIGppdC5icmFuY2hBZGQzMihNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywgSlNJbnRlcmZh
Y2VKSVQ6OlRydXN0ZWRJbW0zMigxKSwgSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50R1BSMikubGlu
a1RvKGZpbGxVbmRlZmluZWRMb29wLCAmaml0KTsKICAgICAKICAgICAvLyBBZGp1c3QgY2FsbCBm
cmFtZSByZWdpc3RlciBhbmQgc3RhY2sgcG9pbnRlciB0byBhY2NvdW50IGZvciBtaXNzaW5nIGFy
Z3MKLSAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6cmVnVDAsIEpTSW50ZXJmYWNlSklUOjpy
ZWdUMSk7Ci0gICAgaml0LmxzaGlmdDY0KEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMyks
IEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7Ci0gICAgaml0LmFkZFB0cihKU0ludGVyZmFjZUpJVDo6
cmVnVDEsIEpTSW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3Rlcik7Ci0gICAgaml0LmFkZFB0
cihKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpTSW50ZXJmYWNlSklUOjpzdGFja1BvaW50ZXJSZWdp
c3Rlcik7CisgICAgaml0Lm1vdmUoSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50R1BSMCwgZXh0cmFU
ZW1wKTsKKyAgICBqaXQubHNoaWZ0NjQoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigzKSwg
ZXh0cmFUZW1wKTsKKyAgICBqaXQuYWRkUHRyKGV4dHJhVGVtcCwgSlNJbnRlcmZhY2VKSVQ6OmNh
bGxGcmFtZVJlZ2lzdGVyKTsKKyAgICBqaXQuYWRkUHRyKGV4dHJhVGVtcCwgSlNJbnRlcmZhY2VK
SVQ6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKIAogICAgIC8vIFNhdmUgdGhlIG9yaWdpbmFsIHJl
dHVybiBQQy4KLSAgICBqaXQubG9hZFB0cihKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVy
ZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSks
IEdQUkluZm86OnJlZ1QxKTsKLSAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6cmVnVDEsIE1hY3Jv
QXNzZW1ibGVyOjpCYXNlSW5kZXgoSlNJbnRlcmZhY2VKSVQ6OnJlZ1Q2LCBKU0ludGVyZmFjZUpJ
VDo6cmVnVDAsIEpTSW50ZXJmYWNlSklUOjpUaW1lc0VpZ2h0KSk7CisgICAgaml0LmxvYWRQdHIo
SlNJbnRlcmZhY2VKSVQ6OkFkZHJlc3MoSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVy
LCBDYWxsRnJhbWU6OnJldHVyblBDT2Zmc2V0KCkpLCBHUFJJbmZvOjpyZWdUNSk7CisgICAgaml0
LnN0b3JlUHRyKEdQUkluZm86OnJlZ1Q1LCBNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KEpTSW50
ZXJmYWNlSklUOjpyZWdUMywgSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50R1BSMCwgSlNJbnRlcmZh
Y2VKSVQ6OlRpbWVzRWlnaHQpKTsKICAgICAKICAgICAvLyBJbnN0YWxsIHRoZSBuZXcgcmV0dXJu
IFBDLgotICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjpyZWdUNywgSlNJbnRlcmZhY2VKSVQ6OkFk
ZHJlc3MoSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJhbWU6OnJldHVy
blBDT2Zmc2V0KCkpKTsKKyAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBK
U0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0ZXIs
IENhbGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSkpOwogCiAjICBpZiBDUFUoWDg2XzY0KQogICAg
IGppdC5wdXNoKEpTSW50ZXJmYWNlSklUOjpyZWdUNCk7CkBAIC00MDQsNDUgKzQwNyw0NSBAQCBN
YWNyb0Fzc2VtYmxlckNvZGVSZWYgYXJpdHlGaXh1cEdlbmVyYXRvcihWTSogdm0pCiAjICBpZiBD
UFUoWDg2KQogICAgIGppdC5wb3AoSlNJbnRlcmZhY2VKSVQ6OnJlZ1Q0KTsKICMgIGVuZGlmCi0g
ICAgaml0LmxzaGlmdDMyKEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIobG9nU3RhY2tBbGln
bm1lbnRSZWdpc3RlcnMoKSksIEpTSW50ZXJmYWNlSklUOjpyZWdUMCk7Ci0gICAgaml0Lm5lZzMy
KEpTSW50ZXJmYWNlSklUOjpyZWdUMCk7CisgICAgaml0LmxzaGlmdDMyKEpTSW50ZXJmYWNlSklU
OjpUcnVzdGVkSW1tMzIobG9nU3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSksIEpTSW50ZXJmYWNl
SklUOjphcmd1bWVudEdQUjApOworICAgIGppdC5uZWczMihKU0ludGVyZmFjZUpJVDo6YXJndW1l
bnRHUFIwKTsKICAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0ZXIs
IEpTSW50ZXJmYWNlSklUOjpyZWdUMyk7Ci0gICAgaml0LmxvYWQzMihKU0ludGVyZmFjZUpJVDo6
QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0ZXIsIEpTU3RhY2s6OkFyZ3Vt
ZW50Q291bnQgKiBzaXplb2YoUmVnaXN0ZXIpKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKLSAg
ICBqaXQuYWRkMzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMihKU1N0YWNrOjpDYWxsRnJh
bWVIZWFkZXJTaXplKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKKyAgICBqaXQubG9hZDMyKEpT
SW50ZXJmYWNlSklUOjpBZGRyZXNzKEpTSW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3Rlciwg
SlNTdGFjazo6QXJndW1lbnRDb3VudCAqIHNpemVvZihSZWdpc3RlcikpLCBKU0ludGVyZmFjZUpJ
VDo6YXJndW1lbnRHUFIyKTsKKyAgICBqaXQuYWRkMzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJ
bW0zMihKU1N0YWNrOjpDYWxsRnJhbWVIZWFkZXJTaXplKSwgSlNJbnRlcmZhY2VKSVQ6OmFyZ3Vt
ZW50R1BSMik7CiAKLSAgICAvLyBNb3ZlIGN1cnJlbnQgZnJhbWUgZG93biByZWdUMCBudW1iZXIg
b2Ygc2xvdHMKKyAgICAvLyBNb3ZlIGN1cnJlbnQgZnJhbWUgZG93biBhcmd1bWVudEdQUjAgbnVt
YmVyIG9mIHNsb3RzCiAgICAgSlNJbnRlcmZhY2VKSVQ6OkxhYmVsIGNvcHlMb29wKGppdC5sYWJl
bCgpKTsKLSAgICBqaXQubG9hZDMyKEpTSW50ZXJmYWNlSklUOjpyZWdUMywgSlNJbnRlcmZhY2VK
SVQ6OnJlZ1QxKTsKLSAgICBqaXQuc3RvcmUzMihKU0ludGVyZmFjZUpJVDo6cmVnVDEsIE1hY3Jv
QXNzZW1ibGVyOjpCYXNlSW5kZXgoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QzLCBKU0ludGVyZmFjZUpJ
VDo6cmVnVDAsIEpTSW50ZXJmYWNlSklUOjpUaW1lc0VpZ2h0KSk7Ci0gICAgaml0LmxvYWQzMihN
YWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6cmVnVDMsIDQpLCBKU0ludGVy
ZmFjZUpJVDo6cmVnVDEpOwotICAgIGppdC5zdG9yZTMyKEpTSW50ZXJmYWNlSklUOjpyZWdUMSwg
TWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChKU0ludGVyZmFjZUpJVDo6cmVnVDMsIEpTSW50ZXJm
YWNlSklUOjpyZWdUMCwgSlNJbnRlcmZhY2VKSVQ6OlRpbWVzRWlnaHQsIDQpKTsKKyAgICBqaXQu
bG9hZDMyKEpTSW50ZXJmYWNlSklUOjpyZWdUMywgSlNJbnRlcmZhY2VKSVQ6OnJlZ1Q1KTsKKyAg
ICBqaXQuc3RvcmUzMihKU0ludGVyZmFjZUpJVDo6cmVnVDUsIE1hY3JvQXNzZW1ibGVyOjpCYXNl
SW5kZXgoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QzLCBKU0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIw
LCBKU0ludGVyZmFjZUpJVDo6VGltZXNFaWdodCkpOworICAgIGppdC5sb2FkMzIoTWFjcm9Bc3Nl
bWJsZXI6OkFkZHJlc3MoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QzLCA0KSwgSlNJbnRlcmZhY2VKSVQ6
OnJlZ1Q1KTsKKyAgICBqaXQuc3RvcmUzMihKU0ludGVyZmFjZUpJVDo6cmVnVDUsIE1hY3JvQXNz
ZW1ibGVyOjpCYXNlSW5kZXgoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QzLCBKU0ludGVyZmFjZUpJVDo6
YXJndW1lbnRHUFIwLCBKU0ludGVyZmFjZUpJVDo6VGltZXNFaWdodCwgNCkpOwogICAgIGppdC5h
ZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMig4KSwgSlNJbnRlcmZhY2VKSVQ6OnJl
Z1QzKTsKLSAgICBqaXQuYnJhbmNoU3ViMzIoTWFjcm9Bc3NlbWJsZXI6Ok5vblplcm8sIEpTSW50
ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMSksIEpTSW50ZXJmYWNlSklUOjpyZWdUMikubGlua1Rv
KGNvcHlMb29wLCAmaml0KTsKKyAgICBqaXQuYnJhbmNoU3ViMzIoTWFjcm9Bc3NlbWJsZXI6Ok5v
blplcm8sIEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMSksIEpTSW50ZXJmYWNlSklUOjph
cmd1bWVudEdQUjIpLmxpbmtUbyhjb3B5TG9vcCwgJmppdCk7CiAKLSAgICAvLyBGaWxsIGluIHJl
Z1QwIC0gMSBtaXNzaW5nIGFyZyBzbG90cyB3aXRoIHVuZGVmaW5lZAotICAgIGppdC5tb3ZlKEpT
SW50ZXJmYWNlSklUOjpyZWdUMCwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKLSAgICBqaXQuYWRk
MzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigxKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1Qy
KTsKKyAgICAvLyBGaWxsIGluIGFyZ3VtZW50R1BSMCAtIDEgbWlzc2luZyBhcmcgc2xvdHMgd2l0
aCB1bmRlZmluZWQKKyAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIwLCBK
U0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIyKTsKKyAgICBqaXQuYWRkMzIoSlNJbnRlcmZhY2VK
SVQ6OlRydXN0ZWRJbW0zMigxKSwgSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50R1BSMik7CiAgICAg
SlNJbnRlcmZhY2VKSVQ6OkxhYmVsIGZpbGxVbmRlZmluZWRMb29wKGppdC5sYWJlbCgpKTsKLSAg
ICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKDApLCBKU0ludGVyZmFjZUpJ
VDo6cmVnVDEpOwotICAgIGppdC5zdG9yZTMyKEpTSW50ZXJmYWNlSklUOjpyZWdUMSwgTWFjcm9B
c3NlbWJsZXI6OkJhc2VJbmRleChKU0ludGVyZmFjZUpJVDo6cmVnVDMsIEpTSW50ZXJmYWNlSklU
OjpyZWdUMCwgSlNJbnRlcmZhY2VKSVQ6OlRpbWVzRWlnaHQpKTsKLSAgICBqaXQubW92ZShKU0lu
dGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZyksIEpTSW50ZXJm
YWNlSklUOjpyZWdUMSk7Ci0gICAgaml0LnN0b3JlMzIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxLCBN
YWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KEpTSW50ZXJmYWNlSklUOjpyZWdUMywgSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QwLCBKU0ludGVyZmFjZUpJVDo6VGltZXNFaWdodCwgNCkpOworICAgIGppdC5t
b3ZlKEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMCksIEpTSW50ZXJmYWNlSklUOjpyZWdU
NSk7CisgICAgaml0LnN0b3JlMzIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1Q1LCBNYWNyb0Fzc2VtYmxl
cjo6QmFzZUluZGV4KEpTSW50ZXJmYWNlSklUOjpyZWdUMywgSlNJbnRlcmZhY2VKSVQ6OmFyZ3Vt
ZW50R1BSMCwgSlNJbnRlcmZhY2VKSVQ6OlRpbWVzRWlnaHQpKTsKKyAgICBqaXQubW92ZShKU0lu
dGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZyksIEpTSW50ZXJm
YWNlSklUOjpyZWdUNSk7CisgICAgaml0LnN0b3JlMzIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1Q1LCBN
YWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KEpTSW50ZXJmYWNlSklUOjpyZWdUMywgSlNJbnRlcmZh
Y2VKSVQ6OmFyZ3VtZW50R1BSMCwgSlNJbnRlcmZhY2VKSVQ6OlRpbWVzRWlnaHQsIDQpKTsKIAog
ICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMig4KSwgSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QzKTsKLSAgICBqaXQuYnJhbmNoQWRkMzIoTWFjcm9Bc3NlbWJsZXI6Ok5vblpl
cm8sIEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMSksIEpTSW50ZXJmYWNlSklUOjpyZWdU
MikubGlua1RvKGZpbGxVbmRlZmluZWRMb29wLCAmaml0KTsKKyAgICBqaXQuYnJhbmNoQWRkMzIo
TWFjcm9Bc3NlbWJsZXI6Ok5vblplcm8sIEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMSks
IEpTSW50ZXJmYWNlSklUOjphcmd1bWVudEdQUjIpLmxpbmtUbyhmaWxsVW5kZWZpbmVkTG9vcCwg
JmppdCk7CiAKICAgICAvLyBBZGp1c3QgY2FsbCBmcmFtZSByZWdpc3RlciBhbmQgc3RhY2sgcG9p
bnRlciB0byBhY2NvdW50IGZvciBtaXNzaW5nIGFyZ3MKLSAgICBqaXQubW92ZShKU0ludGVyZmFj
ZUpJVDo6cmVnVDAsIEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7Ci0gICAgaml0LmxzaGlmdDMyKEpT
SW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMyksIEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7Ci0g
ICAgaml0LmFkZFB0cihKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpTSW50ZXJmYWNlSklUOjpjYWxs
RnJhbWVSZWdpc3Rlcik7Ci0gICAgaml0LmFkZFB0cihKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpT
SW50ZXJmYWNlSklUOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgaml0Lm1vdmUoSlNJbnRl
cmZhY2VKSVQ6OmFyZ3VtZW50R1BSMCwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1Q1KTsKKyAgICBqaXQu
bHNoaWZ0MzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigzKSwgSlNJbnRlcmZhY2VKSVQ6
OnJlZ1Q1KTsKKyAgICBqaXQuYWRkUHRyKEpTSW50ZXJmYWNlSklUOjpyZWdUNSwgSlNJbnRlcmZh
Y2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAgICBqaXQuYWRkUHRyKEpTSW50ZXJmYWNlSklU
OjpyZWdUNSwgSlNJbnRlcmZhY2VKSVQ6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKIAogICAgIC8v
IFNhdmUgdGhlIG9yaWdpbmFsIHJldHVybiBQQy4KLSAgICBqaXQubG9hZFB0cihKU0ludGVyZmFj
ZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENhbGxGcmFt
ZTo6cmV0dXJuUENPZmZzZXQoKSksIEdQUkluZm86OnJlZ1QxKTsKLSAgICBqaXQuc3RvcmVQdHIo
R1BSSW5mbzo6cmVnVDEsIE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoSlNJbnRlcmZhY2VKSVQ6
OnJlZ1QzLCBKU0ludGVyZmFjZUpJVDo6cmVnVDAsIEpTSW50ZXJmYWNlSklUOjpUaW1lc0VpZ2h0
KSk7CisgICAgaml0LmxvYWRQdHIoSlNJbnRlcmZhY2VKSVQ6OkFkZHJlc3MoSlNJbnRlcmZhY2VK
SVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJhbWU6OnJldHVyblBDT2Zmc2V0KCkpLCBHUFJJ
bmZvOjpyZWdUNSk7CisgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OnJlZ1Q1LCBNYWNyb0Fzc2Vt
Ymxlcjo6QmFzZUluZGV4KEpTSW50ZXJmYWNlSklUOjpyZWdUMywgSlNJbnRlcmZhY2VKSVQ6OmFy
Z3VtZW50R1BSMCwgSlNJbnRlcmZhY2VKSVQ6OlRpbWVzRWlnaHQpKTsKICAgICAKICAgICAvLyBJ
bnN0YWxsIHRoZSBuZXcgcmV0dXJuIFBDLgotICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjpyZWdU
NSwgSlNJbnRlcmZhY2VKSVQ6OkFkZHJlc3MoSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lz
dGVyLCBDYWxsRnJhbWU6OnJldHVyblBDT2Zmc2V0KCkpKTsKKyAgICBqaXQuc3RvcmVQdHIoR1BS
SW5mbzo6YXJndW1lbnRHUFIxLCBKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJ
VDo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSkpOwogICAg
IAogIyAgaWYgQ1BVKFg4NikKICAgICBqaXQucHVzaChKU0ludGVyZmFjZUpJVDo6cmVnVDQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtCmluZGV4IDEzNmM5MTY2MWYyMmQyZDgwOTNjMTk4YzljNWJkNjY0NDM4ZjU0OTYuLmE3Mjcz
MDhhM2Q5Nzk5ODhjMTJmOTExZmVhY2M2NzZkYmRhN2U3MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KQEAgLTIxLDYgKzIx
LDEyNiBAQAogIyBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCiAjIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KIAorIyBDcmFzaCBjb3Vyc2Ugb24gdGhlIGxhbmd1YWdlIHRoYXQgdGhpcyBpcyB3cml0dGVu
IGluICh3aGljaCBJIGp1c3QgY2FsbAorIyAiYXNzZW1ibHkiIGV2ZW4gdGhvdWdoIGl0J3MgbW9y
ZSB0aGFuIHRoYXQpOgorIworIyAtIE1vc3RseSBnYXMtc3R5bGUgb3BlcmFuZCBvcmRlcmluZy4g
VGhlIGxhc3Qgb3BlcmFuZCB0ZW5kcyB0byBiZSB0aGUKKyMgICBkZXN0aW5hdGlvbi4gU28gImEg
Oj0gYiIgaXMgd3JpdHRlbiBhcyAibW92IGIsIGEiLiBCdXQgdW5saWtlIGdhcywKKyMgICBjb21w
YXJpc29ucyBhcmUgaW4tb3JkZXIsIHNvICJpZiAoYSA8IGIpIiBpcyB3cml0dGVuIGFzCisjICAg
ImJpbHQgYSwgYiwgLi4uIi4KKyMKKyMgLSAiYiIgPSBieXRlLCAiaCIgPSAxNi1iaXQgd29yZCwg
ImkiID0gMzItYml0IHdvcmQsICJwIiA9IHBvaW50ZXIuCisjICAgRm9yIDMyLWJpdCwgImkiIGFu
ZCAicCIgYXJlIGludGVyY2hhbmdlYWJsZSBleGNlcHQgd2hlbiBhbiBvcCBzdXBwb3J0cyBvbmUK
KyMgICBidXQgbm90IHRoZSBvdGhlci4KKyMKKyMgLSBJbiBnZW5lcmFsLCB2YWxpZCBvcGVyYW5k
cyBmb3IgbWFjcm8gaW52b2NhdGlvbnMgYW5kIGluc3RydWN0aW9ucyBhcmUKKyMgICByZWdpc3Rl
cnMgKGVnICJ0MCIpLCBhZGRyZXNzZXMgKGVnICI0W3QwXSIpLCBiYXNlLWluZGV4IGFkZHJlc3Nl
cworIyAgIChlZyAiN1t0MCwgdDEsIDJdIiksIGFic29sdXRlIGFkZHJlc3NlcyAoZWcgIjB4YTAw
MDAwMDBbXSIpLCBvciBsYWJlbHMKKyMgICAoZWcgIl9mb28iIG9yICIuZm9vIikuIE1hY3JvIGlu
dm9jYXRpb25zIGNhbiBhbHNvIHRha2UgYW5vbnltb3VzCisjICAgbWFjcm9zIGFzIG9wZXJhbmRz
LiBJbnN0cnVjdGlvbnMgY2Fubm90IHRha2UgYW5vbnltb3VzIG1hY3Jvcy4KKyMKKyMgLSBMYWJl
bHMgbXVzdCBoYXZlIG5hbWVzIHRoYXQgYmVnaW4gd2l0aCBlaXRoZXIgIl8iIG9yICIuIi4gIEEg
Ii4iIGxhYmVsCisjICAgaXMgbG9jYWwgYW5kIGdldHMgcmVuYW1lZCBiZWZvcmUgY29kZSBnZW4g
dG8gbWluaW1pemUgbmFtZXNwYWNlCisjICAgcG9sbHV0aW9uLiBBICJfIiBsYWJlbCBpcyBhbiBl
eHRlcm4gc3ltYm9sIChpLmUuICIuZ2xvYmwiKS4gVGhlICJfIgorIyAgIG1heSBvciBtYXkgbm90
IGJlIHJlbW92ZWQgZHVyaW5nIGNvZGUgZ2VuIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBhc20K
KyMgICBjb252ZW50aW9ucyBmb3IgQyBuYW1lIG1hbmdsaW5nIG9uIHRoZSB0YXJnZXQgcGxhdGZv
cm0gbWFuZGF0ZSBhICJfIgorIyAgIHByZWZpeC4KKyMKKyMgLSBBICJtYWNybyIgaXMgYSBsYW1i
ZGEgZXhwcmVzc2lvbiwgd2hpY2ggbWF5IGJlIGVpdGhlciBhbm9ueW1vdXMgb3IKKyMgICBuYW1l
ZC4gQnV0IHRoaXMgaGFzIGNhdmVhdHMuICJtYWNybyIgY2FuIHRha2UgemVybyBvciBtb3JlIGFy
Z3VtZW50cywKKyMgICB3aGljaCBtYXkgYmUgbWFjcm9zIG9yIGFueSB2YWxpZCBvcGVyYW5kcywg
YnV0IGl0IGNhbiBvbmx5IHJldHVybgorIyAgIGNvZGUuIEJ1dCB5b3UgY2FuIGRvIFR1cmluZy1j
b21wbGV0ZSB0aGluZ3MgdmlhIGNvbnRpbnVhdGlvbiBwYXNzaW5nCisjICAgc3R5bGU6ICJtYWNy
byBmb28gKGEsIGIpIGIoYSwgYSkgZW5kIGZvbyhmb28sIGZvbykiLiBBY3R1YWxseSwgZG9uJ3Qg
ZG8KKyMgICB0aGF0LCBzaW5jZSB5b3UnbGwganVzdCBjcmFzaCB0aGUgYXNzZW1ibGVyLgorIwor
IyAtIEFuICJpZiIgaXMgYSBjb25kaXRpb25hbCBvbiBzZXR0aW5ncy4gQW55IGlkZW50aWZpZXIg
c3VwcGxpZWQgaW4gdGhlCisjICAgcHJlZGljYXRlIG9mIGFuICJpZiIgaXMgYXNzdW1lZCB0byBi
ZSBhICNkZWZpbmUgdGhhdCBpcyBhdmFpbGFibGUKKyMgICBkdXJpbmcgY29kZSBnZW4uIFNvIHlv
dSBjYW4ndCB1c2UgImlmIiBmb3IgY29tcHV0YXRpb24gaW4gYSBtYWNybywgYnV0CisjICAgeW91
IGNhbiB1c2UgaXQgdG8gc2VsZWN0IGRpZmZlcmVudCBwaWVjZXMgb2YgY29kZSBmb3IgZGlmZmVy
ZW50CisjICAgcGxhdGZvcm1zLgorIworIyAtIEFyZ3VtZW50cyB0byBtYWNyb3MgZm9sbG93IGxl
eGljYWwgc2NvcGluZyByYXRoZXIgdGhhbiBkeW5hbWljIHNjb3BpbmcuCisjICAgQ29uc3QncyBh
bHNvIGZvbGxvdyBsZXhpY2FsIHNjb3BpbmcgYW5kIG1heSBvdmVycmlkZSAoaGlkZSkgYXJndW1l
bnRzCisjICAgb3Igb3RoZXIgY29uc3RzLiBBbGwgdmFyaWFibGVzIChhcmd1bWVudHMgYW5kIGNv
bnN0YW50cykgY2FuIGJlIGJvdW5kCisjICAgdG8gb3BlcmFuZHMuIEFkZGl0aW9uYWxseSwgYXJn
dW1lbnRzIChidXQgbm90IGNvbnN0YW50cykgY2FuIGJlIGJvdW5kCisjICAgdG8gbWFjcm9zLgor
CisjIFRoZSBmb2xsb3dpbmcgZ2VuZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyBhcmUgYXZhaWxhYmxl
OgorIworIyAgLSBjZnIgYW5kIHNwIGhvbGQgdGhlIGNhbGwgZnJhbWUgYW5kIChuYXRpdmUpIHN0
YWNrIHBvaW50ZXIgcmVzcGVjdGl2ZWx5LgorIyAgVGhleSBhcmUgY2FsbGVlLXNhdmUgcmVnaXN0
ZXJzLCBhbmQgZ3VhcmFudGVlZCB0byBiZSBkaXN0aW5jdCBmcm9tIGFsbCBvdGhlcgorIyAgcmVn
aXN0ZXJzIG9uIGFsbCBhcmNoaXRlY3R1cmVzLgorIworIyAgLSBsciBpcyBkZWZpbmVkIG9uIG5v
bi1YODYgYXJjaGl0ZWN0dXJlcyAoQVJNNjQsIEFSTXY3LCBBUk0sCisjICBBUk12N19UUkFESVRJ
T05BTCwgTUlQUywgU0g0IGFuZCBDTE9PUCkgYW5kIGhvbGRzIHRoZSByZXR1cm4gUEMKKyMKKyMg
IC0gcGMgaG9sZHMgdGhlIChuYXRpdmUpIHByb2dyYW0gY291bnRlciBvbiAzMi1iaXRzIEFSTSBh
cmNoaXRlY3R1cmVzIChBUk0sCisjICBBUk12NywgQVJNdjdfVFJBRElUSU9OQUwpCisjCisjICAt
IHQwLCB0MSwgdDIsIHQzLCB0NCBhbmQgb3B0aW9uYWxseSB0NSBhcmUgdGVtcG9yYXJ5IHJlZ2lz
dGVycyB0aGF0IGNhbiBnZXQgdHJhc2hlZCBvbgorIyAgY2FsbHMsIGFuZCBhcmUgcGFpcndpc2Ug
ZGlzdGluY3QgcmVnaXN0ZXJzLiB0NCBob2xkcyB0aGUgSlMgcHJvZ3JhbSBjb3VudGVyLCBzbyB1
c2UKKyMgIHdpdGggY2F1dGlvbiBpbiBvcGNvZGVzIChhY3R1YWxseSwgZG9uJ3QgdXNlIGl0IGlu
IG9wY29kZXMgYXQgYWxsLCBleGNlcHQgYXMgUEMpLgorIworIyAgLSByMCBhbmQgcjEgYXJlIHRo
ZSBwbGF0Zm9ybSdzIGN1c3RvbWFyeSByZXR1cm4gcmVnaXN0ZXJzLCBhbmQgdGh1cyBhcmUKKyMg
IHR3byBkaXN0aW5jdCByZWdpc3RlcnMKKyMKKyMgIC0gYTAsIGExLCBhMiBhbmQgYTMgYXJlIHRo
ZSBwbGF0Zm9ybSdzIGN1c3RvbWFyeSBhcmd1bWVudCByZWdpc3RlcnMsIGFuZAorIyAgdGh1cyBh
cmUgcGFpcndpc2UgZGlzdGluY3QgcmVnaXN0ZXJzLiBCZSBtaW5kZnVsIHRoYXQ6CisjICAgICsg
T24gWDg2LCB0aGVyZSBhcmUgbm8gYWN0dWFseSBhcmd1bWVudCByZWdpc3RlcnMuIGEwIGFuZCBh
MSBhcmUgZWR4IGFuZAorIyAgICBlY3ggZm9sbG93aW5nIHRoZSBmYXN0Y2FsbCBjb252ZW50aW9u
LCBidXQgeW91IHNob3VsZCBzdGlsbCB1c2UgdGhlIHN0YWNrCisjICAgIHRvIHBhc3MgeW91ciBh
cmd1bWVudHMuIFRoZSBjQ2FsbDIgYW5kIGNDYWxsNCBtYWNyb3MgZG8gdGhpcyBmb3IgeW91Lgor
IyAgICArIE9uIFg4Nl82NF9XSU4sIHlvdSBzaG91bGQgYWxsb2NhdGUgc3BhY2Ugb24gdGhlIHN0
YWNrIGZvciB0aGUgYXJndW1lbnRzLAorIyAgICBhbmQgdGhlIHJldHVybiBjb252ZW50aW9uIGlz
IHdlaXJkIGZvciA+IDggYnl0ZXMgdHlwZXMuIFRoZSBvbmx5IHBsYWNlIHdlCisjICAgIHVzZSA+
IDggYnl0ZXMgcmV0dXJuIHZhbHVlcyBpcyBvbiBhIGNDYWxsLCBhbmQgY0NhbGwyIGFuZCBjQ2Fs
bDQgaGFuZGxlCisjICAgIHRoaXMgZm9yIHlvdS4KKyMKKyMgIC0gVGhlIG9ubHkgcmVnaXN0ZXJz
IGd1YXJhbnRlZWQgdG8gYmUgY2FsbGVyLXNhdmVkIGFyZSByMCwgcjEsIGEwLCBhMSBhbmQgYTIs
IGFuZAorIyAgeW91IHNob3VsZCBiZSBtaW5kZnVsIG9mIHRoYXQgaW4gZnVuY3Rpb25zIHRoYXQg
YXJlIGNhbGxlZCBkaXJlY3RseSBmcm9tIEMuCisjICBJZiB5b3UgbmVlZCBtb3JlIHJlZ2lzdGVy
cywgeW91IHNob3VsZCBwdXNoIGFuZCBwb3AgdGhlbSBsaWtlIGEgZ29vZAorIyAgYXNzZW1ibHkg
Y2l0aXplbiwgYmVjYXVzZSBhbnkgb3RoZXIgcmVnaXN0ZXIgd2lsbCBiZSBjYWxsZWUtc2F2ZWQg
b24gWDg2LgorIworIyBZb3UgY2FuIGFkZGl0aW9uYWxseSBhc3N1bWU6CisjCisjICAtIGEzLCB0
MiwgdDMsIHQ0IGFuZCB0NSBhcmUgbmV2ZXIgcmV0dXJuIHJlZ2lzdGVyczsgdDAsIHQxLCBhMCwg
YTEgYW5kIGEyCisjICBjYW4gYmUgcmV0dXJuIHJlZ2lzdGVycy4KKyMKKyMgIC0gdDQgYW5kIHQ1
IGFyZSBuZXZlciBhcmd1bWVudCByZWdpc3RlcnMsIHQzIGNhbiBvbmx5IGJlIGEzLCB0MSBjYW4g
b25seSBiZQorIyAgYTE7IGJ1dCB0MCBhbmQgdDIgY2FuIGJlIGVpdGhlciBhMCBvciBhMi4KKyMK
KyMgIC0gT24gNjQgYml0cywgY3NyMCwgY3NyMSwgY3NyMiBhbmQgb3B0aW9uYWxseSBjc3IzLCBj
c3I0LCBjc3I1IGFuZCBjc3I2CisjICBhcmUgYXZhaWxhYmxlIGFzIGNhbGxlZS1zYXZlIHJlZ2lz
dGVycy4KKyMgIGNzcjAgaXMgdXNlZCB0byBzdG9yZSB0aGUgUEMgYmFzZSwgd2hpbGUgdGhlIGxh
c3QgdHdvIGNzciByZWdpc3RlcnMgYXJlIHVzZWQKKyMgIHRvIHN0b3JlIHNwZWNpYWwgdGFnIHZh
bHVlcy4gRG9uJ3QgdXNlIHRoZW0gZm9yIGFueXRoaW5nIGVsc2UuCisjCisjIEFkZGl0aW9uYWwg
cGxhdGZvcm0tc3BlY2lmaWMgZGV0YWlscyAoeW91IHNob3VsZG4ndCByZWx5IG9uIHRoaXMgcmVt
YWluaW5nCisjIHRydWUpOgorIworIyAgLSBGb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgYmFzZWxp
bmUgSklULCB0MCBpcyBhbHdheXMgcjAgKGFuZCB0MSBpcyBhbHdheXMKKyMgIHIxIG9uIDMyIGJp
dHMgcGxhdGZvcm1zKS4gWW91IHNob3VsZCB1c2UgdGhlIHIgdmVyc2lvbiB3aGVuIHlvdSBuZWVk
IHJldHVybgorIyAgcmVnaXN0ZXJzLCBhbmQgdGhlIHQgdmVyc2lvbiBvdGhlcndpc2U6IGNvZGUg
dXNpbmcgdDAgKG9yIHQxKSBzaG91bGQgc3RpbGwKKyMgIHdvcmsgaWYgc3dhcHBlZCB3aXRoIGUu
Zy4gdDMsIHdoaWxlIGNvZGUgdXNpbmcgcjAgKG9yIHIxKSBzaG91bGQgbm90LiBUaGVyZQorIyAg
Km1heSogYmUgbGVnYWN5IGNvZGUgcmVseWluZyBvbiB0aGlzLgorIworIyAgLSBPbiBhbGwgcGxh
dGZvcm1zIG90aGVyIHRoYW4gWDg2LCB0MCBjYW4gb25seSBiZSBhMCBhbmQgdDIgY2FuIG9ubHkg
YmUgYTIuCisjCisjICAtIE9uIGFsbCBwbGF0Zm9ybXMgb3RoZXIgdGhhbiBYODYgYW5kIFg4Nl82
NCwgYTIgaXMgbm90IGEgcmV0dXJuIHJlZ2lzdGVyLgorIyAgYTIgaXMgcjAgb24gWDg2IChiZWNh
dXNlIHdlIGhhdmUgc28gZmV3IHJlZ2lzdGVycykgYW5kIHIxIG9uIFg4Nl82NCAoYmVjYXVzZQor
IyAgdGhlIEFCSSBlbmZvcmNlcyBpdCkuCisjCisjIFRoZSBmb2xsb3dpbmcgZmxvYXRpbmctcG9p
bnQgcmVnaXN0ZXJzIGFyZSBhdmFpbGFibGU6CisjCisjICAtIGZ0MC1mdDUgYXJlIHRlbXBvcmFy
eSBmbG9hdGluZy1wb2ludCByZWdpc3RlcnMgdGhhdCBnZXQgdHJhc2hlZCBvbiBjYWxscywKKyMg
IGFuZCBhcmUgcGFpcndpc2UgZGlzdGluY3QuCisjCisjICAtIGZhMCBhbmQgZmExIGFyZSB0aGUg
cGxhdGZvcm0ncyBjdXN0b21hcnkgZmxvYXRpbmctcG9pbnQgYXJndW1lbnQKKyMgIHJlZ2lzdGVy
cywgYW5kIGFyZSBib3RoIGRpc3RpbmN0LiBPbiA2NC1iaXRzIHBsYXRmb3JtcywgZmEyIGFuZCBm
YTMgYXJlCisjICBhZGRpdGlvbmFsIGZsb2F0aW5nLXBvaW50IGFyZ3VtZW50IHJlZ2lzdGVycy4K
KyMKKyMgIC0gZnIgaXMgdGhlIHBsYXRmb3JtJ3MgY3VzdG9tYXJ5IGZsb2F0aW5nLXBvaW50IHJl
dHVybiByZWdpc3RlcgorIworIyBZb3UgY2FuIGFzc3VtZSB0aGF0IGZ0MS1mdDUgb3IgZmExLWZh
MyBhcmUgbmV2ZXIgZnIsIGFuZCB0aGF0IGZ0WCBpcyBuZXZlcgorIyBmYVkgaWYgWCAhPSBZLgor
CiAjIEZpcnN0IGNvbWUgdGhlIGNvbW1vbiBwcm90b2NvbHMgdGhhdCBib3RoIGludGVycHJldGVy
cyB1c2UuIE5vdGUgdGhhdCBlYWNoCiAjIG9mIHRoZXNlIG11c3QgaGF2ZSBhbiBBU1NFUlQoKSBp
biBMTEludERhdGEuY3BwCiAKQEAgLTEwNywxNiArMjI3LDIyIEBAIGNvbnN0IElzSW52YWxpZGF0
ZWQgPSAyCiBpZiBKU1ZBTFVFNjQKICAgICAjIC0gVXNlIGEgcGFpciBvZiByZWdpc3RlcnMgdG8g
cmVwcmVzZW50IHRoZSBQQzogb25lIHJlZ2lzdGVyIGZvciB0aGUKICAgICAjICAgYmFzZSBvZiB0
aGUgYnl0ZWNvZGVzLCBhbmQgb25lIHJlZ2lzdGVyIGZvciB0aGUgaW5kZXguCi0gICAgIyAtIFRo
ZSBQQyBiYXNlIChvciBQQiBmb3Igc2hvcnQpIHNob3VsZCBiZSBzdG9yZWQgaW4gdGhlIGNzci4g
SXQgd2lsbAotICAgICMgICBnZXQgY2xvYmJlcmVkIG9uIGNhbGxzIHRvIG90aGVyIEpTIGNvZGUs
IGJ1dCB3aWxsIGdldCBzYXZlZCBvbiBjYWxscwotICAgICMgICB0byBDIGZ1bmN0aW9ucy4KKyAg
ICAjIC0gVGhlIFBDIGJhc2UgKG9yIFBCIGZvciBzaG9ydCkgbXVzdCBiZSBzdG9yZWQgaW4gYSBj
YWxsZWUtc2F2ZSByZWdpc3Rlci4KICAgICAjIC0gQyBjYWxscyBhcmUgc3RpbGwgZ2l2ZW4gdGhl
IEluc3RydWN0aW9uKiByYXRoZXIgdGhhbiB0aGUgUEMgaW5kZXguCiAgICAgIyAgIFRoaXMgcmVx
dWlyZXMgYW4gYWRkIGJlZm9yZSB0aGUgY2FsbCwgYW5kIGEgc3ViIGFmdGVyLgotICAgIGNvbnN0
IFBDID0gdDUKLSAgICBjb25zdCBQQiA9IHQ2Ci0gICAgY29uc3QgdGFnVHlwZU51bWJlciA9IGNz
cjEKLSAgICBjb25zdCB0YWdNYXNrID0gY3NyMgotICAgIAorICAgIGNvbnN0IFBDID0gdDQKKyAg
ICBjb25zdCBQQiA9IGNzcjAKKyAgICBpZiBBUk02NAorICAgICAgICBjb25zdCB0YWdUeXBlTnVt
YmVyID0gY3NyMQorICAgICAgICBjb25zdCB0YWdNYXNrID0gY3NyMgorICAgIGVsc2lmIFg4Nl82
NAorICAgICAgICBjb25zdCB0YWdUeXBlTnVtYmVyID0gY3NyMworICAgICAgICBjb25zdCB0YWdN
YXNrID0gY3NyNAorICAgIGVsc2lmIFg4Nl82NF9XSU4KKyAgICAgICAgY29uc3QgdGFnVHlwZU51
bWJlciA9IGNzcjUKKyAgICAgICAgY29uc3QgdGFnTWFzayA9IGNzcjYKKyAgICBlbmQKKwogICAg
IG1hY3JvIGxvYWRpc0Zyb21JbnN0cnVjdGlvbihvZmZzZXQsIGRlc3QpCiAgICAgICAgIGxvYWRp
cyBvZmZzZXQgKiA4W1BCLCBQQywgOF0sIGRlc3QKICAgICBlbmQKQEAgLTEzMCw3ICsyNTYsNyBA
QCBpZiBKU1ZBTFVFNjQKICAgICBlbmQKIAogZWxzZQotICAgIGNvbnN0IFBDID0gdDUKKyAgICBj
b25zdCBQQyA9IHQ0CiAgICAgbWFjcm8gbG9hZGlzRnJvbUluc3RydWN0aW9uKG9mZnNldCwgZGVz
dCkKICAgICAgICAgbG9hZGlzIG9mZnNldCAqIDRbUENdLCBkZXN0CiAgICAgZW5kCkBAIC0xNDAs
NiArMjY2LDEyIEBAIGVsc2UKICAgICBlbmQKIGVuZAogCitpZiBYODZfNjRfV0lOCisgICAgY29u
c3QgZXh0cmFUZW1wUmVnID0gdDAKK2Vsc2UKKyAgICBjb25zdCBleHRyYVRlbXBSZWcgPSB0NQor
ZW5kCisKICMgQ29uc3RhbnRzIGZvciByZWFzb25pbmcgYWJvdXQgdmFsdWUgcmVwcmVzZW50YXRp
b24uCiBpZiBCSUdfRU5ESUFOCiAgICAgY29uc3QgVGFnT2Zmc2V0ID0gMApAQCAtNDYwLDEyICs1
OTIsMTIgQEAgZW5kCiAKIG1hY3JvIHJlc3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwoKQogICAg
IGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MgotICAgIGdldEZyYW1lUmVnaXN0ZXJTaXplRm9yQ29k
ZUJsb2NrKHQyLCB0NCkKKyAgICBnZXRGcmFtZVJlZ2lzdGVyU2l6ZUZvckNvZGVCbG9jayh0Miwg
dDIpCiAgICAgaWYgQVJNdjcKLSAgICAgICAgc3VicCBjZnIsIHQ0LCB0NAotICAgICAgICBtb3Zl
IHQ0LCBzcAorICAgICAgICBzdWJwIGNmciwgdDIsIHQyCisgICAgICAgIG1vdmUgdDIsIHNwCiAg
ICAgZWxzZQotICAgICAgICBzdWJwIGNmciwgdDQsIHNwCisgICAgICAgIHN1YnAgY2ZyLCB0Miwg
c3AKICAgICBlbmQKIGVuZAogCkBAIC00ODksMTMgKzYyMSwxMyBAQCBlbmQKIG1hY3JvIHNsb3dQ
YXRoRm9yQ2FsbChzbG93UGF0aCkKICAgICBjYWxsQ2FsbFNsb3dQYXRoKAogICAgICAgICBzbG93
UGF0aCwKLSAgICAgICAgbWFjcm8gKGNhbGxlZSkKLSAgICAgICAgICAgIGJ0cHogdDEsIC5kb250
VXBkYXRlU1AKKyAgICAgICAgbWFjcm8gKGNhbGxlZSwgY2FsbGVlRnJhbWUpCisgICAgICAgICAg
ICBidHB6IGNhbGxlZUZyYW1lLCAuZG9udFVwZGF0ZVNQCiAgICAgICAgICAgICBpZiBBUk12Nwot
ICAgICAgICAgICAgICAgIGFkZHAgQ2FsbGVyRnJhbWVBbmRQQ1NpemUsIHQxLCB0MQotICAgICAg
ICAgICAgICAgIG1vdmUgdDEsIHNwCisgICAgICAgICAgICAgICAgYWRkcCBDYWxsZXJGcmFtZUFu
ZFBDU2l6ZSwgY2FsbGVlRnJhbWUsIGNhbGxlZUZyYW1lCisgICAgICAgICAgICAgICAgbW92ZSBj
YWxsZWVGcmFtZSwgc3AKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBhZGRwIENh
bGxlckZyYW1lQW5kUENTaXplLCB0MSwgc3AKKyAgICAgICAgICAgICAgICBhZGRwIENhbGxlckZy
YW1lQW5kUENTaXplLCBjYWxsZWVGcmFtZSwgc3AKICAgICAgICAgICAgIGVuZAogICAgICAgICAu
ZG9udFVwZGF0ZVNQOgogICAgICAgICAgICAgaWYgQ19MT09QCkBAIC01OTEsMTUgKzcyMywxOSBA
QCBtYWNybyBwcm9sb2d1ZShjb2RlQmxvY2tHZXR0ZXIsIGNvZGVCbG9ja1NldHRlciwgb3NyU2xv
d1BhdGgsIHRyYWNlU2xvd1BhdGgpCiAgICAgaWYgbm90IENfTE9PUAogICAgICAgICBiYWRkaXMg
NSwgQ29kZUJsb2NrOjptX2xsaW50RXhlY3V0ZUNvdW50ZXIgKyBCYXNlbGluZUV4ZWN1dGlvbkNv
dW50ZXI6Om1fY291bnRlclt0MV0sIC5jb250aW51ZQogICAgICAgICBpZiBKU1ZBTFVFNjQKLSAg
ICAgICAgICAgIGNDYWxsMihvc3JTbG93UGF0aCwgY2ZyLCBQQykKKyAgICAgICAgICAgIG1vdmUg
Y2ZyLCBhMAorICAgICAgICAgICAgbW92ZSBQQywgYTEKKyAgICAgICAgICAgIGNDYWxsMihvc3JT
bG93UGF0aCkKICAgICAgICAgZWxzZQogICAgICAgICAgICAgIyBXZSBhcmUgYWZ0ZXIgdGhlIGZ1
bmN0aW9uIHByb2xvZ3VlLCBidXQgYmVmb3JlIHdlIGhhdmUgc2V0IHVwIHNwIGZyb20gdGhlIENv
ZGVCbG9jay4KICAgICAgICAgICAgICMgVGVtcG9yYXJpbHkgYWxpZ24gc3RhY2sgcG9pbnRlciBm
b3IgdGhpcyBjYWxsLgogICAgICAgICAgICAgc3VicCA4LCBzcAotICAgICAgICAgICAgY0NhbGwy
KG9zclNsb3dQYXRoLCBjZnIsIFBDKQorICAgICAgICAgICAgbW92ZSBjZnIsIGEwCisgICAgICAg
ICAgICBtb3ZlIFBDLCBhMQorICAgICAgICAgICAgY0NhbGwyKG9zclNsb3dQYXRoKQogICAgICAg
ICAgICAgYWRkcCA4LCBzcAogICAgICAgICBlbmQKLSAgICAgICAgYnRweiB0MCwgLnJlY292ZXIK
KyAgICAgICAgYnRweiByMCwgLnJlY292ZXIKICAgICAgICAgbW92ZSBjZnIsIHNwICMgcmVzdG9y
ZSB0aGUgcHJldmlvdXMgc3AKICAgICAgICAgIyBwb3AgdGhlIGNhbGxlckZyYW1lIHNpbmNlIHdl
IHdpbGwganVtcCB0byBhIGZ1bmN0aW9uIHRoYXQgd2FudHMgdG8gc2F2ZSBpdAogICAgICAgICBp
ZiBBUk02NApAQCAtNjEwLDcgKzc0Niw3IEBAIG1hY3JvIHByb2xvZ3VlKGNvZGVCbG9ja0dldHRl
ciwgY29kZUJsb2NrU2V0dGVyLCBvc3JTbG93UGF0aCwgdHJhY2VTbG93UGF0aCkKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgcG9wIGNmcgogICAgICAgICBlbmQKLSAgICAgICAgam1wIHQwCisg
ICAgICAgIGptcCByMAogICAgIC5yZWNvdmVyOgogICAgICAgICBjb2RlQmxvY2tHZXR0ZXIodDEp
CiAgICAgLmNvbnRpbnVlOgpAQCAtNjM1LDggKzc3MSw4IEBAIG1hY3JvIHByb2xvZ3VlKGNvZGVC
bG9ja0dldHRlciwgY29kZUJsb2NrU2V0dGVyLCBvc3JTbG93UGF0aCwgdHJhY2VTbG93UGF0aCkK
ICAgICAjIFN0YWNrIGhlaWdodCBjaGVjayBmYWlsZWQgLSBuZWVkIHRvIGNhbGwgYSBzbG93X3Bh
dGguCiAgICAgc3VicCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCwgc3AgIyBTZXQgdXAg
dGVtcG9yYXJ5IHN0YWNrIHBvaW50ZXIgZm9yIGNhbGwKICAgICBjYWxsU2xvd1BhdGgoX2xsaW50
X3N0YWNrX2NoZWNrKQotICAgIGJwZXEgdDEsIDAsIC5zdGFja0hlaWdodE9LR2V0Q29kZUJsb2Nr
Ci0gICAgbW92ZSB0MSwgY2ZyCisgICAgYnBlcSByMSwgMCwgLnN0YWNrSGVpZ2h0T0tHZXRDb2Rl
QmxvY2sKKyAgICBtb3ZlIHIxLCBjZnIKICAgICBkaXNwYXRjaCgwKSAjIEdvIHRvIGV4Y2VwdGlv
biBoYW5kbGVyIGluIFBDCiAKIC5zdGFja0hlaWdodE9LR2V0Q29kZUJsb2NrOgpAQCAtNzMzLDI3
ICs4NjksMTQgQEAgaWYgbm90IENfTE9PUAogICAgICMgdm9pZCBzYW5pdGl6ZVN0YWNrRm9yVk1J
bXBsKFZNKiB2bSkKICAgICBnbG9iYWwgX3Nhbml0aXplU3RhY2tGb3JWTUltcGwKICAgICBfc2Fu
aXRpemVTdGFja0ZvclZNSW1wbDoKLSAgICAgICAgaWYgWDg2XzY0Ci0gICAgICAgICAgICBjb25z
dCB2bSA9IHQ0Ci0gICAgICAgICAgICBjb25zdCBhZGRyZXNzID0gdDEKLSAgICAgICAgICAgIGNv
bnN0IHplcm9WYWx1ZSA9IHQwCi0gICAgICAgIGVsc2lmIFg4Nl82NF9XSU4KLSAgICAgICAgICAg
IGNvbnN0IHZtID0gdDIKLSAgICAgICAgICAgIGNvbnN0IGFkZHJlc3MgPSB0MQotICAgICAgICAg
ICAgY29uc3QgemVyb1ZhbHVlID0gdDAKLSAgICAgICAgZWxzaWYgWDg2IG9yIFg4Nl9XSU4KLSAg
ICAgICAgICAgIGNvbnN0IHZtID0gdDIKLSAgICAgICAgICAgIGNvbnN0IGFkZHJlc3MgPSB0MQot
ICAgICAgICAgICAgY29uc3QgemVyb1ZhbHVlID0gdDAKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgY29uc3Qgdm0gPSBhMAotICAgICAgICAgICAgY29uc3QgYWRkcmVzcyA9IHQxCi0gICAgICAg
ICAgICBjb25zdCB6ZXJvVmFsdWUgPSB0MgotICAgICAgICBlbmQKLSAgICAKKyAgICAgICAgIyBX
ZSBuZWVkIHRocmVlIG5vbi1hbGlhc2VkIGNhbGxlci1zYXZlIHJlZ2lzdGVycy4gV2UgYXJlIGd1
YXJhbnRlZWQKKyAgICAgICAgIyB0aGlzIGZvciBhMCwgYTEgYW5kIGEyIG9uIGFsbCBhcmNoaXRl
Y3R1cmVzLgogICAgICAgICBpZiBYODYgb3IgWDg2X1dJTgotICAgICAgICAgICAgbG9hZHAgNFtz
cF0sIHZtCisgICAgICAgICAgICBsb2FkcCA0W3NwXSwgYTAKICAgICAgICAgZW5kCisgICAgICAg
IGNvbnN0IHZtID0gYTAKKyAgICAgICAgY29uc3QgYWRkcmVzcyA9IGExCisgICAgICAgIGNvbnN0
IHplcm9WYWx1ZSA9IGEyCiAgICAgCiAgICAgICAgIGxvYWRwIFZNOjptX2xhc3RTdGFja1RvcFt2
bV0sIGFkZHJlc3MKICAgICAgICAgYnBiZXEgc3AsIGFkZHJlc3MsIC56ZXJvRmlsbERvbmUKQEAg
LTc3MiwyMiArODk1LDExIEBAIGlmIG5vdCBDX0xPT1AKICAgICAjIFZNRW50cnlSZWNvcmQqIHZt
RW50cnlSZWNvcmQoY29uc3QgVk1FbnRyeUZyYW1lKiBlbnRyeUZyYW1lKQogICAgIGdsb2JhbCBf
dm1FbnRyeVJlY29yZAogICAgIF92bUVudHJ5UmVjb3JkOgotICAgICAgICBpZiBYODZfNjQKLSAg
ICAgICAgICAgIGNvbnN0IGVudHJ5RnJhbWUgPSB0NAotICAgICAgICAgICAgY29uc3QgcmVzdWx0
ID0gdDAKLSAgICAgICAgZWxzaWYgWDg2IG9yIFg4Nl9XSU4gb3IgWDg2XzY0X1dJTgotICAgICAg
ICAgICAgY29uc3QgZW50cnlGcmFtZSA9IHQyCi0gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0
MAotICAgICAgICBlbHNlCi0gICAgICAgICAgICBjb25zdCBlbnRyeUZyYW1lID0gYTAKLSAgICAg
ICAgICAgIGNvbnN0IHJlc3VsdCA9IHQwCi0gICAgICAgIGVuZAotICAgIAogICAgICAgICBpZiBY
ODYgb3IgWDg2X1dJTgotICAgICAgICAgICAgbG9hZHAgNFtzcF0sIGVudHJ5RnJhbWUKKyAgICAg
ICAgICAgIGxvYWRwIDRbc3BdLCBhMAogICAgICAgICBlbmQKLSAgICAKLSAgICAgICAgdm1FbnRy
eVJlY29yZChlbnRyeUZyYW1lLCByZXN1bHQpCisKKyAgICAgICAgdm1FbnRyeVJlY29yZChhMCwg
cjApCiAgICAgICAgIHJldAogZW5kCiAKQEAgLTc5NSwxNyArOTA3LDEyIEBAIGlmIENfTE9PUAog
ICAgICMgRHVtbXkgZW50cnkgcG9pbnQgdGhlIEMgTG9vcCB1c2VzIHRvIGluaXRpYWxpemUuCiAg
ICAgX2xsaW50X2VudHJ5OgogICAgICAgICBjcmFzaCgpCi0gICAgZWxzZQorZWxzZQogICAgIG1h
Y3JvIGluaXRQQ1JlbGF0aXZlKHBjQmFzZSkKLSAgICAgICAgaWYgWDg2XzY0IG9yIFg4Nl82NF9X
SU4KKyAgICAgICAgaWYgWDg2XzY0IG9yIFg4Nl82NF9XSU4gb3IgWDg2IG9yIFg4Nl9XSU4KICAg
ICAgICAgICAgIGNhbGwgX3JlbGF0aXZlUENCYXNlCiAgICAgICAgIF9yZWxhdGl2ZVBDQmFzZToK
ICAgICAgICAgICAgIHBvcCBwY0Jhc2UKLSAgICAgICAgZWxzaWYgWDg2IG9yIFg4Nl9XSU4KLSAg
ICAgICAgICAgIGNhbGwgX3JlbGF0aXZlUENCYXNlCi0gICAgICAgIF9yZWxhdGl2ZVBDQmFzZToK
LSAgICAgICAgICAgIHBvcCBwY0Jhc2UKLSAgICAgICAgICAgIGxvYWRwIDIwW3NwXSwgdDQKICAg
ICAgICAgZWxzaWYgQVJNNjQKICAgICAgICAgZWxzaWYgQVJNdjcKICAgICAgICAgX3JlbGF0aXZl
UENCYXNlOgpAQCAtODI2LDQxICs5MzMsMzkgQEAgaWYgQ19MT09QCiAgICAgICAgIGVuZAogZW5k
CiAKKyMgVGhlIFBDIGJhc2UgaXMgaW4gdDEsIGFzIHRoaXMgaXMgd2hhdCBfbGxpbnRfZW50cnkg
bGVhdmVzIGJlaGluZCB0aHJvdWdoCisjIGluaXRQQ1JlbGF0aXZlKHQxKQogbWFjcm8gc2V0RW50
cnlBZGRyZXNzKGluZGV4LCBsYWJlbCkKLSAgICBpZiBYODZfNjQKLSAgICAgICAgbGVhcCAobGFi
ZWwgLSBfcmVsYXRpdmVQQ0Jhc2UpW3QxXSwgdDAKLSAgICAgICAgbW92ZSBpbmRleCwgdDIKLSAg
ICAgICAgc3RvcmVwIHQwLCBbdDQsIHQyLCA4XQotICAgIGVsc2lmIFg4Nl82NF9XSU4KLSAgICAg
ICAgbGVhcCAobGFiZWwgLSBfcmVsYXRpdmVQQ0Jhc2UpW3QxXSwgdDAKKyAgICBpZiBYODZfNjQg
b3IgWDg2XzY0X1dJTgorICAgICAgICBsZWFwIChsYWJlbCAtIF9yZWxhdGl2ZVBDQmFzZSlbdDFd
LCB0MwogICAgICAgICBtb3ZlIGluZGV4LCB0NAotICAgICAgICBzdG9yZXAgdDAsIFt0MiwgdDQs
IDhdCisgICAgICAgIHN0b3JlcCB0MywgW2EwLCB0NCwgOF0KICAgICBlbHNpZiBYODYgb3IgWDg2
X1dJTgotICAgICAgICBsZWFwIChsYWJlbCAtIF9yZWxhdGl2ZVBDQmFzZSlbdDFdLCB0MAotICAg
ICAgICBtb3ZlIGluZGV4LCB0MgotICAgICAgICBzdG9yZXAgdDAsIFt0NCwgdDIsIDRdCisgICAg
ICAgIGxlYXAgKGxhYmVsIC0gX3JlbGF0aXZlUENCYXNlKVt0MV0sIHQzCisgICAgICAgIG1vdmUg
aW5kZXgsIHQ0CisgICAgICAgIHN0b3JlcCB0MywgW2EwLCB0NCwgNF0KICAgICBlbHNpZiBBUk02
NAogICAgICAgICBwY3J0b2FkZHIgbGFiZWwsIHQxCi0gICAgICAgIG1vdmUgaW5kZXgsIHQyCi0g
ICAgICAgIHN0b3JlcCB0MSwgW2EwLCB0MiwgOF0KKyAgICAgICAgbW92ZSBpbmRleCwgdDQKKyAg
ICAgICAgc3RvcmVwIHQxLCBbYTAsIHQ0LCA4XQogICAgIGVsc2lmIEFSTSBvciBBUk12NyBvciBB
Uk12N19UUkFESVRJT05BTAotICAgICAgICBtdmxibCAobGFiZWwgLSBfcmVsYXRpdmVQQ0Jhc2Up
LCB0MgotICAgICAgICBhZGRwIHQyLCB0MSwgdDIKKyAgICAgICAgbXZsYmwgKGxhYmVsIC0gX3Jl
bGF0aXZlUENCYXNlKSwgdDQKKyAgICAgICAgYWRkcCB0NCwgdDEsIHQ0CiAgICAgICAgIG1vdmUg
aW5kZXgsIHQzCi0gICAgICAgIHN0b3JlcCB0MiwgW2EwLCB0MywgNF0KKyAgICAgICAgc3RvcmVw
IHQ0LCBbYTAsIHQzLCA0XQogICAgIGVsc2lmIFNINAotICAgICAgICBtb3ZlIChsYWJlbCAtIF9y
ZWxhdGl2ZVBDQmFzZSksIHQyCi0gICAgICAgIGFkZHAgdDIsIHQxLCB0MgorICAgICAgICBtb3Zl
IChsYWJlbCAtIF9yZWxhdGl2ZVBDQmFzZSksIHQ0CisgICAgICAgIGFkZHAgdDQsIHQxLCB0NAog
ICAgICAgICBtb3ZlIGluZGV4LCB0MwotICAgICAgICBzdG9yZXAgdDIsIFthMCwgdDMsIDRdCisg
ICAgICAgIHN0b3JlcCB0NCwgW2EwLCB0MywgNF0KICAgICAgICAgZmx1c2hjcCAjIEZvcmNlIGNv
bnN0YW50IHBvb2wgZmx1c2ggdG8gYXZvaWQgInBjcmVsIHRvbyBmYXIiIGxpbmsgZXJyb3IuCiAg
ICAgZWxzaWYgTUlQUwotICAgICAgICBsYSBsYWJlbCwgdDIKKyAgICAgICAgbGEgbGFiZWwsIHQ0
CiAgICAgICAgIGxhIF9yZWxhdGl2ZVBDQmFzZSwgdDMKLSAgICAgICAgc3VicCB0MywgdDIKLSAg
ICAgICAgYWRkcCB0MiwgdDEsIHQyCisgICAgICAgIHN1YnAgdDMsIHQ0CisgICAgICAgIGFkZHAg
dDQsIHQxLCB0NAogICAgICAgICBtb3ZlIGluZGV4LCB0MwotICAgICAgICBzdG9yZXAgdDIsIFth
MCwgdDMsIDRdCisgICAgICAgIHN0b3JlcCB0NCwgW2EwLCB0MywgNF0KICAgICBlbmQKIGVuZAog
CkBAIC04NjksNiArOTc0LDkgQEAgZ2xvYmFsIF9sbGludF9lbnRyeQogX2xsaW50X2VudHJ5Ogog
ICAgIGZ1bmN0aW9uUHJvbG9ndWUoKQogICAgIHB1c2hDYWxsZWVTYXZlcygpCisgICAgaWYgWDg2
IG9yIFg4Nl9XSU4KKyAgICAgICAgbG9hZHAgMjBbc3BdLCBhMAorICAgIGVuZAogICAgIGluaXRQ
Q1JlbGF0aXZlKHQxKQogCiAgICAgIyBJbmNsdWRlIGdlbmVyYXRlZCBieXRlY29kZSBpbml0aWFs
aXphdGlvbiBmaWxlLgpAQCAtMTIwMywxNiArMTMxMSwxNiBAQCBfbGxpbnRfb3BfY2FsbF92YXJh
cmdzOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKICAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3df
cGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKQogICAgIGJyYW5jaElmRXhjZXB0aW9uKF9sbGlu
dF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lKQotICAgICMgY2FsbGVlRnJhbWUgaW4g
dDEKKyAgICAjIGNhbGxlZUZyYW1lIGluIHIxCiAgICAgaWYgSlNWQUxVRTY0Ci0gICAgICAgIG1v
dmUgdDEsIHNwCisgICAgICAgIG1vdmUgcjEsIHNwCiAgICAgZWxzZQogICAgICAgICAjIFRoZSBj
YWxsZWVGcmFtZSBpcyBub3Qgc3RhY2sgYWxpZ25lZCwgbW92ZSBkb3duIGJ5IENhbGxlckZyYW1l
QW5kUENTaXplIHRvIGFsaWduCiAgICAgICAgIGlmIEFSTXY3Ci0gICAgICAgICAgICBzdWJwIHQx
LCBDYWxsZXJGcmFtZUFuZFBDU2l6ZSwgdDIKKyAgICAgICAgICAgIHN1YnAgcjEsIENhbGxlckZy
YW1lQW5kUENTaXplLCB0MgogICAgICAgICAgICAgbW92ZSB0Miwgc3AKICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgc3VicCB0MSwgQ2FsbGVyRnJhbWVBbmRQQ1NpemUsIHNwCisgICAgICAgICAg
ICBzdWJwIHIxLCBDYWxsZXJGcmFtZUFuZFBDU2l6ZSwgc3AKICAgICAgICAgZW5kCiAgICAgZW5k
CiAgICAgc2xvd1BhdGhGb3JDYWxsKF9sbGludF9zbG93X3BhdGhfY2FsbF92YXJhcmdzKQpAQCAt
MTIyMSwxNiArMTMyOSwxNiBAQCBfbGxpbnRfb3BfY29uc3RydWN0X3ZhcmFyZ3M6CiAgICAgdHJh
Y2VFeGVjdXRpb24oKQogICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3NpemVfZnJh
bWVfZm9yX3ZhcmFyZ3MpCiAgICAgYnJhbmNoSWZFeGNlcHRpb24oX2xsaW50X3Rocm93X2Zyb21f
c2xvd19wYXRoX3RyYW1wb2xpbmUpCi0gICAgIyBjYWxsZWVGcmFtZSBpbiB0MQorICAgICMgY2Fs
bGVlRnJhbWUgaW4gcjEKICAgICBpZiBKU1ZBTFVFNjQKLSAgICAgICAgbW92ZSB0MSwgc3AKKyAg
ICAgICAgbW92ZSByMSwgc3AKICAgICBlbHNlCiAgICAgICAgICMgVGhlIGNhbGxlZUZyYW1lIGlz
IG5vdCBzdGFjayBhbGlnbmVkLCBtb3ZlIGRvd24gYnkgQ2FsbGVyRnJhbWVBbmRQQ1NpemUgdG8g
YWxpZ24KICAgICAgICAgaWYgQVJNdjcKLSAgICAgICAgICAgIHN1YnAgdDEsIENhbGxlckZyYW1l
QW5kUENTaXplLCB0MgorICAgICAgICAgICAgc3VicCByMSwgQ2FsbGVyRnJhbWVBbmRQQ1NpemUs
IHQyCiAgICAgICAgICAgICBtb3ZlIHQyLCBzcAogICAgICAgICBlbHNlCi0gICAgICAgICAgICBz
dWJwIHQxLCBDYWxsZXJGcmFtZUFuZFBDU2l6ZSwgc3AKKyAgICAgICAgICAgIHN1YnAgcjEsIENh
bGxlckZyYW1lQW5kUENTaXplLCBzcAogICAgICAgICBlbmQKICAgICBlbmQKICAgICBzbG93UGF0
aEZvckNhbGwoX2xsaW50X3Nsb3dfcGF0aF9jb25zdHJ1Y3RfdmFyYXJncykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNt
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5h
c20KaW5kZXggN2VmNmI4N2MxNzBhZDA4M2IxZjUyOWRhODgzNmMwMGNkYTY0YjQ3OC4uZmUwYWZi
NGM4NmM0OTgzY2ZlZWIyZDQyYzBmYWM3Y2RlZDgxNmNmYyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KQEAg
LTIyLDU0ICsyMiw2IEBACiAjIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogCi0j
IENyYXNoIGNvdXJzZSBvbiB0aGUgbGFuZ3VhZ2UgdGhhdCB0aGlzIGlzIHdyaXR0ZW4gaW4gKHdo
aWNoIEkganVzdCBjYWxsCi0jICJhc3NlbWJseSIgZXZlbiB0aG91Z2ggaXQncyBtb3JlIHRoYW4g
dGhhdCk6Ci0jCi0jIC0gTW9zdGx5IGdhcy1zdHlsZSBvcGVyYW5kIG9yZGVyaW5nLiBUaGUgbGFz
dCBvcGVyYW5kIHRlbmRzIHRvIGJlIHRoZQotIyAgIGRlc3RpbmF0aW9uLiBTbyAiYSA6PSBiIiBp
cyB3cml0dGVuIGFzICJtb3YgYiwgYSIuIEJ1dCB1bmxpa2UgZ2FzLAotIyAgIGNvbXBhcmlzb25z
IGFyZSBpbi1vcmRlciwgc28gImlmIChhIDwgYikiIGlzIHdyaXR0ZW4gYXMKLSMgICAiYmlsdCBh
LCBiLCAuLi4iLgotIwotIyAtICJiIiA9IGJ5dGUsICJoIiA9IDE2LWJpdCB3b3JkLCAiaSIgPSAz
Mi1iaXQgd29yZCwgInAiID0gcG9pbnRlci4KLSMgICBDdXJyZW50bHkgdGhpcyBpcyBqdXN0IDMy
LWJpdCBzbyAiaSIgYW5kICJwIiBhcmUgaW50ZXJjaGFuZ2VhYmxlCi0jICAgZXhjZXB0IHdoZW4g
YW4gb3Agc3VwcG9ydHMgb25lIGJ1dCBub3QgdGhlIG90aGVyLgotIwotIyAtIEluIGdlbmVyYWws
IHZhbGlkIG9wZXJhbmRzIGZvciBtYWNybyBpbnZvY2F0aW9ucyBhbmQgaW5zdHJ1Y3Rpb25zIGFy
ZQotIyAgIHJlZ2lzdGVycyAoZWcgInQwIiksIGFkZHJlc3NlcyAoZWcgIjRbdDBdIiksIGJhc2Ut
aW5kZXggYWRkcmVzc2VzCi0jICAgKGVnICI3W3QwLCB0MSwgMl0iKSwgYWJzb2x1dGUgYWRkcmVz
c2VzIChlZyAiMHhhMDAwMDAwMFtdIiksIG9yIGxhYmVscwotIyAgIChlZyAiX2ZvbyIgb3IgIi5m
b28iKS4gTWFjcm8gaW52b2NhdGlvbnMgY2FuIGFsc28gdGFrZSBhbm9ueW1vdXMKLSMgICBtYWNy
b3MgYXMgb3BlcmFuZHMuIEluc3RydWN0aW9ucyBjYW5ub3QgdGFrZSBhbm9ueW1vdXMgbWFjcm9z
LgotIwotIyAtIExhYmVscyBtdXN0IGhhdmUgbmFtZXMgdGhhdCBiZWdpbiB3aXRoIGVpdGhlciAi
XyIgb3IgIi4iLiAgQSAiLiIgbGFiZWwKLSMgICBpcyBsb2NhbCBhbmQgZ2V0cyByZW5hbWVkIGJl
Zm9yZSBjb2RlIGdlbiB0byBtaW5pbWl6ZSBuYW1lc3BhY2UKLSMgICBwb2xsdXRpb24uIEEgIl8i
IGxhYmVsIGlzIGFuIGV4dGVybiBzeW1ib2wgKGkuZS4gIi5nbG9ibCIpLiBUaGUgIl8iCi0jICAg
bWF5IG9yIG1heSBub3QgYmUgcmVtb3ZlZCBkdXJpbmcgY29kZSBnZW4gZGVwZW5kaW5nIG9uIHdo
ZXRoZXIgdGhlIGFzbQotIyAgIGNvbnZlbnRpb25zIGZvciBDIG5hbWUgbWFuZ2xpbmcgb24gdGhl
IHRhcmdldCBwbGF0Zm9ybSBtYW5kYXRlIGEgIl8iCi0jICAgcHJlZml4LgotIwotIyAtIEEgIm1h
Y3JvIiBpcyBhIGxhbWJkYSBleHByZXNzaW9uLCB3aGljaCBtYXkgYmUgZWl0aGVyIGFub255bW91
cyBvcgotIyAgIG5hbWVkLiBCdXQgdGhpcyBoYXMgY2F2ZWF0cy4gIm1hY3JvIiBjYW4gdGFrZSB6
ZXJvIG9yIG1vcmUgYXJndW1lbnRzLAotIyAgIHdoaWNoIG1heSBiZSBtYWNyb3Mgb3IgYW55IHZh
bGlkIG9wZXJhbmRzLCBidXQgaXQgY2FuIG9ubHkgcmV0dXJuCi0jICAgY29kZS4gQnV0IHlvdSBj
YW4gZG8gVHVyaW5nLWNvbXBsZXRlIHRoaW5ncyB2aWEgY29udGludWF0aW9uIHBhc3NpbmcKLSMg
ICBzdHlsZTogIm1hY3JvIGZvbyAoYSwgYikgYihhKSBlbmQgZm9vKGZvbywgZm9vKSIuIEFjdHVh
bGx5LCBkb24ndCBkbwotIyAgIHRoYXQsIHNpbmNlIHlvdSdsbCBqdXN0IGNyYXNoIHRoZSBhc3Nl
bWJsZXIuCi0jCi0jIC0gQW4gImlmIiBpcyBhIGNvbmRpdGlvbmFsIG9uIHNldHRpbmdzLiBBbnkg
aWRlbnRpZmllciBzdXBwbGllZCBpbiB0aGUKLSMgICBwcmVkaWNhdGUgb2YgYW4gImlmIiBpcyBh
c3N1bWVkIHRvIGJlIGEgI2RlZmluZSB0aGF0IGlzIGF2YWlsYWJsZQotIyAgIGR1cmluZyBjb2Rl
IGdlbi4gU28geW91IGNhbid0IHVzZSAiaWYiIGZvciBjb21wdXRhdGlvbiBpbiBhIG1hY3JvLCBi
dXQKLSMgICB5b3UgY2FuIHVzZSBpdCB0byBzZWxlY3QgZGlmZmVyZW50IHBpZWNlcyBvZiBjb2Rl
IGZvciBkaWZmZXJlbnQKLSMgICBwbGF0Zm9ybXMuCi0jCi0jIC0gQXJndW1lbnRzIHRvIG1hY3Jv
cyBmb2xsb3cgbGV4aWNhbCBzY29waW5nIHJhdGhlciB0aGFuIGR5bmFtaWMgc2NvcGluZy4KLSMg
ICBDb25zdCdzIGFsc28gZm9sbG93IGxleGljYWwgc2NvcGluZyBhbmQgbWF5IG92ZXJyaWRlICho
aWRlKSBhcmd1bWVudHMKLSMgICBvciBvdGhlciBjb25zdHMuIEFsbCB2YXJpYWJsZXMgKGFyZ3Vt
ZW50cyBhbmQgY29uc3RhbnRzKSBjYW4gYmUgYm91bmQKLSMgICB0byBvcGVyYW5kcy4gQWRkaXRp
b25hbGx5LCBhcmd1bWVudHMgKGJ1dCBub3QgY29uc3RhbnRzKSBjYW4gYmUgYm91bmQKLSMgICB0
byBtYWNyb3MuCi0KLQotIyBCZWxvdyB3ZSBoYXZlIGEgYnVuY2ggb2YgY29uc3RhbnQgZGVjbGFy
YXRpb25zLiBFYWNoIGNvbnN0YW50IG11c3QgaGF2ZQotIyBhIGNvcnJlc3BvbmRpbmcgQVNTRVJU
KCkgaW4gTExJbnREYXRhLmNwcC4KLQogIyBVdGlsaXRpZXMKIG1hY3JvIGRpc3BhdGNoKGFkdmFu
Y2UpCiAgICAgYWRkcCBhZHZhbmNlICogNCwgUEMKQEAgLTg5LDYwICs0MSw0NyBAQCBlbmQKIAog
bWFjcm8gZGlzcGF0Y2hBZnRlckNhbGwoKQogICAgIGxvYWRpIEFyZ3VtZW50Q291bnQgKyBUYWdP
ZmZzZXRbY2ZyXSwgUEMKLSAgICBsb2FkaSA0W1BDXSwgdDIKLSAgICBzdG9yZWkgdDEsIFRhZ09m
ZnNldFtjZnIsIHQyLCA4XQotICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4
XQotICAgIHZhbHVlUHJvZmlsZSh0MSwgdDAsIDQgKiAoQ2FsbE9wQ29kZVNpemUgLSAxKSwgdDMp
CisgICAgbG9hZGkgNFtQQ10sIHQzCisgICAgc3RvcmVpIHIxLCBUYWdPZmZzZXRbY2ZyLCB0Mywg
OF0KKyAgICBzdG9yZWkgcjAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MywgOF0KKyAgICB2YWx1ZVBy
b2ZpbGUocjEsIHIwLCA0ICogKENhbGxPcENvZGVTaXplIC0gMSksIHQzKQogICAgIGRpc3BhdGNo
KENhbGxPcENvZGVTaXplKQogZW5kCiAKLW1hY3JvIGNDYWxsMihmdW5jdGlvbiwgYXJnMSwgYXJn
MikKLSAgICBpZiBBUk0gb3IgQVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQUwotICAg
ICAgICBtb3ZlIGFyZzEsIGEwCi0gICAgICAgIG1vdmUgYXJnMiwgYTEKK21hY3JvIGNDYWxsMihm
dW5jdGlvbikKKyAgICBpZiBBUk0gb3IgQVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQ
UyBvciBTSDQKICAgICAgICAgY2FsbCBmdW5jdGlvbgogICAgIGVsc2lmIFg4NiBvciBYODZfV0lO
CiAgICAgICAgIHN1YnAgOCwgc3AKLSAgICAgICAgcHVzaCBhcmcyCi0gICAgICAgIHB1c2ggYXJn
MQorICAgICAgICBwdXNoIGExCisgICAgICAgIHB1c2ggYTAKICAgICAgICAgY2FsbCBmdW5jdGlv
bgogICAgICAgICBhZGRwIDE2LCBzcAotICAgIGVsc2lmIFNINAotICAgICAgICBzZXRhcmdzIGFy
ZzEsIGFyZzIKLSAgICAgICAgY2FsbCBmdW5jdGlvbgogICAgIGVsc2lmIENfTE9PUAotICAgICAg
ICBjbG9vcENhbGxTbG93UGF0aCBmdW5jdGlvbiwgYXJnMSwgYXJnMgorICAgICAgICBjbG9vcENh
bGxTbG93UGF0aCBmdW5jdGlvbiwgYTAsIGExCiAgICAgZWxzZQogICAgICAgICBlcnJvcgogICAg
IGVuZAogZW5kCiAKLW1hY3JvIGNDYWxsMlZvaWQoZnVuY3Rpb24sIGFyZzEsIGFyZzIpCittYWNy
byBjQ2FsbDJWb2lkKGZ1bmN0aW9uKQogICAgIGlmIENfTE9PUAotICAgICAgICBjbG9vcENhbGxT
bG93UGF0aFZvaWQgZnVuY3Rpb24sIGFyZzEsIGFyZzIKKyAgICAgICAgY2xvb3BDYWxsU2xvd1Bh
dGhWb2lkIGZ1bmN0aW9uLCBhMCwgYTEKICAgICBlbHNlCi0gICAgICAgIGNDYWxsMihmdW5jdGlv
biwgYXJnMSwgYXJnMikKKyAgICAgICAgY0NhbGwyKGZ1bmN0aW9uKQogICAgIGVuZAogZW5kCiAK
LSMgVGhpcyBiYXJlbHkgd29ya3MuIGFyZzMgYW5kIGFyZzQgc2hvdWxkIHByb2JhYmx5IGJlIGlt
bWVkaWF0ZXMuCi1tYWNybyBjQ2FsbDQoZnVuY3Rpb24sIGFyZzEsIGFyZzIsIGFyZzMsIGFyZzQp
Ci0gICAgaWYgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKLSAgICAg
ICAgbW92ZSBhcmcxLCBhMAotICAgICAgICBtb3ZlIGFyZzIsIGExCi0gICAgICAgIG1vdmUgYXJn
MywgYTIKLSAgICAgICAgbW92ZSBhcmc0LCBhMworbWFjcm8gY0NhbGw0KGZ1bmN0aW9uKQorICAg
IGlmIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBNSVBTIG9yIFNINAogICAg
ICAgICBjYWxsIGZ1bmN0aW9uCiAgICAgZWxzaWYgWDg2IG9yIFg4Nl9XSU4KLSAgICAgICAgcHVz
aCBhcmc0Ci0gICAgICAgIHB1c2ggYXJnMwotICAgICAgICBwdXNoIGFyZzIKLSAgICAgICAgcHVz
aCBhcmcxCisgICAgICAgIHB1c2ggYTMKKyAgICAgICAgcHVzaCBhMgorICAgICAgICBwdXNoIGEx
CisgICAgICAgIHB1c2ggYTAKICAgICAgICAgY2FsbCBmdW5jdGlvbgogICAgICAgICBhZGRwIDE2
LCBzcAotICAgIGVsc2lmIFNINAotICAgICAgICBzZXRhcmdzIGFyZzEsIGFyZzIsIGFyZzMsIGFy
ZzQKLSAgICAgICAgY2FsbCBmdW5jdGlvbgogICAgIGVsc2lmIENfTE9PUAogICAgICAgICBlcnJv
cgogICAgIGVsc2UKQEAgLTE1MSwxMzMgKzkwLDEwNSBAQCBtYWNybyBjQ2FsbDQoZnVuY3Rpb24s
IGFyZzEsIGFyZzIsIGFyZzMsIGFyZzQpCiBlbmQKIAogbWFjcm8gY2FsbFNsb3dQYXRoKHNsb3dQ
YXRoKQotICAgIGNDYWxsMihzbG93UGF0aCwgY2ZyLCBQQykKLSAgICBtb3ZlIHQwLCBQQworICAg
IG1vdmUgY2ZyLCBhMAorICAgIG1vdmUgUEMsIGExCisgICAgY0NhbGwyKHNsb3dQYXRoKQorICAg
IG1vdmUgcjAsIFBDCiBlbmQKIAogbWFjcm8gZG9WTUVudHJ5KG1ha2VDYWxsKQotICAgIGlmIFg4
NiBvciBYODZfV0lOCi0gICAgICAgIGNvbnN0IGVudHJ5ID0gdDQKLSAgICAgICAgY29uc3Qgdm0g
PSB0MwotICAgICAgICBjb25zdCBwcm90b0NhbGxGcmFtZSA9IHQ1Ci0KLSAgICAgICAgY29uc3Qg
dGVtcDEgPSB0MAotICAgICAgICBjb25zdCB0ZW1wMiA9IHQxCi0gICAgICAgIGNvbnN0IHRlbXAz
ID0gdDIKLSAgICAgICAgY29uc3QgdGVtcDQgPSB0MyAjIHNhbWUgYXMgdm0KLSAgICBlbHNpZiBB
Uk0gb3IgQVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgQ19MT09QCi0gICAgICAgIGNvbnN0
IGVudHJ5ID0gYTAKLSAgICAgICAgY29uc3Qgdm0gPSBhMQotICAgICAgICBjb25zdCBwcm90b0Nh
bGxGcmFtZSA9IGEyCi0KLSAgICAgICAgY29uc3QgdGVtcDEgPSB0MwotICAgICAgICBjb25zdCB0
ZW1wMiA9IHQ0Ci0gICAgICAgIGNvbnN0IHRlbXAzID0gdDUKLSAgICAgICAgY29uc3QgdGVtcDQg
PSB0NCAjIFNhbWUgYXMgdGVtcDIKLSAgICBlbHNpZiBNSVBTCi0gICAgICAgIGNvbnN0IGVudHJ5
ID0gYTAKLSAgICAgICAgY29uc3Qgdm0gPSBhMQotICAgICAgICBjb25zdCBwcm90b0NhbGxGcmFt
ZSA9IGEyCi0KLSAgICAgICAgY29uc3QgdGVtcDEgPSB0MwotICAgICAgICBjb25zdCB0ZW1wMiA9
IHQ1Ci0gICAgICAgIGNvbnN0IHRlbXAzID0gdDQKLSAgICAgICAgY29uc3QgdGVtcDQgPSB0Ngot
ICAgIGVsc2lmIFNINAotICAgICAgICBjb25zdCBlbnRyeSA9IGEwCi0gICAgICAgIGNvbnN0IHZt
ID0gYTEKLSAgICAgICAgY29uc3QgcHJvdG9DYWxsRnJhbWUgPSBhMgotCi0gICAgICAgIGNvbnN0
IHRlbXAxID0gdDMKLSAgICAgICAgY29uc3QgdGVtcDIgPSBhMwotICAgICAgICBjb25zdCB0ZW1w
MyA9IHQ4Ci0gICAgICAgIGNvbnN0IHRlbXA0ID0gdDkKLSAgICBlbmQKLQogICAgIGZ1bmN0aW9u
UHJvbG9ndWUoKQogICAgIHB1c2hDYWxsZWVTYXZlcygpCiAKKyAgICAjIHg4NiBuZWVkcyB0byBs
b2FkIGFyZ3VtZW50cyBmcm9tIHRoZSBzdGFjawogICAgIGlmIFg4NiBvciBYODZfV0lOCi0gICAg
ICAgIGxvYWRwIDEyW2Nmcl0sIHZtCi0gICAgICAgIGxvYWRwIDhbY2ZyXSwgZW50cnkKKyAgICAg
ICAgbG9hZHAgMTZbY2ZyXSwgYTIKKyAgICAgICAgbG9hZHAgMTJbY2ZyXSwgYTEKKyAgICAgICAg
bG9hZHAgOFtjZnJdLCBhMAogICAgIGVuZAogCisgICAgY29uc3QgZW50cnkgPSBhMAorICAgIGNv
bnN0IHZtID0gYTEKKyAgICBjb25zdCBwcm90b0NhbGxGcmFtZSA9IGEyCisKKyAgICAjIFdlIGFy
ZSB1c2luZyB0MywgdDQgYW5kIHQ1IGFzIHRlbXBvcmFyaWVzIHRocm91Z2ggdGhlIGZ1bmN0aW9u
LgorICAgICMgU2luY2Ugd2UgaGF2ZSB0aGUgZ3VhcmFudGVlIHRoYXQgdFggIT0gYVkgd2hlbiBY
ICE9IFksIHdlIGFyZSBzYWZlIGZyb20KKyAgICAjIGFsaWFzaW5nIHByb2JsZW1zIHdpdGggb3Vy
IGFyZ3VtZW50cy4KKwogICAgIGlmIEFSTXY3Ci0gICAgICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0
ZW1wMSkKLSAgICAgICAgbW92ZSB0ZW1wMSwgc3AKKyAgICAgICAgdm1FbnRyeVJlY29yZChjZnIs
IHQzKQorICAgICAgICBtb3ZlIHQzLCBzcAogICAgIGVsc2UKICAgICAgICAgdm1FbnRyeVJlY29y
ZChjZnIsIHNwKQogICAgIGVuZAogCiAgICAgc3RvcmVwIHZtLCBWTUVudHJ5UmVjb3JkOjptX3Zt
W3NwXQotICAgIGxvYWRwIFZNOjp0b3BDYWxsRnJhbWVbdm1dLCB0ZW1wMgotICAgIHN0b3JlcCB0
ZW1wMiwgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wQ2FsbEZyYW1lW3NwXQotICAgIGxvYWRwIFZN
Ojp0b3BWTUVudHJ5RnJhbWVbdm1dLCB0ZW1wMgotICAgIHN0b3JlcCB0ZW1wMiwgVk1FbnRyeVJl
Y29yZDo6bV9wcmV2VG9wVk1FbnRyeUZyYW1lW3NwXQorICAgIGxvYWRwIFZNOjp0b3BDYWxsRnJh
bWVbdm1dLCB0NAorICAgIHN0b3JlcCB0NCwgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wQ2FsbEZy
YW1lW3NwXQorICAgIGxvYWRwIFZNOjp0b3BWTUVudHJ5RnJhbWVbdm1dLCB0NAorICAgIHN0b3Jl
cCB0NCwgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wVk1FbnRyeUZyYW1lW3NwXQogCiAgICAgIyBB
bGlnbiBzdGFjayBwb2ludGVyCiAgICAgaWYgWDg2X1dJTgotICAgICAgICBhZGRwIENhbGxGcmFt
ZUFsaWduU2xvdHMgKiBTbG90U2l6ZSwgc3AsIHRlbXAxCi0gICAgICAgIGFuZHAgflN0YWNrQWxp
Z25tZW50TWFzaywgdGVtcDEKLSAgICAgICAgc3VicCB0ZW1wMSwgQ2FsbEZyYW1lQWxpZ25TbG90
cyAqIFNsb3RTaXplLCBzcAorICAgICAgICBhZGRwIENhbGxGcmFtZUFsaWduU2xvdHMgKiBTbG90
U2l6ZSwgc3AsIHQzCisgICAgICAgIGFuZHAgflN0YWNrQWxpZ25tZW50TWFzaywgdDMKKyAgICAg
ICAgc3VicCB0MywgQ2FsbEZyYW1lQWxpZ25TbG90cyAqIFNsb3RTaXplLCBzcAogICAgIGVsc2lm
IEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTAotICAgICAgICBhZGRwIENhbGxGcmFt
ZUFsaWduU2xvdHMgKiBTbG90U2l6ZSwgc3AsIHRlbXAxCi0gICAgICAgIGNscmJwIHRlbXAxLCBT
dGFja0FsaWdubWVudE1hc2ssIHRlbXAxCisgICAgICAgIGFkZHAgQ2FsbEZyYW1lQWxpZ25TbG90
cyAqIFNsb3RTaXplLCBzcCwgdDMKKyAgICAgICAgY2xyYnAgdDMsIFN0YWNrQWxpZ25tZW50TWFz
aywgdDMKICAgICAgICAgaWYgQVJNdjcKLSAgICAgICAgICAgIHN1YnAgdGVtcDEsIENhbGxGcmFt
ZUFsaWduU2xvdHMgKiBTbG90U2l6ZSwgdGVtcDEKLSAgICAgICAgICAgIG1vdmUgdGVtcDEsIHNw
CisgICAgICAgICAgICBzdWJwIHQzLCBDYWxsRnJhbWVBbGlnblNsb3RzICogU2xvdFNpemUsIHQz
CisgICAgICAgICAgICBtb3ZlIHQzLCBzcAogICAgICAgICBlbHNlCi0gICAgICAgICAgICBzdWJw
IHRlbXAxLCBDYWxsRnJhbWVBbGlnblNsb3RzICogU2xvdFNpemUsIHNwCisgICAgICAgICAgICBz
dWJwIHQzLCBDYWxsRnJhbWVBbGlnblNsb3RzICogU2xvdFNpemUsIHNwCiAgICAgICAgIGVuZAog
ICAgIGVuZAogCi0gICAgaWYgWDg2IG9yIFg4Nl9XSU4KLSAgICAgICAgbG9hZHAgMTZbY2ZyXSwg
cHJvdG9DYWxsRnJhbWUKLSAgICBlbmQKLQotICAgIGxvYWRpIFByb3RvQ2FsbEZyYW1lOjpwYWRk
ZWRBcmdDb3VudFtwcm90b0NhbGxGcmFtZV0sIHRlbXAyCi0gICAgYWRkcCBDYWxsRnJhbWVIZWFk
ZXJTbG90cywgdGVtcDIsIHRlbXAyCi0gICAgbHNoaWZ0cCAzLCB0ZW1wMgotICAgIHN1YnAgc3As
IHRlbXAyLCB0ZW1wMQorICAgIGxvYWRpIFByb3RvQ2FsbEZyYW1lOjpwYWRkZWRBcmdDb3VudFtw
cm90b0NhbGxGcmFtZV0sIHQ0CisgICAgYWRkcCBDYWxsRnJhbWVIZWFkZXJTbG90cywgdDQsIHQ0
CisgICAgbHNoaWZ0cCAzLCB0NAorICAgIHN1YnAgc3AsIHQ0LCB0MwogCiAgICAgIyBFbnN1cmUg
dGhhdCB3ZSBoYXZlIGVub3VnaCBhZGRpdGlvbmFsIHN0YWNrIGNhcGFjaXR5IGZvciB0aGUgaW5j
b21pbmcgYXJncywKICAgICAjIGFuZCB0aGUgZnJhbWUgZm9yIHRoZSBKUyBjb2RlIHdlJ3JlIGV4
ZWN1dGluZy4gV2UgbmVlZCB0byBkbyB0aGlzIGNoZWNrCiAgICAgIyBiZWZvcmUgd2Ugc3RhcnQg
Y29weWluZyB0aGUgYXJncyBmcm9tIHRoZSBwcm90b0NhbGxGcmFtZSBiZWxvdy4KLSAgICBicGFl
cSB0ZW1wMSwgVk06Om1fanNTdGFja0xpbWl0W3ZtXSwgLnN0YWNrSGVpZ2h0T0sKKyAgICBicGFl
cSB0MywgVk06Om1fanNTdGFja0xpbWl0W3ZtXSwgLnN0YWNrSGVpZ2h0T0sKIAogICAgIGlmIENf
TE9PUAotICAgICAgICBtb3ZlIGVudHJ5LCB0ZW1wMgotICAgICAgICBtb3ZlIHZtLCB0ZW1wMwot
ICAgICAgICBjbG9vcENhbGxTbG93UGF0aCBfbGxpbnRfc3RhY2tfY2hlY2tfYXRfdm1fZW50cnks
IHZtLCB0ZW1wMQorICAgICAgICBtb3ZlIGVudHJ5LCB0NAorICAgICAgICBtb3ZlIHZtLCB0NQor
ICAgICAgICBjbG9vcENhbGxTbG93UGF0aCBfbGxpbnRfc3RhY2tfY2hlY2tfYXRfdm1fZW50cnks
IHZtLCB0MwogICAgICAgICBicGVxIHQwLCAwLCAuc3RhY2tDaGVja0ZhaWxlZAotICAgICAgICBt
b3ZlIHRlbXAyLCBlbnRyeQotICAgICAgICBtb3ZlIHRlbXAzLCB2bQorICAgICAgICBtb3ZlIHQ0
LCBlbnRyeQorICAgICAgICBtb3ZlIHQ1LCB2bQogICAgICAgICBqbXAgLnN0YWNrSGVpZ2h0T0sK
IAogLnN0YWNrQ2hlY2tGYWlsZWQ6Ci0gICAgICAgIG1vdmUgdGVtcDIsIGVudHJ5Ci0gICAgICAg
IG1vdmUgdGVtcDMsIHZtCisgICAgICAgIG1vdmUgdDQsIGVudHJ5CisgICAgICAgIG1vdmUgdDUs
IHZtCiAgICAgZW5kCiAKICAgICBzdWJwIDgsIHNwICMgQWxpZ24gc3RhY2sgZm9yIGNDYWxsMigp
IHRvIG1ha2UgYSBjYWxsLgotICAgIGNDYWxsMihfbGxpbnRfdGhyb3dfc3RhY2tfb3ZlcmZsb3df
ZXJyb3IsIHZtLCBwcm90b0NhbGxGcmFtZSkKKyAgICBtb3ZlIHZtLCBhMAorICAgIG1vdmUgcHJv
dG9DYWxsRnJhbWUsIGExCisgICAgY0NhbGwyKF9sbGludF90aHJvd19zdGFja19vdmVyZmxvd19l
cnJvcikKIAogICAgIGlmIEFSTXY3Ci0gICAgICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0ZW1wMSkK
LSAgICAgICAgbW92ZSB0ZW1wMSwgc3AKKyAgICAgICAgdm1FbnRyeVJlY29yZChjZnIsIHQzKQor
ICAgICAgICBtb3ZlIHQzLCBzcAogICAgIGVsc2UKICAgICAgICAgdm1FbnRyeVJlY29yZChjZnIs
IHNwKQogICAgIGVuZAogCi0gICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV92bVtzcF0sIHRlbXAz
Ci0gICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wQ2FsbEZyYW1lW3NwXSwgdGVtcDQK
LSAgICBzdG9yZXAgdGVtcDQsIFZNOjp0b3BDYWxsRnJhbWVbdGVtcDNdCi0gICAgbG9hZHAgVk1F
bnRyeVJlY29yZDo6bV9wcmV2VG9wVk1FbnRyeUZyYW1lW3NwXSwgdGVtcDQKLSAgICBzdG9yZXAg
dGVtcDQsIFZNOjp0b3BWTUVudHJ5RnJhbWVbdGVtcDNdCisgICAgbG9hZHAgVk1FbnRyeVJlY29y
ZDo6bV92bVtzcF0sIHQ1CisgICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wQ2FsbEZy
YW1lW3NwXSwgdDQKKyAgICBzdG9yZXAgdDQsIFZNOjp0b3BDYWxsRnJhbWVbdDVdCisgICAgbG9h
ZHAgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wVk1FbnRyeUZyYW1lW3NwXSwgdDQKKyAgICBzdG9y
ZXAgdDQsIFZNOjp0b3BWTUVudHJ5RnJhbWVbdDVdCiAKICAgICBpZiBBUk12NwotICAgICAgICBz
dWJwIGNmciwgQ2FsbGVlUmVnaXN0ZXJTYXZlU2l6ZSwgdGVtcDMKLSAgICAgICAgbW92ZSB0ZW1w
Mywgc3AKKyAgICAgICAgc3VicCBjZnIsIENhbGxlZVJlZ2lzdGVyU2F2ZVNpemUsIHQ1CisgICAg
ICAgIG1vdmUgdDUsIHNwCiAgICAgZWxzZQogICAgICAgICBzdWJwIGNmciwgQ2FsbGVlUmVnaXN0
ZXJTYXZlU2l6ZSwgc3AKICAgICBlbmQKQEAgLTI4Nyw2MyArMTk4LDYzIEBAIG1hY3JvIGRvVk1F
bnRyeShtYWtlQ2FsbCkKICAgICByZXQKIAogLnN0YWNrSGVpZ2h0T0s6Ci0gICAgbW92ZSB0ZW1w
MSwgc3AKLSAgICBtb3ZlIDQsIHRlbXAxCisgICAgbW92ZSB0Mywgc3AKKyAgICBtb3ZlIDQsIHQz
CiAKIC5jb3B5SGVhZGVyTG9vcDoKLSAgICBzdWJpIDEsIHRlbXAxCi0gICAgbG9hZGkgVGFnT2Zm
c2V0W3Byb3RvQ2FsbEZyYW1lLCB0ZW1wMSwgOF0sIHRlbXAzCi0gICAgc3RvcmVpIHRlbXAzLCBU
YWdPZmZzZXQgKyBDb2RlQmxvY2tbc3AsIHRlbXAxLCA4XQotICAgIGxvYWRpIFBheWxvYWRPZmZz
ZXRbcHJvdG9DYWxsRnJhbWUsIHRlbXAxLCA4XSwgdGVtcDMKLSAgICBzdG9yZWkgdGVtcDMsIFBh
eWxvYWRPZmZzZXQgKyBDb2RlQmxvY2tbc3AsIHRlbXAxLCA4XQotICAgIGJ0aW56IHRlbXAxLCAu
Y29weUhlYWRlckxvb3AKLQotICAgIGxvYWRpIFBheWxvYWRPZmZzZXQgKyBQcm90b0NhbGxGcmFt
ZTo6YXJnQ291bnRBbmRDb2RlT3JpZ2luVmFsdWVbcHJvdG9DYWxsRnJhbWVdLCB0ZW1wMgotICAg
IHN1YmkgMSwgdGVtcDIKLSAgICBsb2FkaSBQcm90b0NhbGxGcmFtZTo6cGFkZGVkQXJnQ291bnRb
cHJvdG9DYWxsRnJhbWVdLCB0ZW1wMwotICAgIHN1YmkgMSwgdGVtcDMKLQotICAgIGJpZXEgdGVt
cDIsIHRlbXAzLCAuY29weUFyZ3MKKyAgICBzdWJpIDEsIHQzCisgICAgbG9hZGkgVGFnT2Zmc2V0
W3Byb3RvQ2FsbEZyYW1lLCB0MywgOF0sIHQ1CisgICAgc3RvcmVpIHQ1LCBUYWdPZmZzZXQgKyBD
b2RlQmxvY2tbc3AsIHQzLCA4XQorICAgIGxvYWRpIFBheWxvYWRPZmZzZXRbcHJvdG9DYWxsRnJh
bWUsIHQzLCA4XSwgdDUKKyAgICBzdG9yZWkgdDUsIFBheWxvYWRPZmZzZXQgKyBDb2RlQmxvY2tb
c3AsIHQzLCA4XQorICAgIGJ0aW56IHQzLCAuY29weUhlYWRlckxvb3AKKworICAgIGxvYWRpIFBh
eWxvYWRPZmZzZXQgKyBQcm90b0NhbGxGcmFtZTo6YXJnQ291bnRBbmRDb2RlT3JpZ2luVmFsdWVb
cHJvdG9DYWxsRnJhbWVdLCB0NAorICAgIHN1YmkgMSwgdDQKKyAgICBsb2FkaSBQcm90b0NhbGxG
cmFtZTo6cGFkZGVkQXJnQ291bnRbcHJvdG9DYWxsRnJhbWVdLCB0NQorICAgIHN1YmkgMSwgdDUK
KworICAgIGJpZXEgdDQsIHQ1LCAuY29weUFyZ3MKIC5maWxsRXh0cmFBcmdzTG9vcDoKLSAgICBz
dWJpIDEsIHRlbXAzCi0gICAgc3RvcmVpIFVuZGVmaW5lZFRhZywgVGhpc0FyZ3VtZW50T2Zmc2V0
ICsgOCArIFRhZ09mZnNldFtzcCwgdGVtcDMsIDhdCi0gICAgc3RvcmVpIDAsIFRoaXNBcmd1bWVu
dE9mZnNldCArIDggKyBQYXlsb2FkT2Zmc2V0W3NwLCB0ZW1wMywgOF0KLSAgICBiaW5lcSB0ZW1w
MiwgdGVtcDMsIC5maWxsRXh0cmFBcmdzTG9vcAorICAgIHN1YmkgMSwgdDUKKyAgICBzdG9yZWkg
VW5kZWZpbmVkVGFnLCBUaGlzQXJndW1lbnRPZmZzZXQgKyA4ICsgVGFnT2Zmc2V0W3NwLCB0NSwg
OF0KKyAgICBzdG9yZWkgMCwgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgOCArIFBheWxvYWRPZmZzZXRb
c3AsIHQ1LCA4XQorICAgIGJpbmVxIHQ0LCB0NSwgLmZpbGxFeHRyYUFyZ3NMb29wCiAKIC5jb3B5
QXJnczoKLSAgICBsb2FkcCBQcm90b0NhbGxGcmFtZTo6YXJnc1twcm90b0NhbGxGcmFtZV0sIHRl
bXAxCisgICAgbG9hZHAgUHJvdG9DYWxsRnJhbWU6OmFyZ3NbcHJvdG9DYWxsRnJhbWVdLCB0Mwog
CiAuY29weUFyZ3NMb29wOgotICAgIGJ0aXogdGVtcDIsIC5jb3B5QXJnc0RvbmUKLSAgICBzdWJp
IDEsIHRlbXAyCi0gICAgbG9hZGkgVGFnT2Zmc2V0W3RlbXAxLCB0ZW1wMiwgOF0sIHRlbXAzCi0g
ICAgc3RvcmVpIHRlbXAzLCBUaGlzQXJndW1lbnRPZmZzZXQgKyA4ICsgVGFnT2Zmc2V0W3NwLCB0
ZW1wMiwgOF0KLSAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W3RlbXAxLCB0ZW1wMiwgOF0sIHRlbXAz
Ci0gICAgc3RvcmVpIHRlbXAzLCBUaGlzQXJndW1lbnRPZmZzZXQgKyA4ICsgUGF5bG9hZE9mZnNl
dFtzcCwgdGVtcDIsIDhdCisgICAgYnRpeiB0NCwgLmNvcHlBcmdzRG9uZQorICAgIHN1YmkgMSwg
dDQKKyAgICBsb2FkaSBUYWdPZmZzZXRbdDMsIHQ0LCA4XSwgdDUKKyAgICBzdG9yZWkgdDUsIFRo
aXNBcmd1bWVudE9mZnNldCArIDggKyBUYWdPZmZzZXRbc3AsIHQ0LCA4XQorICAgIGxvYWRpIFBh
eWxvYWRPZmZzZXRbdDMsIHQ0LCA4XSwgdDUKKyAgICBzdG9yZWkgdDUsIFRoaXNBcmd1bWVudE9m
ZnNldCArIDggKyBQYXlsb2FkT2Zmc2V0W3NwLCB0NCwgOF0KICAgICBqbXAgLmNvcHlBcmdzTG9v
cAogCiAuY29weUFyZ3NEb25lOgogICAgIHN0b3JlcCBzcCwgVk06OnRvcENhbGxGcmFtZVt2bV0K
ICAgICBzdG9yZXAgY2ZyLCBWTTo6dG9wVk1FbnRyeUZyYW1lW3ZtXQogCi0gICAgbWFrZUNhbGwo
ZW50cnksIHRlbXAxLCB0ZW1wMikKKyAgICBtYWtlQ2FsbChlbnRyeSwgdDMsIHQ0KQogCiAgICAg
aWYgQVJNdjcKLSAgICAgICAgdm1FbnRyeVJlY29yZChjZnIsIHRlbXAxKQotICAgICAgICBtb3Zl
IHRlbXAxLCBzcAorICAgICAgICB2bUVudHJ5UmVjb3JkKGNmciwgdDMpCisgICAgICAgIG1vdmUg
dDMsIHNwCiAgICAgZWxzZQogICAgICAgICB2bUVudHJ5UmVjb3JkKGNmciwgc3ApCiAgICAgZW5k
CiAKLSAgICBsb2FkcCBWTUVudHJ5UmVjb3JkOjptX3ZtW3NwXSwgdGVtcDMKLSAgICBsb2FkcCBW
TUVudHJ5UmVjb3JkOjptX3ByZXZUb3BDYWxsRnJhbWVbc3BdLCB0ZW1wNAotICAgIHN0b3JlcCB0
ZW1wNCwgVk06OnRvcENhbGxGcmFtZVt0ZW1wM10KLSAgICBsb2FkcCBWTUVudHJ5UmVjb3JkOjpt
X3ByZXZUb3BWTUVudHJ5RnJhbWVbc3BdLCB0ZW1wNAotICAgIHN0b3JlcCB0ZW1wNCwgVk06OnRv
cFZNRW50cnlGcmFtZVt0ZW1wM10KKyAgICBsb2FkcCBWTUVudHJ5UmVjb3JkOjptX3ZtW3NwXSwg
dDUKKyAgICBsb2FkcCBWTUVudHJ5UmVjb3JkOjptX3ByZXZUb3BDYWxsRnJhbWVbc3BdLCB0NAor
ICAgIHN0b3JlcCB0NCwgVk06OnRvcENhbGxGcmFtZVt0NV0KKyAgICBsb2FkcCBWTUVudHJ5UmVj
b3JkOjptX3ByZXZUb3BWTUVudHJ5RnJhbWVbc3BdLCB0NAorICAgIHN0b3JlcCB0NCwgVk06OnRv
cFZNRW50cnlGcmFtZVt0NV0KIAogICAgIGlmIEFSTXY3Ci0gICAgICAgIHN1YnAgY2ZyLCBDYWxs
ZWVSZWdpc3RlclNhdmVTaXplLCB0ZW1wMwotICAgICAgICBtb3ZlIHRlbXAzLCBzcAorICAgICAg
ICBzdWJwIGNmciwgQ2FsbGVlUmVnaXN0ZXJTYXZlU2l6ZSwgdDUKKyAgICAgICAgbW92ZSB0NSwg
c3AKICAgICBlbHNlCiAgICAgICAgIHN1YnAgY2ZyLCBDYWxsZWVSZWdpc3RlclNhdmVTaXplLCBz
cAogICAgIGVuZApAQCAtMzU1LDEzICsyNjYsMTMgQEAgZW5kCiAKIG1hY3JvIG1ha2VKYXZhU2Ny
aXB0Q2FsbChlbnRyeSwgdGVtcCwgdW51c2VkKQogICAgIGFkZHAgQ2FsbGVyRnJhbWVBbmRQQ1Np
emUsIHNwCi0gICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDIsIDB4YmFkMGRjMDIpCisg
ICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodGVtcCwgMHhiYWQwZGMwMikKICAgICBpZiBD
X0xPT1AKICAgICAgICAgY2xvb3BDYWxsSlNGdW5jdGlvbiBlbnRyeQogICAgIGVsc2UKICAgICAg
ICAgY2FsbCBlbnRyeQogICAgIGVuZAotICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQy
LCAweGJhZDBkYzAzKQorICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHRlbXAsIDB4YmFk
MGRjMDMpCiAgICAgc3VicCBDYWxsZXJGcmFtZUFuZFBDU2l6ZSwgc3AKIGVuZAogCkBAIC0zNzYs
OSArMjg3LDkgQEAgbWFjcm8gbWFrZUhvc3RGdW5jdGlvbkNhbGwoZW50cnksIHRlbXAxLCB0ZW1w
MikKICAgICAgICAgIyBQdXQgY2FsbGVlIGZyYW1lIHBvaW50ZXIgb24gc3RhY2sgYXMgYXJnMCwg
YWxzbyBwdXQgaXQgaW4gZWN4IGZvciAiZmFzdGNhbGwiIHRhcmdldHMKICAgICAgICAgbW92ZSAw
LCB0ZW1wMgogICAgICAgICBtb3ZlIHRlbXAyLCA0W3NwXSAjIHB1dCAwIGluIFJldHVyblBDCi0g
ICAgICAgIG1vdmUgc3AsIHQyICMgdDIgaXMgZWN4CisgICAgICAgIG1vdmUgc3AsIGEwICMgYTAg
aXMgZWN4CiAgICAgICAgIHB1c2ggdGVtcDIgIyBQdXNoIGR1bW15IGFyZzEKLSAgICAgICAgcHVz
aCB0MgorICAgICAgICBwdXNoIGEwCiAgICAgICAgIGNhbGwgdGVtcDEKICAgICAgICAgYWRkcCA4
LCBzcAogICAgIGVsc2UKQEAgLTQyOSwzMSArMzQwLDQzIEBAIGVuZAogIyBkZWJ1Z2dpbmcgZnJv
bS4gb3BlcmFuZCBzaG91bGQgbGlrZXdpc2UgYmUgYW4gaW1tZWRpYXRlLCBhbmQgc2hvdWxkIGlk
ZW50aWZ5IHRoZSBvcGVyYW5kCiAjIGluIHRoZSBpbnN0cnVjdGlvbiBzdHJlYW0geW91J2QgbGlr
ZSB0byBwcmludCBvdXQuCiBtYWNybyB0cmFjZU9wZXJhbmQoZnJvbVdoZXJlLCBvcGVyYW5kKQot
ICAgIGNDYWxsNChfbGxpbnRfdHJhY2Vfb3BlcmFuZCwgY2ZyLCBQQywgZnJvbVdoZXJlLCBvcGVy
YW5kKQotICAgIG1vdmUgdDAsIFBDCi0gICAgbW92ZSB0MSwgY2ZyCisgICAgbW92ZSBmcm9tV2hl
cmUsIGEyCisgICAgbW92ZSBvcGVyYW5kLCBhMworICAgIG1vdmUgY2ZyLCBhMAorICAgIG1vdmUg
UEMsIGExCisgICAgY0NhbGw0KF9sbGludF90cmFjZV9vcGVyYW5kKQorICAgIG1vdmUgcjAsIFBD
CisgICAgbW92ZSByMSwgY2ZyCiBlbmQKIAogIyBEZWJ1Z2dpbmcgb3BlcmF0aW9uIGlmIHlvdSdk
IGxpa2UgdG8gcHJpbnQgdGhlIHZhbHVlIG9mIGFuIG9wZXJhbmQgaW4gdGhlIGluc3RydWN0aW9u
CiAjIHN0cmVhbS4gU2FtZSBhcyB0cmFjZU9wZXJhbmQoKSwgYnV0IGFzc3VtZXMgdGhhdCB0aGUg
b3BlcmFuZCBpcyBhIHJlZ2lzdGVyLCBhbmQgcHJpbnRzIGl0cwogIyB2YWx1ZS4KIG1hY3JvIHRy
YWNlVmFsdWUoZnJvbVdoZXJlLCBvcGVyYW5kKQotICAgIGNDYWxsNChfbGxpbnRfdHJhY2VfdmFs
dWUsIGNmciwgUEMsIGZyb21XaGVyZSwgb3BlcmFuZCkKLSAgICBtb3ZlIHQwLCBQQwotICAgIG1v
dmUgdDEsIGNmcgorICAgIG1vdmUgZnJvbVdoZXJlLCBhMgorICAgIG1vdmUgb3BlcmFuZCwgYTMK
KyAgICBtb3ZlIGNmciwgYTAKKyAgICBtb3ZlIFBDLCBhMQorICAgIGNDYWxsNChfbGxpbnRfdHJh
Y2VfdmFsdWUpCisgICAgbW92ZSByMCwgUEMKKyAgICBtb3ZlIHIxLCBjZnIKIGVuZAogCiAjIENh
bGwgYSBzbG93UGF0aCBmb3IgY2FsbCBvcGNvZGVzLgogbWFjcm8gY2FsbENhbGxTbG93UGF0aChz
bG93UGF0aCwgYWN0aW9uKQogICAgIHN0b3JlcCBQQywgQXJndW1lbnRDb3VudCArIFRhZ09mZnNl
dFtjZnJdCi0gICAgY0NhbGwyKHNsb3dQYXRoLCBjZnIsIFBDKQotICAgIGFjdGlvbih0MCkKKyAg
ICBtb3ZlIGNmciwgYTAKKyAgICBtb3ZlIFBDLCBhMQorICAgIGNDYWxsMihzbG93UGF0aCkKKyAg
ICBhY3Rpb24ocjAsIHIxKQogZW5kCiAKIG1hY3JvIGNhbGxXYXRjaGRvZ1RpbWVySGFuZGxlcih0
aHJvd0hhbmRsZXIpCiAgICAgc3RvcmVpIFBDLCBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nm
cl0KLSAgICBjQ2FsbDIoX2xsaW50X3Nsb3dfcGF0aF9oYW5kbGVfd2F0Y2hkb2dfdGltZXIsIGNm
ciwgUEMpCi0gICAgYnRwbnogdDAsIHRocm93SGFuZGxlcgorICAgIG1vdmUgY2ZyLCBhMAorICAg
IG1vdmUgUEMsIGExCisgICAgY0NhbGwyKF9sbGludF9zbG93X3BhdGhfaGFuZGxlX3dhdGNoZG9n
X3RpbWVyKQorICAgIGJ0cG56IHIwLCB0aHJvd0hhbmRsZXIKICAgICBsb2FkaSBBcmd1bWVudENv
dW50ICsgVGFnT2Zmc2V0W2Nmcl0sIFBDCiBlbmQKIApAQCAtNDYyLDEwICszODUsMTIgQEAgbWFj
cm8gY2hlY2tTd2l0Y2hUb0pJVEZvckxvb3AoKQogICAgICAgICAxLAogICAgICAgICBtYWNybyAo
KQogICAgICAgICAgICAgc3RvcmVpIFBDLCBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0K
LSAgICAgICAgICAgIGNDYWxsMihfbGxpbnRfbG9vcF9vc3IsIGNmciwgUEMpCi0gICAgICAgICAg
ICBidHB6IHQwLCAucmVjb3ZlcgotICAgICAgICAgICAgbW92ZSB0MSwgc3AKLSAgICAgICAgICAg
IGptcCB0MAorICAgICAgICAgICAgbW92ZSBjZnIsIGEwCisgICAgICAgICAgICBtb3ZlIFBDLCBh
MQorICAgICAgICAgICAgY0NhbGwyKF9sbGludF9sb29wX29zcikKKyAgICAgICAgICAgIGJ0cHog
cjAsIC5yZWNvdmVyCisgICAgICAgICAgICBtb3ZlIHIxLCBzcAorICAgICAgICAgICAgam1wIHIw
CiAgICAgICAgIC5yZWNvdmVyOgogICAgICAgICAgICAgbG9hZGkgQXJndW1lbnRDb3VudCArIFRh
Z09mZnNldFtjZnJdLCBQQwogICAgICAgICBlbmQpCkBAIC01NzYsNyArNTAxLDkgQEAgbWFjcm8g
d3JpdGVCYXJyaWVyT25PcGVyYW5kKGNlbGxPcGVyYW5kKQogICAgICAgICAgICAgICAgIHB1c2gg
Y2ZyLCBQQwogICAgICAgICAgICAgICAgICMgV2UgbWFrZSB0d28gZXh0cmEgc2xvdHMgYmVjYXVz
ZSBjQ2FsbDIgd2lsbCBwb2tlLgogICAgICAgICAgICAgICAgIHN1YnAgOCwgc3AKLSAgICAgICAg
ICAgICAgICBjQ2FsbDJWb2lkKF9sbGludF93cml0ZV9iYXJyaWVyX3Nsb3csIGNmciwgdDIpCisg
ICAgICAgICAgICAgICAgbW92ZSB0MiwgYTEgIyB0MiBjYW4gYmUgYTAgb24geDg2CisgICAgICAg
ICAgICAgICAgbW92ZSBjZnIsIGEwCisgICAgICAgICAgICAgICAgY0NhbGwyVm9pZChfbGxpbnRf
d3JpdGVfYmFycmllcl9zbG93KQogICAgICAgICAgICAgICAgIGFkZHAgOCwgc3AKICAgICAgICAg
ICAgICAgICBwb3AgUEMsIGNmcgogICAgICAgICAgICAgZW5kCkBAIC02MTAsNyArNTM3LDkgQEAg
bWFjcm8gd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3QodmFsdWVPcGVyYW5kKQogICAgICAgICAg
ICAgICAgIHB1c2ggY2ZyLCBQQwogICAgICAgICAgICAgICAgICMgV2UgbWFrZSB0d28gZXh0cmEg
c2xvdHMgYmVjYXVzZSBjQ2FsbDIgd2lsbCBwb2tlLgogICAgICAgICAgICAgICAgIHN1YnAgOCwg
c3AKLSAgICAgICAgICAgICAgICBjQ2FsbDJWb2lkKF9sbGludF93cml0ZV9iYXJyaWVyX3Nsb3cs
IGNmciwgdDMpCisgICAgICAgICAgICAgICAgbW92ZSBjZnIsIGEwCisgICAgICAgICAgICAgICAg
bW92ZSB0MywgYTEKKyAgICAgICAgICAgICAgICBjQ2FsbDJWb2lkKF9sbGludF93cml0ZV9iYXJy
aWVyX3Nsb3cpCiAgICAgICAgICAgICAgICAgYWRkcCA4LCBzcAogICAgICAgICAgICAgICAgIHBv
cCBQQywgY2ZyCiAgICAgICAgICAgICBlbmQKQEAgLTYzMiwxOSArNTYxLDIxIEBAIGVuZAogbWFj
cm8gZnVuY3Rpb25Bcml0eUNoZWNrKGRvbmVMYWJlbCwgc2xvd1BhdGgpCiAgICAgbG9hZGkgUGF5
bG9hZE9mZnNldCArIEFyZ3VtZW50Q291bnRbY2ZyXSwgdDAKICAgICBiaWFlcSB0MCwgQ29kZUJs
b2NrOjptX251bVBhcmFtZXRlcnNbdDFdLCBkb25lTGFiZWwKLSAgICBjQ2FsbDIoc2xvd1BhdGgs
IGNmciwgUEMpICAgIyBUaGlzIHNsb3dQYXRoIGhhcyBhIHNpbXBsZSBwcm90b2NvbDogdDAgPSAw
ID0+IG5vIGVycm9yLCB0MCAhPSAwID0+IGVycm9yCi0gICAgYnRpeiB0MCwgLm5vRXJyb3IKLSAg
ICBtb3ZlIHQxLCBjZnIgICAjIHQxIGNvbnRhaW5zIGNhbGxlciBmcmFtZQorICAgIG1vdmUgY2Zy
LCBhMAorICAgIG1vdmUgUEMsIGExCisgICAgY0NhbGwyKHNsb3dQYXRoKSAgICMgVGhpcyBzbG93
UGF0aCBoYXMgYSBzaW1wbGUgcHJvdG9jb2w6IHQwID0gMCA9PiBubyBlcnJvciwgdDAgIT0gMCA9
PiBlcnJvcgorICAgIGJ0aXogcjAsIC5ub0Vycm9yCisgICAgbW92ZSByMSwgY2ZyICAgIyByMSBj
b250YWlucyBjYWxsZXIgZnJhbWUKICAgICBqbXAgX2xsaW50X3Rocm93X2Zyb21fc2xvd19wYXRo
X3RyYW1wb2xpbmUKIAogLm5vRXJyb3I6Ci0gICAgIyB0MSBwb2ludHMgdG8gQXJpdHlDaGVja0Rh
dGEuCi0gICAgbG9hZHAgQ29tbW9uU2xvd1BhdGhzOjpBcml0eUNoZWNrRGF0YTo6dGh1bmtUb0Nh
bGxbdDFdLCB0MgotICAgIGJ0cHogdDIsIC5wcm9jZWVkSW5saW5lCisgICAgIyByMSBwb2ludHMg
dG8gQXJpdHlDaGVja0RhdGEuCisgICAgbG9hZHAgQ29tbW9uU2xvd1BhdGhzOjpBcml0eUNoZWNr
RGF0YTo6dGh1bmtUb0NhbGxbcjFdLCB0MworICAgIGJ0cHogdDMsIC5wcm9jZWVkSW5saW5lCiAg
ICAgCi0gICAgbG9hZHAgQ29tbW9uU2xvd1BhdGhzOjpBcml0eUNoZWNrRGF0YTo6cmV0dXJuUENb
dDFdLCB0NQotICAgIGxvYWRwIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0RhdGE6OnBhZGRl
ZFN0YWNrU3BhY2VbdDFdLCB0MAotICAgIGNhbGwgdDIKKyAgICBsb2FkcCBDb21tb25TbG93UGF0
aHM6OkFyaXR5Q2hlY2tEYXRhOjpwYWRkZWRTdGFja1NwYWNlW3IxXSwgYTAKKyAgICBsb2FkcCBD
b21tb25TbG93UGF0aHM6OkFyaXR5Q2hlY2tEYXRhOjpyZXR1cm5QQ1tyMV0sIGExCisgICAgY2Fs
bCB0MwogICAgIGlmIEFTU0VSVF9FTkFCTEVECiAgICAgICAgIGxvYWRwIFJldHVyblBDW2Nmcl0s
IHQwCiAgICAgICAgIGxvYWRwIFt0MF0sIHQwCkBAIC02NTIsNyArNTgzLDcgQEAgbWFjcm8gZnVu
Y3Rpb25Bcml0eUNoZWNrKGRvbmVMYWJlbCwgc2xvd1BhdGgpCiAgICAgam1wIC5jb250aW51ZQog
CiAucHJvY2VlZElubGluZToKLSAgICBsb2FkaSBDb21tb25TbG93UGF0aHM6OkFyaXR5Q2hlY2tE
YXRhOjpwYWRkZWRTdGFja1NwYWNlW3QxXSwgdDEKKyAgICBsb2FkaSBDb21tb25TbG93UGF0aHM6
OkFyaXR5Q2hlY2tEYXRhOjpwYWRkZWRTdGFja1NwYWNlW3IxXSwgdDEKICAgICBidGl6IHQxLCAu
Y29udGludWUKIAogICAgIC8vIE1vdmUgZnJhbWUgdXAgInQxICogMiIgc2xvdHMKQEAgLTczNCwx
NCArNjY1LDE0IEBAIF9sbGludF9vcF9jcmVhdGVfdGhpczoKICAgICB0cmFjZUV4ZWN1dGlvbigp
CiAgICAgbG9hZGkgOFtQQ10sIHQwCiAgICAgbG9hZHAgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4
XSwgdDAKLSAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX3JhcmVEYXRhW3QwXSwgdDQKLSAgICBidHB6
IHQ0LCAub3BDcmVhdGVUaGlzU2xvdwotICAgIGxvYWRwIEZ1bmN0aW9uUmFyZURhdGE6Om1fYWxs
b2NhdGlvblByb2ZpbGUgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6bV9hbGxvY2F0b3JbdDRd
LCB0MQotICAgIGxvYWRwIEZ1bmN0aW9uUmFyZURhdGE6Om1fYWxsb2NhdGlvblByb2ZpbGUgKyBP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6bV9zdHJ1Y3R1cmVbdDRdLCB0MgorICAgIGxvYWRwIEpT
RnVuY3Rpb246Om1fcmFyZURhdGFbdDBdLCB0NQorICAgIGJ0cHogdDUsIC5vcENyZWF0ZVRoaXNT
bG93CisgICAgbG9hZHAgRnVuY3Rpb25SYXJlRGF0YTo6bV9hbGxvY2F0aW9uUHJvZmlsZSArIE9i
amVjdEFsbG9jYXRpb25Qcm9maWxlOjptX2FsbG9jYXRvclt0NV0sIHQxCisgICAgbG9hZHAgRnVu
Y3Rpb25SYXJlRGF0YTo6bV9hbGxvY2F0aW9uUHJvZmlsZSArIE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlOjptX3N0cnVjdHVyZVt0NV0sIHQyCiAgICAgYnRweiB0MSwgLm9wQ3JlYXRlVGhpc1Nsb3cK
LSAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig0LCB0NCkKLSAgICBicGVxIHQ0LCAxLCAuaGFzU2Vl
bk11bHRpcGxlQ2FsbGVlCi0gICAgYnBuZXEgdDQsIHQwLCAub3BDcmVhdGVUaGlzU2xvdworICAg
IGxvYWRwRnJvbUluc3RydWN0aW9uKDQsIHQ1KQorICAgIGJwZXEgdDUsIDEsIC5oYXNTZWVuTXVs
dGlwbGVDYWxsZWUKKyAgICBicG5lcSB0NSwgdDAsIC5vcENyZWF0ZVRoaXNTbG93CiAuaGFzU2Vl
bk11bHRpcGxlQ2FsbGVlOgogICAgIGFsbG9jYXRlSlNPYmplY3QodDEsIHQyLCB0MCwgdDMsIC5v
cENyZWF0ZVRoaXNTbG93KQogICAgIGxvYWRpIDRbUENdLCB0MQpAQCAtMTk4OSw4ICsxOTIwLDgg
QEAgbWFjcm8gbmF0aXZlQ2FsbFRyYW1wb2xpbmUoZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb24p
CiAgICAgICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MQogICAgICAgICBsb2FkcCBNYXJrZWRC
bG9jazo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0MV0sIHQzCiAgICAgICAgIHN0b3JlcCBj
ZnIsIFZNOjp0b3BDYWxsRnJhbWVbdDNdCi0gICAgICAgIG1vdmUgY2ZyLCB0MiAgIyB0MiA9IGVj
eAotICAgICAgICBzdG9yZXAgdDIsIFtzcF0KKyAgICAgICAgbW92ZSBjZnIsIGEwICAjIGEwID0g
ZWN4CisgICAgICAgIHN0b3JlcCBhMCwgW3NwXQogICAgICAgICBsb2FkaSBDYWxsZWUgKyBQYXls
b2FkT2Zmc2V0W2Nmcl0sIHQxCiAgICAgICAgIGxvYWRwIEpTRnVuY3Rpb246Om1fZXhlY3V0YWJs
ZVt0MV0sIHQxCiAgICAgICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQzLCAweGRlYWQw
MDAxKQpAQCAtMjAwNSwxMSArMTkzNiw3IEBAIG1hY3JvIG5hdGl2ZUNhbGxUcmFtcG9saW5lKGV4
ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKQogICAgICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywg
dDEKICAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6Om1fdm1b
dDFdLCB0MQogICAgICAgICBzdG9yZXAgY2ZyLCBWTTo6dG9wQ2FsbEZyYW1lW3QxXQotICAgICAg
ICBpZiBNSVBTIG9yIFNINAotICAgICAgICAgICAgbW92ZSBjZnIsIGEwCi0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIG1vdmUgY2ZyLCB0MAotICAgICAgICBlbmQKKyAgICAgICAgbW92ZSBjZnIs
IGEwCiAgICAgICAgIGxvYWRpIENhbGxlZSArIFBheWxvYWRPZmZzZXRbY2ZyXSwgdDEKICAgICAg
ICAgbG9hZHAgSlNGdW5jdGlvbjo6bV9leGVjdXRhYmxlW3QxXSwgdDEKICAgICAgICAgY2hlY2tT
dGFja1BvaW50ZXJBbGlnbm1lbnQodDMsIDB4ZGVhZDAwMDEpCkBAIC0yMjI0LDkgKzIxNTEsOSBA
QCBlbmQKIG1hY3JvIHB1dExvY2FsQ2xvc3VyZVZhcigpCiAgICAgbG9hZGlzRnJvbUluc3RydWN0
aW9uKDMsIHQxKQogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQyLCB0MykKLSAgICBs
b2FkcEZyb21JbnN0cnVjdGlvbig1LCB0NCkKLSAgICBidHB6IHQ0LCAubm9WYXJpYWJsZVdhdGNo
cG9pbnRTZXQKLSAgICBub3RpZnlXcml0ZSh0NCwgLnBEeW5hbWljKQorICAgIGxvYWRwRnJvbUlu
c3RydWN0aW9uKDUsIHQ1KQorICAgIGJ0cHogdDUsIC5ub1ZhcmlhYmxlV2F0Y2hwb2ludFNldAor
ICAgIG5vdGlmeVdyaXRlKHQ1LCAucER5bmFtaWMpCiAubm9WYXJpYWJsZVdhdGNocG9pbnRTZXQ6
CiAgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYsIHQxKQogICAgIHN0b3JlaSB0MiwgSlNFbnZp
cm9ubWVudFJlY29yZF92YXJpYWJsZXMgKyBUYWdPZmZzZXRbdDAsIHQxLCA4XQpAQCAtMjMzOCw5
ICsyMjY1LDkgQEAgX2xsaW50X29wX3Byb2ZpbGVfdHlwZToKICAgICAjIHQxIGlzIGhvbGRpbmcg
dGhlIHBvaW50ZXIgdG8gdGhlIHR5cGVQcm9maWxlckxvZy4KICAgICBsb2FkcCBWTTo6bV90eXBl
UHJvZmlsZXJMb2dbdDFdLCB0MQogCi0gICAgIyB0MCBpcyBob2xkaW5nIHRoZSBwYXlsb2FkLCB0
NCBpcyBob2xkaW5nIHRoZSB0YWcuCisgICAgIyB0MCBpcyBob2xkaW5nIHRoZSBwYXlsb2FkLCB0
NSBpcyBob2xkaW5nIHRoZSB0YWcuCiAgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKQot
ICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDIsIHQ0LCB0MCkKKyAgICBsb2FkQ29uc3RhbnRP
clZhcmlhYmxlKHQyLCB0NSwgdDApCiAKICAgICBiaWVxIHQ0LCBFbXB0eVZhbHVlVGFnLCAub3BQ
cm9maWxlVHlwZURvbmUKIApAQCAtMjM0OCwxNCArMjI3NSwxNCBAQCBfbGxpbnRfb3BfcHJvZmls
ZV90eXBlOgogICAgIGxvYWRwIFR5cGVQcm9maWxlckxvZzo6bV9jdXJyZW50TG9nRW50cnlQdHJb
dDFdLCB0MgogCiAgICAgIyBTdG9yZSB0aGUgSlNWYWx1ZSBvbnRvIHRoZSBsb2cgZW50cnkuCi0g
ICAgc3RvcmVpIHQ0LCBUeXBlUHJvZmlsZXJMb2c6OkxvZ0VudHJ5Ojp2YWx1ZSArIFRhZ09mZnNl
dFt0Ml0KKyAgICBzdG9yZWkgdDUsIFR5cGVQcm9maWxlckxvZzo6TG9nRW50cnk6OnZhbHVlICsg
VGFnT2Zmc2V0W3QyXQogICAgIHN0b3JlaSB0MCwgVHlwZVByb2ZpbGVyTG9nOjpMb2dFbnRyeTo6
dmFsdWUgKyBQYXlsb2FkT2Zmc2V0W3QyXQogCiAgICAgIyBTdG9yZSB0aGUgVHlwZUxvY2F0aW9u
IG9udG8gdGhlIGxvZyBlbnRyeS4KICAgICBsb2FkcEZyb21JbnN0cnVjdGlvbigyLCB0MykKICAg
ICBzdG9yZXAgdDMsIFR5cGVQcm9maWxlckxvZzo6TG9nRW50cnk6OmxvY2F0aW9uW3QyXQogCi0g
ICAgYmllcSB0NCwgQ2VsbFRhZywgLm9wUHJvZmlsZVR5cGVJc0NlbGwKKyAgICBiaWVxIHQ1LCBD
ZWxsVGFnLCAub3BQcm9maWxlVHlwZUlzQ2VsbAogICAgIHN0b3JlaSAwLCBUeXBlUHJvZmlsZXJM
b2c6OkxvZ0VudHJ5OjpzdHJ1Y3R1cmVJRFt0Ml0KICAgICBqbXAgLm9wUHJvZmlsZVR5cGVTa2lw
SXNDZWxsCiAub3BQcm9maWxlVHlwZUlzQ2VsbDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KaW5kZXggZDIxNTJhMmYyNzdh
ZGU1ODc5NzZhMWMzZjEyMDIzNzI5YjM4YTU5YS4uYzBkMzFlOGMwMzA0MmU0ZjRjNGE0YzAyNTJm
MDIyNGQxNzM4ZDlmNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KQEAgLTQ2LDE3NyArNDYsMTI3IEBAIG1hY3JvIGRp
c3BhdGNoQWZ0ZXJDYWxsKCkKICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgUEIKICAgICBsb2Fk
cCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25zW1BCXSwgUEIKICAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oMSwgdDEpCi0gICAgc3RvcmVxIHQwLCBbY2ZyLCB0MSwgOF0KLSAgICB2YWx1ZVByb2Zp
bGUodDAsIChDYWxsT3BDb2RlU2l6ZSAtIDEpLCB0MikKKyAgICBzdG9yZXEgcjAsIFtjZnIsIHQx
LCA4XQorICAgIHZhbHVlUHJvZmlsZShyMCwgKENhbGxPcENvZGVTaXplIC0gMSksIHQzKQogICAg
IGRpc3BhdGNoKENhbGxPcENvZGVTaXplKQogZW5kCiAKLW1hY3JvIGNDYWxsMihmdW5jdGlvbiwg
YXJnMSwgYXJnMikKK21hY3JvIGNDYWxsMihmdW5jdGlvbikKICAgICBjaGVja1N0YWNrUG9pbnRl
ckFsaWdubWVudCh0NCwgMHhiYWQwYzAwMikKLSAgICBpZiBYODZfNjQKLSAgICAgICAgbW92ZSBh
cmcxLCB0NAotICAgICAgICBtb3ZlIGFyZzIsIHQ1CisgICAgaWYgWDg2XzY0IG9yIEFSTTY0CiAg
ICAgICAgIGNhbGwgZnVuY3Rpb24KICAgICBlbHNpZiBYODZfNjRfV0lOCiAgICAgICAgICMgTm90
ZTogdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBvbmx5IGNvcnJlY3QgaWYgdGhlIHJldHVybiB0eXBl
IHNpemUgaXMgPiA4IGJ5dGVzLgogICAgICAgICAjIFNlZSBtYWNybyBjQ2FsbDJWb2lkIGZvciBh
biBpbXBsZW1lbnRhdGlvbiB3aGVuIHRoZSByZXR1cm4gdHlwZSA8PSA4IGJ5dGVzLgogICAgICAg
ICAjIE9uIFdpbjY0LCB3aGVuIHRoZSByZXR1cm4gdHlwZSBpcyBsYXJnZXIgdGhhbiA4IGJ5dGVz
LCB3ZSBuZWVkIHRvIGFsbG9jYXRlIHNwYWNlIG9uIHRoZSBzdGFjayBmb3IgdGhlIHJldHVybiB2
YWx1ZS4KLSAgICAgICAgIyBPbiBlbnRyeSByY3ggKHQyKSwgc2hvdWxkIGNvbnRhaW4gYSBwb2lu
dGVyIHRvIHRoaXMgc3RhY2sgc3BhY2UuIFRoZSBvdGhlciBwYXJhbWV0ZXJzIGFyZSBzaGlmdGVk
IHRvIHRoZSByaWdodCwKLSAgICAgICAgIyByZHggKHQxKSBzaG91bGQgY29udGFpbiB0aGUgZmly
c3QgYXJndW1lbnQsIGFuZCByOCAodDYpIHNob3VsZCBjb250YWluIHRoZSBzZWNvbmQgYXJndW1l
bnQuCi0gICAgICAgICMgT24gcmV0dXJuLCByYXggY29udGFpbnMgYSBwb2ludGVyIHRvIHRoaXMg
c3RhY2sgdmFsdWUsIGFuZCB3ZSB0aGVuIG5lZWQgdG8gY29weSB0aGUgMTYgYnl0ZSByZXR1cm4g
dmFsdWUgaW50byByYXggKHQwKSBhbmQgcmR4ICh0MSkKKyAgICAgICAgIyBPbiBlbnRyeSByY3gg
KGEwKSwgc2hvdWxkIGNvbnRhaW4gYSBwb2ludGVyIHRvIHRoaXMgc3RhY2sgc3BhY2UuIFRoZSBv
dGhlciBwYXJhbWV0ZXJzIGFyZSBzaGlmdGVkIHRvIHRoZSByaWdodCwKKyAgICAgICAgIyByZHgg
KGExKSBzaG91bGQgY29udGFpbiB0aGUgZmlyc3QgYXJndW1lbnQsIGFuZCByOCAoYTIpIHNob3Vs
ZCBjb250YWluIHRoZSBzZWNvbmQgYXJndW1lbnQuCisgICAgICAgICMgT24gcmV0dXJuLCByYXgg
Y29udGFpbnMgYSBwb2ludGVyIHRvIHRoaXMgc3RhY2sgdmFsdWUsIGFuZCB3ZSB0aGVuIG5lZWQg
dG8gY29weSB0aGUgMTYgYnl0ZSByZXR1cm4gdmFsdWUgaW50byByYXggKHIwKSBhbmQgcmR4IChy
MSkKICAgICAgICAgIyBzaW5jZSB0aGUgcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIHNw
bGl0IGJldHdlZW4gdGhlIHR3by4KICAgICAgICAgIyBTZWUgaHR0cDovL21zZG4ubWljcm9zb2Z0
LmNvbS9lbi11cy9saWJyYXJ5Lzc1NzJ6dHo0LmFzcHgKLSAgICAgICAgbW92ZSBhcmcxLCB0MQot
ICAgICAgICBtb3ZlIGFyZzIsIHQ2CisgICAgICAgIG1vdmUgYTEsIGEyCisgICAgICAgIG1vdmUg
YTAsIGExCiAgICAgICAgIHN1YnAgNDgsIHNwCi0gICAgICAgIG1vdmUgc3AsIHQyCi0gICAgICAg
IGFkZHAgMzIsIHQyCisgICAgICAgIG1vdmUgc3AsIGEwCisgICAgICAgIGFkZHAgMzIsIGEwCiAg
ICAgICAgIGNhbGwgZnVuY3Rpb24KICAgICAgICAgYWRkcCA0OCwgc3AKLSAgICAgICAgbW92ZSA4
W3QwXSwgdDEKLSAgICAgICAgbW92ZSBbdDBdLCB0MAotICAgIGVsc2lmIEFSTTY0Ci0gICAgICAg
IG1vdmUgYXJnMSwgdDAKLSAgICAgICAgbW92ZSBhcmcyLCB0MQotICAgICAgICBjYWxsIGZ1bmN0
aW9uCisgICAgICAgIG1vdmUgOFtyMF0sIHIxCisgICAgICAgIG1vdmUgW3IwXSwgcjAKICAgICBl
bHNpZiBDX0xPT1AKLSAgICAgICAgY2xvb3BDYWxsU2xvd1BhdGggZnVuY3Rpb24sIGFyZzEsIGFy
ZzIKKyAgICAgICAgY2xvb3BDYWxsU2xvd1BhdGggZnVuY3Rpb24sIGEwLCBhMQogICAgIGVsc2UK
ICAgICAgICAgZXJyb3IKICAgICBlbmQKIGVuZAogCi1tYWNybyBjQ2FsbDJWb2lkKGZ1bmN0aW9u
LCBhcmcxLCBhcmcyKQorbWFjcm8gY0NhbGwyVm9pZChmdW5jdGlvbikKICAgICBpZiBDX0xPT1AK
LSAgICAgICAgY2xvb3BDYWxsU2xvd1BhdGhWb2lkIGZ1bmN0aW9uLCBhcmcxLCBhcmcyCisgICAg
ICAgIGNsb29wQ2FsbFNsb3dQYXRoVm9pZCBmdW5jdGlvbiwgYTAsIGExCiAgICAgZWxzaWYgWDg2
XzY0X1dJTgogICAgICAgICAjIE5vdGU6IHdlIGNhbm5vdCB1c2UgdGhlIGNDYWxsMiBtYWNybyBm
b3IgV2luNjQgaW4gdGhpcyBjYXNlLAogICAgICAgICAjIGFzIHRoZSBXaW42NCBjQ2FsbDIgaW1w
bGVtZW5hdGlvbiBpcyBvbmx5IGNvcnJlY3Qgd2hlbiB0aGUgcmV0dXJuIHR5cGUgc2l6ZSBpcyA+
IDggYnl0ZXMuCiAgICAgICAgICMgT24gV2luNjQsIHJjeCBhbmQgcmR4IGFyZSB1c2VkIGZvciBw
YXNzaW5nIHRoZSBmaXJzdCB0d28gcGFyYW1ldGVycy4KICAgICAgICAgIyBXZSBhbHNvIG5lZWQg
dG8gbWFrZSByb29tIG9uIHRoZSBzdGFjayBmb3IgYWxsIGZvdXIgcGFyYW1ldGVyIHJlZ2lzdGVy
cy4KICAgICAgICAgIyBTZWUgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5
L21zMjM1Mjg2LmFzcHgKLSAgICAgICAgbW92ZSBhcmcyLCB0MQotICAgICAgICBtb3ZlIGFyZzEs
IHQyCiAgICAgICAgIHN1YnAgMzIsIHNwIAogICAgICAgICBjYWxsIGZ1bmN0aW9uCiAgICAgICAg
IGFkZHAgMzIsIHNwIAogICAgIGVsc2UKLSAgICAgICAgY0NhbGwyKGZ1bmN0aW9uLCBhcmcxLCBh
cmcyKQorICAgICAgICBjQ2FsbDIoZnVuY3Rpb24pCiAgICAgZW5kCiBlbmQKIAogIyBUaGlzIGJh
cmVseSB3b3Jrcy4gYXJnMyBhbmQgYXJnNCBzaG91bGQgcHJvYmFibHkgYmUgaW1tZWRpYXRlcy4K
LW1hY3JvIGNDYWxsNChmdW5jdGlvbiwgYXJnMSwgYXJnMiwgYXJnMywgYXJnNCkKK21hY3JvIGND
YWxsNChmdW5jdGlvbikKICAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0NCwgMHhiYWQw
YzAwNCkKLSAgICBpZiBYODZfNjQKLSAgICAgICAgbW92ZSBhcmcxLCB0NAotICAgICAgICBtb3Zl
IGFyZzIsIHQ1Ci0gICAgICAgIG1vdmUgYXJnMywgdDEKLSAgICAgICAgbW92ZSBhcmc0LCB0Mgor
ICAgIGlmIFg4Nl82NCBvciBBUk02NAogICAgICAgICBjYWxsIGZ1bmN0aW9uCiAgICAgZWxzaWYg
WDg2XzY0X1dJTgogICAgICAgICAjIE9uIFdpbjY0LCByY3gsIHJkeCwgcjgsIGFuZCByOSBhcmUg
dXNlZCBmb3IgcGFzc2luZyB0aGUgZmlyc3QgZm91ciBwYXJhbWV0ZXJzLgogICAgICAgICAjIFdl
IGFsc28gbmVlZCB0byBtYWtlIHJvb20gb24gdGhlIHN0YWNrIGZvciBhbGwgZm91ciBwYXJhbWV0
ZXIgcmVnaXN0ZXJzLgogICAgICAgICAjIFNlZSBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2Vu
LXVzL2xpYnJhcnkvbXMyMzUyODYuYXNweAotICAgICAgICBtb3ZlIGFyZzEsIHQyCi0gICAgICAg
IG1vdmUgYXJnMiwgdDEKLSAgICAgICAgbW92ZSBhcmczLCB0NgotICAgICAgICBtb3ZlIGFyZzQs
IHQ3Ci0gICAgICAgIHN1YnAgMzIsIHNwIAotICAgICAgICBjYWxsIGZ1bmN0aW9uCi0gICAgICAg
IGFkZHAgMzIsIHNwIAotICAgIGVsc2lmIEFSTTY0Ci0gICAgICAgIG1vdmUgYXJnMSwgdDAKLSAg
ICAgICAgbW92ZSBhcmcyLCB0MQotICAgICAgICBtb3ZlIGFyZzMsIHQyCi0gICAgICAgIG1vdmUg
YXJnNCwgdDMKKyAgICAgICAgc3VicCA2NCwgc3AKICAgICAgICAgY2FsbCBmdW5jdGlvbgotICAg
IGVsc2lmIENfTE9PUAotICAgICAgICBlcnJvcgorICAgICAgICBhZGRwIDY0LCBzcAogICAgIGVs
c2UKICAgICAgICAgZXJyb3IKICAgICBlbmQKIGVuZAogCiBtYWNybyBkb1ZNRW50cnkobWFrZUNh
bGwpCi0gICAgaWYgWDg2XzY0Ci0gICAgICAgIGNvbnN0IGVudHJ5ID0gdDQKLSAgICAgICAgY29u
c3Qgdm0gPSB0NQotICAgICAgICBjb25zdCBwcm90b0NhbGxGcmFtZSA9IHQxCi0KLSAgICAgICAg
Y29uc3QgcHJldmlvdXNDRlIgPSB0MAotICAgICAgICBjb25zdCBwcmV2aW91c1BDID0gdDYKLSAg
ICAgICAgY29uc3QgdGVtcDEgPSB0MAotICAgICAgICBjb25zdCB0ZW1wMiA9IHQzCi0gICAgICAg
IGNvbnN0IHRlbXAzID0gdDYKLSAgICBlbHNpZiBYODZfNjRfV0lOCi0gICAgICAgIGNvbnN0IGVu
dHJ5ID0gdDIKLSAgICAgICAgY29uc3Qgdm0gPSB0MQotICAgICAgICBjb25zdCBwcm90b0NhbGxG
cmFtZSA9IHQ2Ci0KLSAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MAotICAgICAgICBjb25z
dCBwcmV2aW91c1BDID0gdDQKLSAgICAgICAgY29uc3QgdGVtcDEgPSB0MAotICAgICAgICBjb25z
dCB0ZW1wMiA9IHQzCi0gICAgICAgIGNvbnN0IHRlbXAzID0gdDcKLSAgICBlbHNpZiBBUk02NCBv
ciBDX0xPT1AKLSAgICAgICAgY29uc3QgZW50cnkgPSBhMAotICAgICAgICBjb25zdCB2bSA9IGEx
Ci0gICAgICAgIGNvbnN0IHByb3RvQ2FsbEZyYW1lID0gYTIKLQotICAgICAgICBjb25zdCBwcmV2
aW91c0NGUiA9IHQ1Ci0gICAgICAgIGNvbnN0IHByZXZpb3VzUEMgPSBscgotICAgICAgICBjb25z
dCB0ZW1wMSA9IHQzCi0gICAgICAgIGNvbnN0IHRlbXAyID0gdDQKLSAgICAgICAgY29uc3QgdGVt
cDMgPSB0NgotICAgIGVuZAotCiAgICAgZnVuY3Rpb25Qcm9sb2d1ZSgpCiAgICAgcHVzaENhbGxl
ZVNhdmVzKCkKIAorICAgIGNvbnN0IGVudHJ5ID0gYTAKKyAgICBjb25zdCB2bSA9IGExCisgICAg
Y29uc3QgcHJvdG9DYWxsRnJhbWUgPSBhMgorCiAgICAgdm1FbnRyeVJlY29yZChjZnIsIHNwKQog
Ci0gICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodGVtcDIsIDB4YmFkMGRjMDEpCisgICAg
Y2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDQsIDB4YmFkMGRjMDEpCiAKICAgICBzdG9yZXAg
dm0sIFZNRW50cnlSZWNvcmQ6Om1fdm1bc3BdCi0gICAgbG9hZHAgVk06OnRvcENhbGxGcmFtZVt2
bV0sIHRlbXAyCi0gICAgc3RvcmVwIHRlbXAyLCBWTUVudHJ5UmVjb3JkOjptX3ByZXZUb3BDYWxs
RnJhbWVbc3BdCi0gICAgbG9hZHAgVk06OnRvcFZNRW50cnlGcmFtZVt2bV0sIHRlbXAyCi0gICAg
c3RvcmVwIHRlbXAyLCBWTUVudHJ5UmVjb3JkOjptX3ByZXZUb3BWTUVudHJ5RnJhbWVbc3BdCisg
ICAgbG9hZHAgVk06OnRvcENhbGxGcmFtZVt2bV0sIHQ0CisgICAgc3RvcmVwIHQ0LCBWTUVudHJ5
UmVjb3JkOjptX3ByZXZUb3BDYWxsRnJhbWVbc3BdCisgICAgbG9hZHAgVk06OnRvcFZNRW50cnlG
cmFtZVt2bV0sIHQ0CisgICAgc3RvcmVwIHQ0LCBWTUVudHJ5UmVjb3JkOjptX3ByZXZUb3BWTUVu
dHJ5RnJhbWVbc3BdCiAKLSAgICBsb2FkaSBQcm90b0NhbGxGcmFtZTo6cGFkZGVkQXJnQ291bnRb
cHJvdG9DYWxsRnJhbWVdLCB0ZW1wMgotICAgIGFkZHAgQ2FsbEZyYW1lSGVhZGVyU2xvdHMsIHRl
bXAyLCB0ZW1wMgotICAgIGxzaGlmdHAgMywgdGVtcDIKLSAgICBzdWJwIHNwLCB0ZW1wMiwgdGVt
cDEKKyAgICBsb2FkaSBQcm90b0NhbGxGcmFtZTo6cGFkZGVkQXJnQ291bnRbcHJvdG9DYWxsRnJh
bWVdLCB0NAorICAgIGFkZHAgQ2FsbEZyYW1lSGVhZGVyU2xvdHMsIHQ0LCB0NAorICAgIGxzaGlm
dHAgMywgdDQKKyAgICBzdWJwIHNwLCB0NCwgdDMKIAogICAgICMgRW5zdXJlIHRoYXQgd2UgaGF2
ZSBlbm91Z2ggYWRkaXRpb25hbCBzdGFjayBjYXBhY2l0eSBmb3IgdGhlIGluY29taW5nIGFyZ3Ms
CiAgICAgIyBhbmQgdGhlIGZyYW1lIGZvciB0aGUgSlMgY29kZSB3ZSdyZSBleGVjdXRpbmcuIFdl
IG5lZWQgdG8gZG8gdGhpcyBjaGVjawogICAgICMgYmVmb3JlIHdlIHN0YXJ0IGNvcHlpbmcgdGhl
IGFyZ3MgZnJvbSB0aGUgcHJvdG9DYWxsRnJhbWUgYmVsb3cuCi0gICAgYnBhZXEgdGVtcDEsIFZN
OjptX2pzU3RhY2tMaW1pdFt2bV0sIC5zdGFja0hlaWdodE9LCisgICAgYnBhZXEgdDMsIFZNOjpt
X2pzU3RhY2tMaW1pdFt2bV0sIC5zdGFja0hlaWdodE9LCiAKICAgICBpZiBDX0xPT1AKLSAgICAg
ICAgbW92ZSBlbnRyeSwgdGVtcDIKLSAgICAgICAgbW92ZSB2bSwgdGVtcDMKLSAgICAgICAgY2xv
b3BDYWxsU2xvd1BhdGggX2xsaW50X3N0YWNrX2NoZWNrX2F0X3ZtX2VudHJ5LCB2bSwgdGVtcDEK
KyAgICAgICAgbW92ZSBlbnRyeSwgdDQKKyAgICAgICAgbW92ZSB2bSwgdDUKKyAgICAgICAgY2xv
b3BDYWxsU2xvd1BhdGggX2xsaW50X3N0YWNrX2NoZWNrX2F0X3ZtX2VudHJ5LCB2bSwgdDMKICAg
ICAgICAgYnBlcSB0MCwgMCwgLnN0YWNrQ2hlY2tGYWlsZWQKLSAgICAgICAgbW92ZSB0ZW1wMiwg
ZW50cnkKLSAgICAgICAgbW92ZSB0ZW1wMywgdm0KKyAgICAgICAgbW92ZSB0NCwgZW50cnkKKyAg
ICAgICAgbW92ZSB0NSwgdm0KICAgICAgICAgam1wIC5zdGFja0hlaWdodE9LCiAKIC5zdGFja0No
ZWNrRmFpbGVkOgotICAgICAgICBtb3ZlIHRlbXAyLCBlbnRyeQotICAgICAgICBtb3ZlIHRlbXAz
LCB2bQorICAgICAgICBtb3ZlIHQ0LCBlbnRyeQorICAgICAgICBtb3ZlIHQ1LCB2bQogICAgIGVu
ZAogCi0gICAgY0NhbGwyKF9sbGludF90aHJvd19zdGFja19vdmVyZmxvd19lcnJvciwgdm0sIHBy
b3RvQ2FsbEZyYW1lKQorICAgIG1vdmUgdm0sIGEwCisgICAgbW92ZSBwcm90b0NhbGxGcmFtZSwg
YTEKKyAgICBjQ2FsbDIoX2xsaW50X3Rocm93X3N0YWNrX292ZXJmbG93X2Vycm9yKQogCi0gICAg
dm1FbnRyeVJlY29yZChjZnIsIHRlbXAyKQorICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0NCkKIAot
ICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fdm1bdGVtcDJdLCB2bQotICAgIGxvYWRwIFZNRW50
cnlSZWNvcmQ6Om1fcHJldlRvcENhbGxGcmFtZVt0ZW1wMl0sIHRlbXAzCi0gICAgc3RvcmVwIHRl
bXAzLCBWTTo6dG9wQ2FsbEZyYW1lW3ZtXQotICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fcHJl
dlRvcFZNRW50cnlGcmFtZVt0ZW1wMl0sIHRlbXAzCi0gICAgc3RvcmVwIHRlbXAzLCBWTTo6dG9w
Vk1FbnRyeUZyYW1lW3ZtXQorICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fdm1bdDRdLCB2bQor
ICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcENhbGxGcmFtZVt0NF0sIGV4dHJhVGVt
cFJlZworICAgIHN0b3JlcCBleHRyYVRlbXBSZWcsIFZNOjp0b3BDYWxsRnJhbWVbdm1dCisgICAg
bG9hZHAgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wVk1FbnRyeUZyYW1lW3Q0XSwgZXh0cmFUZW1w
UmVnCisgICAgc3RvcmVwIGV4dHJhVGVtcFJlZywgVk06OnRvcFZNRW50cnlGcmFtZVt2bV0KIAog
ICAgIHN1YnAgY2ZyLCBDYWxsZWVSZWdpc3RlclNhdmVTaXplLCBzcAogCkBAIC0yMjUsNjIgKzE3
NSw2NSBAQCBtYWNybyBkb1ZNRW50cnkobWFrZUNhbGwpCiAgICAgcmV0CiAKIC5zdGFja0hlaWdo
dE9LOgotICAgIG1vdmUgdGVtcDEsIHNwCi0gICAgbW92ZSA0LCB0ZW1wMQorICAgIG1vdmUgdDMs
IHNwCisgICAgbW92ZSA0LCB0MwogCiAuY29weUhlYWRlckxvb3A6Ci0gICAgc3ViaSAxLCB0ZW1w
MQotICAgIGxvYWRxIFtwcm90b0NhbGxGcmFtZSwgdGVtcDEsIDhdLCB0ZW1wMwotICAgIHN0b3Jl
cSB0ZW1wMywgQ29kZUJsb2NrW3NwLCB0ZW1wMSwgOF0KLSAgICBidGlueiB0ZW1wMSwgLmNvcHlI
ZWFkZXJMb29wCi0KLSAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsgUHJvdG9DYWxsRnJhbWU6OmFy
Z0NvdW50QW5kQ29kZU9yaWdpblZhbHVlW3Byb3RvQ2FsbEZyYW1lXSwgdGVtcDIKLSAgICBzdWJp
IDEsIHRlbXAyCi0gICAgbG9hZGkgUHJvdG9DYWxsRnJhbWU6OnBhZGRlZEFyZ0NvdW50W3Byb3Rv
Q2FsbEZyYW1lXSwgdGVtcDMKLSAgICBzdWJpIDEsIHRlbXAzCi0KLSAgICBiaWVxIHRlbXAyLCB0
ZW1wMywgLmNvcHlBcmdzCi0gICAgbW92ZSBWYWx1ZVVuZGVmaW5lZCwgdGVtcDEKKyAgICBzdWJp
IDEsIHQzCisgICAgbG9hZHEgW3Byb3RvQ2FsbEZyYW1lLCB0MywgOF0sIGV4dHJhVGVtcFJlZwor
ICAgIHN0b3JlcSBleHRyYVRlbXBSZWcsIENvZGVCbG9ja1tzcCwgdDMsIDhdCisgICAgYnRpbnog
dDMsIC5jb3B5SGVhZGVyTG9vcAorCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldCArIFByb3RvQ2Fs
bEZyYW1lOjphcmdDb3VudEFuZENvZGVPcmlnaW5WYWx1ZVtwcm90b0NhbGxGcmFtZV0sIHQ0Cisg
ICAgc3ViaSAxLCB0NAorICAgIGxvYWRpIFByb3RvQ2FsbEZyYW1lOjpwYWRkZWRBcmdDb3VudFtw
cm90b0NhbGxGcmFtZV0sIGV4dHJhVGVtcFJlZworICAgIHN1YmkgMSwgZXh0cmFUZW1wUmVnCisK
KyAgICBiaWVxIHQ0LCBleHRyYVRlbXBSZWcsIC5jb3B5QXJncworICAgIG1vdmUgVmFsdWVVbmRl
ZmluZWQsIHQzCiAuZmlsbEV4dHJhQXJnc0xvb3A6Ci0gICAgc3ViaSAxLCB0ZW1wMwotICAgIHN0
b3JlcSB0ZW1wMSwgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgOFtzcCwgdGVtcDMsIDhdCi0gICAgYmlu
ZXEgdGVtcDIsIHRlbXAzLCAuZmlsbEV4dHJhQXJnc0xvb3AKKyAgICBzdWJpIDEsIGV4dHJhVGVt
cFJlZworICAgIHN0b3JlcSB0MywgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgOFtzcCwgZXh0cmFUZW1w
UmVnLCA4XQorICAgIGJpbmVxIHQ0LCBleHRyYVRlbXBSZWcsIC5maWxsRXh0cmFBcmdzTG9vcAog
CiAuY29weUFyZ3M6Ci0gICAgbG9hZHAgUHJvdG9DYWxsRnJhbWU6OmFyZ3NbcHJvdG9DYWxsRnJh
bWVdLCB0ZW1wMQorICAgIGxvYWRwIFByb3RvQ2FsbEZyYW1lOjphcmdzW3Byb3RvQ2FsbEZyYW1l
XSwgdDMKIAogLmNvcHlBcmdzTG9vcDoKLSAgICBidGl6IHRlbXAyLCAuY29weUFyZ3NEb25lCi0g
ICAgc3ViaSAxLCB0ZW1wMgotICAgIGxvYWRxIFt0ZW1wMSwgdGVtcDIsIDhdLCB0ZW1wMwotICAg
IHN0b3JlcSB0ZW1wMywgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgOFtzcCwgdGVtcDIsIDhdCisgICAg
YnRpeiB0NCwgLmNvcHlBcmdzRG9uZQorICAgIHN1YmkgMSwgdDQKKyAgICBsb2FkcSBbdDMsIHQ0
LCA4XSwgZXh0cmFUZW1wUmVnCisgICAgc3RvcmVxIGV4dHJhVGVtcFJlZywgVGhpc0FyZ3VtZW50
T2Zmc2V0ICsgOFtzcCwgdDQsIDhdCiAgICAgam1wIC5jb3B5QXJnc0xvb3AKIAogLmNvcHlBcmdz
RG9uZToKICAgICBpZiBBUk02NAotICAgICAgICBtb3ZlIHNwLCB0ZW1wMgotICAgICAgICBzdG9y
ZXAgdGVtcDIsIFZNOjp0b3BDYWxsRnJhbWVbdm1dCisgICAgICAgIG1vdmUgc3AsIHQ0CisgICAg
ICAgIHN0b3JlcCB0NCwgVk06OnRvcENhbGxGcmFtZVt2bV0KICAgICBlbHNlCiAgICAgICAgIHN0
b3JlcCBzcCwgVk06OnRvcENhbGxGcmFtZVt2bV0KICAgICBlbmQKICAgICBzdG9yZXAgY2ZyLCBW
TTo6dG9wVk1FbnRyeUZyYW1lW3ZtXQogCi0gICAgbW92ZSAweGZmZmYwMDAwMDAwMDAwMDAsIGNz
cjEKLSAgICBhZGRwIDIsIGNzcjEsIGNzcjIKKyAgICBtb3ZlIFRhZ1R5cGVOdW1iZXIsIHRhZ1R5
cGVOdW1iZXIKKyAgICBhZGRwIFRhZ0JpdFR5cGVPdGhlciwgdGFnVHlwZU51bWJlciwgdGFnTWFz
awogCi0gICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodGVtcDMsIDB4YmFkMGRjMDIpCisg
ICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoZXh0cmFUZW1wUmVnLCAweGJhZDBkYzAyKQog
Ci0gICAgbWFrZUNhbGwoZW50cnksIHRlbXAxKQorICAgIG1ha2VDYWxsKGVudHJ5LCB0MykKIAot
ICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHRlbXAzLCAweGJhZDBkYzAzKQorICAgICMg
V2UgbWF5IGhhdmUganVzdCBtYWRlIGEgY2FsbCBpbnRvIGEgSlMgZnVuY3Rpb24sIHNvIHdlIGNh
bid0IHJlbHkgb24gc3AKKyAgICAjIGZvciBhbnl0aGluZyBidXQgdGhlIGZhY3QgdGhhdCBvdXIg
b3duIGxvY2FscyAoaWUgdGhlIFZNRW50cnlSZWNvcmQpIGFyZQorICAgICMgbm90IGJlbG93IGl0
LiBJdCBhbHNvIHN0aWxsIGhhcyB0byBiZSBhbGlnbmVkLCB0aG91Z2guCisgICAgY2hlY2tTdGFj
a1BvaW50ZXJBbGlnbm1lbnQoZXh0cmFUZW1wUmVnLCAweGJhZDBkYzAzKQogCi0gICAgdm1FbnRy
eVJlY29yZChjZnIsIHRlbXAyKQorICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0NCkKIAotICAgIGxv
YWRwIFZNRW50cnlSZWNvcmQ6Om1fdm1bdGVtcDJdLCB2bQotICAgIGxvYWRwIFZNRW50cnlSZWNv
cmQ6Om1fcHJldlRvcENhbGxGcmFtZVt0ZW1wMl0sIHRlbXAzCi0gICAgc3RvcmVwIHRlbXAzLCBW
TTo6dG9wQ2FsbEZyYW1lW3ZtXQotICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcFZN
RW50cnlGcmFtZVt0ZW1wMl0sIHRlbXAzCi0gICAgc3RvcmVwIHRlbXAzLCBWTTo6dG9wVk1FbnRy
eUZyYW1lW3ZtXQorICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fdm1bdDRdLCB2bQorICAgIGxv
YWRwIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcENhbGxGcmFtZVt0NF0sIGV4dHJhVGVtcFJlZwor
ICAgIHN0b3JlcCBleHRyYVRlbXBSZWcsIFZNOjp0b3BDYWxsRnJhbWVbdm1dCisgICAgbG9hZHAg
Vk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wVk1FbnRyeUZyYW1lW3Q0XSwgZXh0cmFUZW1wUmVnCisg
ICAgc3RvcmVwIGV4dHJhVGVtcFJlZywgVk06OnRvcFZNRW50cnlGcmFtZVt2bV0KIAogICAgIHN1
YnAgY2ZyLCBDYWxsZWVSZWdpc3RlclNhdmVTaXplLCBzcAogCkBAIC0zMDUsMTMgKzI1OCw3IEBA
IGVuZAogbWFjcm8gbWFrZUhvc3RGdW5jdGlvbkNhbGwoZW50cnksIHRlbXApCiAgICAgbW92ZSBl
bnRyeSwgdGVtcAogICAgIHN0b3JlcCBjZnIsIFtzcF0KLSAgICBpZiBYODZfNjQKLSAgICAgICAg
bW92ZSBzcCwgdDQKLSAgICBlbHNpZiBYODZfNjRfV0lOCi0gICAgICAgIG1vdmUgc3AsIHQyCi0g
ICAgZWxzaWYgQVJNNjQgb3IgQ19MT09QCi0gICAgICAgIG1vdmUgc3AsIGEwCi0gICAgZW5kCisg
ICAgbW92ZSBzcCwgYTAKICAgICBpZiBDX0xPT1AKICAgICAgICAgc3RvcmVwIGxyLCA4W3NwXQog
ICAgICAgICBjbG9vcENhbGxOYXRpdmUgdGVtcApAQCAtMzM2LDEwICsyODMsMTAgQEAgX2hhbmRs
ZVVuY2F1Z2h0RXhjZXB0aW9uOgogICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0MikKIAogICAgIGxv
YWRwIFZNRW50cnlSZWNvcmQ6Om1fdm1bdDJdLCB0MwotICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6
Om1fcHJldlRvcENhbGxGcmFtZVt0Ml0sIHQ1Ci0gICAgc3RvcmVwIHQ1LCBWTTo6dG9wQ2FsbEZy
YW1lW3QzXQotICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcFZNRW50cnlGcmFtZVt0
Ml0sIHQ1Ci0gICAgc3RvcmVwIHQ1LCBWTTo6dG9wVk1FbnRyeUZyYW1lW3QzXQorICAgIGxvYWRw
IFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcENhbGxGcmFtZVt0Ml0sIGV4dHJhVGVtcFJlZworICAg
IHN0b3JlcCBleHRyYVRlbXBSZWcsIFZNOjp0b3BDYWxsRnJhbWVbdDNdCisgICAgbG9hZHAgVk1F
bnRyeVJlY29yZDo6bV9wcmV2VG9wVk1FbnRyeUZyYW1lW3QyXSwgZXh0cmFUZW1wUmVnCisgICAg
c3RvcmVwIGV4dHJhVGVtcFJlZywgVk06OnRvcFZNRW50cnlGcmFtZVt0M10KIAogICAgIHN1YnAg
Y2ZyLCBDYWxsZWVSZWdpc3RlclNhdmVTaXplLCBzcAogCkBAIC0zNTAsMzEgKzI5NywzOSBAQCBf
aGFuZGxlVW5jYXVnaHRFeGNlcHRpb246CiAKIG1hY3JvIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkK
ICAgICBsZWFwIFtQQiwgUEMsIDhdLCBQQwotICAgIG1vdmUgUEIsIHQzCiBlbmQKIAogbWFjcm8g
cmVzdG9yZVN0YXRlQWZ0ZXJDQ2FsbCgpCi0gICAgbW92ZSB0MCwgUEMKLSAgICBtb3ZlIHQzLCBQ
QgorICAgIG1vdmUgcjAsIFBDCiAgICAgc3VicCBQQiwgUEMKICAgICByc2hpZnRwIDMsIFBDCiBl
bmQKIAogbWFjcm8gY2FsbFNsb3dQYXRoKHNsb3dQYXRoKQogICAgIHByZXBhcmVTdGF0ZUZvckND
YWxsKCkKLSAgICBjQ2FsbDIoc2xvd1BhdGgsIGNmciwgUEMpCisgICAgbW92ZSBjZnIsIGEwCisg
ICAgbW92ZSBQQywgYTEKKyAgICBjQ2FsbDIoc2xvd1BhdGgpCiAgICAgcmVzdG9yZVN0YXRlQWZ0
ZXJDQ2FsbCgpCiBlbmQKIAogbWFjcm8gdHJhY2VPcGVyYW5kKGZyb21XaGVyZSwgb3BlcmFuZCkK
ICAgICBwcmVwYXJlU3RhdGVGb3JDQ2FsbCgpCi0gICAgY0NhbGw0KF9sbGludF90cmFjZV9vcGVy
YW5kLCBjZnIsIFBDLCBmcm9tV2hlcmUsIG9wZXJhbmQpCisgICAgbW92ZSBmcm9tV2hlcmUsIGEy
CisgICAgbW92ZSBvcGVyYW5kLCBhMworICAgIG1vdmUgY2ZyLCBhMAorICAgIG1vdmUgUEMsIGEx
CisgICAgY0NhbGw0KF9sbGludF90cmFjZV9vcGVyYW5kKQogICAgIHJlc3RvcmVTdGF0ZUFmdGVy
Q0NhbGwoKQogZW5kCiAKIG1hY3JvIHRyYWNlVmFsdWUoZnJvbVdoZXJlLCBvcGVyYW5kKQogICAg
IHByZXBhcmVTdGF0ZUZvckNDYWxsKCkKLSAgICBjQ2FsbDQoX2xsaW50X3RyYWNlX3ZhbHVlLCBj
ZnIsIFBDLCBmcm9tV2hlcmUsIG9wZXJhbmQpCisgICAgbW92ZSBmcm9tV2hlcmUsIGEyCisgICAg
bW92ZSBvcGVyYW5kLCBhMworICAgIG1vdmUgY2ZyLCBhMAorICAgIG1vdmUgUEMsIGExCisgICAg
Y0NhbGw0KF9sbGludF90cmFjZV92YWx1ZSkKICAgICByZXN0b3JlU3RhdGVBZnRlckNDYWxsKCkK
IGVuZAogCkBAIC0zODIsMTYgKzMzNywxOSBAQCBlbmQKIG1hY3JvIGNhbGxDYWxsU2xvd1BhdGgo
c2xvd1BhdGgsIGFjdGlvbikKICAgICBzdG9yZWkgUEMsIEFyZ3VtZW50Q291bnQgKyBUYWdPZmZz
ZXRbY2ZyXQogICAgIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkKLSAgICBjQ2FsbDIoc2xvd1BhdGgs
IGNmciwgUEMpCi0gICAgYWN0aW9uKHQwKQorICAgIG1vdmUgY2ZyLCBhMAorICAgIG1vdmUgUEMs
IGExCisgICAgY0NhbGwyKHNsb3dQYXRoKQorICAgIGFjdGlvbihyMCwgcjEpCiBlbmQKIAogbWFj
cm8gY2FsbFdhdGNoZG9nVGltZXJIYW5kbGVyKHRocm93SGFuZGxlcikKICAgICBzdG9yZWkgUEMs
IEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXRbY2ZyXQogICAgIHByZXBhcmVTdGF0ZUZvckNDYWxs
KCkKLSAgICBjQ2FsbDIoX2xsaW50X3Nsb3dfcGF0aF9oYW5kbGVfd2F0Y2hkb2dfdGltZXIsIGNm
ciwgUEMpCi0gICAgYnRwbnogdDAsIHRocm93SGFuZGxlcgotICAgIG1vdmUgdDMsIFBCCisgICAg
bW92ZSBjZnIsIGEwCisgICAgbW92ZSBQQywgYTEKKyAgICBjQ2FsbDIoX2xsaW50X3Nsb3dfcGF0
aF9oYW5kbGVfd2F0Y2hkb2dfdGltZXIpCisgICAgYnRwbnogcjAsIHRocm93SGFuZGxlcgogICAg
IGxvYWRpIEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXRbY2ZyXSwgUEMKIGVuZAogCkBAIC00MDEs
MTIgKzM1OSwxMyBAQCBtYWNybyBjaGVja1N3aXRjaFRvSklURm9yTG9vcCgpCiAgICAgICAgIG1h
Y3JvKCkKICAgICAgICAgICAgIHN0b3JlaSBQQywgQXJndW1lbnRDb3VudCArIFRhZ09mZnNldFtj
ZnJdCiAgICAgICAgICAgICBwcmVwYXJlU3RhdGVGb3JDQ2FsbCgpCi0gICAgICAgICAgICBjQ2Fs
bDIoX2xsaW50X2xvb3Bfb3NyLCBjZnIsIFBDKQotICAgICAgICAgICAgYnRweiB0MCwgLnJlY292
ZXIKLSAgICAgICAgICAgIG1vdmUgdDEsIHNwCi0gICAgICAgICAgICBqbXAgdDAKKyAgICAgICAg
ICAgIG1vdmUgY2ZyLCBhMAorICAgICAgICAgICAgbW92ZSBQQywgYTEKKyAgICAgICAgICAgIGND
YWxsMihfbGxpbnRfbG9vcF9vc3IpCisgICAgICAgICAgICBidHB6IHIwLCAucmVjb3ZlcgorICAg
ICAgICAgICAgbW92ZSByMSwgc3AKKyAgICAgICAgICAgIGptcCByMAogICAgICAgICAucmVjb3Zl
cjoKLSAgICAgICAgICAgIG1vdmUgdDMsIFBCCiAgICAgICAgICAgICBsb2FkaSBBcmd1bWVudENv
dW50ICsgVGFnT2Zmc2V0W2Nmcl0sIFBDCiAgICAgICAgIGVuZCkKIGVuZApAQCAtNDQ3LDcgKzQw
Niw5IEBAIG1hY3JvIHdyaXRlQmFycmllck9uT3BlcmFuZChjZWxsT3BlcmFuZCkKICAgICAgICAg
ICAgIG1hY3JvKGdjRGF0YSkKICAgICAgICAgICAgICAgICBidGJueiBnY0RhdGEsIC53cml0ZUJh
cnJpZXJEb25lCiAgICAgICAgICAgICAgICAgcHVzaCBQQiwgUEMKLSAgICAgICAgICAgICAgICBj
Q2FsbDJWb2lkKF9sbGludF93cml0ZV9iYXJyaWVyX3Nsb3csIGNmciwgdDIpCisgICAgICAgICAg
ICAgICAgbW92ZSB0MiwgYTEgIyB0MiBjYW4gYmUgYTAgKG5vdCBvbiA2NCBiaXRzLCBidXQgYmV0
dGVyIHNhZmUgdGhhbiBzb3JyeSkKKyAgICAgICAgICAgICAgICBtb3ZlIGNmciwgYTAKKyAgICAg
ICAgICAgICAgICBjQ2FsbDJWb2lkKF9sbGludF93cml0ZV9iYXJyaWVyX3Nsb3cpCiAgICAgICAg
ICAgICAgICAgcG9wIFBDLCBQQgogICAgICAgICAgICAgZW5kCiAgICAgICAgICkKQEAgLTQ3OCw3
ICs0MzksOSBAQCBtYWNybyB3cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdCh2YWx1ZU9wZXJhbmQp
CiAgICAgICAgICAgICBtYWNybyhnY0RhdGEpCiAgICAgICAgICAgICAgICAgYnRibnogZ2NEYXRh
LCAud3JpdGVCYXJyaWVyRG9uZQogICAgICAgICAgICAgICAgIHB1c2ggUEIsIFBDCi0gICAgICAg
ICAgICAgICAgY0NhbGwyVm9pZChfbGxpbnRfd3JpdGVfYmFycmllcl9zbG93LCBjZnIsIHQzKQor
ICAgICAgICAgICAgICAgIG1vdmUgY2ZyLCBhMAorICAgICAgICAgICAgICAgIG1vdmUgdDMsIGEx
CisgICAgICAgICAgICAgICAgY0NhbGwyVm9pZChfbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KQog
ICAgICAgICAgICAgICAgIHBvcCBQQywgUEIKICAgICAgICAgICAgIGVuZAogICAgICAgICApCkBA
IC01MjIsMTkgKzQ4NSwyMSBAQCBtYWNybyBmdW5jdGlvbkFyaXR5Q2hlY2soZG9uZUxhYmVsLCBz
bG93UGF0aCkKICAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsgQXJndW1lbnRDb3VudFtjZnJdLCB0
MAogICAgIGJpYWVxIHQwLCBDb2RlQmxvY2s6Om1fbnVtUGFyYW1ldGVyc1t0MV0sIGRvbmVMYWJl
bAogICAgIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkKLSAgICBjQ2FsbDIoc2xvd1BhdGgsIGNmciwg
UEMpICAgIyBUaGlzIHNsb3dQYXRoIGhhcyB0aGUgcHJvdG9jb2w6IHQwID0gMCA9PiBubyBlcnJv
ciwgdDAgIT0gMCA9PiBlcnJvcgotICAgIGJ0aXogdDAsIC5ub0Vycm9yCi0gICAgbW92ZSB0MSwg
Y2ZyICAgIyB0MSBjb250YWlucyBjYWxsZXIgZnJhbWUKKyAgICBtb3ZlIGNmciwgYTAKKyAgICBt
b3ZlIFBDLCBhMQorICAgIGNDYWxsMihzbG93UGF0aCkgICAjIFRoaXMgc2xvd1BhdGggaGFzIHRo
ZSBwcm90b2NvbDogcjAgPSAwID0+IG5vIGVycm9yLCByMCAhPSAwID0+IGVycm9yCisgICAgYnRp
eiByMCwgLm5vRXJyb3IKKyAgICBtb3ZlIHIxLCBjZnIgICAjIHIxIGNvbnRhaW5zIGNhbGxlciBm
cmFtZQogICAgIGptcCBfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZQogCiAu
bm9FcnJvcjoKLSAgICAjIHQxIHBvaW50cyB0byBBcml0eUNoZWNrRGF0YS4KLSAgICBsb2FkcCBD
b21tb25TbG93UGF0aHM6OkFyaXR5Q2hlY2tEYXRhOjp0aHVua1RvQ2FsbFt0MV0sIHQyCi0gICAg
YnRweiB0MiwgLnByb2NlZWRJbmxpbmUKKyAgICAjIHIxIHBvaW50cyB0byBBcml0eUNoZWNrRGF0
YS4KKyAgICBsb2FkcCBDb21tb25TbG93UGF0aHM6OkFyaXR5Q2hlY2tEYXRhOjp0aHVua1RvQ2Fs
bFtyMV0sIHQzCisgICAgYnRweiB0MywgLnByb2NlZWRJbmxpbmUKICAgICAKLSAgICBsb2FkcCBD
b21tb25TbG93UGF0aHM6OkFyaXR5Q2hlY2tEYXRhOjpyZXR1cm5QQ1t0MV0sIHQ3Ci0gICAgbG9h
ZHAgQ29tbW9uU2xvd1BhdGhzOjpBcml0eUNoZWNrRGF0YTo6cGFkZGVkU3RhY2tTcGFjZVt0MV0s
IHQwCi0gICAgY2FsbCB0MgorICAgIGxvYWRwIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0Rh
dGE6OnBhZGRlZFN0YWNrU3BhY2VbcjFdLCBhMAorICAgIGxvYWRwIENvbW1vblNsb3dQYXRoczo6
QXJpdHlDaGVja0RhdGE6OnJldHVyblBDW3IxXSwgYTEKKyAgICBjYWxsIHQzCiAgICAgaWYgQVNT
RVJUX0VOQUJMRUQKICAgICAgICAgbG9hZHAgUmV0dXJuUENbY2ZyXSwgdDAKICAgICAgICAgbG9h
ZHAgW3QwXSwgdDAKQEAgLTU0Miw3ICs1MDcsNyBAQCBtYWNybyBmdW5jdGlvbkFyaXR5Q2hlY2so
ZG9uZUxhYmVsLCBzbG93UGF0aCkKICAgICBqbXAgLmNvbnRpbnVlCiAKIC5wcm9jZWVkSW5saW5l
OgotICAgIGxvYWRpIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0RhdGE6OnBhZGRlZFN0YWNr
U3BhY2VbdDFdLCB0MQorICAgIGxvYWRpIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0RhdGE6
OnBhZGRlZFN0YWNrU3BhY2VbcjFdLCB0MQogICAgIGJ0aXogdDEsIC5jb250aW51ZQogCiAgICAg
Ly8gTW92ZSBmcmFtZSB1cCAidDEgKiAyIiBzbG90cwpAQCAtNTg4LDcgKzU1Myw2IEBAIGVuZAog
CiAKICMgSW5zdHJ1Y3Rpb24gaW1wbGVtZW50YXRpb25zCi0KIF9sbGludF9vcF9lbnRlcjoKICAg
ICB0cmFjZUV4ZWN1dGlvbigpCiAgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDIsIDB4
ZGVhZDAwZTEpCkBAIC02MjAsMTQgKzU4NCwxNCBAQCBfbGxpbnRfb3BfY3JlYXRlX3RoaXM6CiAg
ICAgdHJhY2VFeGVjdXRpb24oKQogICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkKICAg
ICBsb2FkcCBbY2ZyLCB0MCwgOF0sIHQwCi0gICAgbG9hZHAgSlNGdW5jdGlvbjo6bV9yYXJlRGF0
YVt0MF0sIHQ0Ci0gICAgYnRweiB0NCwgLm9wQ3JlYXRlVGhpc1Nsb3cKLSAgICBsb2FkcCBGdW5j
dGlvblJhcmVEYXRhOjptX2FsbG9jYXRpb25Qcm9maWxlICsgT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGU6Om1fYWxsb2NhdG9yW3Q0XSwgdDEKLSAgICBsb2FkcCBGdW5jdGlvblJhcmVEYXRhOjptX2Fs
bG9jYXRpb25Qcm9maWxlICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om1fc3RydWN0dXJlW3Q0
XSwgdDIKKyAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX3JhcmVEYXRhW3QwXSwgdDMKKyAgICBidHB6
IHQzLCAub3BDcmVhdGVUaGlzU2xvdworICAgIGxvYWRwIEZ1bmN0aW9uUmFyZURhdGE6Om1fYWxs
b2NhdGlvblByb2ZpbGUgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6bV9hbGxvY2F0b3JbdDNd
LCB0MQorICAgIGxvYWRwIEZ1bmN0aW9uUmFyZURhdGE6Om1fYWxsb2NhdGlvblByb2ZpbGUgKyBP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6bV9zdHJ1Y3R1cmVbdDNdLCB0MgogICAgIGJ0cHogdDEs
IC5vcENyZWF0ZVRoaXNTbG93Ci0gICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNCwgdDQpCi0gICAg
YnBlcSB0NCwgMSwgLmhhc1NlZW5NdWx0aXBsZUNhbGxlZQotICAgIGJwbmVxIHQ0LCB0MCwgLm9w
Q3JlYXRlVGhpc1Nsb3cKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig0LCB0MykKKyAgICBicGVx
IHQzLCAxLCAuaGFzU2Vlbk11bHRpcGxlQ2FsbGVlCisgICAgYnBuZXEgdDMsIHQwLCAub3BDcmVh
dGVUaGlzU2xvdwogLmhhc1NlZW5NdWx0aXBsZUNhbGxlZToKICAgICBhbGxvY2F0ZUpTT2JqZWN0
KHQxLCB0MiwgdDAsIHQzLCAub3BDcmVhdGVUaGlzU2xvdykKICAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oMSwgdDEpCkBAIC0xNzYwLDcgKzE3MjQsNyBAQCBfbGxpbnRfb3BfcmV0OgogICAgIHRy
YWNlRXhlY3V0aW9uKCkKICAgICBjaGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWUoKQogICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKLSAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQy
LCB0MCkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCByMCkKICAgICBkb1JldHVybigp
CiAKIApAQCAtMTgyMyw3ICsxNzg3LDcgQEAgX2xsaW50X29wX2VuZDoKICAgICBjaGVja1N3aXRj
aFRvSklURm9yRXBpbG9ndWUoKQogICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MCkKICAg
ICBhc3NlcnROb3RDb25zdGFudCh0MCkKLSAgICBsb2FkcSBbY2ZyLCB0MCwgOF0sIHQwCisgICAg
bG9hZHEgW2NmciwgdDAsIDhdLCByMAogICAgIGRvUmV0dXJuKCkKIAogCkBAIC0xODQ4LDU2ICsx
ODEyLDM1IEBAIG1hY3JvIG5hdGl2ZUNhbGxUcmFtcG9saW5lKGV4ZWN1dGFibGVPZmZzZXRUb0Z1
bmN0aW9uKQogCiAgICAgZnVuY3Rpb25Qcm9sb2d1ZSgpCiAgICAgc3RvcmVwIDAsIENvZGVCbG9j
a1tjZnJdCi0gICAgaWYgWDg2XzY0IG9yIFg4Nl82NF9XSU4KLSAgICAgICAgaWYgWDg2XzY0Ci0g
ICAgICAgICAgICBjb25zdCBhcmcxID0gdDQgICMgdDQgPSByZGkKLSAgICAgICAgICAgIGNvbnN0
IGFyZzIgPSB0NSAgIyB0NSA9IHJzaQotICAgICAgICAgICAgY29uc3QgdGVtcCA9IHQxCi0gICAg
ICAgIGVsc2lmIFg4Nl82NF9XSU4KLSAgICAgICAgICAgIGNvbnN0IGFyZzEgPSB0MiAgIyB0MiA9
IHJjeAotICAgICAgICAgICAgY29uc3QgYXJnMiA9IHQxICAjIHQxID0gcmR4Ci0gICAgICAgICAg
ICBjb25zdCB0ZW1wID0gdDAKLSAgICAgICAgZW5kCi0gICAgICAgIGxvYWRwIENhbGxlZVtjZnJd
LCB0MAotICAgICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDAsIHQxCi0gICAgICAgIGxvYWRw
IE1hcmtlZEJsb2NrOjptX3dlYWtTZXQgKyBXZWFrU2V0OjptX3ZtW3QxXSwgdDEKLSAgICAgICAg
c3RvcmVwIGNmciwgVk06OnRvcENhbGxGcmFtZVt0MV0KLSAgICAgICAgbW92ZSBjZnIsIGFyZzEK
LSAgICAgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIGFyZzIKLSAgICAgICAgbG9hZHAgSlNGdW5jdGlv
bjo6bV9leGVjdXRhYmxlW2FyZzJdLCB0ZW1wCi0gICAgICAgIGNoZWNrU3RhY2tQb2ludGVyQWxp
Z25tZW50KHQzLCAweGRlYWQwMDAxKQorICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0MAorICAgIGFu
ZHAgTWFya2VkQmxvY2tNYXNrLCB0MCwgdDEKKyAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93ZWFr
U2V0ICsgV2Vha1NldDo6bV92bVt0MV0sIHQxCisgICAgc3RvcmVwIGNmciwgVk06OnRvcENhbGxG
cmFtZVt0MV0KKyAgICBpZiBBUk02NCBvciBDX0xPT1AKKyAgICAgICAgbW92ZSBsciwgY3NyMAor
ICAgICAgICBzdG9yZXAgbHIsIFJldHVyblBDW2Nmcl0KKyAgICBlbmQKKyAgICBtb3ZlIGNmciwg
YTAKKyAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdDEKKyAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4
ZWN1dGFibGVbdDFdLCB0MQorICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQzLCAweGRl
YWQwMDAxKQorICAgIGlmIENfTE9PUAorICAgICAgICBjbG9vcENhbGxOYXRpdmUgZXhlY3V0YWJs
ZU9mZnNldFRvRnVuY3Rpb25bdDFdCisgICAgZWxzZQogICAgICAgICBpZiBYODZfNjRfV0lOCiAg
ICAgICAgICAgICBzdWJwIDMyLCBzcAogICAgICAgICBlbmQKLSAgICAgICAgY2FsbCBleGVjdXRh
YmxlT2Zmc2V0VG9GdW5jdGlvblt0ZW1wXQorICAgICAgICBjYWxsIGV4ZWN1dGFibGVPZmZzZXRU
b0Z1bmN0aW9uW3QxXQogICAgICAgICBpZiBYODZfNjRfV0lOCiAgICAgICAgICAgICBhZGRwIDMy
LCBzcAogICAgICAgICBlbmQKLSAgICAgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQzCi0gICAgICAg
IGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MwotICAgICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93
ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCi0gICAgZWxzaWYgQVJNNjQgb3IgQ19MT09Q
Ci0gICAgICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0MAotICAgICAgICBhbmRwIE1hcmtlZEJsb2Nr
TWFzaywgdDAsIHQxCi0gICAgICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3dlYWtTZXQgKyBXZWFr
U2V0OjptX3ZtW3QxXSwgdDEKLSAgICAgICAgc3RvcmVwIGNmciwgVk06OnRvcENhbGxGcmFtZVt0
MV0KLSAgICAgICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKHQzKQotICAgICAgICBz
dG9yZXAgdDMsIFJldHVyblBDW2Nmcl0KLSAgICAgICAgbW92ZSBjZnIsIHQwCi0gICAgICAgIGxv
YWRwIENhbGxlZVtjZnJdLCB0MQotICAgICAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFi
bGVbdDFdLCB0MQotICAgICAgICBpZiBDX0xPT1AKLSAgICAgICAgICAgIGNsb29wQ2FsbE5hdGl2
ZSBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0KLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgY2FsbCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0KLSAgICAgICAgZW5kCi0gICAg
ICAgIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKHQzKQotICAgICAgICBsb2FkcCBD
YWxsZWVbY2ZyXSwgdDMKLSAgICAgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzCi0gICAgICAg
IGxvYWRwIE1hcmtlZEJsb2NrOjptX3dlYWtTZXQgKyBXZWFrU2V0OjptX3ZtW3QzXSwgdDMKLSAg
ICBlbHNlCi0gICAgICAgIGVycm9yCiAgICAgZW5kCisgICAgaWYgQVJNNjQgb3IgQ19MT09QCisg
ICAgICAgIG1vdmUgY3NyMCwgbHIKKyAgICBlbmQKKyAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdDMK
KyAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKKyAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93
ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCiAKICAgICBmdW5jdGlvbkVwaWxvZ3VlKCkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtLnJiIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtLnJiCmluZGV4IDQ0Y2ZiZTVjOTA2
ZWM4MmI1ZDAwMjQ2ZDdkMTgzMGI3ZTgwMDA0NjguLmEwYWIzZGRlNWE1NzJlMDVhOGNmNGM1NzVl
MTk1Njc0OTE1YTEyNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5l
YXNtL2FybS5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hcm0ucmIK
QEAgLTI3LDYgKzI3LDM0IEBAIHJlcXVpcmUgImFzdCIKIHJlcXVpcmUgIm9wdCIKIHJlcXVpcmUg
InJpc2MiCiAKKyMgR1BSIGNvbnZlbnRpb25zLCB0byBtYXRjaCB0aGUgYmFzZWxpbmUgSklUCisj
CisjICB4MCA9PiB0MCwgYTAsIHIwCisjICB4MSA9PiB0MSwgYTEsIHIxCisjICB4MiA9PiB0Miwg
YTIsIHIyCisjICB4MyA9PiB0MywgYTMsIHIzCisjICB4NiA9PiAgICAgICAgICAgIChjYWxsZWUt
c2F2ZSBzY3JhdGNoKQorIyAgeDcgPT4gY2ZyICAgICAgICAoQVJNdjcgb25seSkKKyMgIHg4ID0+
IHQ0ICAgICAgICAgKGNhbGxlZS1zYXZlKQorIyAgeDkgPT4gdDUgICAgICAgICAoY2FsbGVlLXNh
dmUpCisjIHgxMCA9PiAgICAgICAgICAgIChjYWxsZWUtc2F2ZSBzY3JhdGNoKQorIyB4MTEgPT4g
Y2ZyICAgICAgICAoQVJNIGFuZCBBUk12NyB0cmFkaXRpb25hbCkKKyMgeDEyID0+ICAgICAgICAg
ICAgKGNhbGxlZS1zYXZlIHNjcmF0Y2gpCisjICBsciA9PiBscgorIyAgc3AgPT4gc3AKKyMgIHBj
ID0+IHBjCisjCisjIEZQUiBjb252ZW50aW9ucywgdG8gbWF0Y2ggdGhlIGJhc2VsaW5lIEpJVAor
IworIyBkMCA9PiBmdDAsIGZhMCwgZnIKKyMgZDEgPT4gZnQxLCBmYTEKKyMgZDIgPT4gZnQyCisj
IGQzID0+IGZ0MworIyBkNCA9PiBmdDQKKyMgZDUgPT4gZnQ1CisjIGQ2ID0+ICAgICAgICAgICAg
ICAoc2NyYXRjaCkKKyMgZDcgPT4gICAgICAgICAgICAgIChzY3JhdGNoKQorCiBkZWYgaXNBUk12
NwogICAgIGNhc2UgJGFjdGl2ZUJhY2tlbmQKICAgICB3aGVuICJBUk12NyIKQEAgLTExOSw5ICsx
NDcsOSBAQCBlbmQKIGNsYXNzIEZQUmVnaXN0ZXJJRAogICAgIGRlZiBhcm1PcGVyYW5kCiAgICAg
ICAgIGNhc2UgbmFtZQotICAgICAgICB3aGVuICJmdDAiLCAiZnIiCisgICAgICAgIHdoZW4gImZ0
MCIsICJmciIsICJmYTAiCiAgICAgICAgICAgICAiZDAiCi0gICAgICAgIHdoZW4gImZ0MSIKKyAg
ICAgICAgd2hlbiAiZnQxIiwgImZhMSIKICAgICAgICAgICAgICJkMSIKICAgICAgICAgd2hlbiAi
ZnQyIgogICAgICAgICAgICAgImQyIgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L29mZmxpbmVhc20vYXJtNjQucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9h
cm02NC5yYgppbmRleCAzYTBkNzg2YzhmODQ5OGEwMTc4ZGYzMzkyMjNiNzk0ZTFlOTE4YjEwLi4x
MTEwNjIyZWMwMDA3ZDBmMzUzNjFkYzg4NzIxMmRiYjQ5MWYxZGU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hcm02NC5yYgorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvb2ZmbGluZWFzbS9hcm02NC5yYgpAQCAtMzcsMzIgKzM3LDMwIEBAIHJlcXVpcmUg
InJpc2MiCiAjCiAjIEdQUiBjb252ZW50aW9ucywgdG8gbWF0Y2ggdGhlIGJhc2VsaW5lIEpJVDoK
ICMKLSMgIHgwICA9PiByZXR1cm4gdmFsdWUsIGNhY2hlZCByZXN1bHQsIGZpcnN0IGFyZ3VtZW50
LCB0MCwgYTAsIHIwCisjICB4MCAgPT4gdDAsIGEwLCByMAogIyAgeDEgID0+IHQxLCBhMSwgcjEK
ICMgIHgyICA9PiB0MiwgYTIKLSMgIHgzICA9PiBhMwotIyAgeDUgID0+IHQ0Ci0jICB4NiAgPT4g
dDYKLSMgIHg5ICA9PiAobm9uQXJnR1BSMSBpbiBiYXNlbGluZSkKLSMgeDEzICA9PiBzY3JhdGNo
ICh1bnVzZWQgaW4gYmFzZWxpbmUpCi0jIHgxNiAgPT4gc2NyYXRjaAotIyB4MTcgID0+IHNjcmF0
Y2gKLSMgeDIzICA9PiB0MwotIyB4MjQgID0+IHQ1Ci0jIHgyNyAgPT4gY3NyMSAodGFnVHlwZU51
bWJlcikKLSMgeDI4ICA9PiBjc3IyICh0YWdNYXNrKQorIyAgeDMgID0+IHQzLCBhMworIyAgeDQg
ID0+IHQ0CisjICB4NSAgPT4gdDUKKyMgeDEzICA9PiAgICAgICAgICAgICAgICAgIChzY3JhdGNo
KQorIyB4MTYgID0+ICAgICAgICAgICAgICAgICAgKHNjcmF0Y2gpCisjIHgxNyAgPT4gICAgICAg
ICAgICAgICAgICAoc2NyYXRjaCkKKyMgeDI2ICA9PiAgICAgICAgICAgICBjc3IwIChQQikKKyMg
eDI3ICA9PiAgICAgICAgICAgICBjc3IxICh0YWdUeXBlTnVtYmVyKQorIyB4MjggID0+ICAgICAg
ICAgICAgIGNzcjIgKHRhZ01hc2spCiAjIHgyOSAgPT4gY2ZyCiAjICBzcCAgPT4gc3AKICMgIGxy
ICA9PiBscgogIwotIyBGUFIgY29uZW50aW9ucywgdG8gbWF0Y2ggdGhlIGJhc2VsaW5lIEpJVDoK
KyMgRlBSIGNvbnZlbnRpb25zLCB0byBtYXRjaCB0aGUgYmFzZWxpbmUgSklUOgogIwotIyAgcTAg
ID0+IGZ0MAotIyAgcTEgID0+IGZ0MQotIyAgcTIgID0+IGZ0MgotIyAgcTMgID0+IGZ0MwotIyAg
cTQgID0+IGZ0NCAodW51c2VkIGluIGJhc2VsaW5lKQotIyAgcTUgID0+IGZ0NSAodW51c2VkIGlu
IGJhc2VsaW5lKQorIyAgcTAgID0+IGZ0MCwgZmEwLCBmcgorIyAgcTEgID0+IGZ0MSwgZmExCisj
ICBxMiAgPT4gZnQyLCBmYTIKKyMgIHEzICA9PiBmdDMsIGZhMworIyAgcTQgID0+IGZ0NCAgICAg
ICAgICAodW51c2VkIGluIGJhc2VsaW5lKQorIyAgcTUgID0+IGZ0NSAgICAgICAgICAodW51c2Vk
IGluIGJhc2VsaW5lKQogIyBxMzEgID0+IHNjcmF0Y2gKIAogZGVmIGFybTY0R1BSTmFtZShuYW1l
LCBraW5kKQpAQCAtMTA5LDIwICsxMDcsMTYgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICAg
ICAgYXJtNjRHUFJOYW1lKCd4MScsIGtpbmQpCiAgICAgICAgIHdoZW4gJ3QyJywgJ2EyJwogICAg
ICAgICAgICAgYXJtNjRHUFJOYW1lKCd4MicsIGtpbmQpCi0gICAgICAgIHdoZW4gJ2EzJworICAg
ICAgICB3aGVuICd0MycsICdhMycKICAgICAgICAgICAgIGFybTY0R1BSTmFtZSgneDMnLCBraW5k
KQotICAgICAgICB3aGVuICd0MycKLSAgICAgICAgICAgIGFybTY0R1BSTmFtZSgneDIzJywga2lu
ZCkKICAgICAgICAgd2hlbiAndDQnCi0gICAgICAgICAgICBhcm02NEdQUk5hbWUoJ3g1Jywga2lu
ZCkKKyAgICAgICAgICAgIGFybTY0R1BSTmFtZSgneDQnLCBraW5kKQogICAgICAgICB3aGVuICd0
NScKLSAgICAgICAgICAgIGFybTY0R1BSTmFtZSgneDI0Jywga2luZCkKLSAgICAgICAgd2hlbiAn
dDYnCi0gICAgICAgICAgICBhcm02NEdQUk5hbWUoJ3g2Jywga2luZCkKLSAgICAgICAgd2hlbiAn
dDcnCi0gICAgICAgICAgICBhcm02NEdQUk5hbWUoJ3g3Jywga2luZCkKKyAgICAgICAgICAgIGFy
bTY0R1BSTmFtZSgneDUnLCBraW5kKQogICAgICAgICB3aGVuICdjZnInCiAgICAgICAgICAgICBh
cm02NEdQUk5hbWUoJ3gyOScsIGtpbmQpCisgICAgICAgIHdoZW4gJ2NzcjAnCisgICAgICAgICAg
ICBhcm02NEdQUk5hbWUoJ3gyNicsIGtpbmQpCiAgICAgICAgIHdoZW4gJ2NzcjEnCiAgICAgICAg
ICAgICBhcm02NEdQUk5hbWUoJ3gyNycsIGtpbmQpCiAgICAgICAgIHdoZW4gJ2NzcjInCkBAIC0x
NDAsMTMgKzEzNCwxMyBAQCBlbmQKIGNsYXNzIEZQUmVnaXN0ZXJJRAogICAgIGRlZiBhcm02NE9w
ZXJhbmQoa2luZCkKICAgICAgICAgY2FzZSBAbmFtZQotICAgICAgICB3aGVuICdmdDAnCisgICAg
ICAgIHdoZW4gJ2Z0MCcsICdmcicsICdmYTAnCiAgICAgICAgICAgICBhcm02NEZQUk5hbWUoJ3Ew
Jywga2luZCkKLSAgICAgICAgd2hlbiAnZnQxJworICAgICAgICB3aGVuICdmdDEnLCAnZmExJwog
ICAgICAgICAgICAgYXJtNjRGUFJOYW1lKCdxMScsIGtpbmQpCi0gICAgICAgIHdoZW4gJ2Z0MicK
KyAgICAgICAgd2hlbiAnZnQyJywgJ2ZhMicKICAgICAgICAgICAgIGFybTY0RlBSTmFtZSgncTIn
LCBraW5kKQotICAgICAgICB3aGVuICdmdDMnCisgICAgICAgIHdoZW4gJ2Z0MycsICdmYTMnCiAg
ICAgICAgICAgICBhcm02NEZQUk5hbWUoJ3EzJywga2luZCkKICAgICAgICAgd2hlbiAnZnQ0Jwog
ICAgICAgICAgICAgYXJtNjRGUFJOYW1lKCdxNCcsIGtpbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9jbG9vcC5yYiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9vZmZsaW5lYXNtL2Nsb29wLnJiCmluZGV4IDA0YTY5OTgxNDQ3ODZkZWM1NWM0MzZmNmI5OTE1
NGZkMTZiMDdiMmYuLjdlOTM5NDgwZTc4NDc4MDg0YWYyMDE2NzQ3NTY3MDZkNWNmMDJhMGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2Nsb29wLnJiCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2Nsb29wLnJiCkBAIC03MCw5ICs3MCw5
IEBAIGNsYXNzIFJlZ2lzdGVySUQKICAgICAgICAgY2FzZSBuYW1lCiAgICAgICAgICMgVGhlIGNs
b29wIGlzIG1vZGVsbGVkIG9uIHRoZSBBUk0gaW1wbGVtZW50YXRpb24uIEhlbmNlLCB0aGUgYTAt
YTMKICAgICAgICAgIyByZWdpc3RlcnMgYXJlIGFsaWFzZXMgZm9yIHIwLXIzIGkuZS4gdDAtdDMg
aW4gb3VyIGNhc2UuCi0gICAgICAgIHdoZW4gInQwIiwgImEwIgorICAgICAgICB3aGVuICJ0MCIs
ICJhMCIsICJyMCIKICAgICAgICAgICAgICJ0MCIKLSAgICAgICAgd2hlbiAidDEiLCAiYTEiCisg
ICAgICAgIHdoZW4gInQxIiwgImExIiwgInIxIgogICAgICAgICAgICAgInQxIgogICAgICAgICB3
aGVuICJ0MiIsICJhMiIKICAgICAgICAgICAgICJ0MiIKQEAgLTgyLDEwICs4Miw4IEBAIGNsYXNz
IFJlZ2lzdGVySUQKICAgICAgICAgICAgICJwYyIKICAgICAgICAgd2hlbiAidDUiCiAgICAgICAg
ICAgICAidDUiCi0gICAgICAgIHdoZW4gInQ2IgorICAgICAgICB3aGVuICJjc3IwIgogICAgICAg
ICAgICAgInBjQmFzZSIKLSAgICAgICAgd2hlbiAidDciCi0gICAgICAgICAgICAidDciCiAgICAg
ICAgIHdoZW4gImNzcjEiCiAgICAgICAgICAgICAidGFnVHlwZU51bWJlciIKICAgICAgICAgd2hl
biAiY3NyMiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL21p
cHMucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9taXBzLnJiCmluZGV4IGNj
MTA3ZWMzNzUwYjYyNDU0N2VjZmU3NDVmYzJhOGY2M2M5MzJmYzcuLjMwNTJkY2E0NjUyMWJiMjAz
M2E3MTY5ODg5Njk4YzZhYjkwMDYwYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9vZmZsaW5lYXNtL21pcHMucmIKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVh
c20vbWlwcy5yYgpAQCAtMjQsNiArMjQsNDEgQEAKIAogcmVxdWlyZSAncmlzYycKIAorIyBHUFIg
Y29udmVudGlvbnMsIHRvIG1hdGNoIHRoZSBiYXNlbGluZSBKSVQKKyMKKyMgJGEwID0+IGEwCisj
ICRhMSA9PiBhMQorIyAkYTIgPT4gYTIKKyMgJGEzID0+IGEzCisjICR2MCA9PiB0MCwgcjAKKyMg
JHYxID0+IHQxLCByMQorIyAkdDIgPT4gICAgICAgICB0MgorIyAkdDMgPT4gICAgICAgICB0Mwor
IyAkdDQgPT4gICAgICAgICB0NAorIyAkdDUgPT4gICAgICAgICB0NQorIyAkdDYgPT4gICAgICAg
ICAgICAoc2NyYXRjaCkKKyMgJHQ3ID0+ICAgICAgICAgICAgKHNjcmF0Y2gpCisjICR0OCA9PiAg
ICAgICAgICAgIChzY3JhdGNoKQorIyAkdDkgPT4gICAgICAgICAgICAoc3RvcmVzIHRoZSBjYWxs
ZWUgb2YgYSBjYWxsIG9wY29kZSkKKyMgJGdwID0+ICAgICAgICAgICAgKGdsb2JhbHMpCisjICRz
NCA9PiAgICAgICAgICAgIChjYWxsZWUtc2F2ZSB1c2VkIHRvIHByZXNlcnZlICRncCBhY3Jvc3Mg
Y2FsbHMpCisjICRyYSA9PiBscgorIyAkc3AgPT4gc3AKKyMgJGZwID0+IGNmcgorIworIyBGUFIg
Y29udmVudGlvbnMsIHRvIG1hdGNoIHRoZSBiYXNlbGluZSBKSVQKKyMgV2UgZG9uJ3QgaGF2ZSBm
YTIgb3IgZmEzIQorIyAgJGYwID0+IGZ0MCwgZnIKKyMgICRmMiA9PiBmdDEKKyMgICRmNCA9PiBm
dDIKKyMgICRmNiA9PiBmdDMKKyMgICRmOCA9PiBmdDQKKyMgJGYxMCA9PiBmdDUKKyMgJGYxMiA9
PiAgICAgICAgZmEwCisjICRmMTQgPT4gICAgICAgIGZhMQorIyAkZjE2ID0+ICAgICAgICAgICAg
KHNjcmF0Y2gpCisjICRmMTggPT4gICAgICAgICAgICAoc2NyYXRjaCkKKwogY2xhc3MgQXNzZW1i
bGVyCiAgICAgZGVmIHB1dFN0cihzdHIpCiAgICAgICAgIEBvdXRwLnB1dHMgc3RyCkBAIC01Nyw4
ICs5Miw3IEBAIGNsYXNzIFNwZWNpYWxSZWdpc3RlciA8IE5vQ2hpbGRyZW4KICAgICBlbmQKIGVu
ZAogCi1NSVBTX1RFTVBfR1BSUyA9IFtTcGVjaWFsUmVnaXN0ZXIubmV3KCIkdDUiKSwgU3BlY2lh
bFJlZ2lzdGVyLm5ldygiJHQ2IiksIFNwZWNpYWxSZWdpc3Rlci5uZXcoIiR0NyIpLAotICAgICAg
ICAgICAgICAgICAgICBTcGVjaWFsUmVnaXN0ZXIubmV3KCIkdDgiKV0KK01JUFNfVEVNUF9HUFJT
ID0gW1NwZWNpYWxSZWdpc3Rlci5uZXcoIiR0NiIpLCBTcGVjaWFsUmVnaXN0ZXIubmV3KCIkdDci
KSwgU3BlY2lhbFJlZ2lzdGVyLm5ldygiJHQ4IildCiBNSVBTX1pFUk9fUkVHID0gU3BlY2lhbFJl
Z2lzdGVyLm5ldygiJHplcm8iKQogTUlQU19HUF9SRUcgPSBTcGVjaWFsUmVnaXN0ZXIubmV3KCIk
Z3AiKQogTUlQU19HUFNBVkVfUkVHID0gU3BlY2lhbFJlZ2lzdGVyLm5ldygiJHM0IikKQEAgLTg1
LDI0ICsxMTksMTggQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICAgICAgIiRhMiIKICAgICAg
ICAgd2hlbiAiYTMiCiAgICAgICAgICAgICAiJGEzIgotICAgICAgICB3aGVuICJyMCIsICJ0MCIK
KyAgICAgICAgd2hlbiAidDAiLCAicjAiCiAgICAgICAgICAgICAiJHYwIgotICAgICAgICB3aGVu
ICJyMSIsICJ0MSIKKyAgICAgICAgd2hlbiAidDEiLCAicjEiCiAgICAgICAgICAgICAiJHYxIgog
ICAgICAgICB3aGVuICJ0MiIKICAgICAgICAgICAgICIkdDIiCiAgICAgICAgIHdoZW4gInQzIgot
ICAgICAgICAgICAgIiRzMyIKLSAgICAgICAgd2hlbiAidDQiICAgIyBQQyByZWcgaW4gbGxpbnQK
LSAgICAgICAgICAgICIkczIiCisgICAgICAgICAgICAiJHQzIgorICAgICAgICB3aGVuICJ0NCIK
KyAgICAgICAgICAgICIkdDQiCiAgICAgICAgIHdoZW4gInQ1IgogICAgICAgICAgICAgIiR0NSIK
LSAgICAgICAgd2hlbiAidDYiCi0gICAgICAgICAgICAiJHQ2IgotICAgICAgICB3aGVuICJ0NyIK
LSAgICAgICAgICAgICIkdDciCi0gICAgICAgIHdoZW4gInQ4IgotICAgICAgICAgICAgIiR0OCIK
ICAgICAgICAgd2hlbiAiY2ZyIgogICAgICAgICAgICAgIiRmcCIKICAgICAgICAgd2hlbiAibHIi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9yZWdpc3RlcnMu
cmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9yZWdpc3RlcnMucmIKaW5kZXgg
MTY4NjY3ZTBjYmYxZGUyMTc2ZDA2MDdkMDI4ZjY2ZjljYWU4NmQzMy4uYTRhMDc1Y2ZmOTZjNjM1
NjYzYWVkODVhZGJlMjFhYWUyNGM0ZmY4MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL29mZmxpbmVhc20vcmVnaXN0ZXJzLnJiCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9v
ZmZsaW5lYXNtL3JlZ2lzdGVycy5yYgpAQCAtMzEsMTAgKzMxLDYgQEAgR1BSUyA9CiAgICAgICJ0
MyIsCiAgICAgICJ0NCIsCiAgICAgICJ0NSIsCi0gICAgICJ0NiIsCi0gICAgICJ0NyIsCi0gICAg
ICJ0OCIsCi0gICAgICJ0OSIsCiAgICAgICJjZnIiLAogICAgICAiYTAiLAogICAgICAiYTEiLApA
QCAtNDYsOCArNDIsMTMgQEAgR1BSUyA9CiAgICAgICJsciIsCiAgICAgICJwYyIsCiAgICAgICMg
NjQtYml0IG9ubHkgcmVnaXN0ZXJzOgotICAgICAiY3NyMSIsICAjIHRhZyB0eXBlIG51bWJlciBy
ZWdpc3RlcgotICAgICAiY3NyMiIgICAjIHRhZyBtYXNrIHJlZ2lzdGVyCisgICAgICJjc3IwIiwK
KyAgICAgImNzcjEiLAorICAgICAiY3NyMiIsCisgICAgICJjc3IzIiwKKyAgICAgImNzcjQiLAor
ICAgICAiY3NyNSIsCisgICAgICJjc3I2IgogICAgIF0KIAogRlBSUyA9CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9zaDQucmIgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS9zaDQucmIKaW5kZXggMDI0MWYzOGQ4OWViZGIyOGUzZjQwZWJkNzk3
OTMzZjE0NmM3NzA2NC4uYzg0N2Q1NjRhMGQwYzI1NThmMzA2ZGE3NTFjNjllNWI0MTU2ZWNlMSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vc2g0LnJiCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3NoNC5yYgpAQCAtMjQsNiArMjQsMzMg
QEAKIAogcmVxdWlyZSAncmlzYycKIAorIyBHUFIgY29udmVudGlvbnMsIHRvIG1hdGNoIHRoZSBi
YXNlbGluZSBKSVQKKyMKKyMgIHIwID0+IHQwLCByMAorIyAgcjEgPT4gdDEsIHIxCisjICByMiA9
PiB0NAorIyAgcjMgPT4gdDUKKyMgIHI0ID0+ICAgICAgICAgYTAKKyMgIHI1ID0+ICAgICAgICAg
YTEKKyMgIHI2ID0+IHQyLCAgICAgYTIKKyMgIHI3ID0+IHQzLCAgICAgYTMKKyMgcjEwID0+ICAg
ICAgICAgICAgKHNjcmF0Y2gpCisjIHIxMSA9PiAgICAgICAgICAgIChzY3JhdGNoKQorIyByMTMg
PT4gICAgICAgICAgICAoc2NyYXRjaCkKKyMgcjE0ID0+IGNmcgorIyByMTUgPT4gc3AKKyMgIHBy
ID0+IGxyCisKKyMgRlBSIGNvbnZlbnRpb25zLCB0byBtYXRjaCB0aGUgYmFzZWxpbmUgSklUCisj
IFdlIGRvbid0IGhhdmUgZmEyIG9yIGZhMyEKKyMgIGRyMCA9PiBmdDAsIGZyCisjICBkcjIgPT4g
ZnQxCisjICBkcjQgPT4gZnQyLCAgIGZhMAorIyAgZHI2ID0+IGZ0MywgICBmYTEKKyMgIGRyOCA9
PiBmdDQKKyMgZHIxMCA9PiBmdDUKKyMgZHIxMiA9PiAgICAgICAgICAgICAoc2NyYXRjaCkKKwog
Y2xhc3MgTm9kZQogICAgIGRlZiBzaDRTaW5nbGVIaQogICAgICAgICBkb3VibGVPcGVyYW5kID0g
c2g0T3BlcmFuZApAQCAtNTEsMzIgKzc4LDI4IEBAIGNsYXNzIFNwZWNpYWxSZWdpc3RlciA8IE5v
Q2hpbGRyZW4KICAgICBlbmQKIGVuZAogCi1TSDRfVE1QX0dQUlMgPSBbIFNwZWNpYWxSZWdpc3Rl
ci5uZXcoInIzIiksIFNwZWNpYWxSZWdpc3Rlci5uZXcoInIxMSIpLCBTcGVjaWFsUmVnaXN0ZXIu
bmV3KCJyMTMiKSBdCi1TSDRfVE1QX0ZQUlMgPSBbIFNwZWNpYWxSZWdpc3Rlci5uZXcoImRyMTAi
KSBdCitTSDRfVE1QX0dQUlMgPSBbIFNwZWNpYWxSZWdpc3Rlci5uZXcoInIxMCIpLCBTcGVjaWFs
UmVnaXN0ZXIubmV3KCJyMTEiKSwgU3BlY2lhbFJlZ2lzdGVyLm5ldygicjEzIikgXQorU0g0X1RN
UF9GUFJTID0gWyBTcGVjaWFsUmVnaXN0ZXIubmV3KCJkcjEyIikgXQogCiBjbGFzcyBSZWdpc3Rl
cklECiAgICAgZGVmIHNoNE9wZXJhbmQKICAgICAgICAgY2FzZSBuYW1lCi0gICAgICAgIHdoZW4g
InQwIgotICAgICAgICAgICAgInIwIgotICAgICAgICB3aGVuICJ0MSIKLSAgICAgICAgICAgICJy
MSIKLSAgICAgICAgd2hlbiAidDIiCi0gICAgICAgICAgICAicjIiCi0gICAgICAgIHdoZW4gInQz
IgotICAgICAgICAgICAgInIxMCIKLSAgICAgICAgd2hlbiAidDQiLCAiYTAiCisgICAgICAgIHdo
ZW4gImEwIgogICAgICAgICAgICAgInI0IgotICAgICAgICB3aGVuICJ0NSIsICJhMSIKKyAgICAg
ICAgd2hlbiAiYTEiCiAgICAgICAgICAgICAicjUiCi0gICAgICAgIHdoZW4gInQ2IiwgImEyIgor
ICAgICAgICB3aGVuICJyMCIsICJ0MCIKKyAgICAgICAgICAgICJyMCIKKyAgICAgICAgd2hlbiAi
cjEiLCAidDEiCisgICAgICAgICAgICAicjEiCisgICAgICAgIHdoZW4gImEyIiwgInQyIgogICAg
ICAgICAgICAgInI2IgotICAgICAgICB3aGVuICJ0NyIsICJhMyIKKyAgICAgICAgd2hlbiAiYTMi
LCAidDMiCiAgICAgICAgICAgICAicjciCi0gICAgICAgIHdoZW4gInQ4IgotICAgICAgICAgICAg
InI4IgotICAgICAgICB3aGVuICJ0OSIKLSAgICAgICAgICAgICJyOSIKKyAgICAgICAgd2hlbiAi
dDQiCisgICAgICAgICAgICAicjIiCisgICAgICAgIHdoZW4gInQ1IgorICAgICAgICAgICAgInIz
IgogICAgICAgICB3aGVuICJjZnIiCiAgICAgICAgICAgICAicjE0IgogICAgICAgICB3aGVuICJz
cCIKQEAgLTk2LDE0ICsxMTksMTQgQEAgY2xhc3MgRlBSZWdpc3RlcklECiAgICAgICAgICAgICAi
ZHIwIgogICAgICAgICB3aGVuICJmdDEiCiAgICAgICAgICAgICAiZHIyIgotICAgICAgICB3aGVu
ICJmdDIiCisgICAgICAgIHdoZW4gImZ0MiIsICJmYTAiCiAgICAgICAgICAgICAiZHI0IgotICAg
ICAgICB3aGVuICJmdDMiCisgICAgICAgIHdoZW4gImZ0MyIsICJmYTEiCiAgICAgICAgICAgICAi
ZHI2IgogICAgICAgICB3aGVuICJmdDQiCiAgICAgICAgICAgICAiZHI4IgotICAgICAgICB3aGVu
ICJmYTAiCi0gICAgICAgICAgICAiZHIxMiIKKyAgICAgICAgd2hlbiAiZnQ1IgorICAgICAgICAg
ICAgImRyMTAiCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJhaXNlICJCYWQgcmVnaXN0ZXIg
I3tuYW1lfSBmb3IgU0g0IGF0ICN7Y29kZU9yaWdpblN0cmluZ30iCiAgICAgICAgIGVuZApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20veDg2LnJiIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20veDg2LnJiCmluZGV4IDg4MzBlM2Q0MWQyYWIwOTQz
MmEyYTQ3ZDY5MzVjMDhjNGY4Y2YzYTEuLjE3ZmY5ZDM0NWRjNjZlMzA1ZGQ5ZTM2NTMyYTNmOTRk
Yjk0ZTU3Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3g4
Ni5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS94ODYucmIKQEAgLTI0
LDYgKzI0LDYyIEBACiAKIHJlcXVpcmUgImNvbmZpZyIKIAorIyBHUFIgY29udmVudGlvbnMsIHRv
IG1hdGNoIHRoZSBiYXNlbGluZSBKSVQ6CisjCisjCisjIE9uIHg4Ni0zMiBiaXRzICh3aW5kb3dz
IGFuZCBub24td2luZG93cykKKyMgYTAsIGExLCBhMiwgYTMgYXJlIG9ubHkgdGhlcmUgZm9yIGVh
c2Utb2YtdXNlIG9mIG9mZmxpbmVhc207IHRoZXkgYXJlIG5vdAorIyBhY3R1YWxseSBjb25zaWRl
cmVkIGFzIHN1Y2ggYnkgdGhlIEFCSSBhbmQgd2UgbmVlZCB0byBwdXNoL3BvcCBvdXIgYXJndW1l
bnRzCisjIG9uIHRoZSBzdGFjay4gYTAgYW5kIGExIGFyZSBlY3ggYW5kIGVkeCB0byBmb2xsb3cg
ZmFzdGNhbGwuCisjCisjIGVheCA9PiB0MCwgYTIsIHIwCisjIGVkeCA9PiB0MSwgYTEsIHIxCisj
IGVjeCA9PiB0MiwgYTAKKyMgZWJ4ID0+IHQzLCBhMyAgICAgKGNhbGxlZS1zYXZlKQorIyBlc2kg
PT4gdDQgICAgICAgICAoY2FsbGVlLXNhdmUpCisjIGVkaSA9PiB0NSAgICAgICAgIChjYWxsZWUt
c2F2ZSkKKyMgZWJwID0+IGNmcgorIyBlc3AgPT4gc3AKKyMKKyMgT24geDg2LTY0IG5vbi13aW5k
b3dzCisjCisjIHJheCA9PiB0MCwgICAgIHIwCisjIHJkaSA9PiAgICAgYTAKKyMgcnNpID0+IHQx
LCBhMQorIyByZHggPT4gdDIsIGEyLCByMQorIyByY3ggPT4gdDMsIGEzCisjICByOCA9PiB0NAor
IyByMTAgPT4gdDUKKyMgcmJ4ID0+ICAgICAgICAgICAgIGNzcjAgKGNhbGxlZS1zYXZlLCBQQiwg
dW51c2VkIGluIGJhc2VsaW5lKQorIyByMTIgPT4gICAgICAgICAgICAgY3NyMSAoY2FsbGVlLXNh
dmUpCisjIHIxMyA9PiAgICAgICAgICAgICBjc3IyIChjYWxsZWUtc2F2ZSkKKyMgcjE0ID0+ICAg
ICAgICAgICAgIGNzcjMgKGNhbGxlZS1zYXZlLCB0YWdUeXBlTnVtYmVyKQorIyByMTUgPT4gICAg
ICAgICAgICAgY3NyNCAoY2FsbGVlLXNhdmUsIHRhZ01hc2spCisjIHJzcCA9PiBzcAorIyByYnAg
PT4gY2ZyCisjIHIxMSA9PiAgICAgICAgICAgICAgICAgIChzY3JhdGNoKQorIworIyBPbiB4ODYt
NjQgd2luZG93cworIyBBcmd1bWVudHMgbmVlZCB0byBiZSBwdXNoL3BvcCdkIG9uIHRoZSBzdGFj
ayBpbiBhZGRpdGlvbiB0byBiZWluZyBzdG9yZWQgaW4KKyMgdGhlIHJlZ2lzdGVycy4gQWxzbywg
PjggcmV0dXJuIHR5cGVzIGFyZSByZXR1cm5lZCBpbiBhIHdlaXJkIHdheS4KKyMKKyMgcmF4ID0+
IHQwLCAgICAgcjAKKyMgcmN4ID0+ICAgICBhMAorIyByZHggPT4gdDEsIGExLCByMQorIyAgcjgg
PT4gdDIsIGEyCisjICByOSA9PiB0MywgYTMKKyMgcjEwID0+IHQ0CisjIHJieCA9PiAgICAgICAg
ICAgICBjc3IwIChjYWxsZWUtc2F2ZSwgUEIsIHVudXNlZCBpbiBiYXNlbGluZSkKKyMgcnNpID0+
ICAgICAgICAgICAgIGNzcjEgKGNhbGxlZS1zYXZlKQorIyByZGkgPT4gICAgICAgICAgICAgY3Ny
MiAoY2FsbGVlLXNhdmUpCisjIHIxMiA9PiAgICAgICAgICAgICBjc3IzIChjYWxsZWUtc2F2ZSkK
KyMgcjEzID0+ICAgICAgICAgICAgIGNzcjQgKGNhbGxlZS1zYXZlKQorIyByMTQgPT4gICAgICAg
ICAgICAgY3NyNSAoY2FsbGVlLXNhdmUsIHRhZ1R5cGVOdW1iZXIpCisjIHIxNSA9PiAgICAgICAg
ICAgICBjc3I2IChjYWxsZWUtc2F2ZSwgdGFnTWFzaykKKyMgcnNwID0+IHNwCisjIHJicCA9PiBj
ZnIKKyMgcjExID0+ICAgICAgICAgICAgICAgICAgKHNjcmF0Y2gpCisKIGRlZiBpc1g2NAogICAg
IGNhc2UgJGFjdGl2ZUJhY2tlbmQKICAgICB3aGVuICJYODYiCkBAIC0zOSw2ICs5NSwyMSBAQCBk
ZWYgaXNYNjQKICAgICBlbmQKIGVuZAogCitkZWYgaXNXaW4KKyAgICBjYXNlICRhY3RpdmVCYWNr
ZW5kCisgICAgd2hlbiAiWDg2IgorICAgICAgICBmYWxzZQorICAgIHdoZW4gIlg4Nl9XSU4iCisg
ICAgICAgIHRydWUKKyAgICB3aGVuICJYODZfNjQiCisgICAgICAgIGZhbHNlCisgICAgd2hlbiAi
WDg2XzY0X1dJTiIKKyAgICAgICAgdHJ1ZQorICAgIGVsc2UKKyAgICAgICAgcmFpc2UgImJhZCB2
YWx1ZSBmb3IgJGFjdGl2ZUJhY2tlbmQ6ICN7JGFjdGl2ZUJhY2tlbmR9IgorICAgIGVuZAorZW5k
CisKIGRlZiB1c2VYODcKICAgICBjYXNlICRhY3RpdmVCYWNrZW5kCiAgICAgd2hlbiAiWDg2IgpA
QCAtNTQsMjAgKzEyNSwyMCBAQCBkZWYgdXNlWDg3CiAgICAgZW5kCiBlbmQKIAotZGVmIGlzV2lu
ZG93cworZGVmIGlzQ29tcGlsaW5nT25XaW5kb3dzCiAgICAgRU5WWydPUyddID09ICdXaW5kb3dz
X05UJwogZW5kCiAKIGRlZiBpc0dDQwotICAgICFpc1dpbmRvd3MKKyAgICAhaXNDb21waWxpbmdP
bldpbmRvd3MKIGVuZAogCiBkZWYgaXNNU1ZDCi0gICAgaXNXaW5kb3dzCisgICAgaXNDb21waWxp
bmdPbldpbmRvd3MKIGVuZAogCiBkZWYgaXNJbnRlbFN5bnRheAotICAgIGlzV2luZG93cworICAg
IGlzQ29tcGlsaW5nT25XaW5kb3dzCiBlbmQKIAogZGVmIHJlZ2lzdGVyKG5hbWUpCkBAIC0xNDEs
MjA1ICsyMTIsMTMzIEBAIGVuZAogCiBYNjRfU0NSQVRDSF9SRUdJU1RFUiA9IFNwZWNpYWxSZWdp
c3Rlci5uZXcoInIxMSIpCiAKK2RlZiB4ODZHUFJOYW1lKG5hbWUsIGtpbmQpCisgICAgY2FzZSBu
YW1lCisgICAgd2hlbiAiZWF4IiwgImVieCIsICJlY3giLCAiZWR4IgorICAgICAgICBuYW1lOCA9
IG5hbWVbMV0gKyAnbCcKKyAgICAgICAgbmFtZTE2ID0gbmFtZVsxLi4yXQorICAgIHdoZW4gImVz
aSIsICJlZGkiLCAiZWJwIiwgImVzcCIKKyAgICAgICAgbmFtZTE2ID0gbmFtZVsxLi4yXQorICAg
ICAgICBuYW1lOCA9IG5hbWUxNiArICdsJworICAgIHdoZW4gInJheCIsICJyYngiLCAicmN4Iiwg
InJkeCIKKyAgICAgICAgcmFpc2UgImJhZCBHUFIgbmFtZSAje25hbWV9IGluIDMyLWJpdCBYODYi
IHVubGVzcyBpc1g2NAorICAgICAgICBuYW1lOCA9IG5hbWVbMV0gKyAnbCcKKyAgICAgICAgbmFt
ZTE2ID0gbmFtZVsxLi4yXQorICAgIHdoZW4gInI4IiwgInI5IiwgInIxMCIsICJyMTIiLCAicjEz
IiwgInIxNCIsICJyMTUiCisgICAgICAgIHJhaXNlICJiYWQgR1BSIG5hbWUgI3tuYW1lfSBpbiAz
Mi1iaXQgWDg2IiB1bmxlc3MgaXNYNjQKKyAgICAgICAgY2FzZSBraW5kCisgICAgICAgIHdoZW4g
OmhhbGYKKyAgICAgICAgICAgIHJldHVybiByZWdpc3RlcihuYW1lICsgInciKQorICAgICAgICB3
aGVuIDppbnQKKyAgICAgICAgICAgIHJldHVybiByZWdpc3RlcihuYW1lICsgImQiKQorICAgICAg
ICB3aGVuIDpwdHIKKyAgICAgICAgICAgIHJldHVybiByZWdpc3RlcihuYW1lKQorICAgICAgICB3
aGVuIDpxdWFkCisgICAgICAgICAgICByZXR1cm4gcmVnaXN0ZXIobmFtZSkKKyAgICAgICAgZW5k
CisgICAgZWxzZQorICAgICAgICByYWlzZSAiYmFkIEdQUiBuYW1lICN7bmFtZX0iCisgICAgZW5k
CisgICAgY2FzZSBraW5kCisgICAgd2hlbiA6Ynl0ZQorICAgICAgICByZWdpc3RlcihuYW1lOCkK
KyAgICB3aGVuIDpoYWxmCisgICAgICAgIHJlZ2lzdGVyKG5hbWUxNikKKyAgICB3aGVuIDppbnQK
KyAgICAgICAgcmVnaXN0ZXIoImUiICsgbmFtZTE2KQorICAgIHdoZW4gOnB0cgorICAgICAgICBy
ZWdpc3RlcigoaXNYNjQgPyAiciIgOiAiZSIpICsgbmFtZTE2KQorICAgIHdoZW4gOnF1YWQKKyAg
ICAgICAgaXNYNjQgPyByZWdpc3RlcigiciIgKyBuYW1lMTYpIDogcmFpc2UKKyAgICBlbHNlCisg
ICAgICAgIHJhaXNlICJpbnZhbGlkIGtpbmQgI3traW5kfSBmb3IgR1BSICN7bmFtZX0gaW4gWDg2
IgorICAgIGVuZAorZW5kCisKIGNsYXNzIFJlZ2lzdGVySUQKICAgICBkZWYgc3VwcG9ydHM4Qml0
T25YODYKLSAgICAgICAgY2FzZSBuYW1lCi0gICAgICAgIHdoZW4gInQwIiwgImEwIiwgInIwIiwg
InQxIiwgImExIiwgInIxIiwgInQyIiwgInQzIiwgInQ0IiwgInQ1IgorICAgICAgICBjYXNlIHg4
NkdQUgorICAgICAgICB3aGVuICJlYXgiLCAiZWJ4IiwgImVjeCIsICJlZHgiLCAiZWRpIiwgImVz
aSIsICJlYnAiLCAiZXNwIgogICAgICAgICAgICAgdHJ1ZQotICAgICAgICB3aGVuICJjZnIiLCAi
dHRuciIsICJ0bXIiCisgICAgICAgIHdoZW4gInI4IiwgInI5IiwgInIxMCIsICJyMTIiLCAicjEz
IiwgInIxNCIsICJyMTUiCiAgICAgICAgICAgICBmYWxzZQotICAgICAgICB3aGVuICJ0NiIKLSAg
ICAgICAgICAgIGlzWDY0CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJhaXNlCiAgICAgICAg
IGVuZAogICAgIGVuZAotICAgIAotICAgIGRlZiB4ODZPcGVyYW5kKGtpbmQpCi0gICAgICAgIGNh
c2UgbmFtZQotICAgICAgICB3aGVuICJ0MCIsICJhMCIsICJyMCIKLSAgICAgICAgICAgIGNhc2Ug
a2luZAotICAgICAgICAgICAgd2hlbiA6Ynl0ZQotICAgICAgICAgICAgICAgIHJlZ2lzdGVyKCJh
bCIpCi0gICAgICAgICAgICB3aGVuIDpoYWxmCi0gICAgICAgICAgICAgICAgcmVnaXN0ZXIoImF4
IikKLSAgICAgICAgICAgIHdoZW4gOmludAotICAgICAgICAgICAgICAgIHJlZ2lzdGVyKCJlYXgi
KQotICAgICAgICAgICAgd2hlbiA6cHRyCi0gICAgICAgICAgICAgICAgaXNYNjQgPyByZWdpc3Rl
cigicmF4IikgOiByZWdpc3RlcigiZWF4IikKLSAgICAgICAgICAgIHdoZW4gOnF1YWQKLSAgICAg
ICAgICAgICAgICBpc1g2NCA/IHJlZ2lzdGVyKCJyYXgiKSA6IHJhaXNlCi0gICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgcmFpc2UgIkludmFsaWQga2luZCAje2tpbmR9IGZvciBuYW1l
ICN7bmFtZX0iCi0gICAgICAgICAgICBlbmQKLSAgICAgICAgd2hlbiAidDEiLCAiYTEiLCAicjEi
Ci0gICAgICAgICAgICBjYXNlIGtpbmQKLSAgICAgICAgICAgIHdoZW4gOmJ5dGUKLSAgICAgICAg
ICAgICAgICByZWdpc3RlcigiZGwiKQotICAgICAgICAgICAgd2hlbiA6aGFsZgotICAgICAgICAg
ICAgICAgIHJlZ2lzdGVyKCJkeCIpCi0gICAgICAgICAgICB3aGVuIDppbnQKLSAgICAgICAgICAg
ICAgICByZWdpc3RlcigiZWR4IikKLSAgICAgICAgICAgIHdoZW4gOnB0cgotICAgICAgICAgICAg
ICAgIGlzWDY0ID8gcmVnaXN0ZXIoInJkeCIpIDogcmVnaXN0ZXIoImVkeCIpCi0gICAgICAgICAg
ICB3aGVuIDpxdWFkCi0gICAgICAgICAgICAgICAgaXNYNjQgPyByZWdpc3RlcigicmR4IikgOiBy
YWlzZQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAg
ICBlbmQKLSAgICAgICAgd2hlbiAidDIiCi0gICAgICAgICAgICBjYXNlIGtpbmQKLSAgICAgICAg
ICAgIHdoZW4gOmJ5dGUKLSAgICAgICAgICAgICAgICByZWdpc3RlcigiY2wiKQotICAgICAgICAg
ICAgd2hlbiA6aGFsZgotICAgICAgICAgICAgICAgIHJlZ2lzdGVyKCJjeCIpCi0gICAgICAgICAg
ICB3aGVuIDppbnQKLSAgICAgICAgICAgICAgICByZWdpc3RlcigiZWN4IikKLSAgICAgICAgICAg
IHdoZW4gOnB0cgotICAgICAgICAgICAgICAgIGlzWDY0ID8gcmVnaXN0ZXIoInJjeCIpIDogcmVn
aXN0ZXIoImVjeCIpCi0gICAgICAgICAgICB3aGVuIDpxdWFkCi0gICAgICAgICAgICAgICAgaXNY
NjQgPyByZWdpc3RlcigicmN4IikgOiByYWlzZQotICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgIHJhaXNlCi0gICAgICAgICAgICBlbmQKLSAgICAgICAgd2hlbiAidDMiCi0gICAgICAg
ICAgICBjYXNlIGtpbmQKLSAgICAgICAgICAgIHdoZW4gOmJ5dGUKLSAgICAgICAgICAgICAgICBy
ZWdpc3RlcigiYmwiKQotICAgICAgICAgICAgd2hlbiA6aGFsZgotICAgICAgICAgICAgICAgIHJl
Z2lzdGVyKCJieCIpCi0gICAgICAgICAgICB3aGVuIDppbnQKLSAgICAgICAgICAgICAgICByZWdp
c3RlcigiZWJ4IikKLSAgICAgICAgICAgIHdoZW4gOnB0cgotICAgICAgICAgICAgICAgIGlzWDY0
ID8gcmVnaXN0ZXIoInJieCIpIDogcmVnaXN0ZXIoImVieCIpCi0gICAgICAgICAgICB3aGVuIDpx
dWFkCi0gICAgICAgICAgICAgICAgaXNYNjQgPyByZWdpc3RlcigicmJ4IikgOiByYWlzZQotICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBlbmQKLSAg
ICAgICAgd2hlbiAidDQiCi0gICAgICAgICAgICBjYXNlIGtpbmQKLSAgICAgICAgICAgIHdoZW4g
OmJ5dGUKLSAgICAgICAgICAgICAgICByZWdpc3RlcigiZGlsIikKLSAgICAgICAgICAgIHdoZW4g
OmhhbGYKLSAgICAgICAgICAgICAgICByZWdpc3RlcigiZGkiKQotICAgICAgICAgICAgd2hlbiA6
aW50Ci0gICAgICAgICAgICAgICAgcmVnaXN0ZXIoImVkaSIpCi0gICAgICAgICAgICB3aGVuIDpw
dHIKLSAgICAgICAgICAgICAgICBpc1g2NCA/IHJlZ2lzdGVyKCJyZGkiKSA6IHJlZ2lzdGVyKCJl
ZGkiKQotICAgICAgICAgICAgd2hlbiA6cXVhZAotICAgICAgICAgICAgICAgIGlzWDY0ID8gcmVn
aXN0ZXIoInJkaSIpIDogcmFpc2UKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBy
YWlzZQotICAgICAgICAgICAgZW5kCi0gICAgICAgIHdoZW4gImNmciIKLSAgICAgICAgICAgIGlm
IGlzWDY0Ci0gICAgICAgICAgICAgICAgY2FzZSBraW5kCi0gICAgICAgICAgICAgICAgd2hlbiA6
aGFsZgotICAgICAgICAgICAgICAgICAgICByZWdpc3RlcigiYnAiKQotICAgICAgICAgICAgICAg
IHdoZW4gOmludAotICAgICAgICAgICAgICAgICAgICByZWdpc3RlcigiZWJwIikKLSAgICAgICAg
ICAgICAgICB3aGVuIDpwdHIKLSAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIoInJicCIpCi0g
ICAgICAgICAgICAgICAgd2hlbiA6cXVhZAotICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcigi
cmJwIikKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHJhaXNlCi0g
ICAgICAgICAgICAgICAgZW5kCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgY2Fz
ZSBraW5kCi0gICAgICAgICAgICAgICAgd2hlbiA6aGFsZgotICAgICAgICAgICAgICAgICAgICBy
ZWdpc3RlcigiYnAiKQotICAgICAgICAgICAgICAgIHdoZW4gOmludAotICAgICAgICAgICAgICAg
ICAgICByZWdpc3RlcigiZWJwIikKLSAgICAgICAgICAgICAgICB3aGVuIDpwdHIKLSAgICAgICAg
ICAgICAgICAgICAgcmVnaXN0ZXIoImVicCIpCi0gICAgICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgIGVuZAotICAgICAgICAgICAgZW5k
Ci0gICAgICAgIHdoZW4gInNwIgotICAgICAgICAgICAgY2FzZSBraW5kCi0gICAgICAgICAgICB3
aGVuIDpieXRlCi0gICAgICAgICAgICAgICAgcmVnaXN0ZXIoInNwbCIpCi0gICAgICAgICAgICB3
aGVuIDpoYWxmCi0gICAgICAgICAgICAgICAgcmVnaXN0ZXIoInNwIikKLSAgICAgICAgICAgIHdo
ZW4gOmludAotICAgICAgICAgICAgICAgIHJlZ2lzdGVyKCJlc3AiKQotICAgICAgICAgICAgd2hl
biA6cHRyCi0gICAgICAgICAgICAgICAgaXNYNjQgPyByZWdpc3RlcigicnNwIikgOiByZWdpc3Rl
cigiZXNwIikKLSAgICAgICAgICAgIHdoZW4gOnF1YWQKLSAgICAgICAgICAgICAgICBpc1g2NCA/
IHJlZ2lzdGVyKCJyc3AiKSA6IHJhaXNlCisKKyAgICBkZWYgeDg2R1BSCisgICAgICAgIGlmIGlz
WDY0CisgICAgICAgICAgICBjYXNlIG5hbWUKKyAgICAgICAgICAgIHdoZW4gInQwIiwgInIwIgor
ICAgICAgICAgICAgICAgICJlYXgiCisgICAgICAgICAgICB3aGVuICJyMSIKKyAgICAgICAgICAg
ICAgICAiZWR4IiAjIHQxID0gYTEgd2hlbiBpc1dpbiwgdDIgPSBhMiBvdGhlcndpc2UKKyAgICAg
ICAgICAgIHdoZW4gImEwIgorICAgICAgICAgICAgICAgIGlzV2luID8gImVjeCIgOiAiZWRpIgor
ICAgICAgICAgICAgd2hlbiAidDEiLCAiYTEiCisgICAgICAgICAgICAgICAgaXNXaW4gPyAiZWR4
IiA6ICJlc2kiCisgICAgICAgICAgICB3aGVuICJ0MiIsICJhMiIKKyAgICAgICAgICAgICAgICBp
c1dpbiA/ICJyOCIgOiAiZWR4IgorICAgICAgICAgICAgd2hlbiAidDMiLCAiYTMiCisgICAgICAg
ICAgICAgICAgaXNXaW4gPyAicjkiIDogImVjeCIKKyAgICAgICAgICAgIHdoZW4gInQ0IgorICAg
ICAgICAgICAgICAgIGlzV2luID8gInIxMCIgOiAicjgiCisgICAgICAgICAgICB3aGVuICJ0NSIK
KyAgICAgICAgICAgICAgICByYWlzZSAiY2Fubm90IHVzZSByZWdpc3RlciAje25hbWV9IG9uIFg4
Ni02NCBXaW5kb3dzIiB1bmxlc3Mgbm90IGlzV2luCisgICAgICAgICAgICAgICAgInIxMCIKKyAg
ICAgICAgICAgIHdoZW4gImNzcjAiCisgICAgICAgICAgICAgICAgImVieCIKKyAgICAgICAgICAg
IHdoZW4gImNzcjEiCisgICAgICAgICAgICAgICAgInIxMiIKKyAgICAgICAgICAgIHdoZW4gImNz
cjIiCisgICAgICAgICAgICAgICAgInIxMyIKKyAgICAgICAgICAgIHdoZW4gImNzcjMiCisgICAg
ICAgICAgICAgICAgaXNXaW4gPyAiZXNpIiA6ICJyMTQiCisgICAgICAgICAgICB3aGVuICJjc3I0
IgorICAgICAgICAgICAgICAgIGlzV2luID8gImVkaSIgOiAicjE1IgorICAgICAgICAgICAgICAg
ICJyMTUiCisgICAgICAgICAgICB3aGVuICJjc3I1IgorICAgICAgICAgICAgICAgIHJhaXNlICJj
YW5ub3QgdXNlIHJlZ2lzdGVyICN7bmFtZX0gb24gWDg2LTY0IiB1bmxlc3MgaXNXaW4KKyAgICAg
ICAgICAgICAgICAicjE0IgorICAgICAgICAgICAgd2hlbiAiY3NyNiIKKyAgICAgICAgICAgICAg
ICByYWlzZSAiY2Fubm90IHVzZSByZWdpc3RlciAje25hbWV9IG9uIFg4Ni02NCIgdW5sZXNzIGlz
V2luCisgICAgICAgICAgICAgICAgInIxNSIKKyAgICAgICAgICAgIHdoZW4gImNmciIKKyAgICAg
ICAgICAgICAgICAiZWJwIgorICAgICAgICAgICAgd2hlbiAic3AiCisgICAgICAgICAgICAgICAg
ImVzcCIKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAg
ICAgZW5kCi0gICAgICAgIHdoZW4gInQ1IgotICAgICAgICAgICAgY2FzZSBraW5kCi0gICAgICAg
ICAgICB3aGVuIDpieXRlCi0gICAgICAgICAgICAgICAgcmVnaXN0ZXIoInNpbCIpCi0gICAgICAg
ICAgICB3aGVuIDpoYWxmCi0gICAgICAgICAgICAgICAgcmVnaXN0ZXIoInNpIikKLSAgICAgICAg
ICAgIHdoZW4gOmludAotICAgICAgICAgICAgICAgIHJlZ2lzdGVyKCJlc2kiKQotICAgICAgICAg
ICAgd2hlbiA6cHRyCi0gICAgICAgICAgICAgICAgaXNYNjQgPyByZWdpc3RlcigicnNpIikgOiBy
ZWdpc3RlcigiZXNpIikKLSAgICAgICAgICAgIHdoZW4gOnF1YWQKLSAgICAgICAgICAgICAgICBp
c1g2NCA/IHJlZ2lzdGVyKCJyc2kiKSA6IHJhaXNlCi0gICAgICAgICAgICBlbmQKLSAgICAgICAg
d2hlbiAidDYiCi0gICAgICAgICAgICByYWlzZSAiQ2Fubm90IHVzZSAje25hbWV9IGluIDMyLWJp
dCBYODYgYXQgI3tjb2RlT3JpZ2luU3RyaW5nfSIgdW5sZXNzIGlzWDY0Ci0gICAgICAgICAgICBj
YXNlIGtpbmQKLSAgICAgICAgICAgIHdoZW4gOmhhbGYKLSAgICAgICAgICAgICAgICByZWdpc3Rl
cigicjh3IikKLSAgICAgICAgICAgIHdoZW4gOmludAotICAgICAgICAgICAgICAgIHJlZ2lzdGVy
KCJyOGQiKQotICAgICAgICAgICAgd2hlbiA6cHRyCi0gICAgICAgICAgICAgICAgcmVnaXN0ZXIo
InI4IikKLSAgICAgICAgICAgIHdoZW4gOnF1YWQKLSAgICAgICAgICAgICAgICByZWdpc3Rlcigi
cjgiKQotICAgICAgICAgICAgZW5kCi0gICAgICAgIHdoZW4gInQ3IgotICAgICAgICAgICAgcmFp
c2UgIkNhbm5vdCB1c2UgI3tuYW1lfSBpbiAzMi1iaXQgWDg2IGF0ICN7Y29kZU9yaWdpblN0cmlu
Z30iIHVubGVzcyBpc1g2NAotICAgICAgICAgICAgY2FzZSBraW5kCi0gICAgICAgICAgICB3aGVu
IDpoYWxmCi0gICAgICAgICAgICAgICAgcmVnaXN0ZXIoInI5dyIpCi0gICAgICAgICAgICB3aGVu
IDppbnQKLSAgICAgICAgICAgICAgICByZWdpc3RlcigicjlkIikKLSAgICAgICAgICAgIHdoZW4g
OnB0cgotICAgICAgICAgICAgICAgIHJlZ2lzdGVyKCJyOSIpCi0gICAgICAgICAgICB3aGVuIDpx
dWFkCi0gICAgICAgICAgICAgICAgcmVnaXN0ZXIoInI5IikKLSAgICAgICAgICAgIGVuZAotICAg
ICAgICB3aGVuICJjc3IxIgotICAgICAgICAgICAgcmFpc2UgIkNhbm5vdCB1c2UgI3tuYW1lfSBp
biAzMi1iaXQgWDg2IGF0ICN7Y29kZU9yaWdpblN0cmluZ30iIHVubGVzcyBpc1g2NAotICAgICAg
ICAgICAgY2FzZSBraW5kCi0gICAgICAgICAgICB3aGVuIDpoYWxmCi0gICAgICAgICAgICAgICAg
cmVnaXN0ZXIoInIxNHciKQotICAgICAgICAgICAgd2hlbiA6aW50Ci0gICAgICAgICAgICAgICAg
cmVnaXN0ZXIoInIxNGQiKQotICAgICAgICAgICAgd2hlbiA6cHRyCi0gICAgICAgICAgICAgICAg
cmVnaXN0ZXIoInIxNCIpCi0gICAgICAgICAgICB3aGVuIDpxdWFkCi0gICAgICAgICAgICAgICAg
cmVnaXN0ZXIoInIxNCIpCi0gICAgICAgICAgICBlbmQKLSAgICAgICAgd2hlbiAiY3NyMiIKLSAg
ICAgICAgICAgIHJhaXNlICJDYW5ub3QgdXNlICN7bmFtZX0gaW4gMzItYml0IFg4NiBhdCAje2Nv
ZGVPcmlnaW5TdHJpbmd9IiB1bmxlc3MgaXNYNjQKLSAgICAgICAgICAgIGNhc2Uga2luZAotICAg
ICAgICAgICAgd2hlbiA6aGFsZgotICAgICAgICAgICAgICAgIHJlZ2lzdGVyKCJyMTV3IikKLSAg
ICAgICAgICAgIHdoZW4gOmludAotICAgICAgICAgICAgICAgIHJlZ2lzdGVyKCJyMTVkIikKLSAg
ICAgICAgICAgIHdoZW4gOnB0cgotICAgICAgICAgICAgICAgIHJlZ2lzdGVyKCJyMTUiKQotICAg
ICAgICAgICAgd2hlbiA6cXVhZAotICAgICAgICAgICAgICAgIHJlZ2lzdGVyKCJyMTUiKQorICAg
ICAgICAgICAgICAgIHJhaXNlICJjYW5ub3QgdXNlIHJlZ2lzdGVyICN7bmFtZX0gb24gWDg2Igog
ICAgICAgICAgICAgZW5kCiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJhaXNlICJCYWQgcmVn
aXN0ZXIgI3tuYW1lfSBmb3IgWDg2IGF0ICN7Y29kZU9yaWdpblN0cmluZ30iCisgICAgICAgICAg
ICBjYXNlIG5hbWUKKyAgICAgICAgICAgIHdoZW4gInQwIiwgInIwIiwgImEyIgorICAgICAgICAg
ICAgICAgICJlYXgiCisgICAgICAgICAgICB3aGVuICJ0MSIsICJyMSIsICJhMSIKKyAgICAgICAg
ICAgICAgICAiZWR4IgorICAgICAgICAgICAgd2hlbiAidDIiLCAiYTAiCisgICAgICAgICAgICAg
ICAgImVjeCIKKyAgICAgICAgICAgIHdoZW4gInQzIiwgImEzIgorICAgICAgICAgICAgICAgICJl
YngiCisgICAgICAgICAgICB3aGVuICJ0NCIKKyAgICAgICAgICAgICAgICAiZXNpIgorICAgICAg
ICAgICAgd2hlbiAidDUiCisgICAgICAgICAgICAgICAgImVkaSIKKyAgICAgICAgICAgIHdoZW4g
ImNmciIKKyAgICAgICAgICAgICAgICAiZWJwIgorICAgICAgICAgICAgd2hlbiAic3AiCisgICAg
ICAgICAgICAgICAgImVzcCIKKyAgICAgICAgICAgIGVuZAogICAgICAgICBlbmQKICAgICBlbmQK
KworICAgIGRlZiB4ODZPcGVyYW5kKGtpbmQpCisgICAgICAgIHg4NkdQUk5hbWUoeDg2R1BSLCBr
aW5kKQorICAgIGVuZAorCiAgICAgZGVmIHg4NkNhbGxPcGVyYW5kKGtpbmQpCi0gICAgICAgIGlz
WDY0ID8gIiN7Y2FsbFByZWZpeH0je3g4Nk9wZXJhbmQoOnF1YWQpfSIgOiAiI3tjYWxsUHJlZml4
fSN7eDg2T3BlcmFuZCg6cHRyKX0iCisgICAgICAgICIje2NhbGxQcmVmaXh9I3t4ODZPcGVyYW5k
KDpwdHIpfSIKICAgICBlbmQKIGVuZAogCkBAIC01OTcsMTMgKzU5NiwxMiBAQCBjbGFzcyBJbnN0
cnVjdGlvbgogICAgIGVuZAogICAgIAogICAgIGRlZiBoYW5kbGVYODZTaGlmdChvcGNvZGUsIGtp
bmQpCi0gICAgICAgIGlmIG9wZXJhbmRzWzBdLmlzX2E/IEltbWVkaWF0ZSBvciBvcGVyYW5kc1sw
XSA9PSBSZWdpc3RlcklELmZvck5hbWUobmlsLCAidDIiKQorICAgICAgICBpZiBvcGVyYW5kc1sw
XS5pc19hPyBJbW1lZGlhdGUgb3Igb3BlcmFuZHNbMF0ueDg2R1BSID09ICJlY3giCiAgICAgICAg
ICAgICAkYXNtLnB1dHMgIiN7b3Bjb2RlfSAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNbMF0ueDg2
T3BlcmFuZCg6Ynl0ZSksIG9wZXJhbmRzWzFdLng4Nk9wZXJhbmQoa2luZCkpfSIKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgY3ggPSBSZWdpc3RlcklELmZvck5hbWUobmlsLCAidDIiKQotICAg
ICAgICAgICAgJGFzbS5wdXRzICJ4Y2hnI3t4ODZTdWZmaXgoOnB0cil9ICN7b3BlcmFuZHNbMF0u
eDg2T3BlcmFuZCg6cHRyKX0sICN7Y3gueDg2T3BlcmFuZCg6cHRyKX0iCisgICAgICAgICAgICAk
YXNtLnB1dHMgInhjaGcje3g4NlN1ZmZpeCg6cHRyKX0gI3tvcGVyYW5kc1swXS54ODZPcGVyYW5k
KDpwdHIpfSwgI3t4ODZHUFJOYW1lKCJlY3giLCA6cHRyKX0iCiAgICAgICAgICAgICAkYXNtLnB1
dHMgIiN7b3Bjb2RlfSAje29yZGVyT3BlcmFuZHMocmVnaXN0ZXIoImNsIiksIG9wZXJhbmRzWzFd
Lng4Nk9wZXJhbmQoa2luZCkpfSIKLSAgICAgICAgICAgICRhc20ucHV0cyAieGNoZyN7eDg2U3Vm
Zml4KDpwdHIpfSAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOnB0cil9LCAje2N4Lng4Nk9wZXJh
bmQoOnB0cil9IgorICAgICAgICAgICAgJGFzbS5wdXRzICJ4Y2hnI3t4ODZTdWZmaXgoOnB0cil9
ICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6cHRyKX0sICN7eDg2R1BSTmFtZSgiZWN4IiwgOnB0
cil9IgogICAgICAgICBlbmQKICAgICBlbmQKICAgICAKQEAgLTY0Nyw3ICs2NDUsNyBAQCBjbGFz
cyBJbnN0cnVjdGlvbgogICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92enggI3tvcmRlck9w
ZXJhbmRzKG9wZXJhbmQueDg2T3BlcmFuZCg6Ynl0ZSksIG9wZXJhbmQueDg2T3BlcmFuZCg6aW50
KSl9IgogICAgICAgICAgICAgZW5kCiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGF4ID0gUmVn
aXN0ZXJJRC5uZXcobmlsLCAidDAiKQorICAgICAgICAgICAgYXggPSBSZWdpc3RlcklELm5ldyhu
aWwsICJyMCIpCiAgICAgICAgICAgICAkYXNtLnB1dHMgInhjaGcje3g4NlN1ZmZpeCg6cHRyKX0g
I3tvcGVyYW5kLng4Nk9wZXJhbmQoOnB0cil9LCAje2F4Lng4Nk9wZXJhbmQoOnB0cil9IgogICAg
ICAgICAgICAgJGFzbS5wdXRzICIje3NldE9wY29kZX0gJWFsIgogICAgICAgICAgICAgJGFzbS5w
dXRzICJtb3Z6YmwgJWFsLCAlZWF4Igo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260335</attachid>
            <date>2015-08-31 17:05:48 -0700</date>
            <delta_ts>2015-09-01 14:40:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148659-20150831170531.patch</filename>
            <type>text/plain</type>
            <size>7788</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4MjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
ZDBiYmI4ZTIzODU3ZTRmOTNkZTBiYzgwNDFlNmVmZTI2Y2M3NTg5Li5hMDU1NTc1NGUwNmJlOTYw
NGRhMDA3YzIyOTEzOTk0MmMyMDNkOTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNS0wOC0yNyAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAgSmF2YVNjcmlwdCBmdW5jdGlvbnMgc2hvdWxkIHJlc3RvcmUg
dGhlIHN0YWNrIHBvaW50ZXIgYWZ0ZXIgYSBjYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIGl0IHNvIHRoYXQgdGhlIHZh
cmlvdXMgcGxhY2VzIHdoZXJlIHdlIGFyZSBtYWtpbmcgYQorICAgICAgICBKUy10by1KUyBjYWxs
IHJlc3RvcmUgdGhlIHN0YWNrIHBvaW50ZXIgYWZ0ZXJ3YXJkcy4gVGhpcyBhbGxvd3MgdXMgdG8K
KyAgICAgICAgbm8gbG9uZ2VyIHJlbHkgb24gdGhlIHN0YWNrIHBvaW50ZXIgc3RpbGwgYmVpbmcg
dmFsaWQgYWZ0ZXIgYSBjYWxsLCBhbmQKKyAgICAgICAgaXMgYSBwcmVyZXF1aXNpdGUgZm9yIGdl
dHRpbmcgcmlkIG9mIHRoZSBhcml0eSBmaXh1cCByZXR1cm4gdGh1bmsuCisKKyAgICAgICAgKiBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAg
ICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6bW1BbGxvY2F0ZURh
dGFTZWN0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMSlNDYWxsLmNwcDoKKyAgICAgICAgKEpTQzo6
RlRMOjpKU0NhbGw6OmVtaXQpOgorICAgICAgICAqIGZ0bC9GVExKU0NhbGwuaDoKKyAgICAgICAg
KiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OmdlbmVyYXRlQnlJZFN0dWIpOgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy90YWlsLWNhbGwtaW4taW5saW5lLWNhY2hlLmpzOiBBZGRlZC4K
KyAgICAgICAgKHRhaWwpOgorICAgICAgICAob2JqLmdldCB4KToKKwogMjAxNS0wOC0zMSAgQmFz
aWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBhcHBsZS5jb20+IGFuZCBNaWNoYWVsIFNhYm9m
ZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIHJlZ2lzdGVyIG5hbWlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKaW5kZXggNTE1YzA2MzQzZmJiZDBjZGNhY2JlOTdiYjJjNGQ2NTk4MmRkOWQ1Zi4u
YzdjNmI3NmEwZjMyYTIzODk3YjgxYWNmOTE4YzUxYjhhODQyNWQ5ZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC04
MjEsOSArODIxLDEwIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUp
CiAgICAgaW5mby0+c2V0VXBDYWxsKGNhbGxUeXBlLCBub2RlLT5vcmlnaW4uc2VtYW50aWMsIGNh
bGxlZVBheWxvYWRHUFIpOwogICAgIG1faml0LmFkZEpTQ2FsbChmYXN0Q2FsbCwgc2xvd0NhbGws
IHRhcmdldFRvQ2hlY2ssIGluZm8pOwogICAgIAotICAgIC8vIElmIHdlIHdlcmUgdmFyYXJncywg
dGhlbiBhZnRlciB0aGUgY2FsbHMgYXJlIGRvbmUsIHdlIG5lZWQgdG8gcmVlc3RhYmxpc2ggb3Vy
IHN0YWNrIHBvaW50ZXIuCi0gICAgaWYgKGlzVmFyYXJncyB8fCBpc0ZvcndhcmRWYXJhcmdzKQot
ICAgICAgICBtX2ppdC5hZGRQdHIoVHJ1c3RlZEltbTMyKG1faml0LmdyYXBoKCkuc3RhY2tQb2lu
dGVyT2Zmc2V0KCkgKiBzaXplb2YoUmVnaXN0ZXIpKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0
ZXIsIEpJVENvbXBpbGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgLy8gQWZ0ZXIgdGhl
IGNhbGxzIGFyZSBkb25lLCB3ZSBuZWVkIHRvIHJlZXN0YWJsaXNoIG91ciBzdGFjaworICAgIC8v
IHBvaW50ZXIuIFdlIHJlbHkgb24gdGhpcyBmb3IgdmFyYXJncyBjYWxscywgY2FsbHMgd2l0aCBh
cml0eQorICAgIC8vIG1pc21hdGNoICh0aGUgY2FsbGZyYW1lIGlzIHNsaWRlZCkgYW5kIHRhaWwg
Y2FsbHMuCisgICAgbV9qaXQuYWRkUHRyKFRydXN0ZWRJbW0zMihtX2ppdC5ncmFwaCgpLnN0YWNr
UG9pbnRlck9mZnNldCgpICogc2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJl
Z2lzdGVyLCBKSVRDb21waWxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogfQogCiB0ZW1wbGF0
ZTxib29sIHN0cmljdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwCmluZGV4IDM3OWQ5YzNkNTllZDdiNTlhOGIzM2IzZDMzM2I5NTk0ZmU5
ZTNhYjUuLjI4YTM1M2RmMmY3OTgyYTVhNTdmYWE0MTEzYTAwODRlNTlkYWIwNGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAt
Nzc2LDEwICs3NzYsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwoTm9kZSogbm9k
ZSkKICAgICAKICAgICBjYWxsTGlua0luZm8tPnNldFVwQ2FsbChjYWxsVHlwZSwgbV9jdXJyZW50
Tm9kZS0+b3JpZ2luLnNlbWFudGljLCAgY2FsbGVlR1BSKTsgICAgCiAgICAgbV9qaXQuYWRkSlND
YWxsKGZhc3RDYWxsLCBzbG93Q2FsbCwgdGFyZ2V0VG9DaGVjaywgY2FsbExpbmtJbmZvKTsKLSAg
ICAKLSAgICAvLyBJZiB3ZSB3ZXJlIHZhcmFyZ3MsIHRoZW4gYWZ0ZXIgdGhlIGNhbGxzIGFyZSBk
b25lLCB3ZSBuZWVkIHRvIHJlZXN0YWJsaXNoIG91ciBzdGFjayBwb2ludGVyLgotICAgIGlmIChp
c1ZhcmFyZ3MgfHwgaXNGb3J3YXJkVmFyYXJncykKLSAgICAgICAgbV9qaXQuYWRkUHRyKFRydXN0
ZWRJbW0zMihtX2ppdC5ncmFwaCgpLnN0YWNrUG9pbnRlck9mZnNldCgpICogc2l6ZW9mKFJlZ2lz
dGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBKSVRDb21waWxlcjo6c3RhY2tQb2lu
dGVyUmVnaXN0ZXIpOworCisgICAgLy8gQWZ0ZXIgdGhlIGNhbGxzIGFyZSBkb25lLCB3ZSBuZWVk
IHRvIHJlZXN0YWJsaXNoIG91ciBzdGFjaworICAgIC8vIHBvaW50ZXIuIFdlIHJlbHkgb24gdGhp
cyBmb3IgdmFyYXJncyBjYWxscywgY2FsbHMgd2l0aCBhcml0eQorICAgIC8vIG1pc21hdGNoICh0
aGUgY2FsbGZyYW1lIGlzIHNsaWRlZCkgYW5kIHRhaWwgY2FsbHMuCisgICAgbV9qaXQuYWRkUHRy
KFRydXN0ZWRJbW0zMihtX2ppdC5ncmFwaCgpLnN0YWNrUG9pbnRlck9mZnNldCgpICogc2l6ZW9m
KFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBKSVRDb21waWxlcjo6c3Rh
Y2tQb2ludGVyUmVnaXN0ZXIpOwogfQogCiAvLyBDbGFuZyBzaG91bGQgYWxsb3cgdW5yZWFjaGFi
bGUgW1tjbGFuZzo6ZmFsbHRocm91Z2hdXSBpbiB0ZW1wbGF0ZSBmdW5jdGlvbnMgaWYgYW55IHRl
bXBsYXRlIGV4cGFuc2lvbiB1c2VzIGl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTENvbXBpbGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21w
aWxlLmNwcAppbmRleCA1M2Y0YzZmODMzNjhmYTBkMWE3NmQ1MGEyZDNlZjJmMWQzYjAzMzM1Li5k
ZTU4ZjFmYTRiMDU0YTllZjIyNTdmNzBiYzc4YjlkODk1OTY3OTIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKQEAgLTU5NCw3ICs1OTQsNyBAQCBzdGF0aWMgdm9p
ZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMoCiAgICAgICAgIEpTQ2FsbCYgY2FsbCA9IHN0
YXRlLmpzQ2FsbHNbaV07CiAKICAgICAgICAgQ0NhbGxIZWxwZXJzIGZhc3RQYXRoSklUKCZ2bSwg
Y29kZUJsb2NrKTsKLSAgICAgICAgY2FsbC5lbWl0KGZhc3RQYXRoSklUKTsKKyAgICAgICAgY2Fs
bC5lbWl0KGZhc3RQYXRoSklULCBzdGF0ZS5qaXRDb2RlLT5zdGFja21hcHMuc3RhY2tTaXplKCkp
OwogCiAgICAgICAgIGNoYXIqIHN0YXJ0T2ZJQyA9IGJpdHdpc2VfY2FzdDxjaGFyKj4oZ2VuZXJh
dGVkRnVuY3Rpb24pICsgY2FsbC5tX2luc3RydWN0aW9uT2Zmc2V0OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpTQ2FsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEpTQ2FsbC5jcHAKaW5kZXggZTZmNmJkYTQ3NmUyMGRlMGY5Nzc5ZjkwN2I5
NTE0Njc3MWEzM2U4Ni4uYjU4NjIxN2ZhNjBmYmI1ZmZlYmVmNTAxMjU3NzlkNTkzODc3NDZhMCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKU0NhbGwuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSlNDYWxsLmNwcApAQCAtNTEsNiArNTEsMTQg
QEAgSlNDYWxsOjpKU0NhbGwodW5zaWduZWQgc3RhY2ttYXBJRCwgTm9kZSogbm9kZSkKICAgICBB
U1NFUlQobm9kZS0+b3AoKSA9PSBDYWxsIHx8IG5vZGUtPm9wKCkgPT0gQ29uc3RydWN0KTsKIH0K
IAordm9pZCBKU0NhbGw6OmVtaXQoQ0NhbGxIZWxwZXJzJiBqaXQsIHVuc2lnbmVkIHN0YWNrU2l6
ZSkKK3sKKyAgICBKU0NhbGxCYXNlOjplbWl0KGppdCk7CisKKyAgICAvLyBSZXN0b3JlIHRoZSBz
dGFjayBwb2ludGVyCisgICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihz
aXplb2Yodm9pZCopIC0gc3RhdGljX2Nhc3Q8aW50NjRfdD4oc3RhY2tTaXplKSksIENDYWxsSGVs
cGVyczo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsIENDYWxsSGVscGVyczo6c3RhY2tQb2ludGVyUmVn
aXN0ZXIpOworfQorCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCiAKICNlbmRpZiAvLyBFTkFC
TEUoRlRMX0pJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSlND
YWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpTQ2FsbC5oCmluZGV4IDJmNWU2
NGFlYTgzOWRiOTBhZWFjNjhhZmFkZGYzNTFkZTBjOGY1YTAuLjIyZDMwOTU0MzdjMmY5ZGI2ZDdl
NWMzNDkwYmEyNTRmODZmNWVjOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMSlNDYWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKU0NhbGwu
aApAQCAtNDIsNiArNDIsOCBAQCBjbGFzcyBKU0NhbGwgOiBwdWJsaWMgSlNDYWxsQmFzZSB7CiBw
dWJsaWM6CiAgICAgSlNDYWxsKCk7CiAgICAgSlNDYWxsKHVuc2lnbmVkIHN0YWNrbWFwSUQsIERG
Rzo6Tm9kZSopOworCisgICAgdm9pZCBlbWl0KENDYWxsSGVscGVycyYsIHVuc2lnbmVkIHN0YWNr
U2l6ZSk7CiAgICAgCiAgICAgdW5zaWduZWQgc3RhY2ttYXBJRCgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RhY2ttYXBJRDsgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZXBhdGNoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKaW5k
ZXggYzVkYjUzYmUwNjIyNDBmNGRiY2ZkMGIwM2I1MDNjMTc5MmMwNjc2Ny4uZmY5NjE5NjRlZWY2
YmU5OGZlNDI0MThmN2FhNDRiZmVjMjczZjhkNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZXBhdGNoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
cGF0Y2guY3BwCkBAIC00OTUsOSArNDk1LDEwIEBAIHN0YXRpYyBib29sIGdlbmVyYXRlQnlJZFN0
dWIoCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoMCkpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBmYXN0UGF0aENhbGwgPSBzdHViSml0Lm5lYXJDYWxs
KCk7Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgc3R1YkppdC5hZGRQdHIoCi0gICAgICAg
ICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihhbGlnbmVkTnVtYmVyT2ZCeXRl
c0ZvckNhbGwpLAorICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIo
Y29kZUJsb2NrLT5zdGFja1BvaW50ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLAorICAg
ICAgICAgICAgICAgIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLAogICAgICAgICAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAgICAgICAgICBpZiAo
a2luZCA9PSBDYWxsR2V0dGVyKQogICAgICAgICAgICAgICAgIHN0dWJKaXQuc2V0dXBSZXN1bHRz
KHZhbHVlUmVncyk7CkBAIC01MTMsNyArNTE0LDggQEAgc3RhdGljIGJvb2wgZ2VuZXJhdGVCeUlk
U3R1YigKICAgICAgICAgICAgIHNsb3dQYXRoQ2FsbCA9IHN0dWJKaXQubmVhckNhbGwoKTsKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgc3R1YkppdC5hZGRQdHIoCi0gICAgICAgICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihhbGlnbmVkTnVtYmVyT2ZCeXRlc0ZvckNhbGwp
LAorICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoY29kZUJsb2Nr
LT5zdGFja1BvaW50ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLAorICAgICAgICAgICAg
ICAgIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLAogICAgICAgICAgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAgICAgICAgICBpZiAoa2luZCA9PSBD
YWxsR2V0dGVyKQogICAgICAgICAgICAgICAgIHN0dWJKaXQuc2V0dXBSZXN1bHRzKHZhbHVlUmVn
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RhaWwt
Y2FsbC1pbi1pbmxpbmUtY2FjaGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL3RhaWwtY2FsbC1pbi1pbmxpbmUtY2FjaGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhkNjRmMTU0M2Q3
MWMxZjJjNWZlYTFkYjYwNTVlY2FhZjU1ZGM0YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvdGFpbC1jYWxsLWluLWlubGluZS1jYWNoZS5qcwpA
QCAtMCwwICsxLDEwIEBACisidXNlIHN0cmljdCI7CisKK2Z1bmN0aW9uIHRhaWwoKSB7IH0KKwor
dmFyIG9iaiA9IHsKKyAgICBnZXQgeCgpIHsgcmV0dXJuIHRhaWwoMCk7IH0KK307CisKK2ZvciAo
dmFyIGkgPSAwOyBpIDwgMTA7ICsraSkKKyAgICBvYmoueDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260384</attachid>
            <date>2015-09-01 14:41:00 -0700</date>
            <delta_ts>2015-09-02 16:25:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148659-20150901144042.patch</filename>
            <type>text/plain</type>
            <size>8055</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5MjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
Mjg2ZjUzMWUyNGEzZjkxMzg2ZDIxMDc2MTI2ZjhiOWY1MzMyOTYxLi41YWE1NDkzN2NmZDcyM2M0
YzgyMzJhMTZkNTAwMzk2OWFmMWE0NTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAxNS0wOC0yNyAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAgSmF2YVNjcmlwdCBmdW5jdGlvbnMgc2hvdWxkIHJlc3RvcmUg
dGhlIHN0YWNrIHBvaW50ZXIgYWZ0ZXIgYSBjYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIGl0IHNvIHRoYXQgdGhlIHZh
cmlvdXMgcGxhY2VzIHdoZXJlIHdlIGFyZSBtYWtpbmcgYQorICAgICAgICBKUy10by1KUyBjYWxs
IHJlc3RvcmUgdGhlIHN0YWNrIHBvaW50ZXIgYWZ0ZXJ3YXJkcy4gVGhpcyBhbGxvd3MgdXMgdG8K
KyAgICAgICAgbm8gbG9uZ2VyIHJlbHkgb24gdGhlIHN0YWNrIHBvaW50ZXIgc3RpbGwgYmVpbmcg
dmFsaWQgYWZ0ZXIgYSBjYWxsLCBhbmQKKyAgICAgICAgaXMgYSBwcmVyZXF1aXNpdGUgZm9yIGdl
dHRpbmcgcmlkIG9mIHRoZSBhcml0eSBmaXh1cCByZXR1cm4gdGh1bmsuCisKKyAgICAgICAgKiBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAg
ICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6bW1BbGxvY2F0ZURh
dGFTZWN0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMSlNDYWxsLmNwcDoKKyAgICAgICAgKEpTQzo6
RlRMOjpKU0NhbGw6OmVtaXQpOgorICAgICAgICAqIGZ0bC9GVExKU0NhbGwuaDoKKyAgICAgICAg
KiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OmdlbmVyYXRlQnlJZFN0dWIpOgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy90YWlsLWNhbGwtaW4taW5saW5lLWNhY2hlLmpzOiBBZGRlZC4K
KyAgICAgICAgKHRhaWwpOgorICAgICAgICAob2JqLmdldCB4KToKKwogMjAxNS0wOS0wMSAgQnJp
YW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBwcm90
b2NvbCBnZW5lcmF0b3Igc2hvdWxkIG5vdCBhbGxvdyBub24tYm9vbGVhbiB2YWx1ZXMgZm9yICJv
cHRpb25hbCIga2V5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCA1MTVjMDYzNDNmYmJkMGNkY2FjYmU5N2JiMmM0ZDY1
OTgyZGQ5ZDVmLi5jN2M2Yjc2YTBmMzJhMjM4OTdiODFhY2Y5MThjNTFiOGE4NDI1ZDlkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAKQEAgLTgyMSw5ICs4MjEsMTAgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwo
Tm9kZSogbm9kZSkKICAgICBpbmZvLT5zZXRVcENhbGwoY2FsbFR5cGUsIG5vZGUtPm9yaWdpbi5z
ZW1hbnRpYywgY2FsbGVlUGF5bG9hZEdQUik7CiAgICAgbV9qaXQuYWRkSlNDYWxsKGZhc3RDYWxs
LCBzbG93Q2FsbCwgdGFyZ2V0VG9DaGVjaywgaW5mbyk7CiAgICAgCi0gICAgLy8gSWYgd2Ugd2Vy
ZSB2YXJhcmdzLCB0aGVuIGFmdGVyIHRoZSBjYWxscyBhcmUgZG9uZSwgd2UgbmVlZCB0byByZWVz
dGFibGlzaCBvdXIgc3RhY2sgcG9pbnRlci4KLSAgICBpZiAoaXNWYXJhcmdzIHx8IGlzRm9yd2Fy
ZFZhcmFyZ3MpCi0gICAgICAgIG1faml0LmFkZFB0cihUcnVzdGVkSW1tMzIobV9qaXQuZ3JhcGgo
KS5zdGFja1BvaW50ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxs
RnJhbWVSZWdpc3RlciwgSklUQ29tcGlsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAgICAv
LyBBZnRlciB0aGUgY2FsbHMgYXJlIGRvbmUsIHdlIG5lZWQgdG8gcmVlc3RhYmxpc2ggb3VyIHN0
YWNrCisgICAgLy8gcG9pbnRlci4gV2UgcmVseSBvbiB0aGlzIGZvciB2YXJhcmdzIGNhbGxzLCBj
YWxscyB3aXRoIGFyaXR5CisgICAgLy8gbWlzbWF0Y2ggKHRoZSBjYWxsZnJhbWUgaXMgc2xpZGVk
KSBhbmQgdGFpbCBjYWxscy4KKyAgICBtX2ppdC5hZGRQdHIoVHJ1c3RlZEltbTMyKG1faml0Lmdy
YXBoKCkuc3RhY2tQb2ludGVyT2Zmc2V0KCkgKiBzaXplb2YoUmVnaXN0ZXIpKSwgR1BSSW5mbzo6
Y2FsbEZyYW1lUmVnaXN0ZXIsIEpJVENvbXBpbGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiB9
CiAKIHRlbXBsYXRlPGJvb2wgc3RyaWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXggMzc5ZDljM2Q1OWVkN2I1OWE4YjMzYjNk
MzMzYjk1OTRmZTllM2FiNS4uMjhhMzUzZGYyZjc5ODJhNWE1N2ZhYTQxMTNhMDA4NGU1OWRhYjA0
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
NjQuY3BwCkBAIC03NzYsMTAgKzc3NiwxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0Q2Fs
bChOb2RlKiBub2RlKQogICAgIAogICAgIGNhbGxMaW5rSW5mby0+c2V0VXBDYWxsKGNhbGxUeXBl
LCBtX2N1cnJlbnROb2RlLT5vcmlnaW4uc2VtYW50aWMsICBjYWxsZWVHUFIpOyAgICAKICAgICBt
X2ppdC5hZGRKU0NhbGwoZmFzdENhbGwsIHNsb3dDYWxsLCB0YXJnZXRUb0NoZWNrLCBjYWxsTGlu
a0luZm8pOwotICAgIAotICAgIC8vIElmIHdlIHdlcmUgdmFyYXJncywgdGhlbiBhZnRlciB0aGUg
Y2FsbHMgYXJlIGRvbmUsIHdlIG5lZWQgdG8gcmVlc3RhYmxpc2ggb3VyIHN0YWNrIHBvaW50ZXIu
Ci0gICAgaWYgKGlzVmFyYXJncyB8fCBpc0ZvcndhcmRWYXJhcmdzKQotICAgICAgICBtX2ppdC5h
ZGRQdHIoVHJ1c3RlZEltbTMyKG1faml0LmdyYXBoKCkuc3RhY2tQb2ludGVyT2Zmc2V0KCkgKiBz
aXplb2YoUmVnaXN0ZXIpKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIEpJVENvbXBpbGVy
OjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisKKyAgICAvLyBBZnRlciB0aGUgY2FsbHMgYXJlIGRv
bmUsIHdlIG5lZWQgdG8gcmVlc3RhYmxpc2ggb3VyIHN0YWNrCisgICAgLy8gcG9pbnRlci4gV2Ug
cmVseSBvbiB0aGlzIGZvciB2YXJhcmdzIGNhbGxzLCBjYWxscyB3aXRoIGFyaXR5CisgICAgLy8g
bWlzbWF0Y2ggKHRoZSBjYWxsZnJhbWUgaXMgc2xpZGVkKSBhbmQgdGFpbCBjYWxscy4KKyAgICBt
X2ppdC5hZGRQdHIoVHJ1c3RlZEltbTMyKG1faml0LmdyYXBoKCkuc3RhY2tQb2ludGVyT2Zmc2V0
KCkgKiBzaXplb2YoUmVnaXN0ZXIpKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIEpJVENv
bXBpbGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiB9CiAKIC8vIENsYW5nIHNob3VsZCBhbGxv
dyB1bnJlYWNoYWJsZSBbW2NsYW5nOjpmYWxsdGhyb3VnaF1dIGluIHRlbXBsYXRlIGZ1bmN0aW9u
cyBpZiBhbnkgdGVtcGxhdGUgZXhwYW5zaW9uIHVzZXMgaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTENvbXBpbGUuY3BwCmluZGV4IDUzZjRjNmY4MzM2OGZhMGQxYTc2ZDUwYTJkM2VmMmYx
ZDNiMDMzMzUuLmRlNThmMWZhNGIwNTRhOWVmMjI1N2Y3MGJjNzhiOWQ4OTU5Njc5MjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcApAQCAtNTk0LDcgKzU5NCw3IEBA
IHN0YXRpYyB2b2lkIGZpeEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFwcygKICAgICAgICAgSlNDYWxs
JiBjYWxsID0gc3RhdGUuanNDYWxsc1tpXTsKIAogICAgICAgICBDQ2FsbEhlbHBlcnMgZmFzdFBh
dGhKSVQoJnZtLCBjb2RlQmxvY2spOwotICAgICAgICBjYWxsLmVtaXQoZmFzdFBhdGhKSVQpOwor
ICAgICAgICBjYWxsLmVtaXQoZmFzdFBhdGhKSVQsIHN0YXRlLmppdENvZGUtPnN0YWNrbWFwcy5z
dGFja1NpemUoKSk7CiAKICAgICAgICAgY2hhciogc3RhcnRPZklDID0gYml0d2lzZV9jYXN0PGNo
YXIqPihnZW5lcmF0ZWRGdW5jdGlvbikgKyBjYWxsLm1faW5zdHJ1Y3Rpb25PZmZzZXQ7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSlNDYWxsLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSlNDYWxsLmNwcAppbmRleCBlNmY2YmRhNDc2ZTIwZGUw
Zjk3NzlmOTA3Yjk1MTQ2NzcxYTMzZTg2Li5lY2ExY2U3OGJmNzY2MGUyNDcxOGMxOWJjYTI1NmFj
YzJiZjFiYzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpTQ2Fs
bC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKU0NhbGwuY3BwCkBAIC01
MSw2ICs1MSwyMiBAQCBKU0NhbGw6OkpTQ2FsbCh1bnNpZ25lZCBzdGFja21hcElELCBOb2RlKiBu
b2RlKQogICAgIEFTU0VSVChub2RlLT5vcCgpID09IENhbGwgfHwgbm9kZS0+b3AoKSA9PSBDb25z
dHJ1Y3QpOwogfQogCit2b2lkIEpTQ2FsbDo6ZW1pdChDQ2FsbEhlbHBlcnMmIGppdCwgdW5zaWdu
ZWQgc3RhY2tTaXplKQoreworICAgIEpTQ2FsbEJhc2U6OmVtaXQoaml0KTsKKworI2lmIENQVShY
ODZfNjQpCisgICAgLy8gYnAgaXMgc2F2ZWQgYWJvdmUgdGhlIGZyYW1lIHBvaW50ZXIKKyAgICB1
bnNpZ25lZCByZWdpc3RlcnNBYm92ZUZyYW1lID0gMTsKKyNlbGlmIENQVShBUk02NCkKKyAgICAv
LyBicCBhbmQgbHIgYXJlIHNhdmVkIGFib3ZlIHRoZSBmcmFtZSBwb2ludGVyCisgICAgdW5zaWdu
ZWQgcmVnaXN0ZXJzQWJvdmVGcmFtZSA9IDI7CisjZWxpZiBDUFUoQVJNNjQpCisgICAgVU5SRUFD
SEFCTEVfRk9SX1BMQVRGT1JNKCk7CisjZW5kaWYKKyAgICBqaXQuYWRkUHRyKENDYWxsSGVscGVy
czo6VHJ1c3RlZEltbTMyKHJlZ2lzdGVyc0Fib3ZlRnJhbWUgKiBzaXplb2Yodm9pZCopIC0gc3Rh
dGljX2Nhc3Q8aW50NjRfdD4oc3RhY2tTaXplKSksIENDYWxsSGVscGVyczo6ZnJhbWVQb2ludGVy
UmVnaXN0ZXIsIENDYWxsSGVscGVyczo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworfQorCiB9IH0g
Ly8gbmFtZXNwYWNlIEpTQzo6RlRMCiAKICNlbmRpZiAvLyBFTkFCTEUoRlRMX0pJVCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSlNDYWxsLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTEpTQ2FsbC5oCmluZGV4IDJmNWU2NGFlYTgzOWRiOTBhZWFjNjhh
ZmFkZGYzNTFkZTBjOGY1YTAuLjIyZDMwOTU0MzdjMmY5ZGI2ZDdlNWMzNDkwYmEyNTRmODZmNWVj
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSlNDYWxsLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKU0NhbGwuaApAQCAtNDIsNiArNDIsOCBA
QCBjbGFzcyBKU0NhbGwgOiBwdWJsaWMgSlNDYWxsQmFzZSB7CiBwdWJsaWM6CiAgICAgSlNDYWxs
KCk7CiAgICAgSlNDYWxsKHVuc2lnbmVkIHN0YWNrbWFwSUQsIERGRzo6Tm9kZSopOworCisgICAg
dm9pZCBlbWl0KENDYWxsSGVscGVycyYsIHVuc2lnbmVkIHN0YWNrU2l6ZSk7CiAgICAgCiAgICAg
dW5zaWduZWQgc3RhY2ttYXBJRCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhY2ttYXBJRDsgfQogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKaW5kZXggYzVkYjUzYmUwNjIyNDBm
NGRiY2ZkMGIwM2I1MDNjMTc5MmMwNjc2Ny4uZmY5NjE5NjRlZWY2YmU5OGZlNDI0MThmN2FhNDRi
ZmVjMjczZjhkNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNo
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCkBAIC00OTUs
OSArNDk1LDEwIEBAIHN0YXRpYyBib29sIGdlbmVyYXRlQnlJZFN0dWIoCiAgICAgICAgICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoMCkpOwogICAgICAgICAgICAgCiAgICAg
ICAgICAgICBmYXN0UGF0aENhbGwgPSBzdHViSml0Lm5lYXJDYWxsKCk7Ci0gICAgICAgICAgICAK
KwogICAgICAgICAgICAgc3R1YkppdC5hZGRQdHIoCi0gICAgICAgICAgICAgICAgTWFjcm9Bc3Nl
bWJsZXI6OlRydXN0ZWRJbW0zMihhbGlnbmVkTnVtYmVyT2ZCeXRlc0ZvckNhbGwpLAorICAgICAg
ICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoY29kZUJsb2NrLT5zdGFja1Bv
aW50ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLAorICAgICAgICAgICAgICAgIEdQUklu
Zm86OmNhbGxGcmFtZVJlZ2lzdGVyLAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpz
dGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAgICAgICAgICBpZiAoa2luZCA9PSBDYWxsR2V0dGVy
KQogICAgICAgICAgICAgICAgIHN0dWJKaXQuc2V0dXBSZXN1bHRzKHZhbHVlUmVncyk7CkBAIC01
MTMsNyArNTE0LDggQEAgc3RhdGljIGJvb2wgZ2VuZXJhdGVCeUlkU3R1YigKICAgICAgICAgICAg
IHNsb3dQYXRoQ2FsbCA9IHN0dWJKaXQubmVhckNhbGwoKTsKICAgICAgICAgICAgIAogICAgICAg
ICAgICAgc3R1YkppdC5hZGRQdHIoCi0gICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlRy
dXN0ZWRJbW0zMihhbGlnbmVkTnVtYmVyT2ZCeXRlc0ZvckNhbGwpLAorICAgICAgICAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoY29kZUJsb2NrLT5zdGFja1BvaW50ZXJPZmZz
ZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLAorICAgICAgICAgICAgICAgIEdQUkluZm86OmNhbGxG
cmFtZVJlZ2lzdGVyLAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50
ZXJSZWdpc3Rlcik7CiAgICAgICAgICAgICBpZiAoa2luZCA9PSBDYWxsR2V0dGVyKQogICAgICAg
ICAgICAgICAgIHN0dWJKaXQuc2V0dXBSZXN1bHRzKHZhbHVlUmVncyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RhaWwtY2FsbC1pbi1pbmxpbmUtY2Fj
aGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RhaWwtY2FsbC1pbi1p
bmxpbmUtY2FjaGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhkNjRmMTU0M2Q3MWMxZjJjNWZlYTFkYjYwNTVl
Y2FhZjU1ZGM0YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvdGFpbC1jYWxsLWluLWlubGluZS1jYWNoZS5qcwpAQCAtMCwwICsxLDEwIEBACisi
dXNlIHN0cmljdCI7CisKK2Z1bmN0aW9uIHRhaWwoKSB7IH0KKwordmFyIG9iaiA9IHsKKyAgICBn
ZXQgeCgpIHsgcmV0dXJuIHRhaWwoMCk7IH0KK307CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTA7
ICsraSkKKyAgICBvYmoueDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260452</attachid>
            <date>2015-09-02 16:25:34 -0700</date>
            <delta_ts>2015-09-02 17:48:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148659-20150902162533.patch</filename>
            <type>text/plain</type>
            <size>9203</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5MjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
Mjg2ZjUzMWUyNGEzZjkxMzg2ZDIxMDc2MTI2ZjhiOWY1MzMyOTYxLi5hMDYzZTM2NGQ0ZTFlOWFh
MTMyMTNjNDFhNzY3YTQ1ZjIwYmMyZDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxNS0wOS0wMiAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAgSmF2YVNjcmlwdCBmdW5jdGlvbnMgc2hvdWxkIHJlc3RvcmUg
dGhlIHN0YWNrIHBvaW50ZXIgYWZ0ZXIgYSBjYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIGl0IHNvIHRoYXQgdGhlIHZh
cmlvdXMgcGxhY2VzIHdoZXJlIHdlIGFyZSBtYWtpbmcgYQorICAgICAgICBKUy10by1KUyBjYWxs
IHJlc3RvcmUgdGhlIHN0YWNrIHBvaW50ZXIgYWZ0ZXJ3YXJkcy4gVGhpcyBhbGxvd3MgdXMgdG8K
KyAgICAgICAgbm8gbG9uZ2VyIHJlbHkgb24gdGhlIHN0YWNrIHBvaW50ZXIgc3RpbGwgYmVpbmcg
dmFsaWQgYWZ0ZXIgYSBjYWxsLCBhbmQKKyAgICAgICAgaXMgYSBwcmVyZXF1aXNpdGUgZm9yIGdl
dHRpbmcgcmlkIG9mIHRoZSBhcml0eSBmaXh1cCByZXR1cm4gdGh1bmsuCisKKyAgICAgICAgKiBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAg
ICAgKiBmdGwvRlRMQ29tcGlsZS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6bW1BbGxvY2F0ZURh
dGFTZWN0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMSW5saW5lQ2FjaGVTaXplLmNwcDoKKyAgICAg
ICAgKEpTQzo6RlRMOjpzaXplT2ZDYWxsKToKKyAgICAgICAgKiBmdGwvRlRMSlNDYWxsLmNwcDoK
KyAgICAgICAgKEpTQzo6RlRMOjpKU0NhbGw6OmVtaXQpOgorICAgICAgICAqIGZ0bC9GVExKU0Nh
bGwuaDoKKyAgICAgICAgKiBmdGwvRlRMU3RhY2tNYXBzLmg6CisgICAgICAgIChKU0M6OkZUTDo6
U3RhY2tNYXBzOjpzdGFja1NpemVGb3JMb2NhbHMpOgorICAgICAgICAqIGppdC9SZXBhdGNoLmNw
cDoKKyAgICAgICAgKEpTQzo6Z2VuZXJhdGVCeUlkU3R1Yik6CisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL3RhaWwtY2FsbC1pbi1pbmxpbmUtY2FjaGUuanM6IEFkZGVkLgorICAgICAgICAodGFpbCk6
CisgICAgICAgIChvYmouZ2V0IHgpOgorCiAyMDE1LTA5LTAxICBCcmlhbiBCdXJnICA8YmJ1cmdA
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHByb3RvY29sIGdlbmVyYXRvciBz
aG91bGQgbm90IGFsbG93IG5vbi1ib29sZWFuIHZhbHVlcyBmb3IgIm9wdGlvbmFsIiBrZXkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwCmluZGV4IDUxNWMwNjM0M2ZiYmQwY2RjYWNiZTk3YmIyYzRkNjU5ODJkZDlkNWYuLmM3YzZi
NzZhMGYzMmEyMzg5N2I4MWFjZjkxOGM1MWI4YTg0MjVkOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtODIxLDkg
KzgyMSwxMCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0Q2FsbChOb2RlKiBub2RlKQogICAg
IGluZm8tPnNldFVwQ2FsbChjYWxsVHlwZSwgbm9kZS0+b3JpZ2luLnNlbWFudGljLCBjYWxsZWVQ
YXlsb2FkR1BSKTsKICAgICBtX2ppdC5hZGRKU0NhbGwoZmFzdENhbGwsIHNsb3dDYWxsLCB0YXJn
ZXRUb0NoZWNrLCBpbmZvKTsKICAgICAKLSAgICAvLyBJZiB3ZSB3ZXJlIHZhcmFyZ3MsIHRoZW4g
YWZ0ZXIgdGhlIGNhbGxzIGFyZSBkb25lLCB3ZSBuZWVkIHRvIHJlZXN0YWJsaXNoIG91ciBzdGFj
ayBwb2ludGVyLgotICAgIGlmIChpc1ZhcmFyZ3MgfHwgaXNGb3J3YXJkVmFyYXJncykKLSAgICAg
ICAgbV9qaXQuYWRkUHRyKFRydXN0ZWRJbW0zMihtX2ppdC5ncmFwaCgpLnN0YWNrUG9pbnRlck9m
ZnNldCgpICogc2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBK
SVRDb21waWxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIC8vIEFmdGVyIHRoZSBjYWxs
cyBhcmUgZG9uZSwgd2UgbmVlZCB0byByZWVzdGFibGlzaCBvdXIgc3RhY2sKKyAgICAvLyBwb2lu
dGVyLiBXZSByZWx5IG9uIHRoaXMgZm9yIHZhcmFyZ3MgY2FsbHMsIGNhbGxzIHdpdGggYXJpdHkK
KyAgICAvLyBtaXNtYXRjaCAodGhlIGNhbGxmcmFtZSBpcyBzbGlkZWQpIGFuZCB0YWlsIGNhbGxz
LgorICAgIG1faml0LmFkZFB0cihUcnVzdGVkSW1tMzIobV9qaXQuZ3JhcGgoKS5zdGFja1BvaW50
ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rl
ciwgSklUQ29tcGlsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKIH0KIAogdGVtcGxhdGU8Ym9v
bCBzdHJpY3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcAppbmRleCAzNzlkOWMzZDU5ZWQ3YjU5YThiMzNiM2QzMzNiOTU5NGZlOWUzYWI1
Li4yOGEzNTNkZjJmNzk4MmE1YTU3ZmFhNDExM2EwMDg0ZTU5ZGFiMDRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTc3Niwx
MCArNzc2LDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAg
ICAgCiAgICAgY2FsbExpbmtJbmZvLT5zZXRVcENhbGwoY2FsbFR5cGUsIG1fY3VycmVudE5vZGUt
Pm9yaWdpbi5zZW1hbnRpYywgIGNhbGxlZUdQUik7ICAgIAogICAgIG1faml0LmFkZEpTQ2FsbChm
YXN0Q2FsbCwgc2xvd0NhbGwsIHRhcmdldFRvQ2hlY2ssIGNhbGxMaW5rSW5mbyk7Ci0gICAgCi0g
ICAgLy8gSWYgd2Ugd2VyZSB2YXJhcmdzLCB0aGVuIGFmdGVyIHRoZSBjYWxscyBhcmUgZG9uZSwg
d2UgbmVlZCB0byByZWVzdGFibGlzaCBvdXIgc3RhY2sgcG9pbnRlci4KLSAgICBpZiAoaXNWYXJh
cmdzIHx8IGlzRm9yd2FyZFZhcmFyZ3MpCi0gICAgICAgIG1faml0LmFkZFB0cihUcnVzdGVkSW1t
MzIobV9qaXQuZ3JhcGgoKS5zdGFja1BvaW50ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdpc3Rlcikp
LCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgSklUQ29tcGlsZXI6OnN0YWNrUG9pbnRlclJl
Z2lzdGVyKTsKKworICAgIC8vIEFmdGVyIHRoZSBjYWxscyBhcmUgZG9uZSwgd2UgbmVlZCB0byBy
ZWVzdGFibGlzaCBvdXIgc3RhY2sKKyAgICAvLyBwb2ludGVyLiBXZSByZWx5IG9uIHRoaXMgZm9y
IHZhcmFyZ3MgY2FsbHMsIGNhbGxzIHdpdGggYXJpdHkKKyAgICAvLyBtaXNtYXRjaCAodGhlIGNh
bGxmcmFtZSBpcyBzbGlkZWQpIGFuZCB0YWlsIGNhbGxzLgorICAgIG1faml0LmFkZFB0cihUcnVz
dGVkSW1tMzIobV9qaXQuZ3JhcGgoKS5zdGFja1BvaW50ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdp
c3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgSklUQ29tcGlsZXI6OnN0YWNrUG9p
bnRlclJlZ2lzdGVyKTsKIH0KIAogLy8gQ2xhbmcgc2hvdWxkIGFsbG93IHVucmVhY2hhYmxlIFtb
Y2xhbmc6OmZhbGx0aHJvdWdoXV0gaW4gdGVtcGxhdGUgZnVuY3Rpb25zIGlmIGFueSB0ZW1wbGF0
ZSBleHBhbnNpb24gdXNlcyBpdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExDb21waWxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5j
cHAKaW5kZXggNTNmNGM2ZjgzMzY4ZmEwZDFhNzZkNTBhMmQzZWYyZjFkM2IwMzMzNS4uOTkxNGQ2
ODIyOTkwMDQ3MjRmYjVhNzQ2YmU3OTQxNTBjODM4ODVjMiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTENvbXBpbGUuY3BwCkBAIC01OTQsNyArNTk0LDcgQEAgc3RhdGljIHZvaWQgZml4
RnVuY3Rpb25CYXNlZE9uU3RhY2tNYXBzKAogICAgICAgICBKU0NhbGwmIGNhbGwgPSBzdGF0ZS5q
c0NhbGxzW2ldOwogCiAgICAgICAgIENDYWxsSGVscGVycyBmYXN0UGF0aEpJVCgmdm0sIGNvZGVC
bG9jayk7Ci0gICAgICAgIGNhbGwuZW1pdChmYXN0UGF0aEpJVCk7CisgICAgICAgIGNhbGwuZW1p
dChmYXN0UGF0aEpJVCwgc3RhdGUuaml0Q29kZS0+c3RhY2ttYXBzLnN0YWNrU2l6ZUZvckxvY2Fs
cygpKTsKIAogICAgICAgICBjaGFyKiBzdGFydE9mSUMgPSBiaXR3aXNlX2Nhc3Q8Y2hhcio+KGdl
bmVyYXRlZEZ1bmN0aW9uKSArIGNhbGwubV9pbnN0cnVjdGlvbk9mZnNldDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbmxpbmVDYWNoZVNpemUuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbmxpbmVDYWNoZVNpemUuY3BwCmluZGV4IDVjZDYz
NzYwMmQ4MGY0MDg0NDk5ZmJmNmVjOGVlOTNhYTRjYzVmZGUuLmY1YmJmY2I3NzY5ZDA3ZjlkMGUy
NGE1NWQ5MGI3ZTI3Zjg2YTIwNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMSW5saW5lQ2FjaGVTaXplLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTElubGluZUNhY2hlU2l6ZS5jcHAKQEAgLTY3LDkgKzY3LDkgQEAgc2l6ZV90IHNpemVPZlB1
dEJ5SWQoKQogc2l6ZV90IHNpemVPZkNhbGwoKQogewogI2lmIENQVShBUk02NCkKLSAgICByZXR1
cm4gNTY7CisgICAgcmV0dXJuIDYwOwogI2Vsc2UKLSAgICByZXR1cm4gNTM7CisgICAgcmV0dXJu
IDYwOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMSlNDYWxsLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSlNDYWxsLmNwcApp
bmRleCBlNmY2YmRhNDc2ZTIwZGUwZjk3NzlmOTA3Yjk1MTQ2NzcxYTMzZTg2Li4yODc3Yjg0ODY5
NTIxYjQwMDBiY2M3ZWJiYzkwZWFjZDY3M2RhMGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEpTQ2FsbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExKU0NhbGwuY3BwCkBAIC01MSw2ICs1MSwxMyBAQCBKU0NhbGw6OkpTQ2FsbCh1bnNpZ25l
ZCBzdGFja21hcElELCBOb2RlKiBub2RlKQogICAgIEFTU0VSVChub2RlLT5vcCgpID09IENhbGwg
fHwgbm9kZS0+b3AoKSA9PSBDb25zdHJ1Y3QpOwogfQogCit2b2lkIEpTQ2FsbDo6ZW1pdChDQ2Fs
bEhlbHBlcnMmIGppdCwgdW5zaWduZWQgc3RhY2tTaXplRm9yTG9jYWxzKQoreworICAgIEpTQ2Fs
bEJhc2U6OmVtaXQoaml0KTsKKworICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tMzIoLSBzdGF0aWNfY2FzdDxpbnQ2NF90PihzdGFja1NpemVGb3JMb2NhbHMpKSwgQ0NhbGxI
ZWxwZXJzOjpmcmFtZVBvaW50ZXJSZWdpc3RlciwgQ0NhbGxIZWxwZXJzOjpzdGFja1BvaW50ZXJS
ZWdpc3Rlcik7Cit9CisKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwKIAogI2VuZGlmIC8vIEVO
QUJMRShGVExfSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExK
U0NhbGwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSlNDYWxsLmgKaW5kZXggMmY1
ZTY0YWVhODM5ZGI5MGFlYWM2OGFmYWRkZjM1MWRlMGM4ZjVhMC4uYTYyY2FhNDQ4OTEyODdhZTU1
ODQwMTQ3YzBiZDk5N2E5ZmQ0ZWY0NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExKU0NhbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpTQ2Fs
bC5oCkBAIC00Miw2ICs0Miw4IEBAIGNsYXNzIEpTQ2FsbCA6IHB1YmxpYyBKU0NhbGxCYXNlIHsK
IHB1YmxpYzoKICAgICBKU0NhbGwoKTsKICAgICBKU0NhbGwodW5zaWduZWQgc3RhY2ttYXBJRCwg
REZHOjpOb2RlKik7CisKKyAgICB2b2lkIGVtaXQoQ0NhbGxIZWxwZXJzJiwgdW5zaWduZWQgc3Rh
Y2tTaXplRm9yTG9jYWxzKTsKICAgICAKICAgICB1bnNpZ25lZCBzdGFja21hcElEKCkgY29uc3Qg
eyByZXR1cm4gbV9zdGFja21hcElEOyB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTFN0YWNrTWFwcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExTdGFja01hcHMuaAppbmRleCA2NDQwYjBmN2YyYTMzZDUxYmVmM2ExOTVkNzNlZWUyOWYwZWZl
OTc3Li5hYTMyMDJkYTg5ZWVkNjUzZTNiOTJkMzdjMmRmMjBhMTdlMjI2YTBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YWNrTWFwcy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhY2tNYXBzLmgKQEAgLTEyNyw2ICsxMjcsMTkgQEAgc3Ry
dWN0IFN0YWNrTWFwcyB7CiAgICAgUmVjb3JkTWFwIGNvbXB1dGVSZWNvcmRNYXAoKSBjb25zdDsK
IAogICAgIHVuc2lnbmVkIHN0YWNrU2l6ZSgpIGNvbnN0OworCisgICAgdW5zaWduZWQgc3RhY2tT
aXplRm9yTG9jYWxzKCkgY29uc3QKKyAgICB7CisjaWYgQ1BVKFg4Nl82NCkKKyAgICAgICAgLy8g
TExWTSB3aWxsIHN0b3JlIGZwIGluIHRoZSBjYWxsIGZyYW1lCisgICAgICAgIHJldHVybiBzdGFj
a1NpemUoKSAtIHNpemVvZih2b2lkKik7CisjZWxpZiBDUFUoQVJNNjQpCisgICAgICAgIC8vIExM
Vk0gd2lsbCBzdG9yZSBmcCAmIGxyIGluIHRoZSBjYWxsIGZyYW1lCisgICAgICAgIHJldHVybiBz
dGFja1NpemUoKSAtIDIgKiBzaXplb2Yodm9pZCopOworI2Vsc2UKKyAgICAgICAgVU5SRUFDSEFC
TEVfRk9SX1BMQVRGT1JNKCk7CisjZW5kaWYKKyAgICB9CiB9OwogCiB9IH0gLy8gbmFtZXNwYWNl
IEpTQzo6RlRMCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2gu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAppbmRleCBjNWRiNTNi
ZTA2MjI0MGY0ZGJjZmQwYjAzYjUwM2MxNzkyYzA2NzY3Li5mZjk2MTk2NGVlZjZiZTk4ZmU0MjQx
OGY3YWE0NGJmZWMyNzNmOGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlcGF0Y2guY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAK
QEAgLTQ5NSw5ICs0OTUsMTAgQEAgc3RhdGljIGJvb2wgZ2VuZXJhdGVCeUlkU3R1YigKICAgICAg
ICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cigwKSk7CiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIGZhc3RQYXRoQ2FsbCA9IHN0dWJKaXQubmVhckNhbGwoKTsKLSAgICAg
ICAgICAgIAorCiAgICAgICAgICAgICBzdHViSml0LmFkZFB0cigKLSAgICAgICAgICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKGFsaWduZWROdW1iZXJPZkJ5dGVzRm9yQ2FsbCks
CisgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihjb2RlQmxvY2st
PnN0YWNrUG9pbnRlck9mZnNldCgpICogc2l6ZW9mKFJlZ2lzdGVyKSksCisgICAgICAgICAgICAg
ICAgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3Nl
bWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKICAgICAgICAgICAgIGlmIChraW5kID09IENh
bGxHZXR0ZXIpCiAgICAgICAgICAgICAgICAgc3R1YkppdC5zZXR1cFJlc3VsdHModmFsdWVSZWdz
KTsKQEAgLTUxMyw3ICs1MTQsOCBAQCBzdGF0aWMgYm9vbCBnZW5lcmF0ZUJ5SWRTdHViKAogICAg
ICAgICAgICAgc2xvd1BhdGhDYWxsID0gc3R1YkppdC5uZWFyQ2FsbCgpOwogICAgICAgICAgICAg
CiAgICAgICAgICAgICBzdHViSml0LmFkZFB0cigKLSAgICAgICAgICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6VHJ1c3RlZEltbTMyKGFsaWduZWROdW1iZXJPZkJ5dGVzRm9yQ2FsbCksCisgICAgICAg
ICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihjb2RlQmxvY2stPnN0YWNrUG9p
bnRlck9mZnNldCgpICogc2l6ZW9mKFJlZ2lzdGVyKSksCisgICAgICAgICAgICAgICAgR1BSSW5m
bzo6Y2FsbEZyYW1lUmVnaXN0ZXIsCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OnN0
YWNrUG9pbnRlclJlZ2lzdGVyKTsKICAgICAgICAgICAgIGlmIChraW5kID09IENhbGxHZXR0ZXIp
CiAgICAgICAgICAgICAgICAgc3R1YkppdC5zZXR1cFJlc3VsdHModmFsdWVSZWdzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvdGFpbC1jYWxsLWluLWlu
bGluZS1jYWNoZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvdGFpbC1j
YWxsLWluLWlubGluZS1jYWNoZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOGQ2NGYxNTQzZDcxYzFmMmM1ZmVh
MWRiNjA1NWVjYWFmNTVkYzRiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy90YWlsLWNhbGwtaW4taW5saW5lLWNhY2hlLmpzCkBAIC0wLDAgKzEs
MTAgQEAKKyJ1c2Ugc3RyaWN0IjsKKworZnVuY3Rpb24gdGFpbCgpIHsgfQorCit2YXIgb2JqID0g
eworICAgIGdldCB4KCkgeyByZXR1cm4gdGFpbCgwKTsgfQorfTsKKworZm9yICh2YXIgaSA9IDA7
IGkgPCAxMDsgKytpKQorICAgIG9iai54Owo=
</data>
<flag name="review"
          id="285636"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>