<?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>84161</bug_id>
          
          <creation_ts>2012-04-17 10:23:19 -0700</creation_ts>
          <short_desc>[V8] Add an optional Isolate argument to toV8()</short_desc>
          <delta_ts>2012-04-23 09:20:28 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>84074</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>604117</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-17 10:23:19 -0700</bug_when>
    <thetext>The final objective is to pass Isolate around in V8 bindings. In this bug, we add an optional Isolate argument to toV8(). After rewriting all toV8() callers so that they pass Isolate, I will make the Isolate argument non-optional.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604129</commentid>
    <comment_count>1</comment_count>
      <attachid>137558</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-17 10:33:57 -0700</bug_when>
    <thetext>Created attachment 137558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604133</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-17 10:37:37 -0700</bug_when>
    <thetext>Attachment 137558 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/bindings/scripts/test/V8/V8Float64Array.h:61:  The parameter name &quot;isolate&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 51 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604135</commentid>
    <comment_count>3</comment_count>
      <attachid>137558</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-04-17 10:43:07 -0700</bug_when>
    <thetext>Comment on attachment 137558
Patch

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

Will happily r+ once you&apos;ve got a version that passes EWS.

&gt; Source/WebCore/bindings/v8/custom/V8CSSRuleCustom.cpp:47
&gt; -v8::Handle&lt;v8::Value&gt; toV8(CSSRule* impl)
&gt; +v8::Handle&lt;v8::Value&gt; toV8(CSSRule* impl, v8::Isolate* isolate)
&gt;  {

I assume this is going to compile-fail, since isolate appears to be unused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604137</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-17 10:47:06 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Source/WebCore/bindings/v8/custom/V8CSSRuleCustom.cpp:47
&gt; &gt; -v8::Handle&lt;v8::Value&gt; toV8(CSSRule* impl)
&gt; &gt; +v8::Handle&lt;v8::Value&gt; toV8(CSSRule* impl, v8::Isolate* isolate)
&gt; &gt;  {
&gt; 
&gt; I assume this is going to compile-fail, since isolate appears to be unused.

I confirmed that the compile passes in my local Linux. It seems that an unused argument is not an issue in V8 bindings. There are already unused arguments in the generated code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604138</commentid>
    <comment_count>5</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-04-17 10:50:02 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; &gt; Source/WebCore/bindings/v8/custom/V8CSSRuleCustom.cpp:47
&gt; &gt; &gt; -v8::Handle&lt;v8::Value&gt; toV8(CSSRule* impl)
&gt; &gt; &gt; +v8::Handle&lt;v8::Value&gt; toV8(CSSRule* impl, v8::Isolate* isolate)
&gt; &gt; &gt;  {
&gt; &gt; 
&gt; &gt; I assume this is going to compile-fail, since isolate appears to be unused.
&gt; 
&gt; I confirmed that the compile passes in my local Linux. It seems that an unused argument is not an issue in V8 bindings. There are already unused arguments in the generated code.

Interesting, I didn&apos;t realize we had unused variables kicking around the bindings. I thought mac compiles broke on unused variables much more aggressively.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604140</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-17 10:53:24 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Interesting, I didn&apos;t realize we had unused variables kicking around the bindings. I thought mac compiles broke on unused variables much more aggressively.

Yes, in mac it seems that unused variables are not allowed.

e.g. The generated code for V8 binding. &apos;name&apos; is not used:

static v8::Handle&lt;v8::Value&gt; idAttrGetter(v8::Local&lt;v8::String&gt; name, const v8::AccessorInfo&amp; info)
{                                                                                       
    INC_STATS(&quot;DOM.HTMLElement.id._get&quot;);
    return getElementStringAttr(info, HTMLNames::idAttr);
}

Anyway I&apos;ll keep watching ews bots. Let me ping you if it becomes green:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604161</commentid>
    <comment_count>7</comment_count>
      <attachid>137558</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-04-17 11:16:11 -0700</bug_when>
    <thetext>Comment on attachment 137558
Patch

Alright then, LGTM. Please fix the style warning before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604164</commentid>
    <comment_count>8</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-17 11:19:27 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 137558 [details])
&gt; Alright then, LGTM. Please fix the style warning before landing.

I think the warning is false positive. The &apos;isolate&apos; is needed to set the default value in the header file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604169</commentid>
    <comment_count>9</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-17 11:21:50 -0700</bug_when>
    <thetext>Committed r114401: &lt;http://trac.webkit.org/changeset/114401&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606463</commentid>
    <comment_count>10</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-20 02:31:09 -0700</bug_when>
    <thetext>Reverted r114401 for reason:

Chromium crash

Committed r114732: &lt;http://trac.webkit.org/changeset/114732&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607743</commentid>
    <comment_count>11</comment_count>
      <attachid>138362</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-23 09:19:45 -0700</bug_when>
    <thetext>Created attachment 138362
Patch for relanding. It is revealed that the patch was innocent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607745</commentid>
    <comment_count>12</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-23 09:20:28 -0700</bug_when>
    <thetext>Committed r114907: &lt;http://trac.webkit.org/changeset/114907&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137558</attachid>
            <date>2012-04-17 10:33:57 -0700</date>
            <delta_ts>2012-04-17 11:22:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84161-20120417103356.patch</filename>
            <type>text/plain</type>
            <size>45681</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0MzgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZhNjViNWIxZDJlY2U5
N2VmNjJjYTg0MDRjYTg2MTg5YmEwYzU1ZC4uMjkxNzc5ZmZmYmEyMTI4MzBhOGFiYzVjZGQzYjcx
M2NhMDUyYzRiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyMyBAQAorMjAxMi0wNC0xNyAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Y4XSBBZGQgYW4g
b3B0aW9uYWwgSXNvbGF0ZSBhcmd1bWVudCB0byB0b1Y4KCkuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDE2MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBmaW5hbCBvYmplY3RpdmUgaXMgdG8gcGFz
cyBJc29sYXRlIGFyb3VuZCBpbiBWOCBiaW5kaW5ncy4KKyAgICAgICAgVGhpcyBwYXRjaCBhZGRz
IGFuIG9wdGlvbmFsIElzb2xhdGUgYXJndW1lbnQgdG8gdG9WOCgpLgorICAgICAgICBBZnRlciBy
ZXdyaXRpbmcgYWxsIHRvVjgoKSBjYWxsZXJzIHNvIHRoYXQgdGhleSBwYXNzIElzb2xhdGUsCisg
ICAgICAgIEkgd2lsbCBtYWtlIHRoZSBJc29sYXRlIGFyZ3VtZW50IG5vbi1vcHRpb25hbC4KKwor
ICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAgIE1vZGlmaWVkIGFzIGRl
c2NyaWJlZCBhYm92ZS4KKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKE5hdGl2
ZVRvSlNWYWx1ZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4QmxvYkN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0
b20vVjhDU1NSdWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTVmFs
dWVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Q2FudmFzUGl4ZWxBcnJheUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBD
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRv
VjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhEYXRhVmlld0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeUN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0
b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RmxvYXQzMkFycmF5
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOEZsb2F0NjRBcnJheUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ29sbGVjdGlvbkN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEVsZW1lbnRDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SURCQW55Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOElEQktleUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0
b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbWFnZURhdGFDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SW50MTZBcnJheUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbnQzMkFycmF5Q3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEludDhBcnJh
eUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhMb2NhdGlvbkN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Tm9kZUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4U2xvdyk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRWxlbWVu
dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhTVkdQYXRoU2VnQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRv
VjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNjcmlwdFByb2ZpbGVDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4U2NyaXB0UHJvZmlsZU5vZGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9W
OCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhVaW50MTZBcnJheUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MzJBcnJheUN1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50OEFy
cmF5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOFVpbnQ4Q2xhbXBlZEFycmF5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRl
eHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaDoKKyAgICAgICAgVXBkYXRlZCBy
dW4tYmluZGluZ3MtdGVzdHMgcmVzdWx0cy4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEFjdGl2ZURPTU9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmg6CisgICAg
ICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAg
ICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0Lmg6CisgICAg
ICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0SW50ZXJmYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oOgor
ICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmg6CisgICAgICAg
IChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0T2JqLmg6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKwogMjAxMi0wNC0xNyAgVnNldm9sb2QgVmxhc292ICA8
dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTdWdnZXN0IGJv
eCBhcHBlYXJzIGFmdGVyIHRoZSBjb21tYW5kIHdhcyBleGVjdXRlZCBpbiBjb25zb2xlIHNvbWV0
aW1lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvclY4LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yVjgucG0KaW5kZXggMTAwNWEwZDQ3OGFiZTk2MzA2YWVhZTdkZTQ4OGNlNmUwODU3Mzc3ZS4u
MWJjMzY1ZDE2Y2QyMDU0NjdjNGVjOTZjODQ1ZDhhNGEwMmEyYTBkNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTQ0MSw3
ICs0NDEsNyBAQCBFTkQKICAgICB9IGVsc2lmICghKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkN1c3RvbVRvSlNPYmplY3QifSBvciAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJWOEN1c3RvbVRvSlNPYmplY3QifSkpIHsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVu
dCwgPDxFTkQpOwogCi1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoJHtuYXRpdmVU
eXBlfSogaW1wbCR7Zm9yY2VOZXdPYmplY3RQYXJhbWV0ZXJ9KQoraW5saW5lIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB0b1Y4KCR7bmF0aXZlVHlwZX0qIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRl
ID0gMCR7Zm9yY2VOZXdPYmplY3RQYXJhbWV0ZXJ9KQogewogICAgIGlmICghaW1wbCkKICAgICAg
ICAgcmV0dXJuIHY4OjpOdWxsKCk7CkBAIC00NTEsMTQgKzQ1MSwxNCBAQCBFTkQKICAgICB9IGVs
c2lmICgkaW50ZXJmYWNlTmFtZSBuZSAnTm9kZScpIHsKICAgICAgICAgcHVzaChAaGVhZGVyQ29u
dGVudCwgPDxFTkQpOwogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOCgke25hdGl2ZVR5cGV9
KiR7Zm9yY2VOZXdPYmplY3RQYXJhbWV0ZXJ9KTsKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KCR7bmF0aXZlVHlwZX0qLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDAke2ZvcmNlTmV3T2JqZWN0
UGFyYW1ldGVyfSk7CiBFTkQKICAgICB9IGVsc2UgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250
ZW50LCA8PEVORCk7CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4U2xvdyhOb2RlKiwgYm9v
bCk7CiAKLWlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChOb2RlKiBpbXBsLCBib29s
IGZvcmNlTmV3T2JqZWN0ID0gZmFsc2UpCitpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRv
VjgoTm9kZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwLCBib29sIGZvcmNlTmV3T2Jq
ZWN0ID0gZmFsc2UpCiB7CiAgICAgaWYgKFVOTElLRUxZKCFpbXBsKSkKICAgICAgICAgcmV0dXJu
IHY4OjpOdWxsKCk7CkBAIC00NzMsOSArNDczLDkgQEAgRU5ECiAgICAgfQogCiAgICAgcHVzaChA
aGVhZGVyQ29udGVudCwgPDxFTkQpOwotaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KFBhc3NSZWZQdHI8ICR7bmF0aXZlVHlwZX0gPiBpbXBsJHtmb3JjZU5ld09iamVjdFBhcmFtZXRl
cn0pCitpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoUGFzc1JlZlB0cjwgJHtuYXRp
dmVUeXBlfSA+IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlID0gMCR7Zm9yY2VOZXdPYmplY3RQ
YXJhbWV0ZXJ9KQogewotICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCkke2ZvcmNlTmV3T2JqZWN0
Q2FsbH0pOworICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCksIGlzb2xhdGUke2ZvcmNlTmV3T2Jq
ZWN0Q2FsbH0pOwogfQogRU5ECiAKQEAgLTM3OTEsNyArMzc5MSw3IEBAIHN1YiBOYXRpdmVUb0pT
VmFsdWUKIAogICAgICMgc3BlY2lhbCBjYXNlIGZvciBub24tRE9NIG5vZGUgaW50ZXJmYWNlcwog
ICAgIGlmIChJc0RPTU5vZGVUeXBlKCR0eXBlKSkgewotICAgICAgICByZXR1cm4gInRvVjgoJHt2
YWx1ZX0iIC4gKCRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXR1cm5OZXdPYmpl
Y3QifSA/ICIsIHRydWUpIiA6ICIpIik7CisgICAgICAgIHJldHVybiAidG9WOCgke3ZhbHVlfSIg
LiAoJHNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJldHVybk5ld09iamVjdCJ9ID8g
IiwgMCwgdHJ1ZSkiIDogIikiKTsKICAgICB9CiAKICAgICBpZiAoJHR5cGUgZXEgIkV2ZW50VGFy
Z2V0IikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4RmxvYXQ2NEFycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhGbG9hdDY0QXJyYXkuaAppbmRleCAxMWU0NmE0YzM2NTNmMTQxN2M4ZTBmNDE0YTU1
OWE5NGVlYWNlYTRkLi4xOGIyMmRkMjMzZmE0ZDNjYjBhODlmZDA1ZDA4ZjA1NWUyNmNlMWVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9h
dDY0QXJyYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhGbG9hdDY0QXJyYXkuaApAQCAtNTgsMTAgKzU4LDEwIEBAIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gVjhGbG9hdDY0QXJyYXk6OndyYXAoRmxvYXQ2NEFycmF5KiBpbXBsKQogICAgIHJldHVybiBW
OEZsb2F0NjRBcnJheTo6d3JhcFNsb3coaW1wbCk7CiB9CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVl
PiB0b1Y4KEZsb2F0NjRBcnJheSopOwotaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KFBhc3NSZWZQdHI8IEZsb2F0NjRBcnJheSA+IGltcGwpCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dG9WOChGbG9hdDY0QXJyYXkqLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApOworaW5saW5lIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8IEZsb2F0NjRBcnJheSA+IGltcGws
IHY4OjpJc29sYXRlKiBpc29sYXRlID0gMCkKIHsKLSAgICByZXR1cm4gdG9WOChpbXBsLmdldCgp
KTsKKyAgICByZXR1cm4gdG9WOChpbXBsLmdldCgpLCBpc29sYXRlKTsKIH0KIAogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2
ZURPTU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdEFjdGl2ZURPTU9iamVjdC5oCmluZGV4IDFmZThjNTE1YjQ2ZThmOGYzZTU3NzcwZjhkYmVm
Mzk3MjNjNWFkZjAuLjFkOGMwNmUxOTIzNDYxZDNkOWRjYWI3ZTgzNmRkMjA5MmZiMTI2M2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RB
Y3RpdmVET01PYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKQEAgLTU4LDE1ICs1OCwxNSBAQCB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+IFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6d3JhcChUZXN0QWN0aXZlRE9N
T2JqZWN0KiBpbXBsKQogICAgIHJldHVybiBWOFRlc3RBY3RpdmVET01PYmplY3Q6OndyYXBTbG93
KGltcGwpOwogfQogCi1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdEFjdGl2
ZURPTU9iamVjdCogaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0
QWN0aXZlRE9NT2JqZWN0KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7CiAgICAg
aWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKICAgICByZXR1cm4gVjhUZXN0
QWN0aXZlRE9NT2JqZWN0Ojp3cmFwKGltcGwpOwogfQotaW5saW5lIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiB0b1Y4KFBhc3NSZWZQdHI8IFRlc3RBY3RpdmVET01PYmplY3QgPiBpbXBsKQoraW5saW5l
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8IFRlc3RBY3RpdmVET01PYmpl
Y3QgPiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7Ci0gICAgcmV0dXJuIHRvVjgo
aW1wbC5nZXQoKSk7CisgICAgcmV0dXJuIHRvVjgoaW1wbC5nZXQoKSwgaXNvbGF0ZSk7CiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RDdXN0b21OYW1lZEdldHRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKaW5kZXggZjgwYzRkMjUwNjlkODAx
YTczY2ZjOGU3ZWQ1Y2I3NmY2N2UyNDE2YS4uM2M0MzY0N2VjZDdkMmQxMjdiYTFjOTFiMDZlNzM0
N2ZmOTJmN2RhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKQEAgLTU3LDE1
ICs1NywxNSBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVy
Ojp3cmFwKFRlc3RDdXN0b21OYW1lZEdldHRlciogaW1wbAogICAgIHJldHVybiBWOFRlc3RDdXN0
b21OYW1lZEdldHRlcjo6d3JhcFNsb3coaW1wbCk7CiB9CiAKLWlubGluZSB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gdG9WOChUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIGltcGwpCitpbmxpbmUgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdEN1c3RvbU5hbWVkR2V0dGVyKiBpbXBsLCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSA9IDApCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gdjg6
Ok51bGwoKTsKICAgICByZXR1cm4gVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OndyYXAoaW1wbCk7
CiB9Ci1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoUGFzc1JlZlB0cjwgVGVzdEN1
c3RvbU5hbWVkR2V0dGVyID4gaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9W
OChQYXNzUmVmUHRyPCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIgPiBpbXBsLCB2ODo6SXNvbGF0ZSog
aXNvbGF0ZSA9IDApCiB7Ci0gICAgcmV0dXJuIHRvVjgoaW1wbC5nZXQoKSk7CisgICAgcmV0dXJu
IHRvVjgoaW1wbC5nZXQoKSwgaXNvbGF0ZSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25z
dHJ1Y3Rvci5oCmluZGV4IDkzOTAzNGJkODY0M2IyMzQ0YTk0OGM0YjExMTUxYjgyMTE1NzQ2MzYu
LmQzMDUyOGZiODVkMDJhZDk3NzUxODVjYTMwMTk0NTc4OGI1MjhjODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVj
dG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEV2ZW50Q29uc3RydWN0b3IuaApAQCAtNTgsMTUgKzU4LDE1IEBAIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6d3JhcChUZXN0RXZlbnRDb25zdHJ1Y3Rvciog
aW1wbCkKICAgICByZXR1cm4gVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6d3JhcFNsb3coaW1wbCk7
CiB9CiAKLWlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0RXZlbnRDb25zdHJ1
Y3RvciogaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0RXZlbnRD
b25zdHJ1Y3RvciogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQogewogICAgIGlmICgh
aW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CiAgICAgcmV0dXJuIFY4VGVzdEV2ZW50
Q29uc3RydWN0b3I6OndyYXAoaW1wbCk7CiB9Ci1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHRvVjgoUGFzc1JlZlB0cjwgVGVzdEV2ZW50Q29uc3RydWN0b3IgPiBpbXBsKQoraW5saW5lIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8IFRlc3RFdmVudENvbnN0cnVjdG9y
ID4gaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQogewotICAgIHJldHVybiB0b1Y4KGlt
cGwuZ2V0KCkpOworICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCksIGlzb2xhdGUpOwogfQogCiBi
b29sIGZpbGxUZXN0RXZlbnRDb25zdHJ1Y3RvckluaXQoVGVzdEV2ZW50Q29uc3RydWN0b3JJbml0
JiwgY29uc3QgRGljdGlvbmFyeSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaAppbmRleCA1ZGM1MGZi
N2VjN2UwNjcwZWY5N2QxOWNiYmUzYmEyMGIxMmU2ZmY4Li42NDRlZDRjMGU1YjQ1NDgxYjgyZjM4
NjFkZjczMmRhNGEzYjZjYjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaApAQCAtNTksMTUgKzU5
LDE1IEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0RXZlbnRUYXJnZXQ6OndyYXAoVGVz
dEV2ZW50VGFyZ2V0KiBpbXBsKQogICAgIHJldHVybiBWOFRlc3RFdmVudFRhcmdldDo6d3JhcFNs
b3coaW1wbCk7CiB9CiAKLWlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0RXZl
bnRUYXJnZXQqIGltcGwpCitpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdEV2
ZW50VGFyZ2V0KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7CiAgICAgaWYgKCFp
bXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKICAgICByZXR1cm4gVjhUZXN0RXZlbnRU
YXJnZXQ6OndyYXAoaW1wbCk7CiB9Ci1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgo
UGFzc1JlZlB0cjwgVGVzdEV2ZW50VGFyZ2V0ID4gaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gdG9WOChQYXNzUmVmUHRyPCBUZXN0RXZlbnRUYXJnZXQgPiBpbXBsLCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSA9IDApCiB7Ci0gICAgcmV0dXJuIHRvVjgoaW1wbC5nZXQoKSk7CisgICAg
cmV0dXJuIHRvVjgoaW1wbC5nZXQoKSwgaXNvbGF0ZSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2Uu
aAppbmRleCA5YjBkODQ1NDRiZTg3OTgwYmJiMjQ3MzYzNjA4M2I4NzM4OTI5OTJlLi5jYTBjNzEz
ZWNhZTFhMTM1M2E0Mjc5NTZlNDViMTU2NDJjOTc2NTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oCkBA
IC02MSwxNSArNjEsMTUgQEAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RJbnRlcmZhY2U6
OndyYXAoVGVzdEludGVyZmFjZSogaW1wbCkKICAgICByZXR1cm4gVjhUZXN0SW50ZXJmYWNlOjp3
cmFwU2xvdyhpbXBsKTsKIH0KIAotaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFRl
c3RJbnRlcmZhY2UqIGltcGwpCitpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVz
dEludGVyZmFjZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQogewogICAgIGlmICgh
aW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CiAgICAgcmV0dXJuIFY4VGVzdEludGVy
ZmFjZTo6d3JhcChpbXBsKTsKIH0KLWlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQ
YXNzUmVmUHRyPCBUZXN0SW50ZXJmYWNlID4gaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdG9WOChQYXNzUmVmUHRyPCBUZXN0SW50ZXJmYWNlID4gaW1wbCwgdjg6Oklzb2xhdGUq
IGlzb2xhdGUgPSAwKQogewotICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCkpOworICAgIHJldHVy
biB0b1Y4KGltcGwuZ2V0KCksIGlzb2xhdGUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAppbmRleCAzNDAyYjM3ZGFhNGVmM2RmMjdjODhkMDNhOGEz
ZjdmN2Q3YTExMDAwLi5mNmYzYzQxZDk4YTU1NWZjZjFiZjQ2NmUwNmMxYjMzYjU5NGU4NjFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKQEAgLTU2LDE1ICs1
NiwxNSBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXI6OndyYXAoVGVzdE1lZGlhUXVlcnlMaXN0TGlzdAogICAgIHJldHVybiBWOFRlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyOjp3cmFwU2xvdyhpbXBsKTsKIH0KIAotaW5saW5lIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB0b1Y4KFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBpbXBsKQoraW5saW5l
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBp
bXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAg
ICByZXR1cm4gdjg6Ok51bGwoKTsKICAgICByZXR1cm4gVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcjo6d3JhcChpbXBsKTsKIH0KLWlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQ
YXNzUmVmUHRyPCBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciA+IGltcGwpCitpbmxpbmUgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoUGFzc1JlZlB0cjwgVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIgPiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7Ci0gICAgcmV0dXJuIHRv
VjgoaW1wbC5nZXQoKSk7CisgICAgcmV0dXJuIHRvVjgoaW1wbC5nZXQoKSwgaXNvbGF0ZSk7CiB9
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCmluZGV4IGEyZjVmMDM0OGIwMjdl
NzY0NTEzZWU0NzkxMWQ3YzMwZjM1N2IzNzguLjU3MDNlMzllN2FmZDBkMzRmYzM5N2Y0NjA0YWU0
ODlhMTE5ZDcwZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaApAQCAtNjMsMTUg
KzYzLDE1IEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6
d3JhcChUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1wbCkKICAgICByZXR1cm4gVjhUZXN0TmFtZWRD
b25zdHJ1Y3Rvcjo6d3JhcFNsb3coaW1wbCk7CiB9CiAKLWlubGluZSB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdG9WOChUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1wbCkKK2lubGluZSB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdG9WOChUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1wbCwgdjg6Oklzb2xhdGUq
IGlzb2xhdGUgPSAwKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxs
KCk7CiAgICAgcmV0dXJuIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OndyYXAoaW1wbCk7CiB9Ci1p
bmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoUGFzc1JlZlB0cjwgVGVzdE5hbWVkQ29u
c3RydWN0b3IgPiBpbXBsKQoraW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NS
ZWZQdHI8IFRlc3ROYW1lZENvbnN0cnVjdG9yID4gaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUg
PSAwKQogewotICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCkpOworICAgIHJldHVybiB0b1Y4KGlt
cGwuZ2V0KCksIGlzb2xhdGUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuaAppbmRleCA0ODAyYjA3MzIzY2Q4ZWRj
YzE4Y2ExMzg3ZjIzMDQ1OTUyOWIxYzkzLi5mMTQxYjI4N2NmM2E4ZDI0NDFkNjZkNDgwODYwMzgw
YzMyOTQxNTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3ROb2RlLmgKQEAgLTU3LDE1ICs1NywxNSBAQCB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IFY4VGVzdE5vZGU6OndyYXAoVGVzdE5vZGUqIGltcGwpCiAgICAgcmV0dXJuIFY4VGVz
dE5vZGU6OndyYXBTbG93KGltcGwpOwogfQogCi1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHRvVjgoVGVzdE5vZGUqIGltcGwpCitpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgo
VGVzdE5vZGUqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlID0gMCkKIHsKICAgICBpZiAoIWlt
cGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwogICAgIHJldHVybiBWOFRlc3ROb2RlOjp3
cmFwKGltcGwpOwogfQotaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQ
dHI8IFRlc3ROb2RlID4gaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQ
YXNzUmVmUHRyPCBUZXN0Tm9kZSA+IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlID0gMCkKIHsK
LSAgICByZXR1cm4gdG9WOChpbXBsLmdldCgpKTsKKyAgICByZXR1cm4gdG9WOChpbXBsLmdldCgp
LCBpc29sYXRlKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5oCmluZGV4IDUyOWM1ODFlZGFjMTViYjIwZTIwNzYyYTI1
YTA3MDFmYzQ4YzMwNDEuLmY5MmUzMTg2NGM5MTE1ODM2ZDc4MjhmZmFjMzg4YTM3M2M3NmZiZTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RPYmouaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0T2JqLmgKQEAgLTYyLDE1ICs2MiwxNSBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVz
dE9iajo6d3JhcChUZXN0T2JqKiBpbXBsKQogICAgIHJldHVybiBWOFRlc3RPYmo6OndyYXBTbG93
KGltcGwpOwogfQogCi1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdE9iaiog
aW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0T2JqKiBpbXBsLCB2
ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1
cm4gdjg6Ok51bGwoKTsKICAgICByZXR1cm4gVjhUZXN0T2JqOjp3cmFwKGltcGwpOwogfQotaW5s
aW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8IFRlc3RPYmogPiBpbXBs
KQoraW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8IFRlc3RPYmog
PiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7Ci0gICAgcmV0dXJuIHRvVjgoaW1w
bC5nZXQoKSk7CisgICAgcmV0dXJuIHRvVjgoaW1wbC5nZXQoKSwgaXNvbGF0ZSk7CiB9CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Uu
aAppbmRleCA4NmE1NWY4NDBiMDZlMDk5YjMzYmRkZTNlYjI2NGRkOTRkZDc4MWJhLi5hYjk4MzY1
NWJmY2ZiMDEzZWZkMjlhMDBiOTdlYjYxYWFmYTI0NGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCkBAIC01OSwxNSArNTksMTUg
QEAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2U6OndyYXAoVGVzdFNlcmlhbGl6ZWQKICAgICByZXR1cm4gVjhUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlOjp3cmFwU2xvdyhpbXBsKTsKIH0KIAotaW5saW5lIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB0b1Y4KFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqIGlt
cGwpCitpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQogewogICAg
IGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CiAgICAgcmV0dXJuIFY4VGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6d3JhcChpbXBsKTsKIH0KLWlubGluZSB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQYXNzUmVmUHRyPCBUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlID4gaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9W
OChQYXNzUmVmUHRyPCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlID4gaW1wbCwg
djg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQogewotICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCkp
OworICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCksIGlzb2xhdGUpOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhCbG9iQ3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20uY3BwCmluZGV4
IDY4NTM1NzhlOTI3YTdlOTIzYTMwYjRkNzE2YWMyZWM4YzM3NGZjMDEuLjQ4OGJmZjM0Y2ZkODNj
MjE0Y2RkMWJhZGE2OGE3YzRiMDJlZmU5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20uY3BwCkBAIC0zOCw3ICszOCw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoQmxvYiogaW1w
bCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEJsb2IqIGltcGwsIHY4OjpJc29sYXRlKiBp
c29sYXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3Vz
dG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0
b20uY3BwCmluZGV4IGFiNjc2OGM0ZGUyNTMyMGExZmY2NmRkZTBhNTcyM2Y3OWM3OTYyNWIuLjQ4
NTZiNmRkYTBlYWU4NDEwMzNjZWI4YzY2MmYwNGVkZDIzZGMzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCkBAIC00
Myw3ICs0Myw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHRvVjgoQ1NTUnVsZSogaW1wbCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENTU1J1
bGUqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAg
ICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwCmluZGV4IDliMjk4OGI3
ZWFlYTNiNGJiMTQ4MDliZWZkODU0NzFlZTA5N2MyZTAuLmFlMDIzMDk3MmEwMDU0Zjc4YjU5ZThm
ZDlhZmI4MTEwOWFhZWNjODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwCkBAIC0zNiw3ICszNiw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgo
Q1NTU3R5bGVTaGVldCogaW1wbCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENTU1N0eWxl
U2hlZXQqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkKICAg
ICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhDU1NWYWx1ZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhDU1NWYWx1ZUN1c3RvbS5jcHAKaW5kZXggNjAxYTYyYTVhZDIxNTY1
MWRmOTVjYmMwODhjMjlmZDM3NmM4MDY2MC4uZjA2OTNjMjI0NzA0NjFkYjIyYTYzNTJlNjFlOGY5
MjUyNTcyNTlkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q1NTVmFsdWVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOENTU1ZhbHVlQ3VzdG9tLmNwcApAQCAtNDIsNyArNDIsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENTU1ZhbHVlKiBpbXBsKQor
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoQ1NTVmFsdWUqIGltcGwsIHY4OjpJc29sYXRlKiBp
c29sYXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDYW52YXNQaXhl
bEFycmF5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENh
bnZhc1BpeGVsQXJyYXlDdXN0b20uY3BwCmluZGV4IDkxZTM5Yjc1Y2UwZTBkNTM2MDcwNTliZjAz
N2FhMjYzYjQ4N2NmYmEuLmE3OTc5YjIxYWQyNjBlODY1MThlYjNlMWE2ZDkzMjMzYzdkZTM0MjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENhbnZhc1Bp
eGVsQXJyYXlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOENhbnZhc1BpeGVsQXJyYXlDdXN0b20uY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoQ2FudmFzUGl4ZWxB
cnJheSogaW1wbCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENhbnZhc1BpeGVsQXJyYXkq
IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAg
cmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAppbmRleCBkZGYyMmE3NDZhMjFj
ZmMzNzg2ZTgwY2E0NDQ5NzQ0OGFjMjc3YzY0Li5mMmEyOTFhYzY1MTM0YjJkMDg1ZjNhOTRmOTkz
MGYwYzI2YWUzOTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NU3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5U2V0dGVyKHY4
OjpMb2NhbDx2ODo6U3RyaW5nPgogICAgIHJldHVybiB2YWx1ZTsKIH0KIAotdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHRvVjgoRE9NU3RyaW5nTWFwKiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHRvVjgoRE9NU3RyaW5nTWFwKiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBp
ZiAoIWltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAK
aW5kZXggYTIzZGE0ODEwZTNmMTYzN2VhYjJhYjU4OTUwZjAyYjVkYWFjZWJhNC4uY2YyMGMxMjRm
OTMyYmY2ZmZiMjM0MTZlYjI5YzU1YTJmNmE2NWM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCkBA
IC0zOCw3ICszOCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHRvVjgoRE9NVG9rZW5MaXN0KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRv
VjgoRE9NVG9rZW5MaXN0KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAo
IWltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggZGZj
MzBlOTQ4MGVhOTdiYjFhNjZlZThkZWY4MWU5YzJkODE0ZmVhYS4uZWI2NWM1ZTIwOTllM2U0YWE5
MWYwMGRmZmI2Y2ZiMGZmZjMxN2ZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCkBAIC01OTgsNyArNTk4LDcg
QEAgYm9vbCBWOERPTVdpbmRvdzo6aW5kZXhlZFNlY3VyaXR5Q2hlY2sodjg6OkxvY2FsPHY4OjpP
YmplY3Q+IGhvc3QsIHVpbnQzMl90IGluZGUKICAgICByZXR1cm4gVjhCaW5kaW5nU2VjdXJpdHk6
OmNhbkFjY2Vzc0ZyYW1lKFY4QmluZGluZ1N0YXRlOjpPbmx5KCksIHRhcmdldCwgZmFsc2UpOwog
fQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChET01XaW5kb3cqIHdpbmRvdykKK3Y4OjpI
YW5kbGU8djg6OlZhbHVlPiB0b1Y4KERPTVdpbmRvdyogd2luZG93LCB2ODo6SXNvbGF0ZSogaXNv
bGF0ZSkKIHsKICAgICBpZiAoIXdpbmRvdykKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEYXRhVmlld0N1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEYXRhVmlld0N1
c3RvbS5jcHAKaW5kZXggOTIwM2ZlZGNjNzhmNDA0NTE5NDlhMjZhY2EyOTg0YWYwMGY5NzU2OC4u
YjVmODAyMjU3N2Q2MTgyYmQ5Y2YxOGM1NTE5NmY5YjY5OGI0NGNjOSAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YVZpZXdDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFWaWV3Q3VzdG9tLmNwcApA
QCAtNTYsNyArNTYsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEYXRhVmlldzo6Y29uc3Ry
dWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVybiBjb25z
dHJ1Y3RXZWJHTEFycmF5V2l0aEFycmF5QnVmZmVyQXJndW1lbnQ8RGF0YVZpZXcsIGNoYXI+KGFy
Z3MsICZpbmZvLCB2ODo6a0V4dGVybmFsQnl0ZUFycmF5LCBmYWxzZSk7CiB9CiAKLXY4OjpIYW5k
bGU8djg6OlZhbHVlPiB0b1Y4KERhdGFWaWV3KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHRvVjgoRGF0YVZpZXcqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICgh
aW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAKaW5kZXggZTZiYTc1
YjczMmVjZTM2ZTI0ZDEzN2JjY2M2NDdhZjBjMjlmNTNmYS4uNTdiZDIyNGMxNWY4NjUxYzllNTk4
NGI1NGI2NGQzZmFmODZjYWVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcApAQCAtMTE2LDE1ICsxMTYsMTUgQEAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RG9jdW1lbnQ6OmdldENTU0NhbnZhc0NvbnRleHRDYWxs
YmFjayhjb25zdCB2ODo6QXJndW1lbnQKICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogfQog
Ci12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChEb2N1bWVudCogaW1wbCwgYm9vbCBmb3JjZU5l
d09iamVjdCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KERvY3VtZW50KiBpbXBsLCB2ODo6
SXNvbGF0ZSogaXNvbGF0ZSwgYm9vbCBmb3JjZU5ld09iamVjdCkKIHsKICAgICBpZiAoIWltcGwp
CiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwogICAgIGlmIChpbXBsLT5pc0hUTUxEb2N1bWVu
dCgpKQotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxIVE1MRG9jdW1lbnQqPihpbXBs
KSwgZm9yY2VOZXdPYmplY3QpOworICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxIVE1M
RG9jdW1lbnQqPihpbXBsKSwgaXNvbGF0ZSwgZm9yY2VOZXdPYmplY3QpOwogI2lmIEVOQUJMRShT
VkcpCiAgICAgaWYgKGltcGwtPmlzU1ZHRG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIHRvVjgo
c3RhdGljX2Nhc3Q8U1ZHRG9jdW1lbnQqPihpbXBsKSwgZm9yY2VOZXdPYmplY3QpOworICAgICAg
ICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxTVkdEb2N1bWVudCo+KGltcGwpLCBpc29sYXRlLCBm
b3JjZU5ld09iamVjdCk7CiAjZW5kaWYKICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBw
ZXIgPSBWOERvY3VtZW50Ojp3cmFwKGltcGwsIGZvcmNlTmV3T2JqZWN0KTsKICAgICBpZiAod3Jh
cHBlci5Jc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhFbnRyeUN1c3RvbS5jcHAKaW5kZXggYzAyY2Q2ZmQ1ZmU2ZjkxMWQ3MzA0ZTY1MDlmZWQ1
OGYzOGNhOWQ5Ni4uNTUxOWU3NDFlMTI0MGNjYTQ1M2ViNmYwMmI4ZTJkNTAwMWI1YTI4ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVudHJ5Q3VzdG9t
LmNwcApAQCAtNDQsNyArNDQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXY4OjpIYW5k
bGU8djg6OlZhbHVlPiB0b1Y4KEVudHJ5KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRv
VjgoRW50cnkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkK
ICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlTeW5jQ3VzdG9tLmNwcAppbmRleCBlOThkZjE5YjBi
MTNlMTk0ZWJhYjY3MWU2ZjY0ZTBhMThmYzA3YjIyLi44Y2JmY2Y1ZDcyODI1N2QzMTMxYTk2ZGY0
NzE2NDVlNGE3YWI4OGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEVudHJ5U3luY0N1c3RvbS5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChFbnRyeVN5bmMq
IGltcGwpCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChFbnRyeVN5bmMqIGltcGwsIHY4OjpJ
c29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpO
dWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhF
dmVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVu
dEN1c3RvbS5jcHAKaW5kZXggNDg5MzljZjAxYzcwN2YyYjA5ODJiOTdhZDU3YWViYmRhMjkxNzEx
ZS4uNTJlZGRiN2NiZDU2M2NjYzg3ZGRkMDEwNGZhZjVhYmQ2ODM1YmM1ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcApAQCAt
NzMsNyArNzMsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhFdmVudDo6Y2xpcGJvYXJkRGF0
YUFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPgogICAgIGlmIChldmVudE5hbWVz
KCkuaW50ZXJmYWNlRm9yIyNpbnRlcmZhY2VOYW1lID09IGRlc2lyZWRJbnRlcmZhY2UpIFwKICAg
ICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8aW50ZXJmYWNlTmFtZSo+KGV2ZW50KSk7CiAK
LXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEV2ZW50KiBldmVudCkKK3Y4OjpIYW5kbGU8djg6
OlZhbHVlPiB0b1Y4KEV2ZW50KiBldmVudCwgdjg6Oklzb2xhdGUgKmlzb2xhdGUpCiB7CiAgICAg
aWYgKCFldmVudCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhGbG9hdDMyQXJyYXlDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RmxvYXQzMkFycmF5Q3VzdG9tLmNw
cAppbmRleCAyY2E1OTBhYjcyMGM4YTFiY2M5M2RiYWUxYTBkYjNjNzdlODA4YjYxLi5lOWE0ZmE2
NDVhYjllMTAzNTU5MGRiMjM4NGY4ZmJlM2VhMjhiNGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhGbG9hdDMyQXJyYXlDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEZsb2F0MzJBcnJheUN1c3RvbS5jcHAK
QEAgLTU0LDcgKzU0LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RmxvYXQzMkFycmF5Ojpz
ZXRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVybiBzZXRXZWJH
TEFycmF5SGVscGVyPEZsb2F0MzJBcnJheSwgVjhGbG9hdDMyQXJyYXk+KGFyZ3MpOwogfQogCi12
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChGbG9hdDMyQXJyYXkqIGltcGwpCit2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdG9WOChGbG9hdDMyQXJyYXkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRl
KQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhGbG9hdDY0QXJyYXlDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RmxvYXQ2NEFycmF5
Q3VzdG9tLmNwcAppbmRleCAwOTI1MjJhMzQ4MGZmMDc3ZWE1OWY5YjZhNGQ0Zjc4ZTVjZjI2NWM0
Li43ZTI1M2JjYWIwOWI4MjcyMzdmY2VmNGY3MGM3ODczOTg2ZjYyNzJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhGbG9hdDY0QXJyYXlDdXN0b20uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEZsb2F0NjRBcnJheUN1
c3RvbS5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RmxvYXQ2
NEFycmF5OjpzZXRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVy
biBzZXRXZWJHTEFycmF5SGVscGVyPEZsb2F0NjRBcnJheSwgVjhGbG9hdDY0QXJyYXk+KGFyZ3Mp
OwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChGbG9hdDY0QXJyYXkqIGltcGwpCit2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChGbG9hdDY0QXJyYXkqIGltcGwsIHY4OjpJc29sYXRl
KiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ29s
bGVjdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhI
VE1MQ29sbGVjdGlvbkN1c3RvbS5jcHAKaW5kZXggZGRhNTFkNDAyN2NlN2Y2M2VlMTY5ODE5NjNk
NjY5NDZiYzQwNDA5MS4uMmUyMjU1YzY0NGM2NmI3Y2ZlZDQzMGU4YWU5NDJjZjhjYjUwMTgzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENvbGxl
Y3Rpb25DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEhUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcApAQCAtODAsNyArODAsNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhIVE1MQ29sbGVjdGlvbjo6bmFtZWRJdGVtQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVl
PiB0b1Y4KEhUTUxDb2xsZWN0aW9uKiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgo
SFRNTENvbGxlY3Rpb24qIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmIChp
bXBsLT50eXBlKCkgPT0gRG9jQWxsKQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxI
VE1MQWxsQ29sbGVjdGlvbio+KGltcGwpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwCmluZGV4IDRjZjFi
Y2EwOTE1ZjA0ZWI4M2EyOTQyMjZmM2I5MmQ3YjkwNjdhZjEuLjgxYzQ2Yzc0NDUyNjNlMjlhMGRh
MmFiNzljODc3MzY3NzE1MWZjYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNwcApAQCAtMTg2LDcgKzE4
Niw3IEBAIHZvaWQgVjhIVE1MRG9jdW1lbnQ6OmFsbEFjY2Vzc29yU2V0dGVyKHY4OjpMb2NhbDx2
ODo6U3RyaW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6CiAgICAgaW5mby5UaGlzKCktPkZvcmNlU2V0
KG5hbWUsIHZhbHVlKTsKIH0KIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSFRNTERvY3Vt
ZW50KiBpbXBsLCBib29sIGZvcmNlTmV3T2JqZWN0KQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRv
VjgoSFRNTERvY3VtZW50KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwgYm9vbCBmb3JjZU5l
d09iamVjdCkKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEVsZW1l
bnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEVs
ZW1lbnRDdXN0b20uY3BwCmluZGV4IDFjYTZiZDM4ODRkOWRhMjhmMjgzYmMxZjM2MTY4ZGIzMDZl
YzA5OWYuLmZmZWJkYTNlNWI3Yjc4YTk5MzQxOTE1Mjg4MTY3NDZhNjlmNzI3YjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxFbGVtZW50Q3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRWxlbWVu
dEN1c3RvbS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB0b1Y4T2JqZWN0KE1pY3JvRGF0YUl0ZW1WYWx1ZSogaXRlbVZhbHVlKQogfQogI2VuZGlmCiAK
LXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEhUTUxFbGVtZW50KiBpbXBsLCBib29sIGZvcmNl
TmV3T2JqZWN0KQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSFRNTEVsZW1lbnQqIGltcGws
IHY4OjpJc29sYXRlKiBpc29sYXRlLCBib29sIGZvcmNlTmV3T2JqZWN0KQogewogICAgIGlmICgh
aW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJBbnlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCQW55Q3VzdG9tLmNwcAppbmRleCBlNDgzMWFkOWEy
NjBlZmM1ODAzMTE4NTg4YmVjZjk1ZDg4YTJiMjJiLi43NWVkZDQ4ZDgyYzNjNTAwMTAzNDYzMzY0
ODNmZjdlNjRjMzMxNDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhJREJBbnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOElEQkFueUN1c3RvbS5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJREJBbnkqIGltcGwpCit2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJREJBbnkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29s
YXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNw
cAppbmRleCAwZmJmZTFiZjI2NzQ5Zjc3ODgwOTA4NDU2MDBjMDY0MDYyYzM5ZTZkLi45YjBlNjU0
MTQ2NWM3OTM1M2E0NzZkNTFiYmJjZGE1ODM2ZjNhMzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElEQktleUN1c3RvbS5jcHAKQEAgLTM4LDcgKzM4
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9W
OChJREJLZXkqIGtleSkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KElEQktleSoga2V5LCB2
ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWtleSkKICAgICAgICAgcmV0dXJuIHY4
OjpOdWxsKCk7CkBAIC01OCw3ICs1OCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KElE
QktleSoga2V5KQogICAgICAgICB7CiAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OkFycmF5PiBh
cnJheSA9IHY4OjpBcnJheTo6TmV3KGtleS0+YXJyYXkoKS5zaXplKCkpOwogICAgICAgICAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXktPmFycmF5KCkuc2l6ZSgpOyArK2kpCi0gICAgICAg
ICAgICAgICAgYXJyYXktPlNldChpLCB0b1Y4KGtleS0+YXJyYXkoKVtpXS5nZXQoKSkpOworICAg
ICAgICAgICAgICAgIGFycmF5LT5TZXQoaSwgdG9WOChrZXktPmFycmF5KClbaV0uZ2V0KCksIGlz
b2xhdGUpKTsKICAgICAgICAgICAgIHJldHVybiBhcnJheTsKICAgICAgICAgfQogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEltYWdlRGF0YUN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbWFnZURhdGFD
dXN0b20uY3BwCmluZGV4IGI0NTQ5ZTQxNjU5Y2ZiMjE1MTEyMjg0ZGUwMTI0ZWZhNWI3ZTA1MWIu
LjMzN2E1YmY4MDI2OWIyM2YxMDI3ZTY3YTVhNTdhZDgzOWUxYTQ0MjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEltYWdlRGF0YUN1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW1hZ2VEYXRhQ3VzdG9tLmNw
cApAQCAtMzUsNyArMzUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXY4OjpIYW5kbGU8
djg6OlZhbHVlPiB0b1Y4KEltYWdlRGF0YSogaW1wbCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0
b1Y4KEltYWdlRGF0YSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFp
bXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludDE2QXJyYXlDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50MTZBcnJheUN1c3RvbS5jcHAKaW5kZXggNzBk
NTM4NGRmMzAyMGE4NTRlMTdlMWI0ZTUwYjZhNTJkYjM4ZWNkZi4uMWVlZTk4ZGE4ZGE0Mzc1MGRm
N2Q4Yjc2MzdkY2U3YzE5YjRmOTk3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SW50MTZBcnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50MTZBcnJheUN1c3RvbS5jcHAKQEAgLTUzLDcgKzUzLDcg
QEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SW50MTZBcnJheTo6c2V0Q2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJncykKICAgICByZXR1cm4gc2V0V2ViR0xBcnJheUhlbHBlcjxJbnQx
NkFycmF5LCBWOEludDE2QXJyYXk+KGFyZ3MpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dG9WOChJbnQxNkFycmF5KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSW50MTZB
cnJheSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQogICAg
ICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOEludDMyQXJyYXlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SW50MzJBcnJheUN1c3RvbS5jcHAKaW5kZXggMGUwMTI1ZjYyMjVi
ZGFlODJkMDBhNzllOWFlN2JjNzFjOTk5NmJkMS4uNjc2N2EyMjQ4M2IzMGM4NmY0MTVlMjEwODg5
NTFiMTU5ZTMxYjM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4SW50MzJBcnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SW50MzJBcnJheUN1c3RvbS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4SW50MzJBcnJheTo6c2V0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3Vt
ZW50cyYgYXJncykKICAgICByZXR1cm4gc2V0V2ViR0xBcnJheUhlbHBlcjxJbnQzMkFycmF5LCBW
OEludDMyQXJyYXk+KGFyZ3MpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJbnQz
MkFycmF5KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSW50MzJBcnJheSogaW1w
bCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1
cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEludDhBcnJheUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhJbnQ4QXJyYXlDdXN0b20uY3BwCmluZGV4IDY1ZDZlYTdhNjdhMGNhOThlODY5MTEz
MTQ4NDdjMzk0YzQ3MmM3OTAuLjEzNzMwMDhlMjAyYzFiMDAwZTc2ZTJiYmIzODUzZmQ1NTk4NzEz
MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludDhB
cnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SW50OEFycmF5Q3VzdG9tLmNwcApAQCAtNTMsNyArNTMsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhJbnQ4QXJyYXk6OnNldENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAg
ICAgcmV0dXJuIHNldFdlYkdMQXJyYXlIZWxwZXI8SW50OEFycmF5LCBWOEludDhBcnJheT4oYXJn
cyk7CiB9CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEludDhBcnJheSogaW1wbCkKK3Y4
OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEludDhBcnJheSogaW1wbCwgdjg6Oklzb2xhdGUqIGlz
b2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOExvY2F0aW9uQ3Vz
dG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOExvY2F0aW9uQ3Vz
dG9tLmNwcAppbmRleCA3ZGI3NGU4NTgyMmI0MTYyOWM5YjBlMGQ4NjUyMGZkZDZjYWNjNDA4Li41
MGVjYTAzYjliMTIxOGZkYTkwYTViYzU4MzMyNzcyNzE5NTU5MmMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhMb2NhdGlvbkN1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3BwCkBA
IC0yNzIsNyArMjcyLDcgQEAgYm9vbCBWOExvY2F0aW9uOjpuYW1lZFNlY3VyaXR5Q2hlY2sodjg6
OkxvY2FsPHY4OjpPYmplY3Q+IGhvc3QsIHY4OjpMb2NhbDx2ODo6VmEKICAgICByZXR1cm4gVjhC
aW5kaW5nU2VjdXJpdHk6OmNhbkFjY2Vzc0ZyYW1lKFY4QmluZGluZ1N0YXRlOjpPbmx5KCksIGlt
cC0+ZnJhbWUoKSwgZmFsc2UpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChMb2Nh
dGlvbiogaW1wbCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KExvY2F0aW9uKiBpbXBsLCB2
ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiB2
ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKaW5kZXggZjMwMzEyOGUwODc0MDdjYzA4YWNk
ODUyNzFjMjk1OWRjZTk5ZWY3NC4uZTE3MTE5NmMxMTQ2YWJlODZlYmZmYzA1ZWU5ODdmZGFmZGE1
NTEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFt
ZWROb2RlTWFwQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwCkBAIC03MSw3ICs3MSw3IEBAIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOE5hbWVkTm9kZU1hcDo6bmFtZWRQcm9wZXJ0eUdldHRlcih2ODo6TG9jYWw8
djg6OlN0cmluZz4KICAgICByZXR1cm4gdG9WOChyZXN1bHQucmVsZWFzZSgpKTsKIH0KIAotdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoTmFtZWROb2RlTWFwKiBpbXBsKQordjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHRvVjgoTmFtZWROb2RlTWFwKiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkK
IHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcAppbmRleCBk
NmY0YmJlZjM5ODYxZTliNzgwYmY0MWU5MWZmMTUxOWIzNDU4NWRkLi4xYjg5YjNhOTMxZTg5Yjc0
OWM5OGY5MWI1OWNkOTRiMDQwZWNjODVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcApAQCAtMTQ5LDM0ICsxNDksMzQgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjhTbG93KE5vZGUqIGltcGwsIGJvb2wgZm9yY2VOZXdPYmpl
Y3QpCiAgICAgc3dpdGNoIChpbXBsLT5ub2RlVHlwZSgpKSB7CiAgICAgY2FzZSBOb2RlOjpFTEVN
RU5UX05PREU6CiAgICAgICAgIGlmIChpbXBsLT5pc0hUTUxFbGVtZW50KCkpCi0gICAgICAgICAg
ICByZXR1cm4gdG9WOCh0b0hUTUxFbGVtZW50KGltcGwpLCBmb3JjZU5ld09iamVjdCk7CisgICAg
ICAgICAgICByZXR1cm4gdG9WOCh0b0hUTUxFbGVtZW50KGltcGwpLCAwLCBmb3JjZU5ld09iamVj
dCk7CiAjaWYgRU5BQkxFKFNWRykKICAgICAgICAgaWYgKGltcGwtPmlzU1ZHRWxlbWVudCgpKQot
ICAgICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KGltcGwpLCBm
b3JjZU5ld09iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxTVkdF
bGVtZW50Kj4oaW1wbCksIDAsIGZvcmNlTmV3T2JqZWN0KTsKICNlbmRpZgogICAgICAgICByZXR1
cm4gVjhFbGVtZW50Ojp3cmFwKHN0YXRpY19jYXN0PEVsZW1lbnQqPihpbXBsKSwgZm9yY2VOZXdP
YmplY3QpOwogICAgIGNhc2UgTm9kZTo6QVRUUklCVVRFX05PREU6Ci0gICAgICAgIHJldHVybiB0
b1Y4KHN0YXRpY19jYXN0PEF0dHIqPihpbXBsKSwgZm9yY2VOZXdPYmplY3QpOworICAgICAgICBy
ZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxBdHRyKj4oaW1wbCksIDAsIGZvcmNlTmV3T2JqZWN0KTsK
ICAgICBjYXNlIE5vZGU6OlRFWFRfTk9ERToKLSAgICAgICAgcmV0dXJuIHRvVjgodG9UZXh0KGlt
cGwpLCBmb3JjZU5ld09iamVjdCk7CisgICAgICAgIHJldHVybiB0b1Y4KHRvVGV4dChpbXBsKSwg
MCwgZm9yY2VOZXdPYmplY3QpOwogICAgIGNhc2UgTm9kZTo6Q0RBVEFfU0VDVElPTl9OT0RFOgot
ICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDREFUQVNlY3Rpb24qPihpbXBsKSwgZm9y
Y2VOZXdPYmplY3QpOworICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDREFUQVNlY3Rp
b24qPihpbXBsKSwgMCwgZm9yY2VOZXdPYmplY3QpOwogICAgIGNhc2UgTm9kZTo6RU5USVRZX1JF
RkVSRU5DRV9OT0RFOgotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxFbnRpdHlSZWZl
cmVuY2UqPihpbXBsKSwgZm9yY2VOZXdPYmplY3QpOworICAgICAgICByZXR1cm4gdG9WOChzdGF0
aWNfY2FzdDxFbnRpdHlSZWZlcmVuY2UqPihpbXBsKSwgMCwgZm9yY2VOZXdPYmplY3QpOwogICAg
IGNhc2UgTm9kZTo6RU5USVRZX05PREU6Ci0gICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0
PEVudGl0eSo+KGltcGwpLCBmb3JjZU5ld09iamVjdCk7CisgICAgICAgIHJldHVybiB0b1Y4KHN0
YXRpY19jYXN0PEVudGl0eSo+KGltcGwpLCAwLCBmb3JjZU5ld09iamVjdCk7CiAgICAgY2FzZSBO
b2RlOjpQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREU6Ci0gICAgICAgIHJldHVybiB0b1Y4KHN0
YXRpY19jYXN0PFByb2Nlc3NpbmdJbnN0cnVjdGlvbio+KGltcGwpLCBmb3JjZU5ld09iamVjdCk7
CisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFByb2Nlc3NpbmdJbnN0cnVjdGlvbio+
KGltcGwpLCAwLCBmb3JjZU5ld09iamVjdCk7CiAgICAgY2FzZSBOb2RlOjpDT01NRU5UX05PREU6
Ci0gICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PENvbW1lbnQqPihpbXBsKSwgZm9yY2VO
ZXdPYmplY3QpOworICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDb21tZW50Kj4oaW1w
bCksIDAsIGZvcmNlTmV3T2JqZWN0KTsKICAgICBjYXNlIE5vZGU6OkRPQ1VNRU5UX05PREU6Ci0g
ICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PERvY3VtZW50Kj4oaW1wbCksIGZvcmNlTmV3
T2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihpbXBs
KSwgMCwgZm9yY2VOZXdPYmplY3QpOwogICAgIGNhc2UgTm9kZTo6RE9DVU1FTlRfVFlQRV9OT0RF
OgotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxEb2N1bWVudFR5cGUqPihpbXBsKSwg
Zm9yY2VOZXdPYmplY3QpOworICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxEb2N1bWVu
dFR5cGUqPihpbXBsKSwgMCwgZm9yY2VOZXdPYmplY3QpOwogICAgIGNhc2UgTm9kZTo6RE9DVU1F
TlRfRlJBR01FTlRfTk9ERToKLSAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8RG9jdW1l
bnRGcmFnbWVudCo+KGltcGwpLCBmb3JjZU5ld09iamVjdCk7CisgICAgICAgIHJldHVybiB0b1Y4
KHN0YXRpY19jYXN0PERvY3VtZW50RnJhZ21lbnQqPihpbXBsKSwgMCwgZm9yY2VOZXdPYmplY3Qp
OwogICAgIGNhc2UgTm9kZTo6Tk9UQVRJT05fTk9ERToKLSAgICAgICAgcmV0dXJuIHRvVjgoc3Rh
dGljX2Nhc3Q8Tm90YXRpb24qPihpbXBsKSwgZm9yY2VOZXdPYmplY3QpOworICAgICAgICByZXR1
cm4gdG9WOChzdGF0aWNfY2FzdDxOb3RhdGlvbio+KGltcGwpLCAwLCBmb3JjZU5ld09iamVjdCk7
CiAgICAgZGVmYXVsdDogYnJlYWs7IC8vIFhQQVRIX05BTUVTUEFDRV9OT0RFCiAgICAgfQogICAg
IHJldHVybiBWOE5vZGU6OndyYXAoaW1wbCwgZm9yY2VOZXdPYmplY3QpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRG9jdW1lbnRDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRG9jdW1lbnRDdXN0b20u
Y3BwCmluZGV4IDhkY2U2MWIzMmU0ODEyN2VhOGRiZDhhYzY3YWI2OTdiMWUyMWQ5ZjIuLjFjNWJh
ODVlMDlhNGQ0N2JmYmNiZmExYzhhYjE0YTg5ZThmNjE3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0RvY3VtZW50Q3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdEb2N1bWVudEN1c3RvbS5jcHAK
QEAgLTM4LDcgKzM4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gdG9WOChTVkdEb2N1bWVudCogaW1wbCwgYm9vbCBmb3JjZU5ld09iamVjdCkKK3Y4
OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFNWR0RvY3VtZW50KiBpbXBsLCB2ODo6SXNvbGF0ZSog
aXNvbGF0ZSwgYm9vbCBmb3JjZU5ld09iamVjdCkKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAg
IHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4U1ZHRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhTVkdFbGVtZW50Q3VzdG9tLmNwcAppbmRleCA3YWQ1ZjQxNTdlMGU1YjJl
YjZiNzZlZWVkMDU2ZThiMGZlNGYzNjgwLi5mY2NlNDVhODc0Y2ExYzFmZTg4MDc0NGZiY2M3N2Q1
MGM2OGRiODU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhTVkdFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhTVkdFbGVtZW50Q3VzdG9tLmNwcApAQCAtMzcsNyArMzcsNyBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFNWR0VsZW1lbnQqIGlt
cGwsIGJvb2wgZm9yY2VOZXdPYmplY3QpCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChTVkdF
bGVtZW50KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwgYm9vbCBmb3JjZU5ld09iamVjdCkK
IHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHUGF0aFNlZ0N1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdQYXRoU2VnQ3VzdG9t
LmNwcAppbmRleCA1NTQ0ZjgzOWViYzkyZjZjNjA2OTQyYmVmZWRhMjRkYjViMGYzZmE0Li5iYzdk
OWZkMWIwZWU4ZGNiZDFhMTgxYjg3MzY4NjQzMzBlYzA3MjYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdQYXRoU2VnQ3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdQYXRoU2VnQ3VzdG9tLmNwcApA
QCAtNTcsNyArNTcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXY4OjpIYW5kbGU8djg6
OlZhbHVlPiB0b1Y4KFNWR1BhdGhTZWcqIGltcGwpCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9W
OChTVkdQYXRoU2VnKiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWlt
cGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZUN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTY3JpcHRQcm9maWxlQ3VzdG9tLmNwcAppbmRl
eCA2NDIxODU1MDE2MjZmZDJlOWNmN2QzMmFjMmJmZTNhZmJiM2Y2MTNiLi43YmFiNDZiYjhkNWRh
N2Q2MzM2ZjljNmEyNGE1ZDQ2ZmEzN2NlOWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhTY3JpcHRQcm9maWxlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTY3JpcHRQcm9maWxlQ3VzdG9tLmNwcApAQCAt
NDEsNyArNDEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXY4OjpIYW5kbGU8djg6OlZh
bHVlPiB0b1Y4KFNjcmlwdFByb2ZpbGUqIGltcGwpCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9W
OChTY3JpcHRQcm9maWxlKiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAo
IWltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZU5vZGVDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZU5vZGVDdXN0
b20uY3BwCmluZGV4IDc4ZDkyMTBiZDFlMjU5ZWNjMDE2NjE4NDNmNjAwNTY4NjUzMzgwZjQuLjNl
ZThmOGZlMmVlMDliZmZlOTVmMmQ2ZWNiODk3YmUzMGIwMzJjNjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNjcmlwdFByb2ZpbGVOb2RlQ3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTY3JpcHRQcm9maWxl
Tm9kZUN1c3RvbS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4
U2NyaXB0UHJvZmlsZU5vZGU6OmNhbGxVSURBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlMK
ICAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+Y2FsbFVJRCgpKTsKIH0KIAotdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHRvVjgoU2NyaXB0UHJvZmlsZU5vZGUqIGltcGwpCit2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdG9WOChTY3JpcHRQcm9maWxlTm9kZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlz
b2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVl
dEN1c3RvbS5jcHAKaW5kZXggMGZlNmFmODUwYWQzMzkzODM1MGRiNmZhYmZiZDAzYWExZDc3Zjlh
ZC4uZWRjN2UwOWQ3OWE0MDljNjJkNGIxZWIyMTA4MjZkOWRiODI5ZTExZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3Rv
bS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdG9WOChTdHlsZVNoZWV0KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHRvVjgoU3R5bGVTaGVldCogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAg
aWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQxNkFycmF5Q3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQxNkFycmF5Q3VzdG9tLmNwcApp
bmRleCBkNDJjOTFjMGMxYjcyOWI3NTQ3NzIzYzJjNTFhNzYwZThlOWQwOGM4Li43YWE4NzVmODM0
YTVlMWFkOTBmZDg5NjBkMzgwMzEyZGIzMDQyYzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MTZBcnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDE2QXJyYXlDdXN0b20uY3BwCkBAIC01
Myw3ICs1Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFVpbnQxNkFycmF5OjpzZXRDYWxs
YmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVybiBzZXRXZWJHTEFycmF5
SGVscGVyPFVpbnQxNkFycmF5LCBWOFVpbnQxNkFycmF5PihhcmdzKTsKIH0KIAotdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHRvVjgoVWludDE2QXJyYXkqIGltcGwpCit2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdG9WOChVaW50MTZBcnJheSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAg
aWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQzMkFycmF5Q3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQzMkFycmF5Q3VzdG9tLmNwcApp
bmRleCAyNGNmMThhN2U1ZjNlZDVmMGVmMzgyODZiOWFhZmJhNmI3MzU4NTE1Li44YzllZGY5YmMw
NzYxM2JlZWRlMTI1MTAyZTUwYWMzNGJhODIwNzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MzJBcnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDMyQXJyYXlDdXN0b20uY3BwCkBAIC01
Myw3ICs1Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFVpbnQzMkFycmF5OjpzZXRDYWxs
YmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVybiBzZXRXZWJHTEFycmF5
SGVscGVyPFVpbnQzMkFycmF5LCBWOFVpbnQzMkFycmF5PihhcmdzKTsKIH0KIAotdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHRvVjgoVWludDMyQXJyYXkqIGltcGwpCit2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdG9WOChVaW50MzJBcnJheSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAg
aWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQ4QXJyYXlDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAKaW5k
ZXggZjdkYzgzNjFhZDFmN2QwMmFlNTdkMDE3YjY5ZjYyYzg5YmU1YTQzMi4uZjE5MDJiZWQ4ZWI2
NDRkYmIwZDlmNTk3ZGVlODI3NDhjMzk4ODRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAKQEAgLTUzLDcg
KzUzLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VWludDhBcnJheTo6c2V0Q2FsbGJhY2so
Y29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICByZXR1cm4gc2V0V2ViR0xBcnJheUhlbHBl
cjxVaW50OEFycmF5LCBWOFVpbnQ4QXJyYXk+KGFyZ3MpOwogfQogCi12ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdG9WOChVaW50OEFycmF5KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgo
VWludDhBcnJheSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBs
KQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQ4Q2xhbXBlZEFycmF5Q3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQ4Q2xhbXBlZEFycmF5Q3VzdG9tLmNw
cAppbmRleCBmM2EwNjlhYmIxMjg4Y2RkYmVmNjAyYjhjMDFhZGViNzM0YmFhMTk3Li4wNDkxOGNl
YmNjM2QxYzJjZDc1MWIzYjExYzNjMTQ0ZjY0ODVkNTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhVaW50OENsYW1wZWRBcnJheUN1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhDbGFtcGVkQXJyYXlD
dXN0b20uY3BwCkBAIC01MCw3ICs1MCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFVpbnQ4
Q2xhbXBlZEFycmF5OjpzZXRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiAgICAg
cmV0dXJuIHNldFdlYkdMQXJyYXlIZWxwZXI8VWludDhDbGFtcGVkQXJyYXksIFY4VWludDhDbGFt
cGVkQXJyYXk+KGFyZ3MpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChVaW50OENs
YW1wZWRBcnJheSogaW1wbCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFVpbnQ4Q2xhbXBl
ZEFycmF5KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWltcGwpCiAg
ICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4V29ya2VyQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAppbmRleCAxZDhm
MzM1ZjczNGRhZWFiOWMzZDA1NWIzNzVkY2Y0Y2NkMTAxMzQ2Li43MmU1NzcwMzI2Mjc0MTUzYWYw
MjhkMjgxMjIxZDQ1OWZjYjQwZTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcApAQCAtMTI0LDcg
KzEyNCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdvcmtlckNvbnRleHQ6OnNldEludGVy
dmFsQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYKICAgICByZXR1cm4gU2V0VGltZW91dE9y
SW50ZXJ2YWwoYXJncywgZmFsc2UpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChX
b3JrZXJDb250ZXh0KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoV29ya2VyQ29u
dGV4dCogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQogICAg
ICAgICByZXR1cm4gdjg6Ok51bGwoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138362</attachid>
            <date>2012-04-23 09:19:45 -0700</date>
            <delta_ts>2012-04-23 09:19:45 -0700</delta_ts>
            <desc>Patch for relanding. It is revealed that the patch was innocent.</desc>
            <filename>bug-84161-20120423091943.patch</filename>
            <type>text/plain</type>
            <size>45732</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0OTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjBmODYxNzdiNWM3N2Qy
NzIwNDMyODI0ZTVjNjljM2RlMjY2ODg1OS4uNjhjOWRlOWUzNjBiNWQ2NDE3MGE4OTA0NDllMGU4
MmFkN2RmYjY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyMyBAQAorMjAxMi0wNC0xNyAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Y4XSBBZGQgYW4g
b3B0aW9uYWwgSXNvbGF0ZSBhcmd1bWVudCB0byB0b1Y4KCkuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDE2MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5hdGUgQ2hhcGluLgorCisgICAgICAgIFRoZSBmaW5hbCBvYmplY3RpdmUgaXMgdG8gcGFzcyBJ
c29sYXRlIGFyb3VuZCBpbiBWOCBiaW5kaW5ncy4KKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGFu
IG9wdGlvbmFsIElzb2xhdGUgYXJndW1lbnQgdG8gdG9WOCgpLgorICAgICAgICBBZnRlciByZXdy
aXRpbmcgYWxsIHRvVjgoKSBjYWxsZXJzIHNvIHRoYXQgdGhleSBwYXNzIElzb2xhdGUsCisgICAg
ICAgIEkgd2lsbCBtYWtlIHRoZSBJc29sYXRlIGFyZ3VtZW50IG5vbi1vcHRpb25hbC4KKworICAg
ICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAgIE1vZGlmaWVkIGFzIGRlc2Ny
aWJlZCBhYm92ZS4KKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKE5hdGl2ZVRv
SlNWYWx1ZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4QmxvYkN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhDU1NSdWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTVmFsdWVD
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Q2FudmFzUGl4ZWxBcnJheUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgp
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhE
YXRhVmlld0N1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhFbnRyeUN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhFbnRyeVN5bmNDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RmxvYXQzMkFycmF5Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOEZsb2F0NjRBcnJheUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ29sbGVjdGlvbkN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0
b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6Cisg
ICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEVsZW1lbnRDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURC
QW55Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOElEQktleUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbWFnZURhdGFDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SW50MTZBcnJheUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhJbnQzMkFycmF5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEludDhBcnJheUN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhMb2NhdGlvbkN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm9kZUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4U2xvdyk6CisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRWxlbWVudEN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhTVkdQYXRoU2VnQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgp
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNjcmlwdFByb2ZpbGVDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4U2NyaXB0UHJvZmlsZU5vZGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhV
aW50MTZBcnJheUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MzJBcnJheUN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50OEFycmF5
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOFVpbnQ4Q2xhbXBlZEFycmF5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRD
dXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuaDoKKyAgICAgICAgVXBkYXRlZCBydW4t
YmluZGluZ3MtdGVzdHMgcmVzdWx0cy4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFj
dGl2ZURPTU9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmg6CisgICAgICAg
IChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0RXZlbnRDb25zdHJ1Y3Rvci5oOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0Lmg6CisgICAgICAg
IChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0SW50ZXJmYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oOgorICAg
ICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3ROb2RlLmg6CisgICAgICAgIChX
ZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
T2JqLmg6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmg6CisgICAg
ICAgIChXZWJDb3JlOjp0b1Y4KToKKwogMjAxMi0wNC0yMyAgTWljaGHFgiBQYWt1xYJhIHZlbCBS
dXRrYSAgPG0ucGFrdWxhQHNhbXN1bmcuY29tPgogICAgICAgICBbRUZMXVtXSzJdIEZpeCBidWls
ZCBicmVhayB3aGVuIG5vbi1jcm9zcyBwbGF0Zm9ybSBDT05URVhUX01FTlVTIGFyZSBlbmFibGVk
LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQxMzYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
clY4LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgu
cG0KaW5kZXggNGU3NjhkMDEyNzgxOWIzNWNhOGQ1MjczOGE5MzEyYWMwMzRlYWJhZS4uNzAyN2Q4
ZWNlZmJjMjgxZDg4Mjk2YTc0ZDNkM2I2MDIyYzVjNDYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTQ0MSw3ICs0NDEs
NyBAQCBFTkQKICAgICB9IGVsc2lmICghKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkN1c3RvbVRvSlNPYmplY3QifSBvciAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJW
OEN1c3RvbVRvSlNPYmplY3QifSkpIHsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgPDxF
TkQpOwogCi1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoJHtuYXRpdmVUeXBlfSog
aW1wbCR7Zm9yY2VOZXdPYmplY3RQYXJhbWV0ZXJ9KQoraW5saW5lIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiB0b1Y4KCR7bmF0aXZlVHlwZX0qIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlID0gMCR7
Zm9yY2VOZXdPYmplY3RQYXJhbWV0ZXJ9KQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0
dXJuIHY4OjpOdWxsKCk7CkBAIC00NTEsMTQgKzQ1MSwxNCBAQCBFTkQKICAgICB9IGVsc2lmICgk
aW50ZXJmYWNlTmFtZSBuZSAnTm9kZScpIHsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwg
PDxFTkQpOwogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOCgke25hdGl2ZVR5cGV9KiR7Zm9y
Y2VOZXdPYmplY3RQYXJhbWV0ZXJ9KTsKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KCR7bmF0
aXZlVHlwZX0qLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDAke2ZvcmNlTmV3T2JqZWN0UGFyYW1l
dGVyfSk7CiBFTkQKICAgICB9IGVsc2UgewogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCA8
PEVORCk7CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4U2xvdyhOb2RlKiwgYm9vbCk7CiAK
LWlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChOb2RlKiBpbXBsLCBib29sIGZvcmNl
TmV3T2JqZWN0ID0gZmFsc2UpCitpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoTm9k
ZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwLCBib29sIGZvcmNlTmV3T2JqZWN0ID0g
ZmFsc2UpCiB7CiAgICAgaWYgKFVOTElLRUxZKCFpbXBsKSkKICAgICAgICAgcmV0dXJuIHY4OjpO
dWxsKCk7CkBAIC00NzMsOSArNDczLDkgQEAgRU5ECiAgICAgfQogCiAgICAgcHVzaChAaGVhZGVy
Q29udGVudCwgPDxFTkQpOwotaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NS
ZWZQdHI8ICR7bmF0aXZlVHlwZX0gPiBpbXBsJHtmb3JjZU5ld09iamVjdFBhcmFtZXRlcn0pCitp
bmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoUGFzc1JlZlB0cjwgJHtuYXRpdmVUeXBl
fSA+IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlID0gMCR7Zm9yY2VOZXdPYmplY3RQYXJhbWV0
ZXJ9KQogewotICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCkke2ZvcmNlTmV3T2JqZWN0Q2FsbH0p
OworICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCksIGlzb2xhdGUke2ZvcmNlTmV3T2JqZWN0Q2Fs
bH0pOwogfQogRU5ECiAKQEAgLTM4MTMsNyArMzgxMyw3IEBAIHN1YiBOYXRpdmVUb0pTVmFsdWUK
IAogICAgICMgc3BlY2lhbCBjYXNlIGZvciBub24tRE9NIG5vZGUgaW50ZXJmYWNlcwogICAgIGlm
IChJc0RPTU5vZGVUeXBlKCR0eXBlKSkgewotICAgICAgICByZXR1cm4gInRvVjgoJHt2YWx1ZX0i
IC4gKCRzaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJSZXR1cm5OZXdPYmplY3QifSA/
ICIsIHRydWUpIiA6ICIpIik7CisgICAgICAgIHJldHVybiAidG9WOCgke3ZhbHVlfSIgLiAoJHNp
Z25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlJldHVybk5ld09iamVjdCJ9ID8gIiwgMCwg
dHJ1ZSkiIDogIikiKTsKICAgICB9CiAKICAgICBpZiAoJHR5cGUgZXEgIkV2ZW50VGFyZ2V0Iikg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
RmxvYXQ2NEFycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhGbG9hdDY0QXJyYXkuaAppbmRleCAxMWU0NmE0YzM2NTNmMTQxN2M4ZTBmNDE0YTU1OWE5NGVl
YWNlYTRkLi4xOGIyMmRkMjMzZmE0ZDNjYjBhODlmZDA1ZDA4ZjA1NWUyNmNlMWVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJy
YXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9h
dDY0QXJyYXkuaApAQCAtNTgsMTAgKzU4LDEwIEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhG
bG9hdDY0QXJyYXk6OndyYXAoRmxvYXQ2NEFycmF5KiBpbXBsKQogICAgIHJldHVybiBWOEZsb2F0
NjRBcnJheTo6d3JhcFNsb3coaW1wbCk7CiB9CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KEZsb2F0NjRBcnJheSopOwotaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NS
ZWZQdHI8IEZsb2F0NjRBcnJheSA+IGltcGwpCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChG
bG9hdDY0QXJyYXkqLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApOworaW5saW5lIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8IEZsb2F0NjRBcnJheSA+IGltcGwsIHY4OjpJ
c29sYXRlKiBpc29sYXRlID0gMCkKIHsKLSAgICByZXR1cm4gdG9WOChpbXBsLmdldCgpKTsKKyAg
ICByZXR1cm4gdG9WOChpbXBsLmdldCgpLCBpc29sYXRlKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9i
amVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFj
dGl2ZURPTU9iamVjdC5oCmluZGV4IDFmZThjNTE1YjQ2ZThmOGYzZTU3NzcwZjhkYmVmMzk3MjNj
NWFkZjAuLjFkOGMwNmUxOTIzNDYxZDNkOWRjYWI3ZTgzNmRkMjA5MmZiMTI2M2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVE
T01PYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0QWN0aXZlRE9NT2JqZWN0LmgKQEAgLTU4LDE1ICs1OCwxNSBAQCB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IFY4VGVzdEFjdGl2ZURPTU9iamVjdDo6d3JhcChUZXN0QWN0aXZlRE9NT2JqZWN0
KiBpbXBsKQogICAgIHJldHVybiBWOFRlc3RBY3RpdmVET01PYmplY3Q6OndyYXBTbG93KGltcGwp
OwogfQogCi1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdEFjdGl2ZURPTU9i
amVjdCogaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0QWN0aXZl
RE9NT2JqZWN0KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7CiAgICAgaWYgKCFp
bXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKICAgICByZXR1cm4gVjhUZXN0QWN0aXZl
RE9NT2JqZWN0Ojp3cmFwKGltcGwpOwogfQotaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0
b1Y4KFBhc3NSZWZQdHI8IFRlc3RBY3RpdmVET01PYmplY3QgPiBpbXBsKQoraW5saW5lIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8IFRlc3RBY3RpdmVET01PYmplY3QgPiBp
bXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7Ci0gICAgcmV0dXJuIHRvVjgoaW1wbC5n
ZXQoKSk7CisgICAgcmV0dXJuIHRvVjgoaW1wbC5nZXQoKSwgaXNvbGF0ZSk7CiB9CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RD
dXN0b21OYW1lZEdldHRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKaW5kZXggZjgwYzRkMjUwNjlkODAxYTczY2Zj
OGU3ZWQ1Y2I3NmY2N2UyNDE2YS4uM2M0MzY0N2VjZDdkMmQxMjdiYTFjOTFiMDZlNzM0N2ZmOTJm
N2RhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKQEAgLTU3LDE1ICs1Nywx
NSBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyOjp3cmFw
KFRlc3RDdXN0b21OYW1lZEdldHRlciogaW1wbAogICAgIHJldHVybiBWOFRlc3RDdXN0b21OYW1l
ZEdldHRlcjo6d3JhcFNsb3coaW1wbCk7CiB9CiAKLWlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdG9WOChUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIGltcGwpCitpbmxpbmUgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHRvVjgoVGVzdEN1c3RvbU5hbWVkR2V0dGVyKiBpbXBsLCB2ODo6SXNvbGF0ZSog
aXNvbGF0ZSA9IDApCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwo
KTsKICAgICByZXR1cm4gVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OndyYXAoaW1wbCk7CiB9Ci1p
bmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoUGFzc1JlZlB0cjwgVGVzdEN1c3RvbU5h
bWVkR2V0dGVyID4gaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQYXNz
UmVmUHRyPCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIgPiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0
ZSA9IDApCiB7Ci0gICAgcmV0dXJuIHRvVjgoaW1wbC5nZXQoKSk7CisgICAgcmV0dXJuIHRvVjgo
aW1wbC5nZXQoKSwgaXNvbGF0ZSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rv
ci5oCmluZGV4IDkzOTAzNGJkODY0M2IyMzQ0YTk0OGM0YjExMTUxYjgyMTE1NzQ2MzYuLmQzMDUy
OGZiODVkMDJhZDk3NzUxODVjYTMwMTk0NTc4OGI1MjhjODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50
Q29uc3RydWN0b3IuaApAQCAtNTgsMTUgKzU4LDE1IEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
VjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6d3JhcChUZXN0RXZlbnRDb25zdHJ1Y3RvciogaW1wbCkK
ICAgICByZXR1cm4gVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6d3JhcFNsb3coaW1wbCk7CiB9CiAK
LWlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0RXZlbnRDb25zdHJ1Y3Rvciog
aW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0RXZlbnRDb25zdHJ1
Y3RvciogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQogewogICAgIGlmICghaW1wbCkK
ICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CiAgICAgcmV0dXJuIFY4VGVzdEV2ZW50Q29uc3Ry
dWN0b3I6OndyYXAoaW1wbCk7CiB9Ci1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgo
UGFzc1JlZlB0cjwgVGVzdEV2ZW50Q29uc3RydWN0b3IgPiBpbXBsKQoraW5saW5lIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8IFRlc3RFdmVudENvbnN0cnVjdG9yID4gaW1w
bCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQogewotICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0
KCkpOworICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCksIGlzb2xhdGUpOwogfQogCiBib29sIGZp
bGxUZXN0RXZlbnRDb25zdHJ1Y3RvckluaXQoVGVzdEV2ZW50Q29uc3RydWN0b3JJbml0JiwgY29u
c3QgRGljdGlvbmFyeSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaAppbmRleCA1ZGM1MGZiN2VjN2Uw
NjcwZWY5N2QxOWNiYmUzYmEyMGIxMmU2ZmY4Li42NDRlZDRjMGU1YjQ1NDgxYjgyZjM4NjFkZjcz
MmRhNGEzYjZjYjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuaApAQCAtNTksMTUgKzU5LDE1IEBA
IHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0RXZlbnRUYXJnZXQ6OndyYXAoVGVzdEV2ZW50
VGFyZ2V0KiBpbXBsKQogICAgIHJldHVybiBWOFRlc3RFdmVudFRhcmdldDo6d3JhcFNsb3coaW1w
bCk7CiB9CiAKLWlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0RXZlbnRUYXJn
ZXQqIGltcGwpCitpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdEV2ZW50VGFy
Z2V0KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7CiAgICAgaWYgKCFpbXBsKQog
ICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKICAgICByZXR1cm4gVjhUZXN0RXZlbnRUYXJnZXQ6
OndyYXAoaW1wbCk7CiB9Ci1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoUGFzc1Jl
ZlB0cjwgVGVzdEV2ZW50VGFyZ2V0ID4gaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdG9WOChQYXNzUmVmUHRyPCBUZXN0RXZlbnRUYXJnZXQgPiBpbXBsLCB2ODo6SXNvbGF0ZSog
aXNvbGF0ZSA9IDApCiB7Ci0gICAgcmV0dXJuIHRvVjgoaW1wbC5nZXQoKSk7CisgICAgcmV0dXJu
IHRvVjgoaW1wbC5nZXQoKSwgaXNvbGF0ZSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuaAppbmRl
eCA5YjBkODQ1NDRiZTg3OTgwYmJiMjQ3MzYzNjA4M2I4NzM4OTI5OTJlLi5jYTBjNzEzZWNhZTFh
MTM1M2E0Mjc5NTZlNDViMTU2NDJjOTc2NTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0SW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEludGVyZmFjZS5oCkBAIC02MSwx
NSArNjEsMTUgQEAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RJbnRlcmZhY2U6OndyYXAo
VGVzdEludGVyZmFjZSogaW1wbCkKICAgICByZXR1cm4gVjhUZXN0SW50ZXJmYWNlOjp3cmFwU2xv
dyhpbXBsKTsKIH0KIAotaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFRlc3RJbnRl
cmZhY2UqIGltcGwpCitpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdEludGVy
ZmFjZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQogewogICAgIGlmICghaW1wbCkK
ICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CiAgICAgcmV0dXJuIFY4VGVzdEludGVyZmFjZTo6
d3JhcChpbXBsKTsKIH0KLWlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQYXNzUmVm
UHRyPCBUZXN0SW50ZXJmYWNlID4gaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dG9WOChQYXNzUmVmUHRyPCBUZXN0SW50ZXJmYWNlID4gaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xh
dGUgPSAwKQogewotICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCkpOworICAgIHJldHVybiB0b1Y4
KGltcGwuZ2V0KCksIGlzb2xhdGUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuaAppbmRleCAzNDAyYjM3ZGFhNGVmM2RmMjdjODhkMDNhOGEzZjdmN2Q3
YTExMDAwLi5mNmYzYzQxZDk4YTU1NWZjZjFiZjQ2NmUwNmMxYjMzYjU5NGU4NjFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKQEAgLTU2LDE1ICs1NiwxNSBA
QCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6Ondy
YXAoVGVzdE1lZGlhUXVlcnlMaXN0TGlzdAogICAgIHJldHVybiBWOFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyOjp3cmFwU2xvdyhpbXBsKTsKIH0KIAotaW5saW5lIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiB0b1Y4KFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBpbXBsKQoraW5saW5lIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiB0b1Y4KFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBpbXBsLCB2
ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1
cm4gdjg6Ok51bGwoKTsKICAgICByZXR1cm4gVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6
d3JhcChpbXBsKTsKIH0KLWlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQYXNzUmVm
UHRyPCBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciA+IGltcGwpCitpbmxpbmUgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHRvVjgoUGFzc1JlZlB0cjwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIg
PiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7Ci0gICAgcmV0dXJuIHRvVjgoaW1w
bC5nZXQoKSk7CisgICAgcmV0dXJuIHRvVjgoaW1wbC5nZXQoKSwgaXNvbGF0ZSk7CiB9CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3ROYW1lZENvbnN0cnVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvci5oCmluZGV4IGEyZjVmMDM0OGIwMjdlNzY0NTEz
ZWU0NzkxMWQ3YzMwZjM1N2IzNzguLjU3MDNlMzllN2FmZDBkMzRmYzM5N2Y0NjA0YWU0ODlhMTE5
ZDcwZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3ROYW1lZENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5hbWVkQ29uc3RydWN0b3IuaApAQCAtNjMsMTUgKzYzLDE1
IEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhUZXN0TmFtZWRDb25zdHJ1Y3Rvcjo6d3JhcChU
ZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1wbCkKICAgICByZXR1cm4gVjhUZXN0TmFtZWRDb25zdHJ1
Y3Rvcjo6d3JhcFNsb3coaW1wbCk7CiB9CiAKLWlubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dG9WOChUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdG9WOChUZXN0TmFtZWRDb25zdHJ1Y3RvciogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xh
dGUgPSAwKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CiAg
ICAgcmV0dXJuIFY4VGVzdE5hbWVkQ29uc3RydWN0b3I6OndyYXAoaW1wbCk7CiB9Ci1pbmxpbmUg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoUGFzc1JlZlB0cjwgVGVzdE5hbWVkQ29uc3RydWN0
b3IgPiBpbXBsKQoraW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8
IFRlc3ROYW1lZENvbnN0cnVjdG9yID4gaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQog
ewotICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCkpOworICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0
KCksIGlzb2xhdGUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE5vZGUuaAppbmRleCA0ODAyYjA3MzIzY2Q4ZWRjYzE4Y2Ex
Mzg3ZjIzMDQ1OTUyOWIxYzkzLi5mMTQxYjI4N2NmM2E4ZDI0NDFkNjZkNDgwODYwMzgwYzMyOTQx
NTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3ROb2RlLmgKQEAgLTU3LDE1ICs1NywxNSBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IFY4VGVzdE5vZGU6OndyYXAoVGVzdE5vZGUqIGltcGwpCiAgICAgcmV0dXJuIFY4VGVzdE5vZGU6
OndyYXBTbG93KGltcGwpOwogfQogCi1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgo
VGVzdE5vZGUqIGltcGwpCitpbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdE5v
ZGUqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlID0gMCkKIHsKICAgICBpZiAoIWltcGwpCiAg
ICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwogICAgIHJldHVybiBWOFRlc3ROb2RlOjp3cmFwKGlt
cGwpOwogfQotaW5saW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8IFRl
c3ROb2RlID4gaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQYXNzUmVm
UHRyPCBUZXN0Tm9kZSA+IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlID0gMCkKIHsKLSAgICBy
ZXR1cm4gdG9WOChpbXBsLmdldCgpKTsKKyAgICByZXR1cm4gdG9WOChpbXBsLmdldCgpLCBpc29s
YXRlKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdE9iai5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE9iai5oCmluZGV4IDUyOWM1ODFlZGFjMTViYjIwZTIwNzYyYTI1YTA3MDFm
YzQ4YzMwNDEuLmY5MmUzMTg2NGM5MTE1ODM2ZDc4MjhmZmFjMzg4YTM3M2M3NmZiZTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmou
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2Jq
LmgKQEAgLTYyLDE1ICs2MiwxNSBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4VGVzdE9iajo6
d3JhcChUZXN0T2JqKiBpbXBsKQogICAgIHJldHVybiBWOFRlc3RPYmo6OndyYXBTbG93KGltcGwp
OwogfQogCi1pbmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdE9iaiogaW1wbCkK
K2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChUZXN0T2JqKiBpbXBsLCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSA9IDApCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gdjg6
Ok51bGwoKTsKICAgICByZXR1cm4gVjhUZXN0T2JqOjp3cmFwKGltcGwpOwogfQotaW5saW5lIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8IFRlc3RPYmogPiBpbXBsKQoraW5s
aW5lIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBhc3NSZWZQdHI8IFRlc3RPYmogPiBpbXBs
LCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSA9IDApCiB7Ci0gICAgcmV0dXJuIHRvVjgoaW1wbC5nZXQo
KSk7CisgICAgcmV0dXJuIHRvVjgoaW1wbC5nZXQoKSwgaXNvbGF0ZSk7CiB9CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuaAppbmRl
eCA4NmE1NWY4NDBiMDZlMDk5YjMzYmRkZTNlYjI2NGRkOTRkZDc4MWJhLi5hYjk4MzY1NWJmY2Zi
MDEzZWZkMjlhMDBiOTdlYjYxYWFmYTI0NGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCkBAIC01OSwxNSArNTksMTUgQEAgdjg6
OkhhbmRsZTx2ODo6T2JqZWN0PiBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6
OndyYXAoVGVzdFNlcmlhbGl6ZWQKICAgICByZXR1cm4gVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlOjp3cmFwU2xvdyhpbXBsKTsKIH0KIAotaW5saW5lIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiB0b1Y4KFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqIGltcGwpCitp
bmxpbmUgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUgPSAwKQogewogICAgIGlmICgh
aW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CiAgICAgcmV0dXJuIFY4VGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6d3JhcChpbXBsKTsKIH0KLWlubGluZSB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdG9WOChQYXNzUmVmUHRyPCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlID4gaW1wbCkKK2lubGluZSB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQYXNz
UmVmUHRyPCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlID4gaW1wbCwgdjg6Oklz
b2xhdGUqIGlzb2xhdGUgPSAwKQogewotICAgIHJldHVybiB0b1Y4KGltcGwuZ2V0KCkpOworICAg
IHJldHVybiB0b1Y4KGltcGwuZ2V0KCksIGlzb2xhdGUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhCbG9iQ3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20uY3BwCmluZGV4IDY4NTM1
NzhlOTI3YTdlOTIzYTMwYjRkNzE2YWMyZWM4YzM3NGZjMDEuLjQ4OGJmZjM0Y2ZkODNjMjE0Y2Rk
MWJhZGE2OGE3YzRiMDJlZmU5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20uY3BwCkBAIC0zOCw3ICszOCw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoQmxvYiogaW1wbCkKK3Y4
OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEJsb2IqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRl
KQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3Bw
CmluZGV4IGFiNjc2OGM0ZGUyNTMyMGExZmY2NmRkZTBhNTcyM2Y3OWM3OTYyNWIuLjQ4NTZiNmRk
YTBlYWU4NDEwMzNjZWI4YzY2MmYwNGVkZDIzZGMzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCkBAIC00Myw3ICs0
Myw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRv
VjgoQ1NTUnVsZSogaW1wbCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENTU1J1bGUqIGlt
cGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0
dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhDU1NTdHlsZVNoZWV0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwCmluZGV4IDliMjk4OGI3ZWFlYTNi
NGJiMTQ4MDliZWZkODU0NzFlZTA5N2MyZTAuLmFlMDIzMDk3MmEwMDU0Zjc4YjU5ZThmZDlhZmI4
MTEwOWFhZWNjODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOENTU1N0eWxlU2hlZXRDdXN0b20uY3BwCkBAIC0zNiw3ICszNiw3IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoQ1NTU3R5
bGVTaGVldCogaW1wbCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENTU1N0eWxlU2hlZXQq
IGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAg
cmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhDU1NWYWx1ZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhDU1NWYWx1ZUN1c3RvbS5jcHAKaW5kZXggNjAxYTYyYTVhZDIxNTY1MWRmOTVj
YmMwODhjMjlmZDM3NmM4MDY2MC4uZjA2OTNjMjI0NzA0NjFkYjIyYTYzNTJlNjFlOGY5MjUyNTcy
NTlkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NT
VmFsdWVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OENTU1ZhbHVlQ3VzdG9tLmNwcApAQCAtNDIsNyArNDIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENTU1ZhbHVlKiBpbXBsKQordjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHRvVjgoQ1NTVmFsdWUqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRl
KQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDYW52YXNQaXhlbEFycmF5
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENhbnZhc1Bp
eGVsQXJyYXlDdXN0b20uY3BwCmluZGV4IDkxZTM5Yjc1Y2UwZTBkNTM2MDcwNTliZjAzN2FhMjYz
YjQ4N2NmYmEuLmE3OTc5YjIxYWQyNjBlODY1MThlYjNlMWE2ZDkzMjMzYzdkZTM0MjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENhbnZhc1BpeGVsQXJy
YXlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENh
bnZhc1BpeGVsQXJyYXlDdXN0b20uY3BwCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoQ2FudmFzUGl4ZWxBcnJheSog
aW1wbCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KENhbnZhc1BpeGVsQXJyYXkqIGltcGws
IHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJu
IHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcAppbmRleCBkZGYyMmE3NDZhMjFjZmMzNzg2
ZTgwY2E0NDQ5NzQ0OGFjMjc3YzY0Li5mMmEyOTFhYzY1MTM0YjJkMDg1ZjNhOTRmOTkzMGYwYzI2
YWUzOTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhE
T01TdHJpbmdNYXBDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERPTVN0cmluZ01hcEN1c3RvbS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4RE9NU3RyaW5nTWFwOjpuYW1lZFByb3BlcnR5U2V0dGVyKHY4OjpMb2Nh
bDx2ODo6U3RyaW5nPgogICAgIHJldHVybiB2YWx1ZTsKIH0KIAotdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHRvVjgoRE9NU3RyaW5nTWFwKiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgo
RE9NU3RyaW5nTWFwKiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWlt
cGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAKaW5kZXgg
YTIzZGE0ODEwZTNmMTYzN2VhYjJhYjU4OTUwZjAyYjVkYWFjZWJhNC4uY2YyMGMxMjRmOTMyYmY2
ZmZiMjM0MTZlYjI5YzU1YTJmNmE2NWM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwCkBAIC0zOCw3
ICszOCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHRvVjgoRE9NVG9rZW5MaXN0KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRE9N
VG9rZW5MaXN0KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWltcGwp
CiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggZGZjMzBlOTQ4
MGVhOTdiYjFhNjZlZThkZWY4MWU5YzJkODE0ZmVhYS4uZWI2NWM1ZTIwOTllM2U0YWE5MWYwMGRm
ZmI2Y2ZiMGZmZjMxN2ZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCkBAIC01OTgsNyArNTk4LDcgQEAgYm9v
bCBWOERPTVdpbmRvdzo6aW5kZXhlZFNlY3VyaXR5Q2hlY2sodjg6OkxvY2FsPHY4OjpPYmplY3Q+
IGhvc3QsIHVpbnQzMl90IGluZGUKICAgICByZXR1cm4gVjhCaW5kaW5nU2VjdXJpdHk6OmNhbkFj
Y2Vzc0ZyYW1lKFY4QmluZGluZ1N0YXRlOjpPbmx5KCksIHRhcmdldCwgZmFsc2UpOwogfQogCi12
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChET01XaW5kb3cqIHdpbmRvdykKK3Y4OjpIYW5kbGU8
djg6OlZhbHVlPiB0b1Y4KERPTVdpbmRvdyogd2luZG93LCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkK
IHsKICAgICBpZiAoIXdpbmRvdykKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEYXRhVmlld0N1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEYXRhVmlld0N1c3RvbS5j
cHAKaW5kZXggOTIwM2ZlZGNjNzhmNDA0NTE5NDlhMjZhY2EyOTg0YWYwMGY5NzU2OC4uYjVmODAy
MjU3N2Q2MTgyYmQ5Y2YxOGM1NTE5NmY5YjY5OGI0NGNjOSAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGF0YVZpZXdDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFWaWV3Q3VzdG9tLmNwcApAQCAtNTYs
NyArNTYsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEYXRhVmlldzo6Y29uc3RydWN0b3JD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVybiBjb25zdHJ1Y3RX
ZWJHTEFycmF5V2l0aEFycmF5QnVmZmVyQXJndW1lbnQ8RGF0YVZpZXcsIGNoYXI+KGFyZ3MsICZp
bmZvLCB2ODo6a0V4dGVybmFsQnl0ZUFycmF5LCBmYWxzZSk7CiB9CiAKLXY4OjpIYW5kbGU8djg6
OlZhbHVlPiB0b1Y4KERhdGFWaWV3KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgo
RGF0YVZpZXcqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkK
ICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAKaW5kZXggZTZiYTc1YjczMmVj
ZTM2ZTI0ZDEzN2JjY2M2NDdhZjBjMjlmNTNmYS4uNTdiZDIyNGMxNWY4NjUxYzllNTk4NGI1NGI2
NGQzZmFmODZjYWVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RG9jdW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcApAQCAtMTE2LDE1ICsxMTYsMTUgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4RG9jdW1lbnQ6OmdldENTU0NhbnZhc0NvbnRleHRDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnQKICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogfQogCi12ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChEb2N1bWVudCogaW1wbCwgYm9vbCBmb3JjZU5ld09iamVj
dCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KERvY3VtZW50KiBpbXBsLCB2ODo6SXNvbGF0
ZSogaXNvbGF0ZSwgYm9vbCBmb3JjZU5ld09iamVjdCkKIHsKICAgICBpZiAoIWltcGwpCiAgICAg
ICAgIHJldHVybiB2ODo6TnVsbCgpOwogICAgIGlmIChpbXBsLT5pc0hUTUxEb2N1bWVudCgpKQot
ICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxIVE1MRG9jdW1lbnQqPihpbXBsKSwgZm9y
Y2VOZXdPYmplY3QpOworICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxIVE1MRG9jdW1l
bnQqPihpbXBsKSwgaXNvbGF0ZSwgZm9yY2VOZXdPYmplY3QpOwogI2lmIEVOQUJMRShTVkcpCiAg
ICAgaWYgKGltcGwtPmlzU1ZHRG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGlj
X2Nhc3Q8U1ZHRG9jdW1lbnQqPihpbXBsKSwgZm9yY2VOZXdPYmplY3QpOworICAgICAgICByZXR1
cm4gdG9WOChzdGF0aWNfY2FzdDxTVkdEb2N1bWVudCo+KGltcGwpLCBpc29sYXRlLCBmb3JjZU5l
d09iamVjdCk7CiAjZW5kaWYKICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBW
OERvY3VtZW50Ojp3cmFwKGltcGwsIGZvcmNlTmV3T2JqZWN0KTsKICAgICBpZiAod3JhcHBlci5J
c0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhF
bnRyeUN1c3RvbS5jcHAKaW5kZXggYzAyY2Q2ZmQ1ZmU2ZjkxMWQ3MzA0ZTY1MDlmZWQ1OGYzOGNh
OWQ5Ni4uNTUxOWU3NDFlMTI0MGNjYTQ1M2ViNmYwMmI4ZTJkNTAwMWI1YTI4ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RW50cnlDdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEVudHJ5Q3VzdG9tLmNwcApA
QCAtNDQsNyArNDQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXY4OjpIYW5kbGU8djg6
OlZhbHVlPiB0b1Y4KEVudHJ5KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRW50
cnkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAg
ICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhFbnRyeVN5bmNDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RW50cnlTeW5jQ3VzdG9tLmNwcAppbmRleCBlOThkZjE5YjBiMTNlMTk0
ZWJhYjY3MWU2ZjY0ZTBhMThmYzA3YjIyLi44Y2JmY2Y1ZDcyODI1N2QzMTMxYTk2ZGY0NzE2NDVl
NGE3YWI4OGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhFbnRyeVN5bmNDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEVudHJ5U3luY0N1c3RvbS5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChFbnRyeVN5bmMqIGltcGwp
Cit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChFbnRyeVN5bmMqIGltcGwsIHY4OjpJc29sYXRl
KiBpc29sYXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhFdmVudEN1c3Rv
bS5jcHAKaW5kZXggNDg5MzljZjAxYzcwN2YyYjA5ODJiOTdhZDU3YWViYmRhMjkxNzExZS4uNTJl
ZGRiN2NiZDU2M2NjYzg3ZGRkMDEwNGZhZjVhYmQ2ODM1YmM1ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RXZlbnRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEV2ZW50Q3VzdG9tLmNwcApAQCAtNzMsNyAr
NzMsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhFdmVudDo6Y2xpcGJvYXJkRGF0YUFjY2Vz
c29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPgogICAgIGlmIChldmVudE5hbWVzKCkuaW50
ZXJmYWNlRm9yIyNpbnRlcmZhY2VOYW1lID09IGRlc2lyZWRJbnRlcmZhY2UpIFwKICAgICAgICAg
cmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8aW50ZXJmYWNlTmFtZSo+KGV2ZW50KSk7CiAKLXY4OjpI
YW5kbGU8djg6OlZhbHVlPiB0b1Y4KEV2ZW50KiBldmVudCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVl
PiB0b1Y4KEV2ZW50KiBldmVudCwgdjg6Oklzb2xhdGUgKmlzb2xhdGUpCiB7CiAgICAgaWYgKCFl
dmVudCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhGbG9hdDMyQXJyYXlDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RmxvYXQzMkFycmF5Q3VzdG9tLmNwcAppbmRl
eCAyY2E1OTBhYjcyMGM4YTFiY2M5M2RiYWUxYTBkYjNjNzdlODA4YjYxLi5lOWE0ZmE2NDVhYjll
MTAzNTU5MGRiMjM4NGY4ZmJlM2VhMjhiNGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhGbG9hdDMyQXJyYXlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEZsb2F0MzJBcnJheUN1c3RvbS5jcHAKQEAgLTU0
LDcgKzU0LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RmxvYXQzMkFycmF5OjpzZXRDYWxs
YmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVybiBzZXRXZWJHTEFycmF5
SGVscGVyPEZsb2F0MzJBcnJheSwgVjhGbG9hdDMyQXJyYXk+KGFyZ3MpOwogfQogCi12ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdG9WOChGbG9hdDMyQXJyYXkqIGltcGwpCit2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdG9WOChGbG9hdDMyQXJyYXkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewog
ICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhGbG9hdDY0QXJyYXlDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RmxvYXQ2NEFycmF5Q3VzdG9t
LmNwcAppbmRleCAwOTI1MjJhMzQ4MGZmMDc3ZWE1OWY5YjZhNGQ0Zjc4ZTVjZjI2NWM0Li43ZTI1
M2JjYWIwOWI4MjcyMzdmY2VmNGY3MGM3ODczOTg2ZjYyNzJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhGbG9hdDY0QXJyYXlDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEZsb2F0NjRBcnJheUN1c3RvbS5j
cHAKQEAgLTQ5LDcgKzQ5LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RmxvYXQ2NEFycmF5
OjpzZXRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVybiBzZXRX
ZWJHTEFycmF5SGVscGVyPEZsb2F0NjRBcnJheSwgVjhGbG9hdDY0QXJyYXk+KGFyZ3MpOwogfQog
Ci12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChGbG9hdDY0QXJyYXkqIGltcGwpCit2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdG9WOChGbG9hdDY0QXJyYXkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29s
YXRlKQogewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ29sbGVjdGlv
bkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ29s
bGVjdGlvbkN1c3RvbS5jcHAKaW5kZXggZGRhNTFkNDAyN2NlN2Y2M2VlMTY5ODE5NjNkNjY5NDZi
YzQwNDA5MS4uMmUyMjU1YzY0NGM2NmI3Y2ZlZDQzMGU4YWU5NDJjZjhjYjUwMTgzMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENvbGxlY3Rpb25D
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxD
b2xsZWN0aW9uQ3VzdG9tLmNwcApAQCAtODAsNyArODAsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhIVE1MQ29sbGVjdGlvbjo6bmFtZWRJdGVtQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KEhUTUxDb2xsZWN0aW9uKiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSFRNTENv
bGxlY3Rpb24qIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIGlmIChpbXBsLT50
eXBlKCkgPT0gRG9jQWxsKQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxIVE1MQWxs
Q29sbGVjdGlvbio+KGltcGwpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwCmluZGV4IDRjZjFiY2EwOTE1
ZjA0ZWI4M2EyOTQyMjZmM2I5MmQ3YjkwNjdhZjEuLjgxYzQ2Yzc0NDUyNjNlMjlhMGRhMmFiNzlj
ODc3MzY3NzE1MWZjYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNwcApAQCAtMTg2LDcgKzE4Niw3IEBA
IHZvaWQgVjhIVE1MRG9jdW1lbnQ6OmFsbEFjY2Vzc29yU2V0dGVyKHY4OjpMb2NhbDx2ODo6U3Ry
aW5nPiBuYW1lLCB2ODo6TG9jYWw8djg6CiAgICAgaW5mby5UaGlzKCktPkZvcmNlU2V0KG5hbWUs
IHZhbHVlKTsKIH0KIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSFRNTERvY3VtZW50KiBp
bXBsLCBib29sIGZvcmNlTmV3T2JqZWN0KQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSFRN
TERvY3VtZW50KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwgYm9vbCBmb3JjZU5ld09iamVj
dCkKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEVsZW1lbnRDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTEVsZW1lbnRD
dXN0b20uY3BwCmluZGV4IDFjYTZiZDM4ODRkOWRhMjhmMjgzYmMxZjM2MTY4ZGIzMDZlYzA5OWYu
LmZmZWJkYTNlNWI3Yjc4YTk5MzQxOTE1Mjg4MTY3NDZhNjlmNzI3YjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxFbGVtZW50Q3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRWxlbWVudEN1c3Rv
bS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
T2JqZWN0KE1pY3JvRGF0YUl0ZW1WYWx1ZSogaXRlbVZhbHVlKQogfQogI2VuZGlmCiAKLXY4OjpI
YW5kbGU8djg6OlZhbHVlPiB0b1Y4KEhUTUxFbGVtZW50KiBpbXBsLCBib29sIGZvcmNlTmV3T2Jq
ZWN0KQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSFRNTEVsZW1lbnQqIGltcGwsIHY4OjpJ
c29sYXRlKiBpc29sYXRlLCBib29sIGZvcmNlTmV3T2JqZWN0KQogewogICAgIGlmICghaW1wbCkK
ICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhJREJBbnlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SURCQW55Q3VzdG9tLmNwcAppbmRleCBlNDgzMWFkOWEyNjBlZmM1
ODAzMTE4NTg4YmVjZjk1ZDg4YTJiMjJiLi43NWVkZDQ4ZDgyYzNjNTAwMTAzNDYzMzY0ODNmZjdl
NjRjMzMxNDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhJREJBbnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOElEQkFueUN1c3RvbS5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJREJBbnkqIGltcGwpCit2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdG9WOChJREJBbnkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQog
ewogICAgIGlmICghaW1wbCkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNwcAppbmRl
eCAwZmJmZTFiZjI2NzQ5Zjc3ODgwOTA4NDU2MDBjMDY0MDYyYzM5ZTZkLi45YjBlNjU0MTQ2NWM3
OTM1M2E0NzZkNTFiYmJjZGE1ODM2ZjNhMzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElEQktleUN1c3RvbS5jcHAKQEAgLTM4LDcgKzM4LDcgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJREJL
ZXkqIGtleSkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KElEQktleSoga2V5LCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWtleSkKICAgICAgICAgcmV0dXJuIHY4OjpOdWxs
KCk7CkBAIC01OCw3ICs1OCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KElEQktleSog
a2V5KQogICAgICAgICB7CiAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OkFycmF5PiBhcnJheSA9
IHY4OjpBcnJheTo6TmV3KGtleS0+YXJyYXkoKS5zaXplKCkpOwogICAgICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBrZXktPmFycmF5KCkuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICAg
ICAgYXJyYXktPlNldChpLCB0b1Y4KGtleS0+YXJyYXkoKVtpXS5nZXQoKSkpOworICAgICAgICAg
ICAgICAgIGFycmF5LT5TZXQoaSwgdG9WOChrZXktPmFycmF5KClbaV0uZ2V0KCksIGlzb2xhdGUp
KTsKICAgICAgICAgICAgIHJldHVybiBhcnJheTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEltYWdlRGF0YUN1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbWFnZURhdGFDdXN0b20u
Y3BwCmluZGV4IGI0NTQ5ZTQxNjU5Y2ZiMjE1MTEyMjg0ZGUwMTI0ZWZhNWI3ZTA1MWIuLjMzN2E1
YmY4MDI2OWIyM2YxMDI3ZTY3YTVhNTdhZDgzOWUxYTQ0MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEltYWdlRGF0YUN1c3RvbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW1hZ2VEYXRhQ3VzdG9tLmNwcApAQCAt
MzUsNyArMzUsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXY4OjpIYW5kbGU8djg6OlZh
bHVlPiB0b1Y4KEltYWdlRGF0YSogaW1wbCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KElt
YWdlRGF0YSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQog
ICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEludDE2QXJyYXlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50MTZBcnJheUN1c3RvbS5jcHAKaW5kZXggNzBkNTM4NGRm
MzAyMGE4NTRlMTdlMWI0ZTUwYjZhNTJkYjM4ZWNkZi4uMWVlZTk4ZGE4ZGE0Mzc1MGRmN2Q4Yjc2
MzdkY2U3YzE5YjRmOTk3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SW50MTZBcnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SW50MTZBcnJheUN1c3RvbS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4SW50MTZBcnJheTo6c2V0Q2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncykKICAgICByZXR1cm4gc2V0V2ViR0xBcnJheUhlbHBlcjxJbnQxNkFycmF5
LCBWOEludDE2QXJyYXk+KGFyZ3MpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJ
bnQxNkFycmF5KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSW50MTZBcnJheSog
aW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICBy
ZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOEludDMyQXJyYXlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4SW50MzJBcnJheUN1c3RvbS5jcHAKaW5kZXggMGUwMTI1ZjYyMjViZGFlODJk
MDBhNzllOWFlN2JjNzFjOTk5NmJkMS4uNjc2N2EyMjQ4M2IzMGM4NmY0MTVlMjEwODg5NTFiMTU5
ZTMxYjM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SW50MzJBcnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4SW50MzJBcnJheUN1c3RvbS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4SW50MzJBcnJheTo6c2V0Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncykKICAgICByZXR1cm4gc2V0V2ViR0xBcnJheUhlbHBlcjxJbnQzMkFycmF5LCBWOEludDMy
QXJyYXk+KGFyZ3MpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJbnQzMkFycmF5
KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSW50MzJBcnJheSogaW1wbCwgdjg6
Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gdjg6
Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEludDhBcnJheUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhJbnQ4QXJyYXlDdXN0b20uY3BwCmluZGV4IDY1ZDZlYTdhNjdhMGNhOThlODY5MTEzMTQ4NDdj
Mzk0YzQ3MmM3OTAuLjEzNzMwMDhlMjAyYzFiMDAwZTc2ZTJiYmIzODUzZmQ1NTk4NzEzMjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludDhBcnJheUN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50OEFy
cmF5Q3VzdG9tLmNwcApAQCAtNTMsNyArNTMsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhJ
bnQ4QXJyYXk6OnNldENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAgcmV0
dXJuIHNldFdlYkdMQXJyYXlIZWxwZXI8SW50OEFycmF5LCBWOEludDhBcnJheT4oYXJncyk7CiB9
CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEludDhBcnJheSogaW1wbCkKK3Y4OjpIYW5k
bGU8djg6OlZhbHVlPiB0b1Y4KEludDhBcnJheSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUp
CiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOExvY2F0aW9uQ3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOExvY2F0aW9uQ3VzdG9tLmNw
cAppbmRleCA3ZGI3NGU4NTgyMmI0MTYyOWM5YjBlMGQ4NjUyMGZkZDZjYWNjNDA4Li41MGVjYTAz
YjliMTIxOGZkYTkwYTViYzU4MzMyNzcyNzE5NTU5MmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhMb2NhdGlvbkN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TG9jYXRpb25DdXN0b20uY3BwCkBAIC0yNzIs
NyArMjcyLDcgQEAgYm9vbCBWOExvY2F0aW9uOjpuYW1lZFNlY3VyaXR5Q2hlY2sodjg6OkxvY2Fs
PHY4OjpPYmplY3Q+IGhvc3QsIHY4OjpMb2NhbDx2ODo6VmEKICAgICByZXR1cm4gVjhCaW5kaW5n
U2VjdXJpdHk6OmNhbkFjY2Vzc0ZyYW1lKFY4QmluZGluZ1N0YXRlOjpPbmx5KCksIGltcC0+ZnJh
bWUoKSwgZmFsc2UpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChMb2NhdGlvbiog
aW1wbCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KExvY2F0aW9uKiBpbXBsLCB2ODo6SXNv
bGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVs
bCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFt
ZWROb2RlTWFwQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAKaW5kZXggZjMwMzEyOGUwODc0MDdjYzA4YWNkODUyNzFj
Mjk1OWRjZTk5ZWY3NC4uZTE3MTE5NmMxMTQ2YWJlODZlYmZmYzA1ZWU5ODdmZGFmZGE1NTEzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rl
TWFwQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhO
YW1lZE5vZGVNYXBDdXN0b20uY3BwCkBAIC03MSw3ICs3MSw3IEBAIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOE5hbWVkTm9kZU1hcDo6bmFtZWRQcm9wZXJ0eUdldHRlcih2ODo6TG9jYWw8djg6OlN0
cmluZz4KICAgICByZXR1cm4gdG9WOChyZXN1bHQucmVsZWFzZSgpKTsKIH0KIAotdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHRvVjgoTmFtZWROb2RlTWFwKiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHRvVjgoTmFtZWROb2RlTWFwKiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAg
ICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcAppbmRleCBkNmY0YmJl
ZjM5ODYxZTliNzgwYmY0MWU5MWZmMTUxOWIzNDU4NWRkLi4xYjg5YjNhOTMxZTg5Yjc0OWM5OGY5
MWI1OWNkOTRiMDQwZWNjODVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcApAQCAtMTQ5LDM0ICsxNDksMzQgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHRvVjhTbG93KE5vZGUqIGltcGwsIGJvb2wgZm9yY2VOZXdPYmplY3QpCiAg
ICAgc3dpdGNoIChpbXBsLT5ub2RlVHlwZSgpKSB7CiAgICAgY2FzZSBOb2RlOjpFTEVNRU5UX05P
REU6CiAgICAgICAgIGlmIChpbXBsLT5pc0hUTUxFbGVtZW50KCkpCi0gICAgICAgICAgICByZXR1
cm4gdG9WOCh0b0hUTUxFbGVtZW50KGltcGwpLCBmb3JjZU5ld09iamVjdCk7CisgICAgICAgICAg
ICByZXR1cm4gdG9WOCh0b0hUTUxFbGVtZW50KGltcGwpLCAwLCBmb3JjZU5ld09iamVjdCk7CiAj
aWYgRU5BQkxFKFNWRykKICAgICAgICAgaWYgKGltcGwtPmlzU1ZHRWxlbWVudCgpKQotICAgICAg
ICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KGltcGwpLCBmb3JjZU5l
d09iamVjdCk7CisgICAgICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxTVkdFbGVtZW50
Kj4oaW1wbCksIDAsIGZvcmNlTmV3T2JqZWN0KTsKICNlbmRpZgogICAgICAgICByZXR1cm4gVjhF
bGVtZW50Ojp3cmFwKHN0YXRpY19jYXN0PEVsZW1lbnQqPihpbXBsKSwgZm9yY2VOZXdPYmplY3Qp
OwogICAgIGNhc2UgTm9kZTo6QVRUUklCVVRFX05PREU6Ci0gICAgICAgIHJldHVybiB0b1Y4KHN0
YXRpY19jYXN0PEF0dHIqPihpbXBsKSwgZm9yY2VOZXdPYmplY3QpOworICAgICAgICByZXR1cm4g
dG9WOChzdGF0aWNfY2FzdDxBdHRyKj4oaW1wbCksIDAsIGZvcmNlTmV3T2JqZWN0KTsKICAgICBj
YXNlIE5vZGU6OlRFWFRfTk9ERToKLSAgICAgICAgcmV0dXJuIHRvVjgodG9UZXh0KGltcGwpLCBm
b3JjZU5ld09iamVjdCk7CisgICAgICAgIHJldHVybiB0b1Y4KHRvVGV4dChpbXBsKSwgMCwgZm9y
Y2VOZXdPYmplY3QpOwogICAgIGNhc2UgTm9kZTo6Q0RBVEFfU0VDVElPTl9OT0RFOgotICAgICAg
ICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDREFUQVNlY3Rpb24qPihpbXBsKSwgZm9yY2VOZXdP
YmplY3QpOworICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDREFUQVNlY3Rpb24qPihp
bXBsKSwgMCwgZm9yY2VOZXdPYmplY3QpOwogICAgIGNhc2UgTm9kZTo6RU5USVRZX1JFRkVSRU5D
RV9OT0RFOgotICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxFbnRpdHlSZWZlcmVuY2Uq
PihpbXBsKSwgZm9yY2VOZXdPYmplY3QpOworICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2Fz
dDxFbnRpdHlSZWZlcmVuY2UqPihpbXBsKSwgMCwgZm9yY2VOZXdPYmplY3QpOwogICAgIGNhc2Ug
Tm9kZTo6RU5USVRZX05PREU6Ci0gICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PEVudGl0
eSo+KGltcGwpLCBmb3JjZU5ld09iamVjdCk7CisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19j
YXN0PEVudGl0eSo+KGltcGwpLCAwLCBmb3JjZU5ld09iamVjdCk7CiAgICAgY2FzZSBOb2RlOjpQ
Uk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREU6Ci0gICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19j
YXN0PFByb2Nlc3NpbmdJbnN0cnVjdGlvbio+KGltcGwpLCBmb3JjZU5ld09iamVjdCk7CisgICAg
ICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFByb2Nlc3NpbmdJbnN0cnVjdGlvbio+KGltcGwp
LCAwLCBmb3JjZU5ld09iamVjdCk7CiAgICAgY2FzZSBOb2RlOjpDT01NRU5UX05PREU6Ci0gICAg
ICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PENvbW1lbnQqPihpbXBsKSwgZm9yY2VOZXdPYmpl
Y3QpOworICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDb21tZW50Kj4oaW1wbCksIDAs
IGZvcmNlTmV3T2JqZWN0KTsKICAgICBjYXNlIE5vZGU6OkRPQ1VNRU5UX05PREU6Ci0gICAgICAg
IHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PERvY3VtZW50Kj4oaW1wbCksIGZvcmNlTmV3T2JqZWN0
KTsKKyAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihpbXBsKSwgMCwg
Zm9yY2VOZXdPYmplY3QpOwogICAgIGNhc2UgTm9kZTo6RE9DVU1FTlRfVFlQRV9OT0RFOgotICAg
ICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxEb2N1bWVudFR5cGUqPihpbXBsKSwgZm9yY2VO
ZXdPYmplY3QpOworICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxEb2N1bWVudFR5cGUq
PihpbXBsKSwgMCwgZm9yY2VOZXdPYmplY3QpOwogICAgIGNhc2UgTm9kZTo6RE9DVU1FTlRfRlJB
R01FTlRfTk9ERToKLSAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8RG9jdW1lbnRGcmFn
bWVudCo+KGltcGwpLCBmb3JjZU5ld09iamVjdCk7CisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRp
Y19jYXN0PERvY3VtZW50RnJhZ21lbnQqPihpbXBsKSwgMCwgZm9yY2VOZXdPYmplY3QpOwogICAg
IGNhc2UgTm9kZTo6Tk9UQVRJT05fTk9ERToKLSAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nh
c3Q8Tm90YXRpb24qPihpbXBsKSwgZm9yY2VOZXdPYmplY3QpOworICAgICAgICByZXR1cm4gdG9W
OChzdGF0aWNfY2FzdDxOb3RhdGlvbio+KGltcGwpLCAwLCBmb3JjZU5ld09iamVjdCk7CiAgICAg
ZGVmYXVsdDogYnJlYWs7IC8vIFhQQVRIX05BTUVTUEFDRV9OT0RFCiAgICAgfQogICAgIHJldHVy
biBWOE5vZGU6OndyYXAoaW1wbCwgZm9yY2VOZXdPYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRG9jdW1lbnRDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRG9jdW1lbnRDdXN0b20uY3BwCmlu
ZGV4IDhkY2U2MWIzMmU0ODEyN2VhOGRiZDhhYzY3YWI2OTdiMWUyMWQ5ZjIuLjFjNWJhODVlMDlh
NGQ0N2JmYmNiZmExYzhhYjE0YTg5ZThmNjE3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNWR0RvY3VtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdEb2N1bWVudEN1c3RvbS5jcHAKQEAgLTM4
LDcgKzM4LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdG9WOChTVkdEb2N1bWVudCogaW1wbCwgYm9vbCBmb3JjZU5ld09iamVjdCkKK3Y4OjpIYW5k
bGU8djg6OlZhbHVlPiB0b1Y4KFNWR0RvY3VtZW50KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0
ZSwgYm9vbCBmb3JjZU5ld09iamVjdCkKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVy
biB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4U1ZHRWxlbWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhTVkdFbGVtZW50Q3VzdG9tLmNwcAppbmRleCA3YWQ1ZjQxNTdlMGU1YjJlYjZiNzZl
ZWVkMDU2ZThiMGZlNGYzNjgwLi5mY2NlNDVhODc0Y2ExYzFmZTg4MDc0NGZiY2M3N2Q1MGM2OGRi
ODU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdF
bGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhTVkdFbGVtZW50Q3VzdG9tLmNwcApAQCAtMzcsNyArMzcsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFNWR0VsZW1lbnQqIGltcGwsIGJv
b2wgZm9yY2VOZXdPYmplY3QpCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChTVkdFbGVtZW50
KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwgYm9vbCBmb3JjZU5ld09iamVjdCkKIHsKICAg
ICBpZiAoIWltcGwpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHUGF0aFNlZ0N1c3RvbS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdQYXRoU2VnQ3VzdG9tLmNwcApp
bmRleCA1NTQ0ZjgzOWViYzkyZjZjNjA2OTQyYmVmZWRhMjRkYjViMGYzZmE0Li5iYzdkOWZkMWIw
ZWU4ZGNiZDFhMTgxYjg3MzY4NjQzMzBlYzA3MjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdQYXRoU2VnQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTVkdQYXRoU2VnQ3VzdG9tLmNwcApAQCAtNTcs
NyArNTcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVl
PiB0b1Y4KFNWR1BhdGhTZWcqIGltcGwpCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChTVkdQ
YXRoU2VnKiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWltcGwpCiAg
ICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTY3JpcHRQcm9maWxlQ3VzdG9tLmNwcAppbmRleCA2NDIx
ODU1MDE2MjZmZDJlOWNmN2QzMmFjMmJmZTNhZmJiM2Y2MTNiLi43YmFiNDZiYjhkNWRhN2Q2MzM2
ZjljNmEyNGE1ZDQ2ZmEzN2NlOWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhTY3JpcHRQcm9maWxlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTY3JpcHRQcm9maWxlQ3VzdG9tLmNwcApAQCAtNDEsNyAr
NDEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiB0
b1Y4KFNjcmlwdFByb2ZpbGUqIGltcGwpCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChTY3Jp
cHRQcm9maWxlKiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWltcGwp
CiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZU5vZGVDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZU5vZGVDdXN0b20uY3Bw
CmluZGV4IDc4ZDkyMTBiZDFlMjU5ZWNjMDE2NjE4NDNmNjAwNTY4NjUzMzgwZjQuLjNlZThmOGZl
MmVlMDliZmZlOTVmMmQ2ZWNiODk3YmUzMGIwMzJjNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNjcmlwdFByb2ZpbGVOb2RlQ3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTY3JpcHRQcm9maWxlTm9kZUN1
c3RvbS5jcHAKQEAgLTQ4LDcgKzQ4LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4U2NyaXB0
UHJvZmlsZU5vZGU6OmNhbGxVSURBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlMKICAgICBy
ZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+Y2FsbFVJRCgpKTsKIH0KIAotdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHRvVjgoU2NyaXB0UHJvZmlsZU5vZGUqIGltcGwpCit2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdG9WOChTY3JpcHRQcm9maWxlTm9kZSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUp
CiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3Rv
bS5jcHAKaW5kZXggMGZlNmFmODUwYWQzMzkzODM1MGRiNmZhYmZiZDAzYWExZDc3ZjlhZC4uZWRj
N2UwOWQ3OWE0MDljNjJkNGIxZWIyMTA4MjZkOWRiODI5ZTExZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAK
QEAgLTM3LDcgKzM3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gdG9WOChTdHlsZVNoZWV0KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRv
VjgoU3R5bGVTaGVldCogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFp
bXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQxNkFycmF5Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQxNkFycmF5Q3VzdG9tLmNwcAppbmRleCBk
NDJjOTFjMGMxYjcyOWI3NTQ3NzIzYzJjNTFhNzYwZThlOWQwOGM4Li43YWE4NzVmODM0YTVlMWFk
OTBmZDg5NjBkMzgwMzEyZGIzMDQyYzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhVaW50MTZBcnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDE2QXJyYXlDdXN0b20uY3BwCkBAIC01Myw3ICs1
Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFVpbnQxNkFycmF5OjpzZXRDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVybiBzZXRXZWJHTEFycmF5SGVscGVy
PFVpbnQxNkFycmF5LCBWOFVpbnQxNkFycmF5PihhcmdzKTsKIH0KIAotdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHRvVjgoVWludDE2QXJyYXkqIGltcGwpCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9W
OChVaW50MTZBcnJheSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFp
bXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQzMkFycmF5Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQzMkFycmF5Q3VzdG9tLmNwcAppbmRleCAy
NGNmMThhN2U1ZjNlZDVmMGVmMzgyODZiOWFhZmJhNmI3MzU4NTE1Li44YzllZGY5YmMwNzYxM2Jl
ZWRlMTI1MTAyZTUwYWMzNGJhODIwNzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhVaW50MzJBcnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDMyQXJyYXlDdXN0b20uY3BwCkBAIC01Myw3ICs1
Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFVpbnQzMkFycmF5OjpzZXRDYWxsYmFjayhj
b25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIHJldHVybiBzZXRXZWJHTEFycmF5SGVscGVy
PFVpbnQzMkFycmF5LCBWOFVpbnQzMkFycmF5PihhcmdzKTsKIH0KIAotdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHRvVjgoVWludDMyQXJyYXkqIGltcGwpCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9W
OChVaW50MzJBcnJheSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFp
bXBsKQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQ4QXJyYXlDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAKaW5kZXggZjdk
YzgzNjFhZDFmN2QwMmFlNTdkMDE3YjY5ZjYyYzg5YmU1YTQzMi4uZjE5MDJiZWQ4ZWI2NDRkYmIw
ZDlmNTk3ZGVlODI3NDhjMzk4ODRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAKQEAgLTUzLDcgKzUzLDcg
QEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4VWludDhBcnJheTo6c2V0Q2FsbGJhY2soY29uc3Qg
djg6OkFyZ3VtZW50cyYgYXJncykKICAgICByZXR1cm4gc2V0V2ViR0xBcnJheUhlbHBlcjxVaW50
OEFycmF5LCBWOFVpbnQ4QXJyYXk+KGFyZ3MpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dG9WOChVaW50OEFycmF5KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoVWludDhB
cnJheSogaW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQogICAg
ICAgICByZXR1cm4gdjg6Ok51bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFVpbnQ4Q2xhbXBlZEFycmF5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQ4Q2xhbXBlZEFycmF5Q3VzdG9tLmNwcAppbmRl
eCBmM2EwNjlhYmIxMjg4Y2RkYmVmNjAyYjhjMDFhZGViNzM0YmFhMTk3Li4wNDkxOGNlYmNjM2Qx
YzJjZDc1MWIzYjExYzNjMTQ0ZjY0ODVkNTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhVaW50OENsYW1wZWRBcnJheUN1c3RvbS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhDbGFtcGVkQXJyYXlDdXN0b20u
Y3BwCkBAIC01MCw3ICs1MCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFVpbnQ4Q2xhbXBl
ZEFycmF5OjpzZXRDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzCiAgICAgcmV0dXJu
IHNldFdlYkdMQXJyYXlIZWxwZXI8VWludDhDbGFtcGVkQXJyYXksIFY4VWludDhDbGFtcGVkQXJy
YXk+KGFyZ3MpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChVaW50OENsYW1wZWRB
cnJheSogaW1wbCkKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFVpbnQ4Q2xhbXBlZEFycmF5
KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBpZiAoIWltcGwpCiAgICAgICAg
IHJldHVybiB2ODo6TnVsbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4V29ya2VyQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAppbmRleCA0MDk0NTc1ZTg1
OGE4NTUyOGEwNDkwZDQ4NmM2ZGIzOGU1ZmViMGViLi45MWJhMDA3N2NiYTZiYmVkNTc4NTM1ZTk5
N2NmNjlkNDJlZTA2MGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcApAQCAtMTI0LDcgKzEyNCw3
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdvcmtlckNvbnRleHQ6OnNldEludGVydmFsQ2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYKICAgICByZXR1cm4gU2V0VGltZW91dE9ySW50ZXJ2
YWwoYXJncywgZmFsc2UpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChXb3JrZXJD
b250ZXh0KiBpbXBsKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoV29ya2VyQ29udGV4dCog
aW1wbCwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCiB7CiAgICAgaWYgKCFpbXBsKQogICAgICAgICBy
ZXR1cm4gdjg6Ok51bGwoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>