<?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>149122</bug_id>
          
          <creation_ts>2015-09-14 11:16:40 -0700</creation_ts>
          <short_desc>Drop non-standard [IsIndex] WebKit IDL extended attribute</short_desc>
          <delta_ts>2015-09-14 19:01:06 -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>Bindings</component>
          <version>Other</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>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1125680</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-14 11:16:40 -0700</bug_when>
    <thetext>Drop non-standard [IsIndex] WebKit IDL extended attribute. This attributes causes us to throw an IndexSizeError if the input value is negative. Web IDL supports no such thing. Instead Web IDL supports:
1. Default behavior: the input value wraps around if it does not fit.
2. [EnforceRange]: A TypeError is thrown if the input value does not fit (https://heycam.github.io/webidl/#EnforceRange)
3. [Clamp]: The input value will be clamped if it does not fit (https://heycam.github.io/webidl/#Clamp)

Our bindings generator supports all three. We don&apos;t need the non-standard [IsIndex].

We currently use [IsIndex] in places where we&apos;re supposed to wrap around as per Web IDL. Therefore, we throw for negative values but other browsers don&apos;t. For e.g., CharacterData.substringData(offset, -1) is supposed to return the substring from offset to the end of the string. It does so in Firefox and Chrome. However, WebKit throws an Exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125682</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-14 11:17:33 -0700</bug_when>
    <thetext>rdar://problem/22547139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125695</commentid>
    <comment_count>2</comment_count>
      <attachid>261117</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-14 11:42:31 -0700</bug_when>
    <thetext>Created attachment 261117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125701</commentid>
    <comment_count>3</comment_count>
      <attachid>261121</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-14 12:49:34 -0700</bug_when>
    <thetext>Created attachment 261121
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125841</commentid>
    <comment_count>4</comment_count>
      <attachid>261121</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-09-14 18:46:35 -0700</bug_when>
    <thetext>Comment on attachment 261121
Patch

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

&gt; Source/WebCore/ChangeLog:27
&gt; +        for negative values and we know the value around instead, as other

typo here: &quot;we know the value around&quot; but we mean &quot;we now wrap the value around&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125844</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-09-14 18:48:02 -0700</bug_when>
    <thetext>This bug is really titled wrong. The real issue here is the change in behavior for these negative indexes. We are changing the behavior to match changes in the specifications and other browsers. As you can see, the old behavior was required by older DOM specifications.

Changing the behavior removes the need for [IsIndex]. Actually dropping [IsIndex] is a cleanup step and less interesting, so shouldn’t be the bug title.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125845</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-14 18:48:51 -0700</bug_when>
    <thetext>Committed r189770: &lt;http://trac.webkit.org/changeset/189770&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125847</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-14 19:00:57 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This bug is really titled wrong. The real issue here is the change in
&gt; behavior for these negative indexes. We are changing the behavior to match
&gt; changes in the specifications and other browsers. As you can see, the old
&gt; behavior was required by older DOM specifications.
&gt; 
&gt; Changing the behavior removes the need for [IsIndex]. Actually dropping
&gt; [IsIndex] is a cleanup step and less interesting, so shouldn’t be the bug
&gt; title.

Sorry, I saw this comment after committing. You&apos;re right. I actually did not initially realize this used to be expected behavior. I have always known Web IDL to wrap around.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261117</attachid>
            <date>2015-09-14 11:42:31 -0700</date>
            <delta_ts>2015-09-14 11:46:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149122-20150914114227.patch</filename>
            <type>text/plain</type>
            <size>39852</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5NzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNjZmFhYjA0ODE4MDg1
MjZmYzA3ODE0NWRiMTE0MDY2YWI1Nzc1MC4uMTZkY2FmMjRkM2YxZDE1ZDFiMmM5YzJhMzdiYjFi
NjhiMGQyMzI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE1LTA5LTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBub24tc3RhbmRhcmQg
W0lzSW5kZXhdIFdlYktpdCBJREwgZXh0ZW5kZWQgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkxMjIKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzIyNTQ3MTM5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIERyb3Agbm9uLXN0YW5kYXJkIFtJc0luZGV4XSBXZWJLaXQgSURMIGV4dGVuZGVk
IGF0dHJpYnV0ZS4gVGhpcyBhdHRyaWJ1dGUKKyAgICAgICAgY2F1c2VzIHVzIHRvIHRocm93IGFu
IEluZGV4U2l6ZUVycm9yIGlmIHRoZSBpbnB1dCB2YWx1ZSBpcyBuZWdhdGl2ZS4gV2ViCisgICAg
ICAgIElETCBzdXBwb3J0cyBubyBzdWNoIHRoaW5nLiBJbnN0ZWFkIFdlYiBJREwgc3VwcG9ydHM6
CisgICAgICAgIDEuIERlZmF1bHQgYmVoYXZpb3I6IHRoZSBpbnB1dCB2YWx1ZSB3cmFwcyBhcm91
bmQgaWYgaXQgZG9lcyBub3QgZml0LgorICAgICAgICAyLiBbRW5mb3JjZVJhbmdlXTogQSBUeXBl
RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpbnB1dCB2YWx1ZSBkb2VzIG5vdCBmaXQgWzFdLgorICAg
ICAgICAzLiBbQ2xhbXBdOiBUaGUgaW5wdXQgdmFsdWUgd2lsbCBiZSBjbGFtcGVkIGlmIGl0IGRv
ZXMgbm90IGZpdCBbMl0uCisKKyAgICAgICAgT3VyIGJpbmRpbmdzIGdlbmVyYXRvciBzdXBwb3J0
cyBhbGwgdGhyZWUuIFdlIGRvbid0IG5lZWQgdGhlIG5vbi1zdGFuZGFyZAorICAgICAgICBbSXNJ
bmRleF0uCisKKyAgICAgICAgV2UgcHJldmlvdXNseSB1c2VkIFtJc0luZGV4XSBpbiBwbGFjZXMg
d2hlcmUgd2UncmUgc3VwcG9zZWQgdG8gd3JhcCBhcm91bmQKKyAgICAgICAgYXMgcGVyIFdlYiBJ
REwuIFRoZXJlZm9yZSwgd2UgdGhyZXcgZm9yIG5lZ2F0aXZlIHZhbHVlcyBidXQgb3RoZXIgYnJv
d3NlcnMKKyAgICAgICAgZG9uJ3QuIEZvciBlLmcuLCBDaGFyYWN0ZXJEYXRhLnN1YnN0cmluZ0Rh
dGEob2Zmc2V0LCAtMSkgaXMgc3VwcG9zZWQgdG8KKyAgICAgICAgcmV0dXJuIHRoZSBzdWJzdHJp
bmcgZnJvbSBvZmZzZXQgdG8gdGhlIGVuZCBvZiB0aGUgc3RyaW5nLiBJdCBkb2VzIHNvIGluCisg
ICAgICAgIEZpcmVmb3ggYW5kIENocm9tZS4gSG93ZXZlciwgV2ViS2l0IHdhcyB0aHJvd2luZyBh
biBFeGNlcHRpb24uCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaW1wYWN0cyB0aGUgQ2hhcmFjdGVy
RGF0YSBhbmQgdGhlIFNWR1RleHRDb250ZW50RWxlbWVudAorICAgICAgICBBUEkuIFRoZSBjb21w
YXRpYmlsaXR5IHJpc2sgaXMgbG93IGJlY2F1c2Ugd2Ugd2VyZSB0aHJvd2luZyBhbiBleGNlcHRp
b24KKyAgICAgICAgZm9yIG5lZ2F0aXZlIHZhbHVlcyBhbmQgd2Uga25vdyB0aGUgdmFsdWUgYXJv
dW5kIGluc3RlYWQsIGFzIG90aGVyCisgICAgICAgIGJyb3dzZXJzIGRvLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cywgYWxyZWFkeSBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAg
IFsxXSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNFbmZvcmNlUmFuZ2UKKyAgICAg
ICAgWzJdIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI0NsYW1wCisKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRl
UGFyYW1ldGVyc0NoZWNrKTogRGVsZXRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lE
TEF0dHJpYnV0ZXMudHh0OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RXZl
bnRUYXJnZXQuaWRsOgorICAgICAgICAqIGRvbS9DaGFyYWN0ZXJEYXRhLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNoYXJhY3RlckRhdGE6OnN1YnN0cmluZ0RhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hhcmFjdGVyRGF0YTo6aW5zZXJ0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0
ZXJEYXRhOjpkZWxldGVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkNoYXJhY3RlckRhdGE6OnJl
cGxhY2VEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkNoYXJhY3RlckRhdGE6OmNoZWNrQ2hhckRh
dGFPcGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2hhcmFjdGVyRGF0YTo6bm9kZVZhbHVl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5oOgorICAgICAgICAoV2Vi
Q29yZTo6Q2hhcmFjdGVyRGF0YTo6bGVuZ3RoKToKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0
YS5pZGw6CisgICAgICAgICogZG9tL0NsaWVudFJlY3RMaXN0LmlkbDoKKyAgICAgICAgKiBkb20v
UmFuZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmFuZ2U6OnByb2Nlc3NDb250ZW50c0JldHdl
ZW5PZmZzZXRzKToKKyAgICAgICAgKiBlZGl0aW5nL0luc2VydFRleHRDb21tYW5kLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc2VydFRleHRDb21tYW5kOjpwZXJmb3JtT3ZlcndyaXRlKToKKyAg
ICAgICAgKiBzdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0TnVtYmVyT2ZDaGFycyk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldFN1YlN0cmluZ0xlbmd0aCk6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldFN0YXJ0UG9zaXRpb25PZkNoYXIp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRFbmRQb3NpdGlv
bk9mQ2hhcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldEV4
dGVudE9mQ2hhcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6Omdl
dFJvdGF0aW9uT2ZDaGFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRDb250ZW50RWxlbWVu
dDo6c2VsZWN0U3ViU3RyaW5nKToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5pZGw6CisKIDIwMTUtMDkt
MTQgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtF
RkxdIFJlbW92ZSBjcmVhdGUoKSBmYWN0b3J5IGZ1bmN0aW9uIGluIEV2YXNHTENvbnRleHQgYW5k
IEV2YXNHTFN1cmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9D
b2RlR2VuZXJhdG9ySlMucG0KaW5kZXggMWI5NTE1ODFiOTgwZTJmMTFjNzEzNjc2Njg4ZTZjMWQy
N2YwM2RmMi4uOGQ3YjFlNTM4MGU2ZDFlMmJmMjQ2MTk2NDRiNGNmNDc2ZTJlYzRlYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
QEAgLTMzOTcsMTYgKzMzOTcsNiBAQCBzdWIgR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2sKICAgICAg
ICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgIiAuIEdldE5hdGl2ZVR5cGVGcm9t
U2lnbmF0dXJlKCRwYXJhbWV0ZXIpIC4gIiAkbmFtZSA9ICRvdXRlciIgLiBKU1ZhbHVlVG9OYXRp
dmUoJHBhcmFtZXRlciwgJGlubmVyLCAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkNvbmRpdGlvbmFsIn0pIC4gIjtcbiIpOwogICAgICAgICAgICAgfQogCi0gICAg
ICAgICAgICAjIElmIGEgcGFyYW1ldGVyIGlzICJhbiBpbmRleCIgYW5kIGl0J3MgbmVnYXRpdmUg
aXQgc2hvdWxkIHRocm93IGFuIElOREVYX1NJWkVfRVJSIGV4Y2VwdGlvbi4KLSAgICAgICAgICAg
ICMgQnV0IHRoaXMgbmVlZHMgdG8gYmUgZG9uZSBpbiB0aGUgYmluZGluZ3MsIGJlY2F1c2UgdGhl
IHR5cGUgaXMgdW5zaWduZWQgYW5kIHRoZSBmYWN0IHRoYXQgaXQKLSAgICAgICAgICAgICMgd2Fz
IG5lZ2F0aXZlIHdpbGwgYmUgbG9zdCBieSB0aGUgdGltZSB3ZSdyZSBpbnNpZGUgdGhlIERPTS4K
LSAgICAgICAgICAgIGlmICgkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSXNJbmRl
eCJ9KSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmICgkbmFt
ZSA8IDApIHtcbiIpOwotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAg
ICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIElOREVYX1NJWkVfRVJSKTtcbiIpOwotICAgICAgICAg
ICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTtcbiIpOwotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJh
eSwgIiAgICB9XG4iKTsKLSAgICAgICAgICAgIH0KLQogICAgICAgICAgICAgIyBDaGVjayBpZiB0
aGUgdHlwZSBjb252ZXJzaW9uIHN1Y2NlZWRlZC4KICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRB
cnJheSwgIiAgICBpZiAoVU5MSUtFTFkoZXhlYy0+aGFkRXhjZXB0aW9uKCkpKVxuIik7CiAgICAg
ICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7XG4iKTsKQEAgLTM4MTEsMTEgKzM4MDEsNiBAQCBzdWIgR2V0TmF0
aXZlVHlwZUZyb21TaWduYXR1cmUKICAgICBteSAkc2lnbmF0dXJlID0gc2hpZnQ7CiAgICAgbXkg
JHR5cGUgPSAkc2lnbmF0dXJlLT50eXBlOwogCi0gICAgaWYgKCR0eXBlIGVxICJ1bnNpZ25lZCBs
b25nIiBhbmQgJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IklzSW5kZXgifSkgewot
ICAgICAgICAjIFNwZWNpYWwtY2FzZSBpbmRleCBhcmd1bWVudHMgYmVjYXVzZSB3ZSBuZWVkIHRv
IGNoZWNrIHRoYXQgdGhleSBhcmVuJ3QgPCAwLgotICAgICAgICByZXR1cm4gImludCI7Ci0gICAg
fQotCiAgICAgcmV0dXJuIEdldE5hdGl2ZVR5cGUoJHR5cGUpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0IGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAppbmRleCBlODEyZGEz
MDNkMjJmZTE1YmE5ZTNiNjYwMjk1N2E5NDk1ZmVlYmM4Li5iNzFjYmQ3MGY1NDM5NjIyN2E2NzNj
N2Y4NWMxODYxZGE5NGRhMWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvSURMQXR0cmlidXRlcy50eHQKQEAgLTcyLDcgKzcyLDYgQEAgSW1wbGVtZW50YXRpb25O
YW1lc3BhY2U9KgogSW1wbGVtZW50ZWRBcz0qCiBJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rv
cgogSW50ZXJmYWNlTmFtZT0qCi1Jc0luZGV4CiBJc1dlYWtDYWxsYmFjawogSlNDdXN0b21EZWZp
bmVPd25Qcm9wZXJ0eQogSlNDdXN0b21EZWZpbmVPd25Qcm9wZXJ0eU9uUHJvdG90eXBlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZl
bnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdEV2ZW50VGFyZ2V0LmNwcAppbmRleCA2NGM3NDgyZmU0NjhkMmFiYzY3YWU3YTNmZjgyMTZj
NTRjMTdhNGI2Li4wYzg4NTdkYjJmNzlkODk2MWJjMDZhMzAxOGFjYTIzYWMwMzY2ODgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZl
bnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RFdmVudFRhcmdldC5jcHAKQEAgLTI1MSwxMSArMjUxLDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RFdmVudFRhcmdldFByb3RvdHlwZUZ1bmN0aW9uSXRlbShF
eGVjU3RhdGUqIGUKICAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwogICAgIGlm
IChVTkxJS0VMWShleGVjLT5hcmd1bWVudENvdW50KCkgPCAxKSkKICAgICAgICAgcmV0dXJuIHRo
cm93Vk1FcnJvcihleGVjLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihleGVjKSk7Ci0g
ICAgaW50IGluZGV4ID0gdG9VSW50MzIoZXhlYywgZXhlYy0+YXJndW1lbnQoMCksIE5vcm1hbENv
bnZlcnNpb24pOwotICAgIGlmIChpbmRleCA8IDApIHsKLSAgICAgICAgc2V0RE9NRXhjZXB0aW9u
KGV4ZWMsIElOREVYX1NJWkVfRVJSKTsKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKLSAgICB9CisgICAgdW5zaWduZWQgaW5kZXggPSB0b1VJbnQzMihleGVj
LCBleGVjLT5hcmd1bWVudCgwKSwgTm9ybWFsQ29udmVyc2lvbik7CiAgICAgaWYgKFVOTElLRUxZ
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKICAgICBKU1ZhbHVlIHJlc3VsdCA9IHRvSlMoZXhlYywgY2FzdGVkVGhp
cy0+Z2xvYmFsT2JqZWN0KCksIFdURjo6Z2V0UHRyKGltcGwuaXRlbShpbmRleCkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RXZlbnRUYXJn
ZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFdmVudFRh
cmdldC5pZGwKaW5kZXggNzBmMWI1MzcwMjVhN2EwNTZhZTU2ZTQyYzMzMTk0MTg3NTMxYjcwMy4u
OWQwNTQ4MDBmNzU3YTdkNjMwNTU3ODI5NjliMmVjZGI5ODNlNWU0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFdmVudFRhcmdldC5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFdmVudFRhcmdldC5p
ZGwKQEAgLTMxLDcgKzMxLDcgQEAKICAgICBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkCiBdIGludGVy
ZmFjZSBUZXN0RXZlbnRUYXJnZXQgewogCi0gICAgZ2V0dGVyIE5vZGUgaXRlbShbSXNJbmRleF0g
dW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgZ2V0dGVyIE5vZGUgaXRlbSh1bnNpZ25lZCBsb25n
IGluZGV4KTsKICAgICBnZXR0ZXIgTm9kZSAoRE9NU3RyaW5nIG5hbWUpOwogCiAgICAgdm9pZCBh
ZGRFdmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJE
YXRhLmNwcAppbmRleCA5ZDA5Zjk5YzJiOGI1NGEwZTJhMDFlOWI4ZmUyNmY3OGZhZDYxYmUxLi41
YmQzZDBiNzU5Y2UyZDkxZmY3NjZjN2M3MTQ0NTJiZWE0ZGZmYTRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0NoYXJhY3RlckRhdGEuY3BwCkBAIC01MSwxMiArNTEsMTMgQEAgdm9pZCBDaGFyYWN0ZXJEYXRh
OjpzZXREYXRhKGNvbnN0IFN0cmluZyYgZGF0YSwgRXhjZXB0aW9uQ29kZSYpCiAgICAgZG9jdW1l
bnQoKS50ZXh0UmVtb3ZlZCh0aGlzLCAwLCBvbGRMZW5ndGgpOwogfQogCi1TdHJpbmcgQ2hhcmFj
dGVyRGF0YTo6c3Vic3RyaW5nRGF0YSh1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIGNvdW50LCBF
eGNlcHRpb25Db2RlJiBlYykKK1N0cmluZyBDaGFyYWN0ZXJEYXRhOjpzdWJzdHJpbmdEYXRhKHVu
c2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGNvdW50LCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKICAgICBjaGVja0NoYXJEYXRhT3BlcmF0aW9uKG9mZnNldCwgZWMpOwogICAgIGlmIChl
YykKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogCisgICAgY291bnQgPSBzdGQ6Om1pbihjb3Vu
dCwgbGVuZ3RoKCkgLSBvZmZzZXQpOwogICAgIHJldHVybiBtX2RhdGEuc3Vic3RyaW5nKG9mZnNl
dCwgY291bnQpOwogfQogCkBAIC0xMTcsNyArMTE4LDcgQEAgdm9pZCBDaGFyYWN0ZXJEYXRhOjph
cHBlbmREYXRhKGNvbnN0IFN0cmluZyYgZGF0YSkKICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIGNh
bGwgdGV4dEluc2VydGVkIGhlcmU/CiB9CiAKLXZvaWQgQ2hhcmFjdGVyRGF0YTo6aW5zZXJ0RGF0
YSh1bnNpZ25lZCBvZmZzZXQsIGNvbnN0IFN0cmluZyYgZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit2b2lkIENoYXJhY3RlckRhdGE6Omluc2VydERhdGEodW5zaWduZWQgbG9uZyBvZmZzZXQsIGNv
bnN0IFN0cmluZyYgZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgY2hlY2tDaGFyRGF0
YU9wZXJhdGlvbihvZmZzZXQsIGVjKTsKICAgICBpZiAoZWMpCkBAIC0xMzEsNDYgKzEzMiwzOCBA
QCB2b2lkIENoYXJhY3RlckRhdGE6Omluc2VydERhdGEodW5zaWduZWQgb2Zmc2V0LCBjb25zdCBT
dHJpbmcmIGRhdGEsIEV4Y2VwdGlvbkNvZAogICAgIGRvY3VtZW50KCkudGV4dEluc2VydGVkKHRo
aXMsIG9mZnNldCwgZGF0YS5sZW5ndGgoKSk7CiB9CiAKLXZvaWQgQ2hhcmFjdGVyRGF0YTo6ZGVs
ZXRlRGF0YSh1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIGNvdW50LCBFeGNlcHRpb25Db2RlJiBl
YykKK3ZvaWQgQ2hhcmFjdGVyRGF0YTo6ZGVsZXRlRGF0YSh1bnNpZ25lZCBsb25nIG9mZnNldCwg
dW5zaWduZWQgbG9uZyBjb3VudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgY2hlY2tDaGFy
RGF0YU9wZXJhdGlvbihvZmZzZXQsIGVjKTsKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVybjsK
IAotICAgIHVuc2lnbmVkIHJlYWxDb3VudDsKLSAgICBpZiAob2Zmc2V0ICsgY291bnQgPiBsZW5n
dGgoKSkKLSAgICAgICAgcmVhbENvdW50ID0gbGVuZ3RoKCkgLSBvZmZzZXQ7Ci0gICAgZWxzZQot
ICAgICAgICByZWFsQ291bnQgPSBjb3VudDsKKyAgICBjb3VudCA9IHN0ZDo6bWluKGNvdW50LCBs
ZW5ndGgoKSAtIG9mZnNldCk7CiAKICAgICBTdHJpbmcgbmV3U3RyID0gbV9kYXRhOwotICAgIG5l
d1N0ci5yZW1vdmUob2Zmc2V0LCByZWFsQ291bnQpOworICAgIG5ld1N0ci5yZW1vdmUob2Zmc2V0
LCBjb3VudCk7CiAKICAgICBzZXREYXRhQW5kVXBkYXRlKG5ld1N0ciwgb2Zmc2V0LCBjb3VudCwg
MCk7CiAKLSAgICBkb2N1bWVudCgpLnRleHRSZW1vdmVkKHRoaXMsIG9mZnNldCwgcmVhbENvdW50
KTsKKyAgICBkb2N1bWVudCgpLnRleHRSZW1vdmVkKHRoaXMsIG9mZnNldCwgY291bnQpOwogfQog
Ci12b2lkIENoYXJhY3RlckRhdGE6OnJlcGxhY2VEYXRhKHVuc2lnbmVkIG9mZnNldCwgdW5zaWdu
ZWQgY291bnQsIGNvbnN0IFN0cmluZyYgZGF0YSwgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIENo
YXJhY3RlckRhdGE6OnJlcGxhY2VEYXRhKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBs
b25nIGNvdW50LCBjb25zdCBTdHJpbmcmIGRhdGEsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAg
IGNoZWNrQ2hhckRhdGFPcGVyYXRpb24ob2Zmc2V0LCBlYyk7CiAgICAgaWYgKGVjKQogICAgICAg
ICByZXR1cm47CiAKLSAgICB1bnNpZ25lZCByZWFsQ291bnQ7Ci0gICAgaWYgKG9mZnNldCArIGNv
dW50ID4gbGVuZ3RoKCkpCi0gICAgICAgIHJlYWxDb3VudCA9IGxlbmd0aCgpIC0gb2Zmc2V0Owot
ICAgIGVsc2UKLSAgICAgICAgcmVhbENvdW50ID0gY291bnQ7CisgICAgY291bnQgPSBzdGQ6Om1p
bihjb3VudCwgbGVuZ3RoKCkgLSBvZmZzZXQpOwogCiAgICAgU3RyaW5nIG5ld1N0ciA9IG1fZGF0
YTsKLSAgICBuZXdTdHIucmVtb3ZlKG9mZnNldCwgcmVhbENvdW50KTsKKyAgICBuZXdTdHIucmVt
b3ZlKG9mZnNldCwgY291bnQpOwogICAgIG5ld1N0ci5pbnNlcnQoZGF0YSwgb2Zmc2V0KTsKIAog
ICAgIHNldERhdGFBbmRVcGRhdGUobmV3U3RyLCBvZmZzZXQsIGNvdW50LCBkYXRhLmxlbmd0aCgp
KTsKIAogICAgIC8vIHVwZGF0ZSB0aGUgbWFya2VycyBmb3Igc3BlbGwgY2hlY2tpbmcgYW5kIGdy
YW1tYXIgY2hlY2tpbmcKLSAgICBkb2N1bWVudCgpLnRleHRSZW1vdmVkKHRoaXMsIG9mZnNldCwg
cmVhbENvdW50KTsKKyAgICBkb2N1bWVudCgpLnRleHRSZW1vdmVkKHRoaXMsIG9mZnNldCwgY291
bnQpOwogICAgIGRvY3VtZW50KCkudGV4dEluc2VydGVkKHRoaXMsIG9mZnNldCwgZGF0YS5sZW5n
dGgoKSk7CiB9CiAKQEAgLTIzMSw3ICsyMjQsNyBAQCB2b2lkIENoYXJhY3RlckRhdGE6OmRpc3Bh
dGNoTW9kaWZpZWRFdmVudChjb25zdCBTdHJpbmcmIG9sZERhdGEpCiAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpjaGFyYWN0ZXJEYXRhTW9kaWZpZWQoZG9jdW1lbnQoKSwgKnRoaXMpOwog
fQogCi12b2lkIENoYXJhY3RlckRhdGE6OmNoZWNrQ2hhckRhdGFPcGVyYXRpb24odW5zaWduZWQg
b2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgQ2hhcmFjdGVyRGF0YTo6Y2hlY2tDaGFy
RGF0YU9wZXJhdGlvbih1bnNpZ25lZCBsb25nIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7
CiAgICAgZWMgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVy
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaAppbmRleCA2MmUxZjli
MGIyNTc0NDExZGZmMGQ4OTA4MzZlYzA2MzMyMzgyZWFmLi5mOTUxN2Q3MGU2OGRiNWNlZTAzNjdl
Mjk4YmYyNTAzYzBiYmU1ZjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFj
dGVyRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmgKQEAgLTM0
LDEyICszNCwxMiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHB0cmRpZmZfdCBkYXRhTWVtb3J5T2Zm
c2V0KCkgeyByZXR1cm4gT0JKRUNUX09GRlNFVE9GKENoYXJhY3RlckRhdGEsIG1fZGF0YSk7IH0K
IAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0RGF0YShjb25zdCBTdHJpbmcmLCBFeGNlcHRp
b25Db2RlJik7Ci0gICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLmxl
bmd0aCgpOyB9Ci0gICAgU3RyaW5nIHN1YnN0cmluZ0RhdGEodW5zaWduZWQgb2Zmc2V0LCB1bnNp
Z25lZCBjb3VudCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoKCkg
Y29uc3QgeyByZXR1cm4gbV9kYXRhLmxlbmd0aCgpOyB9CisgICAgU3RyaW5nIHN1YnN0cmluZ0Rh
dGEodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgY291bnQsIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICB2b2lkIGFwcGVuZERhdGEoY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCBpbnNl
cnREYXRhKHVuc2lnbmVkIG9mZnNldCwgY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwot
ICAgIHZvaWQgZGVsZXRlRGF0YSh1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIGNvdW50LCBFeGNl
cHRpb25Db2RlJik7Ci0gICAgdm9pZCByZXBsYWNlRGF0YSh1bnNpZ25lZCBvZmZzZXQsIHVuc2ln
bmVkIGNvdW50LCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBpbnNl
cnREYXRhKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2Rl
Jik7CisgICAgdm9pZCBkZWxldGVEYXRhKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBs
b25nIGNvdW50LCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCByZXBsYWNlRGF0YSh1bnNpZ25l
ZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBjb3VudCwgY29uc3QgU3RyaW5nJiwgRXhjZXB0
aW9uQ29kZSYpOwogCiAgICAgYm9vbCBjb250YWluc09ubHlXaGl0ZXNwYWNlKCkgY29uc3Q7CiAK
QEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGludCBtYXhDaGFyYWN0ZXJP
ZmZzZXQoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIGJvb2wgb2Zmc2V0SW5D
aGFyYWN0ZXJzKCkgY29uc3Qgb3ZlcnJpZGUgZmluYWw7CiAgICAgdm9pZCBzZXREYXRhQW5kVXBk
YXRlKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkIG9mZnNldE9mUmVwbGFjZWREYXRhLCB1bnNpZ25l
ZCBvbGRMZW5ndGgsIHVuc2lnbmVkIG5ld0xlbmd0aCk7Ci0gICAgdm9pZCBjaGVja0NoYXJEYXRh
T3BlcmF0aW9uKHVuc2lnbmVkIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgY2hl
Y2tDaGFyRGF0YU9wZXJhdGlvbih1bnNpZ25lZCBsb25nIG9mZnNldCwgRXhjZXB0aW9uQ29kZSYp
OwogCiAgICAgU3RyaW5nIG1fZGF0YTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vQ2hhcmFjdGVyRGF0YS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5p
ZGwKaW5kZXggZmJmMmZkOGM0MGI0ZWYxOGMyOTc4ZDRiZjRiOTFkMDkxYjE4ZTg4ZS4uOTlhYjdk
MThmMjcyNDg0MGI4MWI3OTBmYWFjZTE0ZGJmNTQzMDY3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFy
YWN0ZXJEYXRhLmlkbApAQCAtMjMsMTUgKzIzLDE1IEBAIGludGVyZmFjZSBDaGFyYWN0ZXJEYXRh
IDogTm9kZSB7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7
CiAgICAgCi0gICAgW1RyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbCwgT2JqQ0xlZ2FjeVVu
bmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIERPTVN0cmluZyBzdWJzdHJpbmdEYXRh
KFtJc0luZGV4XSB1bnNpZ25lZCBsb25nIG9mZnNldCwgW0lzSW5kZXhdIHVuc2lnbmVkIGxvbmcg
bGVuZ3RoKTsKKyAgICBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsLCBPYmpDTGVnYWN5
VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHN1YnN0cmluZ0Rh
dGEodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgbGVuZ3RoKTsKIAogICAgIHZv
aWQgYXBwZW5kRGF0YShET01TdHJpbmcgZGF0YSk7CiAKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQ
YXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgaW5zZXJ0RGF0YShbSXNJbmRleF0gdW5z
aWduZWQgbG9uZyBvZmZzZXQsIERPTVN0cmluZyBkYXRhKTsKKyAgICBbT2JqQ0xlZ2FjeVVubmFt
ZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgaW5zZXJ0RGF0YSh1bnNpZ25lZCBs
b25nIG9mZnNldCwgRE9NU3RyaW5nIGRhdGEpOwogCi0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFy
YW1ldGVycywgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGRlbGV0ZURhdGEoW0lzSW5kZXhdIHVuc2ln
bmVkIGxvbmcgb2Zmc2V0LCBbSXNJbmRleF0gdW5zaWduZWQgbG9uZyBsZW5ndGgpOworICAgIFtP
YmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCBkZWxldGVE
YXRhKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGxlbmd0aCk7CiAKLSAgICBb
T2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgcmVwbGFj
ZURhdGEoW0lzSW5kZXhdIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBbSXNJbmRleF0gdW5zaWduZWQg
bG9uZyBsZW5ndGgsIERPTVN0cmluZyBkYXRhKTsKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJh
bWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgcmVwbGFjZURhdGEodW5zaWduZWQgbG9uZyBv
ZmZzZXQsIHVuc2lnbmVkIGxvbmcgbGVuZ3RoLCBET01TdHJpbmcgZGF0YSk7CiB9OwogCiBDaGFy
YWN0ZXJEYXRhIGltcGxlbWVudHMgQ2hpbGROb2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0NsaWVudFJlY3RMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGllbnRSZWN0
TGlzdC5jcHAKaW5kZXggYTA1N2RkZjNjNjc2NDE1OGYzMzc3Y2ExYzhlNTg0NGY0MTM3YTBhMC4u
NTIzMjg5YzcyMGU0ZTYzZDFkYjJhNzQ3NzA2Y2I0MTdmYzIwZmI4MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0NsaWVudFJlY3RMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vQ2xpZW50UmVjdExpc3QuY3BwCkBAIC01Miw3ICs1Miw3IEBAIHVuc2lnbmVkIENsaWVudFJl
Y3RMaXN0OjpsZW5ndGgoKSBjb25zdAogICAgIHJldHVybiBtX2xpc3Quc2l6ZSgpOwogfQogCi1D
bGllbnRSZWN0KiBDbGllbnRSZWN0TGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkKK0NsaWVudFJl
Y3QqIENsaWVudFJlY3RMaXN0OjppdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpCiB7CiAgICAgaWYg
KGluZGV4ID49IG1fbGlzdC5zaXplKCkpIHsKICAgICAgICAgLy8gRklYTUU6IHRoaXMgc2hvdWxk
IHRocm93IGFuIGV4Y2VwdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGll
bnRSZWN0TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0NsaWVudFJlY3RMaXN0LmgKaW5kZXgg
ZGY3MTA3Nzg0YmFjYjNmOWJiMGNmZDAwZTYyZWIwMWYyOTk2NTViMy4uZmM1ZjNjYThjNDE2N2Nm
ODk3ZDAxMzlmNzY0ZGY5Y2EwMzAxYTU1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0NsaWVudFJlY3RMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NsaWVudFJlY3RMaXN0
LmgKQEAgLTQzLDcgKzQzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBXRUJDT1JF
X0VYUE9SVCB+Q2xpZW50UmVjdExpc3QoKTsKIAogICAgICAgICB1bnNpZ25lZCBsZW5ndGgoKSBj
b25zdDsKLSAgICAgICAgQ2xpZW50UmVjdCogaXRlbSh1bnNpZ25lZCBpbmRleCk7CisgICAgICAg
IENsaWVudFJlY3QqIGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAKICAgICBwcml2YXRlOgog
ICAgICAgICBXRUJDT1JFX0VYUE9SVCBDbGllbnRSZWN0TGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0NsaWVudFJlY3RMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9D
bGllbnRSZWN0TGlzdC5pZGwKaW5kZXggZGJlMDgzNGYxZjM0ZWUwMzE5MTk0ZGNmMDU0MzE3NTZj
ODVmNDljOS4uOWI2NGM3ZWZhMmQ3YzlkOTdjNzQxZWQxZmJhMmRjMjdjZDY5ZWE5YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NsaWVudFJlY3RMaXN0LmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vQ2xpZW50UmVjdExpc3QuaWRsCkBAIC0yOCw3ICsyOCw3IEBACiAgICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIENsaWVudFJlY3RMaXN0IHsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gICAgZ2V0dGVyIENs
aWVudFJlY3QgaXRlbShbSXNJbmRleCwgRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIHVuc2ln
bmVkIGxvbmcgaW5kZXgpOworICAgIGdldHRlciBDbGllbnRSZWN0IGl0ZW0oW0RlZmF1bHQ9VW5k
ZWZpbmVkXSBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICAvLyBGSVhNRTogRml4
IGxpc3QgYmVoYXZpb3IgdG8gYWxsb3cgY3VzdG9tIGV4Y2VwdGlvbnMgdG8gYmUgdGhyb3duLgog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9SYW5nZS5jcHAKaW5kZXggMjY1MDhjZjA0NzJkNGYwZWRlZmE1ZDM1NTdjZTky
M2M3OGIxYjkyNS4uNmE4YTgyODY5MjQ4MzkwMzI0MTQ0Yjk5MmZmYzg5MzNhYTUyOTIxNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vUmFuZ2UuY3BwCkBAIC02OTksNyArNjk5LDcgQEAgUmVmUHRyPE5vZGU+IFJhbmdlOjpw
cm9jZXNzQ29udGVudHNCZXR3ZWVuT2Zmc2V0cyhBY3Rpb25UeXBlIGFjdGlvbiwgUGFzc1JlZlB0
cjwKICAgICBjYXNlIE5vZGU6OlRFWFRfTk9ERToKICAgICBjYXNlIE5vZGU6OkNEQVRBX1NFQ1RJ
T05fTk9ERToKICAgICBjYXNlIE5vZGU6OkNPTU1FTlRfTk9ERToKLSAgICAgICAgZW5kT2Zmc2V0
ID0gc3RkOjptaW4oZW5kT2Zmc2V0LCBzdGF0aWNfY2FzdDxDaGFyYWN0ZXJEYXRhKj4oY29udGFp
bmVyKS0+bGVuZ3RoKCkpOworICAgICAgICBlbmRPZmZzZXQgPSBzdGQ6Om1pbihlbmRPZmZzZXQs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdGF0aWNfY2FzdDxDaGFyYWN0ZXJEYXRhKj4oY29udGFp
bmVyKS0+bGVuZ3RoKCkpKTsKICAgICAgICAgc3RhcnRPZmZzZXQgPSBzdGQ6Om1pbihzdGFydE9m
ZnNldCwgZW5kT2Zmc2V0KTsKICAgICAgICAgaWYgKGFjdGlvbiA9PSBFeHRyYWN0IHx8IGFjdGlv
biA9PSBDbG9uZSkgewogICAgICAgICAgICAgUmVmUHRyPENoYXJhY3RlckRhdGE+IGMgPSBzdGF0
aWNfY2FzdDxDaGFyYWN0ZXJEYXRhKj4oY29udGFpbmVyLT5jbG9uZU5vZGUodHJ1ZSkucHRyKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9JbnNlcnRUZXh0Q29tbWFuZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0luc2VydFRleHRDb21tYW5kLmNwcAppbmRleCA1
NzJlOGVjYmNiZWQ3OWM5Nzg3MmFmMTgwNTRiYWEzNTM4MDU0YTljLi5lNDc1Y2UyMjVmZmY4NmQ5
YzljZGVmYzkzNTNhMTQ3YWZhZDVjMTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0luc2VydFRleHRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0lu
c2VydFRleHRDb21tYW5kLmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIGJvb2wgSW5zZXJ0VGV4dENv
bW1hbmQ6OnBlcmZvcm1PdmVyd3JpdGUoY29uc3QgU3RyaW5nJiB0ZXh0LCBib29sIHNlbGVjdElu
c2VydGVkCiAgICAgaWYgKCF0ZXh0Tm9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
dW5zaWduZWQgY291bnQgPSBzdGQ6Om1pbih0ZXh0Lmxlbmd0aCgpLCB0ZXh0Tm9kZS0+bGVuZ3Ro
KCkgLSBzdGFydC5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKSk7CisgICAgdW5zaWduZWQgY291bnQg
PSBzdGQ6Om1pbih0ZXh0Lmxlbmd0aCgpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4odGV4dE5vZGUt
Pmxlbmd0aCgpKSAtIHN0YXJ0Lm9mZnNldEluQ29udGFpbmVyTm9kZSgpKTsKICAgICBpZiAoIWNv
dW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRDb250ZW50RWxlbWVudC5jcHAKaW5kZXggZGJlNGM4OGE5OWFlOGU3MjRmNjNkNmIzM2JhNzIw
MGVkZTJjMTg0My4uYTQ2MzE2NjkwNDljNDkwZjhlMzE2ZWM2ZmE1NGM3YWViMmMwMzkyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKQEAgLTEwMCw3
ICsxMDAsNyBAQCBSZWY8U1ZHQW5pbWF0ZWRMZW5ndGg+IFNWR1RleHRDb250ZW50RWxlbWVudDo6
dGV4dExlbmd0aEFuaW1hdGVkKCkKIAogfQogCi11bnNpZ25lZCBTVkdUZXh0Q29udGVudEVsZW1l
bnQ6OmdldE51bWJlck9mQ2hhcnMoKQordW5zaWduZWQgbG9uZyBTVkdUZXh0Q29udGVudEVsZW1l
bnQ6OmdldE51bWJlck9mQ2hhcnMoKQogewogICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShyZW5kZXJl
cigpKS5udW1iZXJPZkNoYXJhY3RlcnMoKTsKQEAgLTExMiwyMCArMTEyLDIxIEBAIGZsb2F0IFNW
R1RleHRDb250ZW50RWxlbWVudDo6Z2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCkKICAgICByZXR1cm4g
U1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLnRleHRMZW5ndGgoKTsKIH0KIAotZmxvYXQgU1ZHVGV4
dENvbnRlbnRFbGVtZW50OjpnZXRTdWJTdHJpbmdMZW5ndGgodW5zaWduZWQgY2hhcm51bSwgdW5z
aWduZWQgbmNoYXJzLCBFeGNlcHRpb25Db2RlJiBlYykKK2Zsb2F0IFNWR1RleHRDb250ZW50RWxl
bWVudDo6Z2V0U3ViU3RyaW5nTGVuZ3RoKHVuc2lnbmVkIGxvbmcgY2hhcm51bSwgdW5zaWduZWQg
bG9uZyBuY2hhcnMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGRvY3VtZW50KCkudXBkYXRl
TGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKLSAgICB1bnNpZ25lZCBudW1iZXJP
ZkNoYXJzID0gZ2V0TnVtYmVyT2ZDaGFycygpOworICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZD
aGFycyA9IGdldE51bWJlck9mQ2hhcnMoKTsKICAgICBpZiAoY2hhcm51bSA+PSBudW1iZXJPZkNo
YXJzKSB7CiAgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7CiAgICAgICAgIHJldHVybiAwLjBm
OwogICAgIH0KIAorICAgIG5jaGFycyA9IHN0ZDo6bWluKG5jaGFycywgbnVtYmVyT2ZDaGFycyAt
IGNoYXJudW0pOwogICAgIHJldHVybiBTVkdUZXh0UXVlcnkocmVuZGVyZXIoKSkuc3ViU3RyaW5n
TGVuZ3RoKGNoYXJudW0sIG5jaGFycyk7CiB9CiAKLVNWR1BvaW50IFNWR1RleHRDb250ZW50RWxl
bWVudDo6Z2V0U3RhcnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtLCBFeGNlcHRpb25D
b2RlJiBlYykKK1NWR1BvaW50IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0U3RhcnRQb3NpdGlv
bk9mQ2hhcih1bnNpZ25lZCBsb25nIGNoYXJudW0sIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAg
IGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKQEAg
LTEzNyw3ICsxMzgsNyBAQCBTVkdQb2ludCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldFN0YXJ0
UG9zaXRpb25PZkNoYXIodW5zaWduZWQgY2hhcm51bSwgRXhjZXB0aQogICAgIHJldHVybiBTVkdU
ZXh0UXVlcnkocmVuZGVyZXIoKSkuc3RhcnRQb3NpdGlvbk9mQ2hhcmFjdGVyKGNoYXJudW0pOwog
fQogCi1TVkdQb2ludCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldEVuZFBvc2l0aW9uT2ZDaGFy
KHVuc2lnbmVkIGNoYXJudW0sIEV4Y2VwdGlvbkNvZGUmIGVjKQorU1ZHUG9pbnQgU1ZHVGV4dENv
bnRlbnRFbGVtZW50OjpnZXRFbmRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBsb25nIGNoYXJudW0s
IEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdub3Jl
UGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKQEAgLTE0OSw3ICsxNTAsNyBAQCBTVkdQb2ludCBTVkdU
ZXh0Q29udGVudEVsZW1lbnQ6OmdldEVuZFBvc2l0aW9uT2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0s
IEV4Y2VwdGlvbgogICAgIHJldHVybiBTVkdUZXh0UXVlcnkocmVuZGVyZXIoKSkuZW5kUG9zaXRp
b25PZkNoYXJhY3RlcihjaGFybnVtKTsKIH0KIAotRmxvYXRSZWN0IFNWR1RleHRDb250ZW50RWxl
bWVudDo6Z2V0RXh0ZW50T2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0sIEV4Y2VwdGlvbkNvZGUmIGVj
KQorRmxvYXRSZWN0IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0RXh0ZW50T2ZDaGFyKHVuc2ln
bmVkIGxvbmcgY2hhcm51bSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgZG9jdW1lbnQoKS51
cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIApAQCAtMTYxLDcgKzE2Miw3
IEBAIEZsb2F0UmVjdCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldEV4dGVudE9mQ2hhcih1bnNp
Z25lZCBjaGFybnVtLCBFeGNlcHRpb25Db2RlCiAgICAgcmV0dXJuIFNWR1RleHRRdWVyeShyZW5k
ZXJlcigpKS5leHRlbnRPZkNoYXJhY3RlcihjaGFybnVtKTsKIH0KIAotZmxvYXQgU1ZHVGV4dENv
bnRlbnRFbGVtZW50OjpnZXRSb3RhdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtLCBFeGNlcHRp
b25Db2RlJiBlYykKK2Zsb2F0IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0Um90YXRpb25PZkNo
YXIodW5zaWduZWQgbG9uZyBjaGFybnVtLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBkb2N1
bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCkBAIC0xNzks
NyArMTgwLDcgQEAgaW50IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0Q2hhck51bUF0UG9zaXRp
b24oY29uc3QgU1ZHUG9pbnQmIHBvaW50KQogICAgIHJldHVybiBTVkdUZXh0UXVlcnkocmVuZGVy
ZXIoKSkuY2hhcmFjdGVyTnVtYmVyQXRQb3NpdGlvbihwb2ludCk7CiB9CiAKLXZvaWQgU1ZHVGV4
dENvbnRlbnRFbGVtZW50OjpzZWxlY3RTdWJTdHJpbmcodW5zaWduZWQgY2hhcm51bSwgdW5zaWdu
ZWQgbmNoYXJzLCBFeGNlcHRpb25Db2RlJiBlYykKK3ZvaWQgU1ZHVGV4dENvbnRlbnRFbGVtZW50
OjpzZWxlY3RTdWJTdHJpbmcodW5zaWduZWQgbG9uZyBjaGFybnVtLCB1bnNpZ25lZCBsb25nIG5j
aGFycywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZDaGFycyA9
IGdldE51bWJlck9mQ2hhcnMoKTsKICAgICBpZiAoY2hhcm51bSA+PSBudW1iZXJPZkNoYXJzKSB7
CkBAIC0xODcsOCArMTg4LDcgQEAgdm9pZCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OnNlbGVjdFN1
YlN0cmluZyh1bnNpZ25lZCBjaGFybnVtLCB1bnNpZ25lZCBuY2hhcnMsIEUKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIGlmIChuY2hhcnMgPiBudW1iZXJPZkNoYXJzIC0gY2hhcm51bSkK
LSAgICAgICAgbmNoYXJzID0gbnVtYmVyT2ZDaGFycyAtIGNoYXJudW07CisgICAgbmNoYXJzID0g
c3RkOjptaW4obmNoYXJzLCBudW1iZXJPZkNoYXJzIC0gY2hhcm51bSk7CiAKICAgICBBU1NFUlQo
ZG9jdW1lbnQoKS5mcmFtZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRDb250ZW50RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50
RWxlbWVudC5oCmluZGV4IDQ0M2ExMDIyN2FhM2NiYTNlZGQyMWNjZGY2OWIzNGQxMjc2NTRlYWYu
LmVlM2I1OWRiMWJhZDg2NjQzYzA2YTI1MTAyMGY0N2FjNTMxMDY5MjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgKQEAgLTczLDE1ICs3MywxNSBAQCBwdWJs
aWM6CiAgICAgICAgIExFTkdUSEFESlVTVF9TUEFDSU5HQU5ER0xZUEhTID0gU1ZHTGVuZ3RoQWRq
dXN0U3BhY2luZ0FuZEdseXBocwogICAgIH07CiAKLSAgICB1bnNpZ25lZCBnZXROdW1iZXJPZkNo
YXJzKCk7CisgICAgdW5zaWduZWQgbG9uZyBnZXROdW1iZXJPZkNoYXJzKCk7CiAgICAgZmxvYXQg
Z2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCk7Ci0gICAgZmxvYXQgZ2V0U3ViU3RyaW5nTGVuZ3RoKHVu
c2lnbmVkIGNoYXJudW0sIHVuc2lnbmVkIG5jaGFycywgRXhjZXB0aW9uQ29kZSYpOwotICAgIFNW
R1BvaW50IGdldFN0YXJ0UG9zaXRpb25PZkNoYXIodW5zaWduZWQgY2hhcm51bSwgRXhjZXB0aW9u
Q29kZSYpOwotICAgIFNWR1BvaW50IGdldEVuZFBvc2l0aW9uT2ZDaGFyKHVuc2lnbmVkIGNoYXJu
dW0sIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBGbG9hdFJlY3QgZ2V0RXh0ZW50T2ZDaGFyKHVuc2ln
bmVkIGNoYXJudW0sIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBmbG9hdCBnZXRSb3RhdGlvbk9mQ2hh
cih1bnNpZ25lZCBjaGFybnVtLCBFeGNlcHRpb25Db2RlJik7CisgICAgZmxvYXQgZ2V0U3ViU3Ry
aW5nTGVuZ3RoKHVuc2lnbmVkIGxvbmcgY2hhcm51bSwgdW5zaWduZWQgbG9uZyBuY2hhcnMsIEV4
Y2VwdGlvbkNvZGUmKTsKKyAgICBTVkdQb2ludCBnZXRTdGFydFBvc2l0aW9uT2ZDaGFyKHVuc2ln
bmVkIGxvbmcgY2hhcm51bSwgRXhjZXB0aW9uQ29kZSYpOworICAgIFNWR1BvaW50IGdldEVuZFBv
c2l0aW9uT2ZDaGFyKHVuc2lnbmVkIGxvbmcgY2hhcm51bSwgRXhjZXB0aW9uQ29kZSYpOworICAg
IEZsb2F0UmVjdCBnZXRFeHRlbnRPZkNoYXIodW5zaWduZWQgbG9uZyBjaGFybnVtLCBFeGNlcHRp
b25Db2RlJik7CisgICAgZmxvYXQgZ2V0Um90YXRpb25PZkNoYXIodW5zaWduZWQgbG9uZyBjaGFy
bnVtLCBFeGNlcHRpb25Db2RlJik7CiAgICAgaW50IGdldENoYXJOdW1BdFBvc2l0aW9uKGNvbnN0
IFNWR1BvaW50Jik7Ci0gICAgdm9pZCBzZWxlY3RTdWJTdHJpbmcodW5zaWduZWQgY2hhcm51bSwg
dW5zaWduZWQgbmNoYXJzLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBzZWxlY3RTdWJTdHJp
bmcodW5zaWduZWQgbG9uZyBjaGFybnVtLCB1bnNpZ25lZCBsb25nIG5jaGFycywgRXhjZXB0aW9u
Q29kZSYpOwogCiAgICAgc3RhdGljIFNWR1RleHRDb250ZW50RWxlbWVudCogZWxlbWVudEZyb21S
ZW5kZXJlcihSZW5kZXJPYmplY3QqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENv
bnRlbnRFbGVtZW50LmlkbAppbmRleCA3MzY2NTZmYTJhNTVkODQ1OTI1MjIwOGQ0NmYzZjVkNGE4
Nzk1Y2Y0Li40NDc4MmI0OTI5ZjY3MTA0MzU1NGZiODcyZjEzMDBkM2MxZThjYjY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmlkbApAQCAtMzQsMTUgKzM0
LDE1IEBAIGludGVyZmFjZSBTVkdUZXh0Q29udGVudEVsZW1lbnQgOiBTVkdHcmFwaGljc0VsZW1l
bnQgewogCiAgICAgbG9uZyBnZXROdW1iZXJPZkNoYXJzKCk7CiAgICAgdW5yZXN0cmljdGVkIGZs
b2F0IGdldENvbXB1dGVkVGV4dExlbmd0aCgpOwotICAgIFtSYWlzZXNFeGNlcHRpb25dIHVucmVz
dHJpY3RlZCBmbG9hdCBnZXRTdWJTdHJpbmdMZW5ndGgoW0RlZmF1bHQ9VW5kZWZpbmVkLElzSW5k
ZXhdIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCAKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkLElzSW5kZXhdIG9wdGlvbmFsIHVuc2lnbmVkIGxv
bmcgbGVuZ3RoKTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSBTVkdQb2ludCBnZXRTdGFydFBvc2l0
aW9uT2ZDaGFyKFtEZWZhdWx0PVVuZGVmaW5lZCxJc0luZGV4XSBvcHRpb25hbCB1bnNpZ25lZCBs
b25nIG9mZnNldCk7Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gU1ZHUG9pbnQgZ2V0RW5kUG9zaXRp
b25PZkNoYXIoW0RlZmF1bHQ9VW5kZWZpbmVkLElzSW5kZXhdIG9wdGlvbmFsIHVuc2lnbmVkIGxv
bmcgb2Zmc2V0KTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSBTVkdSZWN0IGdldEV4dGVudE9mQ2hh
cihbRGVmYXVsdD1VbmRlZmluZWQsSXNJbmRleF0gb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZz
ZXQpOwotICAgIFtSYWlzZXNFeGNlcHRpb25dIHVucmVzdHJpY3RlZCBmbG9hdCBnZXRSb3RhdGlv
bk9mQ2hhcihbRGVmYXVsdD1VbmRlZmluZWQsSXNJbmRleF0gb3B0aW9uYWwgdW5zaWduZWQgbG9u
ZyBvZmZzZXQpOworICAgIFtSYWlzZXNFeGNlcHRpb25dIHVucmVzdHJpY3RlZCBmbG9hdCBnZXRT
dWJTdHJpbmdMZW5ndGgoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnNpZ25lZCBsb25n
IG9mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVk
XSBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGxlbmd0aCk7CisgICAgW1JhaXNlc0V4Y2VwdGlvbl0g
U1ZHUG9pbnQgZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlv
bmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSBTVkdQb2lu
dCBnZXRFbmRQb3NpdGlvbk9mQ2hhcihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIHVuc2ln
bmVkIGxvbmcgb2Zmc2V0KTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSBTVkdSZWN0IGdldEV4dGVu
dE9mQ2hhcihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0
KTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSB1bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0Um90YXRpb25P
ZkNoYXIoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCk7
CiAgICAgbG9uZyBnZXRDaGFyTnVtQXRQb3NpdGlvbihbRGVmYXVsdD1VbmRlZmluZWRdIG9wdGlv
bmFsIFNWR1BvaW50IHBvaW50KTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNlbGVjdFN1
YlN0cmluZyhbRGVmYXVsdD1VbmRlZmluZWQsSXNJbmRleF0gb3B0aW9uYWwgdW5zaWduZWQgbG9u
ZyBvZmZzZXQsIAotICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZCxJ
c0luZGV4XSBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGxlbmd0aCk7CisgICAgW1JhaXNlc0V4Y2Vw
dGlvbl0gdm9pZCBzZWxlY3RTdWJTdHJpbmcoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1
bnNpZ25lZCBsb25nIG9mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdD1V
bmRlZmluZWRdIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgbGVuZ3RoKTsKIH07CiAKIC8vIEZJWE1F
OiBTVkdUZXh0Q29udGVudEVsZW1lbnQgaXMgbm90IHN1cHBvc2VkIHRvIGltcGxlbWVudCBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdhYjdlNmYwZTE4ZDUxNTI1NWZlYWRk
MzUxNTk4ZTQ5OWVkMzU5Y2QuLjY1YTg4Mzk5YjllMDZjYTUwYmQzOWJlNjUxYzhlNDhmZTIwZWFm
MTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsNSArMSwyOSBAQAogMjAxNS0wOS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCisgICAgICAgIERyb3Agbm9uLXN0YW5kYXJkIFtJc0luZGV4XSBXZWJL
aXQgSURMIGV4dGVuZGVkIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MTIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMjU0NzEz
OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRv
bS9odG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJkZWxldGVkYXRh
Y291bnRuZWdhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZG9tL2h0bWwvbGV2ZWwxL2Nv
cmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycnJlcGxhY2VkYXRhY291bnRuZWdhdGl2ZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVy
ZGF0YWluZGV4c2l6ZWVycnN1YnN0cmluZ2NvdW50bmVnYXRpdmUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGRvbS94aHRtbC9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJy
ZGVsZXRlZGF0YWNvdW50bmVnYXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGRvbS94aHRt
bC9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJycmVwbGFjZWRhdGFjb3Vu
dG5lZ2F0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwxL2NvcmUv
aGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycnN1YnN0cmluZ2NvdW50bmVnYXRpdmUtZXhwZWN0
ZWQudHh0OgorICAgICAgICBSZWJhc2VsaW5lIG91dGRhdGVkIERPTSB0ZXN0cyB0aGF0IGFyZSBu
b3cgZmFpbGluZy4KKworICAgICAgICAqIHN2Zy9jdXN0b20vZ2V0U3ViU3RyaW5nTGVuZ3RoLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3NjcmlwdC10ZXN0cy9nZXRTdWJTdHJp
bmdMZW5ndGguanM6CisgICAgICAgICogc3ZnL2N1c3RvbS9zY3JpcHQtdGVzdHMvc2VsZWN0U3Vi
U3RyaW5nLmpzOgorICAgICAgICAqIHN2Zy9jdXN0b20vc2VsZWN0U3ViU3RyaW5nLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgVXBkYXRlIGV4aXN0aW5nIFNWRyB0ZXN0cyB0aGF0IHdlcmUgZXhwZWN0
aW5nIGFuIGV4Y2VwdGlvbiBpZiB0aGUgbmNoYXJzCisgICAgICAgIHBhcmFtZXRlciBpbiB0aGUg
U1ZHVGV4dENvbnRlbnRFbGVtZW50IEFQSSBpcyBuZWdhdGl2ZS4gSSBoYXZlIHZlcmlmaWVkCisg
ICAgICAgIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGRvIG5vdCB0aHJvdyBmb3IgdGhlc2UgZWl0
aGVyLgorCisyMDE1LTA5LTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAg
ICAgICAgVW5yZXZpZXdlZCwgcmViYXNlbGluZSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvZG9tL2ludGVyZmFjZXMuaHRtbCBvbiBpT1MuCiAKICAgICAgICAgKiBwbGF0Zm9y
bS9pb3Mtc2ltdWxhdG9yL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20v
aW50ZXJmYWNlcy1leHBlY3RlZC50eHQ6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCA2MjFmMzc5NjExYzQ2YmVkODYwZDcxZDAyNGM1MDllNTg5Y2VlYmMyLi4yYjRjN2E2NzcyNjFh
ZWI3YjYyYmVhZjZlNDk3ZDk4Y2Q3ODc2MTU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNS0wOS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgorCisgICAgICAgIERyb3Agbm9uLXN0YW5kYXJkIFtJc0luZGV4XSBXZWJLaXQgSURM
IGV4dGVuZGVkIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ5MTIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMjU0NzEzOT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWJhc2VsaW5l
IHNldmVyYWwgVzNDIERPTSB0ZXN0cyBub3cgdGhhdCBtb3JlIGNoZWNrcyBhcmUgcGFzc2luZy4K
KworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvQ2hhcmFjdGVyRGF0YS1k
ZWxldGVEYXRhLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L25vZGVzL0NoYXJhY3RlckRhdGEtcmVwbGFjZURhdGEtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvQ2hhcmFjdGVyRGF0YS1zdWJzdHJpbmdEYXRh
LWV4cGVjdGVkLnR4dDoKKwogMjAxNS0wOS0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIEltcHJvdmUgTm9kZSBwcmUtaW5zZXJ0aW9uIHZhbGlkYXRpb24gd2hl
biB0aGUgcGFyZW50IGlzIGEgRG9jdW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2RvbS9o
dG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJkZWxldGVkYXRhY291
bnRuZWdhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9kb20vaHRtbC9sZXZlbDEvY29y
ZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJyZGVsZXRlZGF0YWNvdW50bmVnYXRpdmUtZXhw
ZWN0ZWQudHh0CmluZGV4IDhhNzZmZGZhMmFlOTI3ZWM2YzdiZWI4ZThlODBjZDhkMDVjOTIxYmEu
LjVhOWY4M2Q4ODUyNzU3MTM4NjQwMTM2MjQ4YWFlZGNmNjY1YTUxMGQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVl
cnJkZWxldGVkYXRhY291bnRuZWdhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycmRlbGV0ZWRh
dGFjb3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDMgQEAKLVRlc3Q6CWh0dHA6
Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVy
ZGF0YWluZGV4c2l6ZWVycmRlbGV0ZWRhdGFjb3VudG5lZ2F0aXZlCi1TdGF0dXM6CVN1Y2Nlc3MK
K1Rlc3Q6CWh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwxL2NvcmUv
aGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycmRlbGV0ZWRhdGFjb3VudG5lZ2F0aXZlCQorU3Rh
dHVzOglmYWlsdXJlCitEZXRhaWw6CXRocm93c19JTkRFWF9TSVpFX0VSUjogYXNzZXJ0VHJ1ZSBm
YWlsZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX2No
YXJhY3RlcmRhdGFpbmRleHNpemVlcnJyZXBsYWNlZGF0YWNvdW50bmVnYXRpdmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVyZGF0YWlu
ZGV4c2l6ZWVycnJlcGxhY2VkYXRhY291bnRuZWdhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggZDg1
MzM0NDM1NmJlN2E1ZGEyNGU3OTcxNmQwZTg0ZTAxOGNjYjkzYi4uZmMzYWM4YTM5MDMxNWY1MmY3
OWIxYjA2Njc5MWNkNjI0NGEzNmFkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZG9tL2h0bWwv
bGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycnJlcGxhY2VkYXRhY291bnRu
ZWdhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZG9tL2h0bWwvbGV2ZWwxL2Nv
cmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycnJlcGxhY2VkYXRhY291bnRuZWdhdGl2ZS1l
eHBlY3RlZC50eHQKQEAgLTEsMiArMSwzIEBACi1UZXN0OglodHRwOi8vd3d3LnczLm9yZy8yMDAx
L0RPTS1UZXN0LVN1aXRlL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJy
ZXBsYWNlZGF0YWNvdW50bmVnYXRpdmUKLVN0YXR1czoJU3VjY2VzcworVGVzdDoJaHR0cDovL3d3
dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRh
aW5kZXhzaXplZXJycmVwbGFjZWRhdGFjb3VudG5lZ2F0aXZlCQorU3RhdHVzOglmYWlsdXJlCitE
ZXRhaWw6CXRocm93c19JTkRFWF9TSVpFX0VSUjogYXNzZXJ0VHJ1ZSBmYWlsZWQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRl
eHNpemVlcnJzdWJzdHJpbmdjb3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJzdWJzdHJp
bmdjb3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4dAppbmRleCA3MTY0MWRkNmU3YThmNWVhZDk3MzEz
YWMyMjc2YzQ1ZGY1YTc4NTZmLi4xMjk3NGFmZTIyYThhNDk3YWNjN2I5OTM0YzRjYjlmNjdkMmJi
NWVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9kb20vaHRtbC9sZXZlbDEvY29yZS9oY19jaGFy
YWN0ZXJkYXRhaW5kZXhzaXplZXJyc3Vic3RyaW5nY291bnRuZWdhdGl2ZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVyZGF0YWlu
ZGV4c2l6ZWVycnN1YnN0cmluZ2NvdW50bmVnYXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDIgKzEs
MyBAQAotVGVzdDoJaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZlbDEv
Y29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJyc3Vic3RyaW5nY291bnRuZWdhdGl2ZQot
U3RhdHVzOglTdWNjZXNzCitUZXN0OglodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RPTS1UZXN0LVN1
aXRlL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJzdWJzdHJpbmdjb3Vu
dG5lZ2F0aXZlCQorU3RhdHVzOglmYWlsdXJlCitEZXRhaWw6CXRocm93c19JTkRFWF9TSVpFX0VS
UjogYXNzZXJ0VHJ1ZSBmYWlsZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9s
ZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJyZGVsZXRlZGF0YWNvdW50bmVn
YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hj
X2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJkZWxldGVkYXRhY291bnRuZWdhdGl2ZS1leHBlY3Rl
ZC50eHQKaW5kZXggNzAwMzI1ODM0NTg0N2Q1ZDJmN2Q2ODI2NjQ5ZTI2YzEyNWI5MzJkNC4uYjNk
NzcxMGMwOTg5MjQ1MDU2ODdkOWY5MWNmMTNhNjU0NGRjNTlmOSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJk
ZWxldGVkYXRhY291bnRuZWdhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZG9t
L3hodG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJkZWxldGVkYXRh
Y291bnRuZWdhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTEsMiArMSwzIEBACiBUZXN0CWh0dHA6Ly93
d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVyZGF0
YWluZGV4c2l6ZWVycmRlbGV0ZWRhdGFjb3VudG5lZ2F0aXZlCi1TdGF0dXMJU3VjY2VzcworU3Rh
dHVzCWZhaWx1cmUKK01lc3NhZ2UJdGhyb3dzX0lOREVYX1NJWkVfRVJSOiBhc3NlcnRUcnVlIGZh
aWxlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hjX2No
YXJhY3RlcmRhdGFpbmRleHNpemVlcnJyZXBsYWNlZGF0YWNvdW50bmVnYXRpdmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFp
bmRleHNpemVlcnJyZXBsYWNlZGF0YWNvdW50bmVnYXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IGY5
OWViY2MyZGY4OWU2MDAwNzQwYTM0OTQzM2I3YzBlZmI1YTdjZWEuLmIwZWVmOWY5ZTIwYzA1OGQ3
MmQyZjMxMTJlNTY2Y2QzNTBhNjY0ZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2RvbS94aHRt
bC9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJycmVwbGFjZWRhdGFjb3Vu
dG5lZ2F0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwx
L2NvcmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycnJlcGxhY2VkYXRhY291bnRuZWdhdGl2
ZS1leHBlY3RlZC50eHQKQEAgLTEsMiArMSwzIEBACiBUZXN0CWh0dHA6Ly93d3cudzMub3JnLzIw
MDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVy
cnJlcGxhY2VkYXRhY291bnRuZWdhdGl2ZQotU3RhdHVzCVN1Y2Nlc3MKK1N0YXR1cwlmYWlsdXJl
CitNZXNzYWdlCXRocm93c19JTkRFWF9TSVpFX0VSUjogYXNzZXJ0VHJ1ZSBmYWlsZWQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRh
aW5kZXhzaXplZXJyc3Vic3RyaW5nY291bnRuZWdhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9kb20veGh0bWwvbGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycnN1
YnN0cmluZ2NvdW50bmVnYXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IGE5MjA1ZWQyNTJlYWFmYTY2
NjFkM2ZlODliNGQwZDgyYTExNTg1YWQuLjIzNmExYWY0MjhlZTBmYTM3YzkxMDIyZWI3NDAxYWE0
MWY0OTkyN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9o
Y19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJyc3Vic3RyaW5nY291bnRuZWdhdGl2ZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3Rl
cmRhdGFpbmRleHNpemVlcnJzdWJzdHJpbmdjb3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4dApAQCAt
MSwyICsxLDMgQEAKIFRlc3QJaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9s
ZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJyc3Vic3RyaW5nY291bnRuZWdh
dGl2ZQotU3RhdHVzCVN1Y2Nlc3MKK1N0YXR1cwlmYWlsdXJlCitNZXNzYWdlCXRocm93c19JTkRF
WF9TSVpFX0VSUjogYXNzZXJ0VHJ1ZSBmYWlsZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0NoYXJhY3RlckRhdGEtZGVs
ZXRlRGF0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ub2Rlcy9DaGFyYWN0ZXJEYXRhLWRlbGV0ZURhdGEtZXhwZWN0ZWQudHh0
CmluZGV4IDAxN2FlMzFjYjdjYmFlNjAzMjA2NjA0ZTY0YzQzODM0MjQ4NjUzMDEuLmU5NWMwNjdi
ZTY3YzBmZGU4ZTM1NzYwZGFlYmEwMjcwYmU4Njk0MGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0NoYXJhY3RlckRhdGEt
ZGVsZXRlRGF0YS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvQ2hhcmFjdGVyRGF0YS1kZWxldGVEYXRhLWV4cGVj
dGVkLnR4dApAQCAtNCw3ICs0LDcgQEAgUEFTUyBUZXh0LmRlbGV0ZURhdGEoKSBhdCB0aGUgc3Rh
cnQKIFBBU1MgVGV4dC5kZWxldGVEYXRhKCkgYXQgdGhlIGVuZCAKIFBBU1MgVGV4dC5kZWxldGVE
YXRhKCkgaW4gdGhlIG1pZGRsZSAKIFBBU1MgVGV4dC5kZWxldGVEYXRhKCkgd2l0aCB6ZXJvIGNv
dW50IAotRkFJTCBUZXh0LmRlbGV0ZURhdGEoKSB3aXRoIHNtYWxsIG5lZ2F0aXZlIGNvdW50IElu
ZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9uIDEKK1BBU1MgVGV4dC5kZWxldGVEYXRhKCkgd2l0
aCBzbWFsbCBuZWdhdGl2ZSBjb3VudCAKIFBBU1MgVGV4dC5kZWxldGVEYXRhKCkgd2l0aCBsYXJn
ZSBuZWdhdGl2ZSBjb3VudCAKIFBBU1MgVGV4dC5kZWxldGVEYXRhKCkgd2l0aCBub24tYXNjaWkg
ZGF0YSAKIFBBU1MgVGV4dC5kZWxldGVEYXRhKCkgd2l0aCBub24tQk1QIGRhdGEgCkBAIC0xMyw3
ICsxMyw3IEBAIFBBU1MgQ29tbWVudC5kZWxldGVEYXRhKCkgYXQgdGhlIHN0YXJ0CiBQQVNTIENv
bW1lbnQuZGVsZXRlRGF0YSgpIGF0IHRoZSBlbmQgCiBQQVNTIENvbW1lbnQuZGVsZXRlRGF0YSgp
IGluIHRoZSBtaWRkbGUgCiBQQVNTIENvbW1lbnQuZGVsZXRlRGF0YSgpIHdpdGggemVybyBjb3Vu
dCAKLUZBSUwgQ29tbWVudC5kZWxldGVEYXRhKCkgd2l0aCBzbWFsbCBuZWdhdGl2ZSBjb3VudCBJ
bmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitQQVNTIENvbW1lbnQuZGVsZXRlRGF0YSgp
IHdpdGggc21hbGwgbmVnYXRpdmUgY291bnQgCiBQQVNTIENvbW1lbnQuZGVsZXRlRGF0YSgpIHdp
dGggbGFyZ2UgbmVnYXRpdmUgY291bnQgCiBQQVNTIENvbW1lbnQuZGVsZXRlRGF0YSgpIHdpdGgg
bm9uLWFzY2lpIGRhdGEgCiBQQVNTIENvbW1lbnQuZGVsZXRlRGF0YSgpIHdpdGggbm9uLUJNUCBk
YXRhIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vbm9kZXMvQ2hhcmFjdGVyRGF0YS1yZXBsYWNlRGF0YS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9DaGFy
YWN0ZXJEYXRhLXJlcGxhY2VEYXRhLWV4cGVjdGVkLnR4dAppbmRleCAwYmJhMWJlYTc1MTk5Y2Q0
M2QwZjUxYmMyYWRkZTY1ZGQyMzY4OTQ3Li5mMTZhZTRkMTJmZWNmOWYxYjA4YTAyZjBjYjBkYjMy
YTVkM2E1MzRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ub2Rlcy9DaGFyYWN0ZXJEYXRhLXJlcGxhY2VEYXRhLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9u
b2Rlcy9DaGFyYWN0ZXJEYXRhLXJlcGxhY2VEYXRhLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDcg
QEAKIAogUEFTUyBUZXh0LnJlcGxhY2VEYXRhKCkgd2l0aCBpbnZhbGlkIG9mZnNldCAKIFBBU1Mg
VGV4dC5yZXBsYWNlRGF0YSgpIHdpdGggY2xhbXBlZCBjb3VudCAKLUZBSUwgVGV4dC5yZXBsYWNl
RGF0YSgpIHdpdGggbmVnYXRpdmUgY2xhbXBlZCBjb3VudCBJbmRleFNpemVFcnJvcjogRE9NIEV4
Y2VwdGlvbiAxCitQQVNTIFRleHQucmVwbGFjZURhdGEoKSB3aXRoIG5lZ2F0aXZlIGNsYW1wZWQg
Y291bnQgCiBQQVNTIFRleHQucmVwbGFjZURhdGEoKSBiZWZvcmUgdGhlIHN0YXJ0IAogUEFTUyBU
ZXh0LnJlcGxhY2VEYXRhKCkgYXQgdGhlIHN0YXJ0IChzaG9ydGVyKSAKIFBBU1MgVGV4dC5yZXBs
YWNlRGF0YSgpIGF0IHRoZSBzdGFydCAoZXF1YWwgbGVuZ3RoKSAKQEAgLTE4LDcgKzE4LDcgQEAg
UEFTUyBUZXh0LnJlcGxhY2VEYXRhKCkgd2l0aCBub24tQVNDSUkgZGF0YQogUEFTUyBUZXh0LnJl
cGxhY2VEYXRhKCkgd2l0aCBub24tQk1QIGRhdGEgCiBQQVNTIENvbW1lbnQucmVwbGFjZURhdGEo
KSB3aXRoIGludmFsaWQgb2Zmc2V0IAogUEFTUyBDb21tZW50LnJlcGxhY2VEYXRhKCkgd2l0aCBj
bGFtcGVkIGNvdW50IAotRkFJTCBDb21tZW50LnJlcGxhY2VEYXRhKCkgd2l0aCBuZWdhdGl2ZSBj
bGFtcGVkIGNvdW50IEluZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9uIDEKK1BBU1MgQ29tbWVu
dC5yZXBsYWNlRGF0YSgpIHdpdGggbmVnYXRpdmUgY2xhbXBlZCBjb3VudCAKIFBBU1MgQ29tbWVu
dC5yZXBsYWNlRGF0YSgpIGJlZm9yZSB0aGUgc3RhcnQgCiBQQVNTIENvbW1lbnQucmVwbGFjZURh
dGEoKSBhdCB0aGUgc3RhcnQgKHNob3J0ZXIpIAogUEFTUyBDb21tZW50LnJlcGxhY2VEYXRhKCkg
YXQgdGhlIHN0YXJ0IChlcXVhbCBsZW5ndGgpIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvQ2hhcmFjdGVyRGF0YS1zdWJz
dHJpbmdEYXRhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL25vZGVzL0NoYXJhY3RlckRhdGEtc3Vic3RyaW5nRGF0YS1leHBlY3Rl
ZC50eHQKaW5kZXggZTVhYTY5NGRhZmYyNzhlNDE2OTA2MmY3MmZkNTA5MzgxYWU5NTYwMy4uMTE3
NzFlNzRlNTE2NzAyMmU2NWQ1Y2QzMjFiYWVlMTYwZDA0NjQ3MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvQ2hhcmFjdGVy
RGF0YS1zdWJzdHJpbmdEYXRhLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9DaGFyYWN0ZXJEYXRhLXN1YnN0cmlu
Z0RhdGEtZXhwZWN0ZWQudHh0CkBAIC0xMCw3ICsxMCw3IEBAIFBBU1MgVGV4dC5zdWJzdHJpbmdE
YXRhKCkgd2l0aCBzdHJpbmcgb2Zmc2V0CiBQQVNTIFRleHQuc3Vic3RyaW5nRGF0YSgpIHdpdGgg
aW4tYm91bmRzIGNvdW50IAogUEFTUyBUZXh0LnN1YnN0cmluZ0RhdGEoKSB3aXRoIGxhcmdlIGNv
dW50IAogUEFTUyBUZXh0LnN1YnN0cmluZ0RhdGEoKSB3aXRoIHZlcnkgbGFyZ2UgY291bnQgCi1G
QUlMIFRleHQuc3Vic3RyaW5nRGF0YSgpIHdpdGggbmVnYXRpdmUgY291bnQgSW5kZXhTaXplRXJy
b3I6IERPTSBFeGNlcHRpb24gMQorUEFTUyBUZXh0LnN1YnN0cmluZ0RhdGEoKSB3aXRoIG5lZ2F0
aXZlIGNvdW50IAogUEFTUyBUZXh0LnN1YnN0cmluZ0RhdGEoKSB3aXRoIG5vbi1BU0NJSSBkYXRh
IAogUEFTUyBUZXh0LnN1YnN0cmluZ0RhdGEoKSB3aXRoIG5vbi1CTVAgZGF0YSAKIFBBU1MgQ29t
bWVudC5zdWJzdHJpbmdEYXRhKCkgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyAKQEAgLTI0LDcgKzI0
LDcgQEAgUEFTUyBDb21tZW50LnN1YnN0cmluZ0RhdGEoKSB3aXRoIHN0cmluZyBvZmZzZXQKIFBB
U1MgQ29tbWVudC5zdWJzdHJpbmdEYXRhKCkgd2l0aCBpbi1ib3VuZHMgY291bnQgCiBQQVNTIENv
bW1lbnQuc3Vic3RyaW5nRGF0YSgpIHdpdGggbGFyZ2UgY291bnQgCiBQQVNTIENvbW1lbnQuc3Vi
c3RyaW5nRGF0YSgpIHdpdGggdmVyeSBsYXJnZSBjb3VudCAKLUZBSUwgQ29tbWVudC5zdWJzdHJp
bmdEYXRhKCkgd2l0aCBuZWdhdGl2ZSBjb3VudCBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlv
biAxCitQQVNTIENvbW1lbnQuc3Vic3RyaW5nRGF0YSgpIHdpdGggbmVnYXRpdmUgY291bnQgCiBQ
QVNTIENvbW1lbnQuc3Vic3RyaW5nRGF0YSgpIHdpdGggbm9uLUFTQ0lJIGRhdGEgCiBQQVNTIENv
bW1lbnQuc3Vic3RyaW5nRGF0YSgpIHdpdGggbm9uLUJNUCBkYXRhIAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dldFN1YlN0cmluZ0xlbmd0aC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dldFN1YlN0cmluZ0xlbmd0aC1leHBlY3RlZC50eHQKaW5k
ZXggODIxYTY0NGMwMWY1ZTEzNmRjN2M0YjliOWYwMWYyZWY4ZjUyMDVjYy4uNGYwNTllN2RmODQ2
YzhkZTBmNTcxNGMxOWIwODRmZjFlZGQ4NjkzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9nZXRTdWJTdHJpbmdMZW5ndGgtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vZ2V0U3ViU3RyaW5nTGVuZ3RoLWV4cGVjdGVkLnR4dApAQCAtOSw4ICs5LDgg
QEAgUEFTUyBzdmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgwLCAxKSBpcyAyMAogUEFTUyBzdmdU
ZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgxLCAxKSBpcyAyMAogUEFTUyBzdmdUZXh0LmdldFN1YlN0
cmluZ0xlbmd0aCgyLCAxKSBpcyAyMAogUEFTUyBzdmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgw
LCAzKSBpcyA2MAotUEFTUyBzdmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgxLCAtMSkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxLgotUEFTUyBz
dmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgyLCAtMSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJ
bmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxLgorUEFTUyBzdmdUZXh0LmdldFN1YlN0cmlu
Z0xlbmd0aCgxLCAtMSkgaXMgNDAKK1BBU1Mgc3ZnVGV4dC5nZXRTdWJTdHJpbmdMZW5ndGgoMiwg
LTEpIGlzIDIwCiBQQVNTIHN2Z1RleHQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDMsIC0xKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IEluZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9uIDEuCiBQQVNTIHN2
Z1RleHQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDMsIC0zKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElu
ZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9uIDEuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3NjcmlwdC10ZXN0cy9n
ZXRTdWJTdHJpbmdMZW5ndGguanMgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3NjcmlwdC10ZXN0
cy9nZXRTdWJTdHJpbmdMZW5ndGguanMKaW5kZXggZDBmYmI1NzM2OGQ5ZDdhZTE2NDY1MDIwOGNl
OTI1YjgwNDc4NDc0MS4uZGI1MTJjYjE3MjdiMDk1NzE4ZjQ2ZjlhMDcxYzNjYWIyMTY2OGM2MSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zY3JpcHQtdGVzdHMvZ2V0U3ViU3Ry
aW5nTGVuZ3RoLmpzCisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc2NyaXB0LXRlc3RzL2dl
dFN1YlN0cmluZ0xlbmd0aC5qcwpAQCAtMjMsOCArMjMsOSBAQCBzaG91bGRCZSgic3ZnVGV4dC5n
ZXRTdWJTdHJpbmdMZW5ndGgoMSwgMSkiLCAiMjAiKTsKIHNob3VsZEJlKCJzdmdUZXh0LmdldFN1
YlN0cmluZ0xlbmd0aCgyLCAxKSIsICIyMCIpOwogc2hvdWxkQmUoInN2Z1RleHQuZ2V0U3ViU3Ry
aW5nTGVuZ3RoKDAsIDMpIiwgIjYwIik7CiAKLXNob3VsZFRocm93KCJzdmdUZXh0LmdldFN1YlN0
cmluZ0xlbmd0aCgxLCAtMSkiKTsKLXNob3VsZFRocm93KCJzdmdUZXh0LmdldFN1YlN0cmluZ0xl
bmd0aCgyLCAtMSkiKTsKK3Nob3VsZEJlKCJzdmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgxLCAt
MSkiLCAiNDAiKTsKK3Nob3VsZEJlKCJzdmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgyLCAtMSki
LCAiMjAiKTsKKwogc2hvdWxkVGhyb3coInN2Z1RleHQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDMsIC0x
KSIpOwogc2hvdWxkVGhyb3coInN2Z1RleHQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDMsIC0zKSIpOwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3NjcmlwdC10ZXN0cy9zZWxlY3RT
dWJTdHJpbmcuanMgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3NjcmlwdC10ZXN0cy9zZWxlY3RT
dWJTdHJpbmcuanMKaW5kZXggM2E1Mzk5MmVmMDA4ZDZjYWIzOWJhNjdjM2IxNzNkMWM0ZWIzZjI1
OC4uYjZmNWQzM2E2MjMyN2UzMTVhYzVhMDcyYzNiMTVjNTUwNWM5MmUxNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zY3JpcHQtdGVzdHMvc2VsZWN0U3ViU3RyaW5nLmpzCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc2NyaXB0LXRlc3RzL3NlbGVjdFN1YlN0cmluZy5q
cwpAQCAtMTAsNyArMTAsNyBAQCBzdmdUZXh0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKCJhYmMiKSk7CiBzdmdSb290LmFwcGVuZENoaWxkKHN2Z1RleHQpOwogCiBzaG91bGRU
aHJvdygic3ZnVGV4dC5zZWxlY3RTdWJTdHJpbmcoLTEsIDApIik7Ci1zaG91bGRUaHJvdygic3Zn
VGV4dC5nZXRTdWJTdHJpbmdMZW5ndGgoMCwgLTEpIik7CitzaG91bGRCZSgic3ZnVGV4dC5nZXRT
dWJTdHJpbmdMZW5ndGgoMCwgLTEpIiwgIjYwIik7CiBzaG91bGRUaHJvdygic3ZnVGV4dC5nZXRT
dWJTdHJpbmdMZW5ndGgoMywgMCkiKTsKIAogLy8gY2xlYW51cApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9zZWxlY3RTdWJTdHJpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9zZWxlY3RTdWJTdHJpbmctZXhwZWN0ZWQudHh0CmluZGV4IGZjMTdlODEz
ZTVmZWI5ZDc4ZjdiOTQ4Y2ZhOWRkODQyNmEwNmVjZjQuLmYyOTkwOTA0YTYzZmY4NzQzNWRlNzc3
MDFmMmM1MzE1YWY4ZDUxOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc2Vs
ZWN0U3ViU3RyaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Nl
bGVjdFN1YlN0cmluZy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiBQQVNTIHN2Z1RleHQu
c2VsZWN0U3ViU3RyaW5nKC0xLCAwKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEluZGV4U2l6ZUVy
cm9yOiBET00gRXhjZXB0aW9uIDEuCi1QQVNTIHN2Z1RleHQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDAs
IC0xKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEluZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9u
IDEuCitQQVNTIHN2Z1RleHQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDAsIC0xKSBpcyA2MAogUEFTUyBz
dmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgzLCAwKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElu
ZGV4U2l6ZUVycm9yOiBET00gRXhjZXB0aW9uIDEuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261121</attachid>
            <date>2015-09-14 12:49:34 -0700</date>
            <delta_ts>2015-09-14 19:01:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149122-20150914124930.patch</filename>
            <type>text/plain</type>
            <size>28900</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5NzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNjZmFhYjA0ODE4MDg1
MjZmYzA3ODE0NWRiMTE0MDY2YWI1Nzc1MC4uZjhiZGI3ZDRiZDEwNGI0OTk0ZDIwNjAzNGZhMWM1
ODM1MzUxOTAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE1LTA5LTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBub24tc3RhbmRhcmQg
W0lzSW5kZXhdIFdlYktpdCBJREwgZXh0ZW5kZWQgYXR0cmlidXRlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkxMjIKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzIyNTQ3MTM5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIERyb3Agbm9uLXN0YW5kYXJkIFtJc0luZGV4XSBXZWJLaXQgSURMIGV4dGVuZGVk
IGF0dHJpYnV0ZS4gVGhpcyBhdHRyaWJ1dGUKKyAgICAgICAgY2F1c2VzIHVzIHRvIHRocm93IGFu
IEluZGV4U2l6ZUVycm9yIGlmIHRoZSBpbnB1dCB2YWx1ZSBpcyBuZWdhdGl2ZS4gV2ViCisgICAg
ICAgIElETCBzdXBwb3J0cyBubyBzdWNoIHRoaW5nLiBJbnN0ZWFkIFdlYiBJREwgc3VwcG9ydHM6
CisgICAgICAgIDEuIERlZmF1bHQgYmVoYXZpb3I6IHRoZSBpbnB1dCB2YWx1ZSB3cmFwcyBhcm91
bmQgaWYgaXQgZG9lcyBub3QgZml0LgorICAgICAgICAyLiBbRW5mb3JjZVJhbmdlXTogQSBUeXBl
RXJyb3IgaXMgdGhyb3duIGlmIHRoZSBpbnB1dCB2YWx1ZSBkb2VzIG5vdCBmaXQgWzFdLgorICAg
ICAgICAzLiBbQ2xhbXBdOiBUaGUgaW5wdXQgdmFsdWUgd2lsbCBiZSBjbGFtcGVkIGlmIGl0IGRv
ZXMgbm90IGZpdCBbMl0uCisKKyAgICAgICAgT3VyIGJpbmRpbmdzIGdlbmVyYXRvciBzdXBwb3J0
cyBhbGwgdGhyZWUuIFdlIGRvbid0IG5lZWQgdGhlIG5vbi1zdGFuZGFyZAorICAgICAgICBbSXNJ
bmRleF0uCisKKyAgICAgICAgV2UgcHJldmlvdXNseSB1c2VkIFtJc0luZGV4XSBpbiBwbGFjZXMg
d2hlcmUgd2UncmUgc3VwcG9zZWQgdG8gd3JhcCBhcm91bmQKKyAgICAgICAgYXMgcGVyIFdlYiBJ
REwuIFRoZXJlZm9yZSwgd2UgdGhyZXcgZm9yIG5lZ2F0aXZlIHZhbHVlcyBidXQgb3RoZXIgYnJv
d3NlcnMKKyAgICAgICAgZG9uJ3QuIEZvciBlLmcuLCBDaGFyYWN0ZXJEYXRhLnN1YnN0cmluZ0Rh
dGEob2Zmc2V0LCAtMSkgaXMgc3VwcG9zZWQgdG8KKyAgICAgICAgcmV0dXJuIHRoZSBzdWJzdHJp
bmcgZnJvbSBvZmZzZXQgdG8gdGhlIGVuZCBvZiB0aGUgc3RyaW5nLiBJdCBkb2VzIHNvIGluCisg
ICAgICAgIEZpcmVmb3ggYW5kIENocm9tZS4gSG93ZXZlciwgV2ViS2l0IHdhcyB0aHJvd2luZyBh
biBFeGNlcHRpb24uCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaW1wYWN0cyB0aGUgQ2hhcmFjdGVy
RGF0YSBhbmQgdGhlIFNWR1RleHRDb250ZW50RWxlbWVudAorICAgICAgICBBUEkuIFRoZSBjb21w
YXRpYmlsaXR5IHJpc2sgaXMgbG93IGJlY2F1c2Ugd2Ugd2VyZSB0aHJvd2luZyBhbiBleGNlcHRp
b24KKyAgICAgICAgZm9yIG5lZ2F0aXZlIHZhbHVlcyBhbmQgd2Uga25vdyB0aGUgdmFsdWUgYXJv
dW5kIGluc3RlYWQsIGFzIG90aGVyCisgICAgICAgIGJyb3dzZXJzIGRvLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cywgYWxyZWFkeSBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAg
IFsxXSBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNFbmZvcmNlUmFuZ2UKKyAgICAg
ICAgWzJdIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI0NsYW1wCisKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRl
UGFyYW1ldGVyc0NoZWNrKTogRGVsZXRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0lE
TEF0dHJpYnV0ZXMudHh0OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RFdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RFdmVudFRhcmdldFBy
b3RvdHlwZUZ1bmN0aW9uSXRlbSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3RFdmVudFRhcmdldC5pZGw6CisgICAgICAgICogZG9tL0NoYXJhY3RlckRhdGEuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hhcmFjdGVyRGF0YTo6ZGVsZXRlRGF0YSk6CisgICAgICAgIChXZWJD
b3JlOjpDaGFyYWN0ZXJEYXRhOjpyZXBsYWNlRGF0YSk6CisgICAgICAgICogZG9tL0NoYXJhY3Rl
ckRhdGEuaWRsOgorICAgICAgICAqIGRvbS9DbGllbnRSZWN0TGlzdC5pZGw6CisgICAgICAgICog
c3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0
Q29udGVudEVsZW1lbnQ6OmdldFN1YlN0cmluZ0xlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdUZXh0Q29udGVudEVsZW1lbnQ6OnNlbGVjdFN1YlN0cmluZyk6CisgICAgICAgICogc3ZnL1NW
R1RleHRDb250ZW50RWxlbWVudC5pZGw6CisKIDIwMTUtMDktMTQgIEd5dXlvdW5nIEtpbSAgPGd5
dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtFRkxdIFJlbW92ZSBjcmVhdGUoKSBm
YWN0b3J5IGZ1bmN0aW9uIGluIEV2YXNHTENvbnRleHQgYW5kIEV2YXNHTFN1cmZhY2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5k
ZXggMWI5NTE1ODFiOTgwZTJmMTFjNzEzNjc2Njg4ZTZjMWQyN2YwM2RmMi4uOGQ3YjFlNTM4MGU2
ZDFlMmJmMjQ2MTk2NDRiNGNmNDc2ZTJlYzRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTMzOTcsMTYgKzMzOTcsNiBA
QCBzdWIgR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2sKICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0
cHV0QXJyYXksICIgICAgIiAuIEdldE5hdGl2ZVR5cGVGcm9tU2lnbmF0dXJlKCRwYXJhbWV0ZXIp
IC4gIiAkbmFtZSA9ICRvdXRlciIgLiBKU1ZhbHVlVG9OYXRpdmUoJHBhcmFtZXRlciwgJGlubmVy
LCAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbmRpdGlvbmFs
In0pIC4gIjtcbiIpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAjIElmIGEgcGFyYW1l
dGVyIGlzICJhbiBpbmRleCIgYW5kIGl0J3MgbmVnYXRpdmUgaXQgc2hvdWxkIHRocm93IGFuIElO
REVYX1NJWkVfRVJSIGV4Y2VwdGlvbi4KLSAgICAgICAgICAgICMgQnV0IHRoaXMgbmVlZHMgdG8g
YmUgZG9uZSBpbiB0aGUgYmluZGluZ3MsIGJlY2F1c2UgdGhlIHR5cGUgaXMgdW5zaWduZWQgYW5k
IHRoZSBmYWN0IHRoYXQgaXQKLSAgICAgICAgICAgICMgd2FzIG5lZ2F0aXZlIHdpbGwgYmUgbG9z
dCBieSB0aGUgdGltZSB3ZSdyZSBpbnNpZGUgdGhlIERPTS4KLSAgICAgICAgICAgIGlmICgkcGFy
YW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSXNJbmRleCJ9KSB7Ci0gICAgICAgICAgICAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmICgkbmFtZSA8IDApIHtcbiIpOwotICAgICAg
ICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4
ZWMsIElOREVYX1NJWkVfRVJSKTtcbiIpOwotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRB
cnJheSwgIiAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTtcbiIp
OwotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICB9XG4iKTsKLSAgICAg
ICAgICAgIH0KLQogICAgICAgICAgICAgIyBDaGVjayBpZiB0aGUgdHlwZSBjb252ZXJzaW9uIHN1
Y2NlZWRlZC4KICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoVU5MSUtF
TFkoZXhlYy0+aGFkRXhjZXB0aW9uKCkpKVxuIik7CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7XG4i
KTsKQEAgLTM4MTEsMTEgKzM4MDEsNiBAQCBzdWIgR2V0TmF0aXZlVHlwZUZyb21TaWduYXR1cmUK
ICAgICBteSAkc2lnbmF0dXJlID0gc2hpZnQ7CiAgICAgbXkgJHR5cGUgPSAkc2lnbmF0dXJlLT50
eXBlOwogCi0gICAgaWYgKCR0eXBlIGVxICJ1bnNpZ25lZCBsb25nIiBhbmQgJHNpZ25hdHVyZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IklzSW5kZXgifSkgewotICAgICAgICAjIFNwZWNpYWwtY2Fz
ZSBpbmRleCBhcmd1bWVudHMgYmVjYXVzZSB3ZSBuZWVkIHRvIGNoZWNrIHRoYXQgdGhleSBhcmVu
J3QgPCAwLgotICAgICAgICByZXR1cm4gImludCI7Ci0gICAgfQotCiAgICAgcmV0dXJuIEdldE5h
dGl2ZVR5cGUoJHR5cGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9JRExBdHRyaWJ1dGVzLnR4dAppbmRleCBlODEyZGEzMDNkMjJmZTE1YmE5ZTNiNjYwMjk1
N2E5NDk1ZmVlYmM4Li5iNzFjYmQ3MGY1NDM5NjIyN2E2NzNjN2Y4NWMxODYxZGE5NGRhMWZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50
eHQKQEAgLTcyLDcgKzcyLDYgQEAgSW1wbGVtZW50YXRpb25OYW1lc3BhY2U9KgogSW1wbGVtZW50
ZWRBcz0qCiBJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3RvcgogSW50ZXJmYWNlTmFtZT0qCi1J
c0luZGV4CiBJc1dlYWtDYWxsYmFjawogSlNDdXN0b21EZWZpbmVPd25Qcm9wZXJ0eQogSlNDdXN0
b21EZWZpbmVPd25Qcm9wZXJ0eU9uUHJvdG90eXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50VGFyZ2V0LmNwcApp
bmRleCA2NGM3NDgyZmU0NjhkMmFiYzY3YWU3YTNmZjgyMTZjNTRjMTdhNGI2Li4wYzg4NTdkYjJm
NzlkODk2MWJjMDZhMzAxOGFjYTIzYWMwMzY2ODgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRUYXJnZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudFRhcmdldC5j
cHAKQEAgLTI1MSwxMSArMjUxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rl
c3RFdmVudFRhcmdldFByb3RvdHlwZUZ1bmN0aW9uSXRlbShFeGVjU3RhdGUqIGUKICAgICBhdXRv
JiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwogICAgIGlmIChVTkxJS0VMWShleGVjLT5hcmd1
bWVudENvdW50KCkgPCAxKSkKICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVh
dGVOb3RFbm91Z2hBcmd1bWVudHNFcnJvcihleGVjKSk7Ci0gICAgaW50IGluZGV4ID0gdG9VSW50
MzIoZXhlYywgZXhlYy0+YXJndW1lbnQoMCksIE5vcm1hbENvbnZlcnNpb24pOwotICAgIGlmIChp
bmRleCA8IDApIHsKLSAgICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIElOREVYX1NJWkVfRVJS
KTsKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLSAgICB9
CisgICAgdW5zaWduZWQgaW5kZXggPSB0b1VJbnQzMihleGVjLCBleGVjLT5hcmd1bWVudCgwKSwg
Tm9ybWFsQ29udmVyc2lvbik7CiAgICAgaWYgKFVOTElLRUxZKGV4ZWMtPmhhZEV4Y2VwdGlvbigp
KSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICBK
U1ZhbHVlIHJlc3VsdCA9IHRvSlMoZXhlYywgY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdU
Rjo6Z2V0UHRyKGltcGwuaXRlbShpbmRleCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0RXZlbnRUYXJnZXQuaWRsIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFdmVudFRhcmdldC5pZGwKaW5kZXggNzBmMWI1
MzcwMjVhN2EwNTZhZTU2ZTQyYzMzMTk0MTg3NTMxYjcwMy4uOWQwNTQ4MDBmNzU3YTdkNjMwNTU3
ODI5NjliMmVjZGI5ODNlNWU0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Rlc3RFdmVudFRhcmdldC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RFdmVudFRhcmdldC5pZGwKQEAgLTMxLDcgKzMxLDcgQEAK
ICAgICBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkCiBdIGludGVyZmFjZSBUZXN0RXZlbnRUYXJnZXQg
ewogCi0gICAgZ2V0dGVyIE5vZGUgaXRlbShbSXNJbmRleF0gdW5zaWduZWQgbG9uZyBpbmRleCk7
CisgICAgZ2V0dGVyIE5vZGUgaXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBnZXR0ZXIg
Tm9kZSAoRE9NU3RyaW5nIG5hbWUpOwogCiAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKERPTVN0
cmluZyB0eXBlLCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRh
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcAppbmRleCA5ZDA5Zjk5
YzJiOGI1NGEwZTJhMDFlOWI4ZmUyNmY3OGZhZDYxYmUxLi4yNmM3ZWQxYmY0ZjcyNDI1MDljNTVl
MjRlMTU5MWUyODJlYTAxY2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFj
dGVyRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwCkBA
IC0xMzcsMTggKzEzNywxNCBAQCB2b2lkIENoYXJhY3RlckRhdGE6OmRlbGV0ZURhdGEodW5zaWdu
ZWQgb2Zmc2V0LCB1bnNpZ25lZCBjb3VudCwgRXhjZXB0aW9uQ29kZSYgZQogICAgIGlmIChlYykK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgdW5zaWduZWQgcmVhbENvdW50OwotICAgIGlmIChvZmZz
ZXQgKyBjb3VudCA+IGxlbmd0aCgpKQotICAgICAgICByZWFsQ291bnQgPSBsZW5ndGgoKSAtIG9m
ZnNldDsKLSAgICBlbHNlCi0gICAgICAgIHJlYWxDb3VudCA9IGNvdW50OworICAgIGNvdW50ID0g
c3RkOjptaW4oY291bnQsIGxlbmd0aCgpIC0gb2Zmc2V0KTsKIAogICAgIFN0cmluZyBuZXdTdHIg
PSBtX2RhdGE7Ci0gICAgbmV3U3RyLnJlbW92ZShvZmZzZXQsIHJlYWxDb3VudCk7CisgICAgbmV3
U3RyLnJlbW92ZShvZmZzZXQsIGNvdW50KTsKIAogICAgIHNldERhdGFBbmRVcGRhdGUobmV3U3Ry
LCBvZmZzZXQsIGNvdW50LCAwKTsKIAotICAgIGRvY3VtZW50KCkudGV4dFJlbW92ZWQodGhpcywg
b2Zmc2V0LCByZWFsQ291bnQpOworICAgIGRvY3VtZW50KCkudGV4dFJlbW92ZWQodGhpcywgb2Zm
c2V0LCBjb3VudCk7CiB9CiAKIHZvaWQgQ2hhcmFjdGVyRGF0YTo6cmVwbGFjZURhdGEodW5zaWdu
ZWQgb2Zmc2V0LCB1bnNpZ25lZCBjb3VudCwgY29uc3QgU3RyaW5nJiBkYXRhLCBFeGNlcHRpb25D
b2RlJiBlYykKQEAgLTE1NywyMCArMTUzLDE2IEBAIHZvaWQgQ2hhcmFjdGVyRGF0YTo6cmVwbGFj
ZURhdGEodW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBjb3VudCwgY29uc3QgU3RyaW5nJiBkCiAg
ICAgaWYgKGVjKQogICAgICAgICByZXR1cm47CiAKLSAgICB1bnNpZ25lZCByZWFsQ291bnQ7Ci0g
ICAgaWYgKG9mZnNldCArIGNvdW50ID4gbGVuZ3RoKCkpCi0gICAgICAgIHJlYWxDb3VudCA9IGxl
bmd0aCgpIC0gb2Zmc2V0OwotICAgIGVsc2UKLSAgICAgICAgcmVhbENvdW50ID0gY291bnQ7Cisg
ICAgY291bnQgPSBzdGQ6Om1pbihjb3VudCwgbGVuZ3RoKCkgLSBvZmZzZXQpOwogCiAgICAgU3Ry
aW5nIG5ld1N0ciA9IG1fZGF0YTsKLSAgICBuZXdTdHIucmVtb3ZlKG9mZnNldCwgcmVhbENvdW50
KTsKKyAgICBuZXdTdHIucmVtb3ZlKG9mZnNldCwgY291bnQpOwogICAgIG5ld1N0ci5pbnNlcnQo
ZGF0YSwgb2Zmc2V0KTsKIAogICAgIHNldERhdGFBbmRVcGRhdGUobmV3U3RyLCBvZmZzZXQsIGNv
dW50LCBkYXRhLmxlbmd0aCgpKTsKIAogICAgIC8vIHVwZGF0ZSB0aGUgbWFya2VycyBmb3Igc3Bl
bGwgY2hlY2tpbmcgYW5kIGdyYW1tYXIgY2hlY2tpbmcKLSAgICBkb2N1bWVudCgpLnRleHRSZW1v
dmVkKHRoaXMsIG9mZnNldCwgcmVhbENvdW50KTsKKyAgICBkb2N1bWVudCgpLnRleHRSZW1vdmVk
KHRoaXMsIG9mZnNldCwgY291bnQpOwogICAgIGRvY3VtZW50KCkudGV4dEluc2VydGVkKHRoaXMs
IG9mZnNldCwgZGF0YS5sZW5ndGgoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9DaGFyYWN0ZXJEYXRhLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRh
LmlkbAppbmRleCBmYmYyZmQ4YzQwYjRlZjE4YzI5NzhkNGJmNGI5MWQwOTFiMThlODhlLi45OWFi
N2QxOGYyNzI0ODQwYjgxYjc5MGZhYWNlMTRkYmY1NDMwNjc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0No
YXJhY3RlckRhdGEuaWRsCkBAIC0yMywxNSArMjMsMTUgQEAgaW50ZXJmYWNlIENoYXJhY3RlckRh
dGEgOiBOb2RlIHsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0
aDsKICAgICAKLSAgICBbVHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsLCBPYmpDTGVnYWN5
VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHN1YnN0cmluZ0Rh
dGEoW0lzSW5kZXhdIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBbSXNJbmRleF0gdW5zaWduZWQgbG9u
ZyBsZW5ndGgpOworICAgIFtUcmVhdFJldHVybmVkTnVsbFN0cmluZ0FzPU51bGwsIE9iakNMZWdh
Y3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uXSBET01TdHJpbmcgc3Vic3RyaW5n
RGF0YSh1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBsZW5ndGgpOwogCiAgICAg
dm9pZCBhcHBlbmREYXRhKERPTVN0cmluZyBkYXRhKTsKIAotICAgIFtPYmpDTGVnYWN5VW5uYW1l
ZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCBpbnNlcnREYXRhKFtJc0luZGV4XSB1
bnNpZ25lZCBsb25nIG9mZnNldCwgRE9NU3RyaW5nIGRhdGEpOworICAgIFtPYmpDTGVnYWN5VW5u
YW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCBpbnNlcnREYXRhKHVuc2lnbmVk
IGxvbmcgb2Zmc2V0LCBET01TdHJpbmcgZGF0YSk7CiAKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQ
YXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgZGVsZXRlRGF0YShbSXNJbmRleF0gdW5z
aWduZWQgbG9uZyBvZmZzZXQsIFtJc0luZGV4XSB1bnNpZ25lZCBsb25nIGxlbmd0aCk7CisgICAg
W09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGRlbGV0
ZURhdGEodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgbGVuZ3RoKTsKIAotICAg
IFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCByZXBs
YWNlRGF0YShbSXNJbmRleF0gdW5zaWduZWQgbG9uZyBvZmZzZXQsIFtJc0luZGV4XSB1bnNpZ25l
ZCBsb25nIGxlbmd0aCwgRE9NU3RyaW5nIGRhdGEpOworICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBh
cmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCByZXBsYWNlRGF0YSh1bnNpZ25lZCBsb25n
IG9mZnNldCwgdW5zaWduZWQgbG9uZyBsZW5ndGgsIERPTVN0cmluZyBkYXRhKTsKIH07CiAKIENo
YXJhY3RlckRhdGEgaW1wbGVtZW50cyBDaGlsZE5vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vQ2xpZW50UmVjdExpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0NsaWVudFJl
Y3RMaXN0LmlkbAppbmRleCBkYmUwODM0ZjFmMzRlZTAzMTkxOTRkY2YwNTQzMTc1NmM4NWY0OWM5
Li45YjY0YzdlZmEyZDdjOWQ5N2M3NDFlZDFmYmEyZGMyN2NkNjllYTliIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vQ2xpZW50UmVjdExpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9DbGllbnRSZWN0TGlzdC5pZGwKQEAgLTI4LDcgKzI4LDcgQEAKICAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZhY2UgQ2xpZW50UmVjdExpc3QgewogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgICBnZXR0ZXIgQ2xpZW50UmVj
dCBpdGVtKFtJc0luZGV4LCBEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5zaWduZWQgbG9u
ZyBpbmRleCk7CisgICAgZ2V0dGVyIENsaWVudFJlY3QgaXRlbShbRGVmYXVsdD1VbmRlZmluZWRd
IG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIC8vIEZJWE1FOiBGaXggbGlzdCBi
ZWhhdmlvciB0byBhbGxvdyBjdXN0b20gZXhjZXB0aW9ucyB0byBiZSB0aHJvd24uCiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCmluZGV4IGRiZTRj
ODhhOTlhZThlNzI0ZjYzZDZiMzNiYTcyMDBlZGUyYzE4NDMuLjFjYTYwMzFkNzg4MTAyYmFiZDU4
OGFjZDZjZDM5MGI0ODJkNWFhYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdU
ZXh0Q29udGVudEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29u
dGVudEVsZW1lbnQuY3BwCkBAIC0xMjIsNiArMTIyLDcgQEAgZmxvYXQgU1ZHVGV4dENvbnRlbnRF
bGVtZW50OjpnZXRTdWJTdHJpbmdMZW5ndGgodW5zaWduZWQgY2hhcm51bSwgdW5zaWduZWQgbmNo
YXIKICAgICAgICAgcmV0dXJuIDAuMGY7CiAgICAgfQogCisgICAgbmNoYXJzID0gc3RkOjptaW4o
bmNoYXJzLCBudW1iZXJPZkNoYXJzIC0gY2hhcm51bSk7CiAgICAgcmV0dXJuIFNWR1RleHRRdWVy
eShyZW5kZXJlcigpKS5zdWJTdHJpbmdMZW5ndGgoY2hhcm51bSwgbmNoYXJzKTsKIH0KIApAQCAt
MTg3LDggKzE4OCw3IEBAIHZvaWQgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpzZWxlY3RTdWJTdHJp
bmcodW5zaWduZWQgY2hhcm51bSwgdW5zaWduZWQgbmNoYXJzLCBFCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBpZiAobmNoYXJzID4gbnVtYmVyT2ZDaGFycyAtIGNoYXJudW0pCi0gICAg
ICAgIG5jaGFycyA9IG51bWJlck9mQ2hhcnMgLSBjaGFybnVtOworICAgIG5jaGFycyA9IHN0ZDo6
bWluKG5jaGFycywgbnVtYmVyT2ZDaGFycyAtIGNoYXJudW0pOwogCiAgICAgQVNTRVJUKGRvY3Vt
ZW50KCkuZnJhbWUoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0
Q29udGVudEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxl
bWVudC5pZGwKaW5kZXggNzM2NjU2ZmEyYTU1ZDg0NTkyNTIyMDhkNDZmM2Y1ZDRhODc5NWNmNC4u
NDQ3ODJiNDkyOWY2NzEwNDM1NTRmYjg3MmYxMzAwZDNjMWU4Y2I2OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwKQEAgLTM0LDE1ICszNCwxNSBAQCBp
bnRlcmZhY2UgU1ZHVGV4dENvbnRlbnRFbGVtZW50IDogU1ZHR3JhcGhpY3NFbGVtZW50IHsKIAog
ICAgIGxvbmcgZ2V0TnVtYmVyT2ZDaGFycygpOwogICAgIHVucmVzdHJpY3RlZCBmbG9hdCBnZXRD
b21wdXRlZFRleHRMZW5ndGgoKTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSB1bnJlc3RyaWN0ZWQg
ZmxvYXQgZ2V0U3ViU3RyaW5nTGVuZ3RoKFtEZWZhdWx0PVVuZGVmaW5lZCxJc0luZGV4XSBvcHRp
b25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFtEZWZhdWx0PVVuZGVmaW5lZCxJc0luZGV4XSBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGxlbmd0
aCk7Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gU1ZHUG9pbnQgZ2V0U3RhcnRQb3NpdGlvbk9mQ2hh
cihbRGVmYXVsdD1VbmRlZmluZWQsSXNJbmRleF0gb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZz
ZXQpOwotICAgIFtSYWlzZXNFeGNlcHRpb25dIFNWR1BvaW50IGdldEVuZFBvc2l0aW9uT2ZDaGFy
KFtEZWZhdWx0PVVuZGVmaW5lZCxJc0luZGV4XSBvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNl
dCk7Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gU1ZHUmVjdCBnZXRFeHRlbnRPZkNoYXIoW0RlZmF1
bHQ9VW5kZWZpbmVkLElzSW5kZXhdIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KTsKLSAg
ICBbUmFpc2VzRXhjZXB0aW9uXSB1bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0Um90YXRpb25PZkNoYXIo
W0RlZmF1bHQ9VW5kZWZpbmVkLElzSW5kZXhdIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0
KTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSB1bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0U3ViU3RyaW5n
TGVuZ3RoKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9u
YWwgdW5zaWduZWQgbG9uZyBsZW5ndGgpOworICAgIFtSYWlzZXNFeGNlcHRpb25dIFNWR1BvaW50
IGdldFN0YXJ0UG9zaXRpb25PZkNoYXIoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnNp
Z25lZCBsb25nIG9mZnNldCk7CisgICAgW1JhaXNlc0V4Y2VwdGlvbl0gU1ZHUG9pbnQgZ2V0RW5k
UG9zaXRpb25PZkNoYXIoW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnNpZ25lZCBsb25n
IG9mZnNldCk7CisgICAgW1JhaXNlc0V4Y2VwdGlvbl0gU1ZHUmVjdCBnZXRFeHRlbnRPZkNoYXIo
W0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCk7CisgICAg
W1JhaXNlc0V4Y2VwdGlvbl0gdW5yZXN0cmljdGVkIGZsb2F0IGdldFJvdGF0aW9uT2ZDaGFyKFtE
ZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQpOwogICAgIGxv
bmcgZ2V0Q2hhck51bUF0UG9zaXRpb24oW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBTVkdQ
b2ludCBwb2ludCk7Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZWxlY3RTdWJTdHJpbmco
W0RlZmF1bHQ9VW5kZWZpbmVkLElzSW5kZXhdIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0
LCAKLSAgICAgICAgICAgICAgICAgICAgICAgICBbRGVmYXVsdD1VbmRlZmluZWQsSXNJbmRleF0g
b3B0aW9uYWwgdW5zaWduZWQgbG9uZyBsZW5ndGgpOworICAgIFtSYWlzZXNFeGNlcHRpb25dIHZv
aWQgc2VsZWN0U3ViU3RyaW5nKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgdW5zaWduZWQg
bG9uZyBvZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVk
XSBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGxlbmd0aCk7CiB9OwogCiAvLyBGSVhNRTogU1ZHVGV4
dENvbnRlbnRFbGVtZW50IGlzIG5vdCBzdXBwb3NlZCB0byBpbXBsZW1lbnQgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3YWI3ZTZmMGUxOGQ1MTUyNTVmZWFkZDM1MTU5OGU0
OTllZDM1OWNkLi42NWE4ODM5OWI5ZTA2Y2E1MGJkMzliZTY1MWM4ZTQ4ZmUyMGVhZjE5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDUgKzEsMjkgQEAKIDIwMTUtMDktMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAorICAgICAgICBEcm9wIG5vbi1zdGFuZGFyZCBbSXNJbmRleF0gV2ViS2l0IElETCBl
eHRlbmRlZCBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0OTEyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjI1NDcxMzk+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBkb20vaHRtbC9s
ZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJyZGVsZXRlZGF0YWNvdW50bmVn
YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGRvbS9odG1sL2xldmVsMS9jb3JlL2hjX2No
YXJhY3RlcmRhdGFpbmRleHNpemVlcnJyZXBsYWNlZGF0YWNvdW50bmVnYXRpdmUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGRvbS9odG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRl
eHNpemVlcnJzdWJzdHJpbmdjb3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBk
b20veGh0bWwvbGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycmRlbGV0ZWRh
dGFjb3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBkb20veGh0bWwvbGV2ZWwx
L2NvcmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycnJlcGxhY2VkYXRhY291bnRuZWdhdGl2
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZG9tL3hodG1sL2xldmVsMS9jb3JlL2hjX2NoYXJh
Y3RlcmRhdGFpbmRleHNpemVlcnJzdWJzdHJpbmdjb3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgUmViYXNlbGluZSBvdXRkYXRlZCBET00gdGVzdHMgdGhhdCBhcmUgbm93IGZhaWxp
bmcuCisKKyAgICAgICAgKiBzdmcvY3VzdG9tL2dldFN1YlN0cmluZ0xlbmd0aC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogc3ZnL2N1c3RvbS9zY3JpcHQtdGVzdHMvZ2V0U3ViU3RyaW5nTGVuZ3Ro
LmpzOgorICAgICAgICAqIHN2Zy9jdXN0b20vc2NyaXB0LXRlc3RzL3NlbGVjdFN1YlN0cmluZy5q
czoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3NlbGVjdFN1YlN0cmluZy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgIFVwZGF0ZSBleGlzdGluZyBTVkcgdGVzdHMgdGhhdCB3ZXJlIGV4cGVjdGluZyBhbiBl
eGNlcHRpb24gaWYgdGhlIG5jaGFycworICAgICAgICBwYXJhbWV0ZXIgaW4gdGhlIFNWR1RleHRD
b250ZW50RWxlbWVudCBBUEkgaXMgbmVnYXRpdmUuIEkgaGF2ZSB2ZXJpZmllZAorICAgICAgICB0
aGF0IENocm9tZSBhbmQgRmlyZWZveCBkbyBub3QgdGhyb3cgZm9yIHRoZXNlIGVpdGhlci4KKwor
MjAxNS0wOS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJlYmFzZWxpbmUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2RvbS9pbnRlcmZhY2VzLmh0bWwgb24gaU9TLgogCiAgICAgICAgICogcGxhdGZvcm0vaW9zLXNp
bXVsYXRvci9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2ludGVyZmFj
ZXMtZXhwZWN0ZWQudHh0OgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNjIxZjM3
OTYxMWM0NmJlZDg2MGQ3MWQwMjRjNTA5ZTU4OWNlZWJjMi4uMmI0YzdhNjc3MjYxYWViN2I2MmJl
YWY2ZTQ5N2Q5OGNkNzg3NjE1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTUtMDktMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KworICAgICAgICBEcm9wIG5vbi1zdGFuZGFyZCBbSXNJbmRleF0gV2ViS2l0IElETCBleHRlbmRl
ZCBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0OTEyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjI1NDcxMzk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZSBzZXZlcmFs
IFczQyBET00gdGVzdHMgbm93IHRoYXQgbW9yZSBjaGVja3MgYXJlIHBhc3NpbmcuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0NoYXJhY3RlckRhdGEtZGVsZXRlRGF0
YS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9D
aGFyYWN0ZXJEYXRhLXJlcGxhY2VEYXRhLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL25vZGVzL0NoYXJhY3RlckRhdGEtc3Vic3RyaW5nRGF0YS1leHBlY3Rl
ZC50eHQ6CisKIDIwMTUtMDktMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBJbXByb3ZlIE5vZGUgcHJlLWluc2VydGlvbiB2YWxpZGF0aW9uIHdoZW4gdGhlIHBh
cmVudCBpcyBhIERvY3VtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9kb20vaHRtbC9sZXZl
bDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJyZGVsZXRlZGF0YWNvdW50bmVnYXRp
dmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfY2hh
cmFjdGVyZGF0YWluZGV4c2l6ZWVycmRlbGV0ZWRhdGFjb3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4
dAppbmRleCA4YTc2ZmRmYTJhZTkyN2VjNmM3YmViOGU4ZTgwY2Q4ZDA1YzkyMWJhLi41YTlmODNk
ODg1Mjc1NzEzODY0MDEzNjI0OGFhZWRjZjY2NWE1MTBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9kb20vaHRtbC9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJyZGVsZXRl
ZGF0YWNvdW50bmVnYXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2RvbS9odG1s
L2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJkZWxldGVkYXRhY291bnRu
ZWdhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTEsMiArMSwzIEBACi1UZXN0OglodHRwOi8vd3d3Lncz
Lm9yZy8yMDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRl
eHNpemVlcnJkZWxldGVkYXRhY291bnRuZWdhdGl2ZQotU3RhdHVzOglTdWNjZXNzCitUZXN0Oglo
dHRwOi8vd3d3LnczLm9yZy8yMDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMS9jb3JlL2hjX2NoYXJh
Y3RlcmRhdGFpbmRleHNpemVlcnJkZWxldGVkYXRhY291bnRuZWdhdGl2ZQkKK1N0YXR1czoJZmFp
bHVyZQorRGV0YWlsOgl0aHJvd3NfSU5ERVhfU0laRV9FUlI6IGFzc2VydFRydWUgZmFpbGVkCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9kb20vaHRtbC9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJk
YXRhaW5kZXhzaXplZXJycmVwbGFjZWRhdGFjb3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVl
cnJyZXBsYWNlZGF0YWNvdW50bmVnYXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IGQ4NTMzNDQzNTZi
ZTdhNWRhMjRlNzk3MTZkMGU4NGUwMThjY2I5M2IuLmZjM2FjOGEzOTAzMTVmNTJmNzliMWIwNjY3
OTFjZDYyNDRhMzZhZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2RvbS9odG1sL2xldmVsMS9j
b3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJyZXBsYWNlZGF0YWNvdW50bmVnYXRpdmUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX2No
YXJhY3RlcmRhdGFpbmRleHNpemVlcnJyZXBsYWNlZGF0YWNvdW50bmVnYXRpdmUtZXhwZWN0ZWQu
dHh0CkBAIC0xLDIgKzEsMyBAQAotVGVzdDoJaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVz
dC1TdWl0ZS9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJycmVwbGFjZWRh
dGFjb3VudG5lZ2F0aXZlCi1TdGF0dXM6CVN1Y2Nlc3MKK1Rlc3Q6CWh0dHA6Ly93d3cudzMub3Jn
LzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6
ZWVycnJlcGxhY2VkYXRhY291bnRuZWdhdGl2ZQkKK1N0YXR1czoJZmFpbHVyZQorRGV0YWlsOgl0
aHJvd3NfSU5ERVhfU0laRV9FUlI6IGFzc2VydFRydWUgZmFpbGVkCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9kb20vaHRtbC9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJy
c3Vic3RyaW5nY291bnRuZWdhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9kb20vaHRt
bC9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJyc3Vic3RyaW5nY291bnRu
ZWdhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggNzE2NDFkZDZlN2E4ZjVlYWQ5NzMxM2FjMjI3NmM0
NWRmNWE3ODU2Zi4uMTI5NzRhZmUyMmE4YTQ5N2FjYzdiOTkzNGM0Y2I5ZjY3ZDJiYjVlZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZG9tL2h0bWwvbGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVyZGF0
YWluZGV4c2l6ZWVycnN1YnN0cmluZ2NvdW50bmVnYXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2RvbS9odG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVl
cnJzdWJzdHJpbmdjb3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDMgQEAKLVRl
c3Q6CWh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwxL2NvcmUvaGNf
Y2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycnN1YnN0cmluZ2NvdW50bmVnYXRpdmUKLVN0YXR1czoJ
U3VjY2VzcworVGVzdDoJaHR0cDovL3d3dy53My5vcmcvMjAwMS9ET00tVGVzdC1TdWl0ZS9sZXZl
bDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJyc3Vic3RyaW5nY291bnRuZWdhdGl2
ZQkKK1N0YXR1czoJZmFpbHVyZQorRGV0YWlsOgl0aHJvd3NfSU5ERVhfU0laRV9FUlI6IGFzc2Vy
dFRydWUgZmFpbGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwxL2Nv
cmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycmRlbGV0ZWRhdGFjb3VudG5lZ2F0aXZlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9oY19jaGFyYWN0
ZXJkYXRhaW5kZXhzaXplZXJyZGVsZXRlZGF0YWNvdW50bmVnYXRpdmUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDcwMDMyNTgzNDU4NDdkNWQyZjdkNjgyNjY0OWUyNmMxMjViOTMyZDQuLmIzZDc3MTBjMDk4
OTI0NTA1Njg3ZDlmOTFjZjEzYTY1NDRkYzU5ZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Rv
bS94aHRtbC9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJyZGVsZXRlZGF0
YWNvdW50bmVnYXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2RvbS94aHRtbC9s
ZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXplZXJyZGVsZXRlZGF0YWNvdW50bmVn
YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDIgKzEsMyBAQAogVGVzdAlodHRwOi8vd3d3LnczLm9y
Zy8yMDAxL0RPTS1UZXN0LVN1aXRlL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNp
emVlcnJkZWxldGVkYXRhY291bnRuZWdhdGl2ZQotU3RhdHVzCVN1Y2Nlc3MKK1N0YXR1cwlmYWls
dXJlCitNZXNzYWdlCXRocm93c19JTkRFWF9TSVpFX0VSUjogYXNzZXJ0VHJ1ZSBmYWlsZWQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJk
YXRhaW5kZXhzaXplZXJycmVwbGFjZWRhdGFjb3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5kZXhzaXpl
ZXJycmVwbGFjZWRhdGFjb3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4dAppbmRleCBmOTllYmNjMmRm
ODllNjAwMDc0MGEzNDk0MzNiN2MwZWZiNWE3Y2VhLi5iMGVlZjlmOWUyMGMwNThkNzJkMmYzMTEy
ZTU2NmNkMzUwYTY2NGYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwx
L2NvcmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycnJlcGxhY2VkYXRhY291bnRuZWdhdGl2
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMS9jb3JlL2hj
X2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJyZXBsYWNlZGF0YWNvdW50bmVnYXRpdmUtZXhwZWN0
ZWQudHh0CkBAIC0xLDIgKzEsMyBAQAogVGVzdAlodHRwOi8vd3d3LnczLm9yZy8yMDAxL0RPTS1U
ZXN0LVN1aXRlL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJyZXBsYWNl
ZGF0YWNvdW50bmVnYXRpdmUKLVN0YXR1cwlTdWNjZXNzCitTdGF0dXMJZmFpbHVyZQorTWVzc2Fn
ZQl0aHJvd3NfSU5ERVhfU0laRV9FUlI6IGFzc2VydFRydWUgZmFpbGVkCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwxL2NvcmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6
ZWVycnN1YnN0cmluZ2NvdW50bmVnYXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZG9t
L3hodG1sL2xldmVsMS9jb3JlL2hjX2NoYXJhY3RlcmRhdGFpbmRleHNpemVlcnJzdWJzdHJpbmdj
b3VudG5lZ2F0aXZlLWV4cGVjdGVkLnR4dAppbmRleCBhOTIwNWVkMjUyZWFhZmE2NjYxZDNmZTg5
YjRkMGQ4MmExMTU4NWFkLi4yMzZhMWFmNDI4ZWUwZmEzN2M5MTAyMmViNzQwMWFhNDFmNDk5Mjdm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwxL2NvcmUvaGNfY2hhcmFj
dGVyZGF0YWluZGV4c2l6ZWVycnN1YnN0cmluZ2NvdW50bmVnYXRpdmUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9oY19jaGFyYWN0ZXJkYXRhaW5k
ZXhzaXplZXJyc3Vic3RyaW5nY291bnRuZWdhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTEsMiArMSwz
IEBACiBUZXN0CWh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwxL2Nv
cmUvaGNfY2hhcmFjdGVyZGF0YWluZGV4c2l6ZWVycnN1YnN0cmluZ2NvdW50bmVnYXRpdmUKLVN0
YXR1cwlTdWNjZXNzCitTdGF0dXMJZmFpbHVyZQorTWVzc2FnZQl0aHJvd3NfSU5ERVhfU0laRV9F
UlI6IGFzc2VydFRydWUgZmFpbGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9DaGFyYWN0ZXJEYXRhLWRlbGV0ZURhdGEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vbm9kZXMvQ2hhcmFjdGVyRGF0YS1kZWxldGVEYXRhLWV4cGVjdGVkLnR4dAppbmRleCAw
MTdhZTMxY2I3Y2JhZTYwMzIwNjYwNGU2NGM0MzgzNDI0ODY1MzAxLi5lOTVjMDY3YmU2N2MwZmRl
OGUzNTc2MGRhZWJhMDI3MGJlODY5NDBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9DaGFyYWN0ZXJEYXRhLWRlbGV0ZURh
dGEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL25vZGVzL0NoYXJhY3RlckRhdGEtZGVsZXRlRGF0YS1leHBlY3RlZC50eHQK
QEAgLTQsNyArNCw3IEBAIFBBU1MgVGV4dC5kZWxldGVEYXRhKCkgYXQgdGhlIHN0YXJ0CiBQQVNT
IFRleHQuZGVsZXRlRGF0YSgpIGF0IHRoZSBlbmQgCiBQQVNTIFRleHQuZGVsZXRlRGF0YSgpIGlu
IHRoZSBtaWRkbGUgCiBQQVNTIFRleHQuZGVsZXRlRGF0YSgpIHdpdGggemVybyBjb3VudCAKLUZB
SUwgVGV4dC5kZWxldGVEYXRhKCkgd2l0aCBzbWFsbCBuZWdhdGl2ZSBjb3VudCBJbmRleFNpemVF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxCitQQVNTIFRleHQuZGVsZXRlRGF0YSgpIHdpdGggc21hbGwg
bmVnYXRpdmUgY291bnQgCiBQQVNTIFRleHQuZGVsZXRlRGF0YSgpIHdpdGggbGFyZ2UgbmVnYXRp
dmUgY291bnQgCiBQQVNTIFRleHQuZGVsZXRlRGF0YSgpIHdpdGggbm9uLWFzY2lpIGRhdGEgCiBQ
QVNTIFRleHQuZGVsZXRlRGF0YSgpIHdpdGggbm9uLUJNUCBkYXRhIApAQCAtMTMsNyArMTMsNyBA
QCBQQVNTIENvbW1lbnQuZGVsZXRlRGF0YSgpIGF0IHRoZSBzdGFydAogUEFTUyBDb21tZW50LmRl
bGV0ZURhdGEoKSBhdCB0aGUgZW5kIAogUEFTUyBDb21tZW50LmRlbGV0ZURhdGEoKSBpbiB0aGUg
bWlkZGxlIAogUEFTUyBDb21tZW50LmRlbGV0ZURhdGEoKSB3aXRoIHplcm8gY291bnQgCi1GQUlM
IENvbW1lbnQuZGVsZXRlRGF0YSgpIHdpdGggc21hbGwgbmVnYXRpdmUgY291bnQgSW5kZXhTaXpl
RXJyb3I6IERPTSBFeGNlcHRpb24gMQorUEFTUyBDb21tZW50LmRlbGV0ZURhdGEoKSB3aXRoIHNt
YWxsIG5lZ2F0aXZlIGNvdW50IAogUEFTUyBDb21tZW50LmRlbGV0ZURhdGEoKSB3aXRoIGxhcmdl
IG5lZ2F0aXZlIGNvdW50IAogUEFTUyBDb21tZW50LmRlbGV0ZURhdGEoKSB3aXRoIG5vbi1hc2Np
aSBkYXRhIAogUEFTUyBDb21tZW50LmRlbGV0ZURhdGEoKSB3aXRoIG5vbi1CTVAgZGF0YSAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L25vZGVzL0NoYXJhY3RlckRhdGEtcmVwbGFjZURhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvQ2hhcmFjdGVyRGF0
YS1yZXBsYWNlRGF0YS1leHBlY3RlZC50eHQKaW5kZXggMGJiYTFiZWE3NTE5OWNkNDNkMGY1MWJj
MmFkZGU2NWRkMjM2ODk0Ny4uZjE2YWU0ZDEyZmVjZjlmMWIwOGEwMmYwY2IwZGIzMmE1ZDNhNTM0
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vbm9kZXMvQ2hhcmFjdGVyRGF0YS1yZXBsYWNlRGF0YS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvQ2hh
cmFjdGVyRGF0YS1yZXBsYWNlRGF0YS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIFBB
U1MgVGV4dC5yZXBsYWNlRGF0YSgpIHdpdGggaW52YWxpZCBvZmZzZXQgCiBQQVNTIFRleHQucmVw
bGFjZURhdGEoKSB3aXRoIGNsYW1wZWQgY291bnQgCi1GQUlMIFRleHQucmVwbGFjZURhdGEoKSB3
aXRoIG5lZ2F0aXZlIGNsYW1wZWQgY291bnQgSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24g
MQorUEFTUyBUZXh0LnJlcGxhY2VEYXRhKCkgd2l0aCBuZWdhdGl2ZSBjbGFtcGVkIGNvdW50IAog
UEFTUyBUZXh0LnJlcGxhY2VEYXRhKCkgYmVmb3JlIHRoZSBzdGFydCAKIFBBU1MgVGV4dC5yZXBs
YWNlRGF0YSgpIGF0IHRoZSBzdGFydCAoc2hvcnRlcikgCiBQQVNTIFRleHQucmVwbGFjZURhdGEo
KSBhdCB0aGUgc3RhcnQgKGVxdWFsIGxlbmd0aCkgCkBAIC0xOCw3ICsxOCw3IEBAIFBBU1MgVGV4
dC5yZXBsYWNlRGF0YSgpIHdpdGggbm9uLUFTQ0lJIGRhdGEKIFBBU1MgVGV4dC5yZXBsYWNlRGF0
YSgpIHdpdGggbm9uLUJNUCBkYXRhIAogUEFTUyBDb21tZW50LnJlcGxhY2VEYXRhKCkgd2l0aCBp
bnZhbGlkIG9mZnNldCAKIFBBU1MgQ29tbWVudC5yZXBsYWNlRGF0YSgpIHdpdGggY2xhbXBlZCBj
b3VudCAKLUZBSUwgQ29tbWVudC5yZXBsYWNlRGF0YSgpIHdpdGggbmVnYXRpdmUgY2xhbXBlZCBj
b3VudCBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxCitQQVNTIENvbW1lbnQucmVwbGFj
ZURhdGEoKSB3aXRoIG5lZ2F0aXZlIGNsYW1wZWQgY291bnQgCiBQQVNTIENvbW1lbnQucmVwbGFj
ZURhdGEoKSBiZWZvcmUgdGhlIHN0YXJ0IAogUEFTUyBDb21tZW50LnJlcGxhY2VEYXRhKCkgYXQg
dGhlIHN0YXJ0IChzaG9ydGVyKSAKIFBBU1MgQ29tbWVudC5yZXBsYWNlRGF0YSgpIGF0IHRoZSBz
dGFydCAoZXF1YWwgbGVuZ3RoKSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0NoYXJhY3RlckRhdGEtc3Vic3RyaW5nRGF0
YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ub2Rlcy9DaGFyYWN0ZXJEYXRhLXN1YnN0cmluZ0RhdGEtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGU1YWE2OTRkYWZmMjc4ZTQxNjkwNjJmNzJmZDUwOTM4MWFlOTU2MDMuLjExNzcxZTc0ZTUx
NjcwMjJlNjVkNWNkMzIxYmFlZTE2MGQwNDY0NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0NoYXJhY3RlckRhdGEtc3Vi
c3RyaW5nRGF0YS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvQ2hhcmFjdGVyRGF0YS1zdWJzdHJpbmdEYXRhLWV4
cGVjdGVkLnR4dApAQCAtMTAsNyArMTAsNyBAQCBQQVNTIFRleHQuc3Vic3RyaW5nRGF0YSgpIHdp
dGggc3RyaW5nIG9mZnNldAogUEFTUyBUZXh0LnN1YnN0cmluZ0RhdGEoKSB3aXRoIGluLWJvdW5k
cyBjb3VudCAKIFBBU1MgVGV4dC5zdWJzdHJpbmdEYXRhKCkgd2l0aCBsYXJnZSBjb3VudCAKIFBB
U1MgVGV4dC5zdWJzdHJpbmdEYXRhKCkgd2l0aCB2ZXJ5IGxhcmdlIGNvdW50IAotRkFJTCBUZXh0
LnN1YnN0cmluZ0RhdGEoKSB3aXRoIG5lZ2F0aXZlIGNvdW50IEluZGV4U2l6ZUVycm9yOiBET00g
RXhjZXB0aW9uIDEKK1BBU1MgVGV4dC5zdWJzdHJpbmdEYXRhKCkgd2l0aCBuZWdhdGl2ZSBjb3Vu
dCAKIFBBU1MgVGV4dC5zdWJzdHJpbmdEYXRhKCkgd2l0aCBub24tQVNDSUkgZGF0YSAKIFBBU1Mg
VGV4dC5zdWJzdHJpbmdEYXRhKCkgd2l0aCBub24tQk1QIGRhdGEgCiBQQVNTIENvbW1lbnQuc3Vi
c3RyaW5nRGF0YSgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgCkBAIC0yNCw3ICsyNCw3IEBAIFBB
U1MgQ29tbWVudC5zdWJzdHJpbmdEYXRhKCkgd2l0aCBzdHJpbmcgb2Zmc2V0CiBQQVNTIENvbW1l
bnQuc3Vic3RyaW5nRGF0YSgpIHdpdGggaW4tYm91bmRzIGNvdW50IAogUEFTUyBDb21tZW50LnN1
YnN0cmluZ0RhdGEoKSB3aXRoIGxhcmdlIGNvdW50IAogUEFTUyBDb21tZW50LnN1YnN0cmluZ0Rh
dGEoKSB3aXRoIHZlcnkgbGFyZ2UgY291bnQgCi1GQUlMIENvbW1lbnQuc3Vic3RyaW5nRGF0YSgp
IHdpdGggbmVnYXRpdmUgY291bnQgSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorUEFT
UyBDb21tZW50LnN1YnN0cmluZ0RhdGEoKSB3aXRoIG5lZ2F0aXZlIGNvdW50IAogUEFTUyBDb21t
ZW50LnN1YnN0cmluZ0RhdGEoKSB3aXRoIG5vbi1BU0NJSSBkYXRhIAogUEFTUyBDb21tZW50LnN1
YnN0cmluZ0RhdGEoKSB3aXRoIG5vbi1CTVAgZGF0YSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9nZXRTdWJTdHJpbmdMZW5ndGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9nZXRTdWJTdHJpbmdMZW5ndGgtZXhwZWN0ZWQudHh0CmluZGV4IDgyMWE2
NDRjMDFmNWUxMzZkYzdjNGI5YjlmMDFmMmVmOGY1MjA1Y2MuLjRmMDU5ZTdkZjg0NmM4ZGUwZjU3
MTRjMTliMDg0ZmYxZWRkODY5MzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
Z2V0U3ViU3RyaW5nTGVuZ3RoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL2dldFN1YlN0cmluZ0xlbmd0aC1leHBlY3RlZC50eHQKQEAgLTksOCArOSw4IEBAIFBBU1Mg
c3ZnVGV4dC5nZXRTdWJTdHJpbmdMZW5ndGgoMCwgMSkgaXMgMjAKIFBBU1Mgc3ZnVGV4dC5nZXRT
dWJTdHJpbmdMZW5ndGgoMSwgMSkgaXMgMjAKIFBBU1Mgc3ZnVGV4dC5nZXRTdWJTdHJpbmdMZW5n
dGgoMiwgMSkgaXMgMjAKIFBBU1Mgc3ZnVGV4dC5nZXRTdWJTdHJpbmdMZW5ndGgoMCwgMykgaXMg
NjAKLVBBU1Mgc3ZnVGV4dC5nZXRTdWJTdHJpbmdMZW5ndGgoMSwgLTEpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMS4KLVBBU1Mgc3ZnVGV4dC5n
ZXRTdWJTdHJpbmdMZW5ndGgoMiwgLTEpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW5kZXhTaXpl
RXJyb3I6IERPTSBFeGNlcHRpb24gMS4KK1BBU1Mgc3ZnVGV4dC5nZXRTdWJTdHJpbmdMZW5ndGgo
MSwgLTEpIGlzIDQwCitQQVNTIHN2Z1RleHQuZ2V0U3ViU3RyaW5nTGVuZ3RoKDIsIC0xKSBpcyAy
MAogUEFTUyBzdmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgzLCAtMSkgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxLgogUEFTUyBzdmdUZXh0Lmdl
dFN1YlN0cmluZ0xlbmd0aCgzLCAtMykgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbmRleFNpemVF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zY3JpcHQtdGVzdHMvZ2V0U3ViU3Ry
aW5nTGVuZ3RoLmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zY3JpcHQtdGVzdHMvZ2V0U3Vi
U3RyaW5nTGVuZ3RoLmpzCmluZGV4IGQwZmJiNTczNjhkOWQ3YWUxNjQ2NTAyMDhjZTkyNWI4MDQ3
ODQ3NDEuLmRiNTEyY2IxNzI3YjA5NTcxOGY0NmY5YTA3MWMzY2FiMjE2NjhjNjEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc2NyaXB0LXRlc3RzL2dldFN1YlN0cmluZ0xlbmd0
aC5qcworKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3NjcmlwdC10ZXN0cy9nZXRTdWJTdHJp
bmdMZW5ndGguanMKQEAgLTIzLDggKzIzLDkgQEAgc2hvdWxkQmUoInN2Z1RleHQuZ2V0U3ViU3Ry
aW5nTGVuZ3RoKDEsIDEpIiwgIjIwIik7CiBzaG91bGRCZSgic3ZnVGV4dC5nZXRTdWJTdHJpbmdM
ZW5ndGgoMiwgMSkiLCAiMjAiKTsKIHNob3VsZEJlKCJzdmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0
aCgwLCAzKSIsICI2MCIpOwogCi1zaG91bGRUaHJvdygic3ZnVGV4dC5nZXRTdWJTdHJpbmdMZW5n
dGgoMSwgLTEpIik7Ci1zaG91bGRUaHJvdygic3ZnVGV4dC5nZXRTdWJTdHJpbmdMZW5ndGgoMiwg
LTEpIik7CitzaG91bGRCZSgic3ZnVGV4dC5nZXRTdWJTdHJpbmdMZW5ndGgoMSwgLTEpIiwgIjQw
Iik7CitzaG91bGRCZSgic3ZnVGV4dC5nZXRTdWJTdHJpbmdMZW5ndGgoMiwgLTEpIiwgIjIwIik7
CisKIHNob3VsZFRocm93KCJzdmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgzLCAtMSkiKTsKIHNo
b3VsZFRocm93KCJzdmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgzLCAtMykiKTsKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zY3JpcHQtdGVzdHMvc2VsZWN0U3ViU3RyaW5n
LmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zY3JpcHQtdGVzdHMvc2VsZWN0U3ViU3RyaW5n
LmpzCmluZGV4IDNhNTM5OTJlZjAwOGQ2Y2FiMzliYTY3YzNiMTczZDFjNGViM2YyNTguLmI2ZjVk
MzNhNjIzMjdlMzE1YWM1YTA3MmMzYjE1YzU1MDVjOTJlMTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N2Zy9jdXN0b20vc2NyaXB0LXRlc3RzL3NlbGVjdFN1YlN0cmluZy5qcworKysgYi9MYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3NjcmlwdC10ZXN0cy9zZWxlY3RTdWJTdHJpbmcuanMKQEAgLTEw
LDcgKzEwLDcgQEAgc3ZnVGV4dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgi
YWJjIikpOwogc3ZnUm9vdC5hcHBlbmRDaGlsZChzdmdUZXh0KTsKIAogc2hvdWxkVGhyb3coInN2
Z1RleHQuc2VsZWN0U3ViU3RyaW5nKC0xLCAwKSIpOwotc2hvdWxkVGhyb3coInN2Z1RleHQuZ2V0
U3ViU3RyaW5nTGVuZ3RoKDAsIC0xKSIpOworc2hvdWxkQmUoInN2Z1RleHQuZ2V0U3ViU3RyaW5n
TGVuZ3RoKDAsIC0xKSIsICI2MCIpOwogc2hvdWxkVGhyb3coInN2Z1RleHQuZ2V0U3ViU3RyaW5n
TGVuZ3RoKDMsIDApIik7CiAKIC8vIGNsZWFudXAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9jdXN0b20vc2VsZWN0U3ViU3RyaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9j
dXN0b20vc2VsZWN0U3ViU3RyaW5nLWV4cGVjdGVkLnR4dAppbmRleCBmYzE3ZTgxM2U1ZmViOWQ3
OGY3Yjk0OGNmYTlkZDg0MjZhMDZlY2Y0Li5mMjk5MDkwNGE2M2ZmODc0MzVkZTc3NzAxZjJjNTMx
NWFmOGQ1MTkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3NlbGVjdFN1YlN0
cmluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zZWxlY3RTdWJT
dHJpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogUEFTUyBzdmdUZXh0LnNlbGVjdFN1
YlN0cmluZygtMSwgMCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbmRleFNpemVFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxLgotUEFTUyBzdmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgwLCAtMSkgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBJbmRleFNpemVFcnJvcjogRE9NIEV4Y2VwdGlvbiAxLgorUEFT
UyBzdmdUZXh0LmdldFN1YlN0cmluZ0xlbmd0aCgwLCAtMSkgaXMgNjAKIFBBU1Mgc3ZnVGV4dC5n
ZXRTdWJTdHJpbmdMZW5ndGgoMywgMCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbmRleFNpemVF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQog
Cg==
</data>
<flag name="review"
          id="286325"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>