<?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>85050</bug_id>
          
          <creation_ts>2012-04-27 04:40:10 -0700</creation_ts>
          <short_desc>TextTrack modes are strings</short_desc>
          <delta_ts>2012-08-27 13:12:22 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>85035</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Victor Carbune">vcarbune</reporter>
          <assigned_to name="Anna Cavender">annacc</assigned_to>
          <cc>abarth</cc>
    
    <cc>annacc</cc>
    
    <cc>edaena</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>ojan</cc>
    
    <cc>silviapf</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>611378</commentid>
    <comment_count>0</comment_count>
    <who name="Victor Carbune">vcarbune</who>
    <bug_when>2012-04-27 04:40:10 -0700</bug_when>
    <thetext>The IDL for TextTrack has a TextTrackMode string enumeration
as type for the mode attribute (instead of numeric values)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650266</commentid>
    <comment_count>1</comment_count>
    <who name="Edaena Salinas">edaena</who>
    <bug_when>2012-06-15 09:49:04 -0700</bug_when>
    <thetext>How is string enumeration beneficial for representing the TextTrack mode?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650325</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-06-15 10:44:33 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; How is string enumeration beneficial for representing the TextTrack mode?

That is a question for the working group.

Here is the relevant spec text: http://dev.w3.org/html5/spec/media-elements.html#texttrackmode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704494</commentid>
    <comment_count>3</comment_count>
      <attachid>160519</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-24 16:14:18 -0700</bug_when>
    <thetext>Created attachment 160519
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704717</commentid>
    <comment_count>4</comment_count>
      <attachid>160519</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-08-25 12:41:45 -0700</bug_when>
    <thetext>Comment on attachment 160519
Patch

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

&gt; Source/WebCore/ChangeLog:18
&gt; +        * html/HTMLMediaElement.cpp:
&gt; +        (WebCore::HTMLMediaElement::loadInternal):
&gt; +        (WebCore::HTMLMediaElement::textTrackModeChanged):
&gt; +        (WebCore::HTMLMediaElement::textTrackKindChanged):
&gt; +        (WebCore::HTMLMediaElement::addTextTrack):

I think it is helpful to have a brief explanation of what changed in each method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704718</commentid>
    <comment_count>5</comment_count>
      <attachid>160519</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-08-25 12:43:03 -0700</bug_when>
    <thetext>Comment on attachment 160519
Patch

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

&gt; Source/WebCore/html/track/TextTrack.h:73
&gt; +    static const String&amp; disabledKeyword()
&gt; +    {
&gt; +        DEFINE_STATIC_LOCAL(const String, open, (&quot;disabled&quot;));
&gt; +        return open;
&gt; +    }
&gt; +
&gt; +    static const String&amp; hiddenKeyword()
&gt; +    {
&gt; +        DEFINE_STATIC_LOCAL(const String, closed, (&quot;hidden&quot;));
&gt; +        return closed;
&gt; +    }
&gt; +
&gt; +    static const String&amp; showingKeyword()
&gt; +    {
&gt; +        DEFINE_STATIC_LOCAL(const String, ended, (&quot;showing&quot;));
&gt; +        return ended;
&gt; +    }

The implementation of methods like these is usually in the .cpp file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704724</commentid>
    <comment_count>6</comment_count>
      <attachid>160519</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-25 14:56:53 -0700</bug_when>
    <thetext>Comment on attachment 160519
Patch

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

&gt; Source/WebCore/html/track/TextTrack.h:60
&gt; +        DEFINE_STATIC_LOCAL(const String, open, (&quot;disabled&quot;));
&gt; +        return open;

We should use ConstructFromLiteral rather than this pattern now:

http://trac.webkit.org/wiki/EfficientStrings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704743</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-08-25 16:02:41 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 160519 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=160519&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/track/TextTrack.h:60
&gt; &gt; +        DEFINE_STATIC_LOCAL(const String, open, (&quot;disabled&quot;));
&gt; &gt; +        return open;
&gt; 
&gt; We should use ConstructFromLiteral rather than this pattern now:
&gt; 
&gt; http://trac.webkit.org/wiki/EfficientStrings

I wonder if DEFINE_STATIC_LOCAL can be rewritten to use ConstructFromLiteral? That could be a big win.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704748</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-25 16:13:56 -0700</bug_when>
    <thetext>In the case of String, that seems likely.  In the general case, I&apos;m less sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705421</commentid>
    <comment_count>9</comment_count>
      <attachid>160519</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-27 11:18:59 -0700</bug_when>
    <thetext>Comment on attachment 160519
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:18
&gt;&gt; +        (WebCore::HTMLMediaElement::addTextTrack):
&gt; 
&gt; I think it is helpful to have a brief explanation of what changed in each method.

Done.

&gt;&gt;&gt; Source/WebCore/html/track/TextTrack.h:60
&gt;&gt;&gt; +        return open;
&gt;&gt; 
&gt;&gt; We should use ConstructFromLiteral rather than this pattern now:
&gt;&gt; 
&gt;&gt; http://trac.webkit.org/wiki/EfficientStrings
&gt; 
&gt; I wonder if DEFINE_STATIC_LOCAL can be rewritten to use ConstructFromLiteral? That could be a big win.

I will add ConstructFromLiteral.  Thanks.

&gt;&gt; Source/WebCore/html/track/TextTrack.h:73
&gt;&gt; +    }
&gt; 
&gt; The implementation of methods like these is usually in the .cpp file.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705424</commentid>
    <comment_count>10</comment_count>
      <attachid>160752</attachid>
    <who name="Anna Cavender">annacc</who>
    <bug_when>2012-08-27 11:19:48 -0700</bug_when>
    <thetext>Created attachment 160752
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705562</commentid>
    <comment_count>11</comment_count>
      <attachid>160752</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-27 13:12:18 -0700</bug_when>
    <thetext>Comment on attachment 160752
Patch for landing

Clearing flags on attachment: 160752

Committed r126786: &lt;http://trac.webkit.org/changeset/126786&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705563</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-27 13:12:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160519</attachid>
            <date>2012-08-24 16:14:18 -0700</date>
            <delta_ts>2012-08-27 11:19:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85050-20120824161413.patch</filename>
            <type>text/plain</type>
            <size>37485</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2QwZWM4ZDNmNjAwZTU2
NTFmOWZiNDYzYWFkZGZhNTRmYzM5N2NjZC4uYjk1NjRhMzExYzA0YTVhODI0NmQyNzdhYmJmMTA2
ZWY0YWYxMmMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA4LTI0ICBBbm5h
IENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2sgbW9k
ZXMgYXJlIHN0cmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg1MDUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIHNwZWMgcmVjZW50bHkgY2hhbmdlZCBhd2F5IGZyb20gZW51bWVyYXRpb24gdG8g
c3RyaW5nIGZvciB0aGUgdHlwZQorICAgICAgICBvZiBUZXh0VHJhY2sgbW9kZS4KKyAgICAgICAg
aHR0cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy9tZWRpYS1lbGVtZW50cy5odG1sI3RleHR0cmFj
a21vZGUKKworICAgICAgICBObyBuZXcgdGVzdHMuIFVwZGF0ZXMgdG8gZXhpc3RpbmcgdGVzdHMu
CisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudDo6bG9hZEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnQ6OnRleHRUcmFja01vZGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OnRleHRUcmFja0tpbmRDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmFkZFRleHRUcmFjayk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50OjpzaG93aW5nVHJhY2tXaXRoU2FtZUtpbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJlVGV4dFRyYWNrR3JvdXApOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJlTmV3VGV4dFRyYWNrcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhY2tEaXNw
bGF5KToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2s6OlRleHRUcmFjayk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6
OnNldE1vZGUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrOjptb2RlKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFjazo6Y3Vlcyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6
OmFjdGl2ZUN1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrOjppc1JlbmRlcmVkKToK
KyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5oOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dFRyYWNrOjpkaXNhYmxlZEtleXdvcmQpOgorICAgICAgICAoVGV4dFRyYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRUcmFjazo6aGlkZGVuS2V5d29yZCk6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0VHJhY2s6OnNob3dpbmdLZXl3b3JkKToKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFj
ay5pZGw6CisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dFRyYWNrQ3VlOjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRUcmFja0N1ZTo6aXNBY3RpdmUpOgorCiAyMDEyLTA4LTI0ICBBbmlzaCBCaGF5YW5pICA8
YW5pc2guYmhheWFuaUBnbWFpbC5jb20+CiAKICAgICAgICAgd2Via2l0LWltYWdlLXNldCgpIGZ1
bmN0aW9uIG5vdCBzaG93aW5nIHVwIHdoZW4gY29tcHV0aW5nIGJhY2tncm91bmQgcHJvcGVydHkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDAyYTU2NDVjNWY0
NWIzYWZiNTY2MWQ4YmNkNDZmOTNkZjNkZWIyZDEuLmQ0NjAzZmRiNTMxM2I4NmY1ZGU3NmNiZjY3
NDVhZjU0MWUxMTg1YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cApAQCAtNzc3LDcgKzc3Nyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bG9hZEludGVybmFs
KCkKICAgICAgICAgaWYgKG1fdGV4dFRyYWNrcykgewogICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IG1fdGV4dFRyYWNrcy0+bGVuZ3RoKCk7ICsraSkgewogICAgICAgICAgICAg
ICAgIFRleHRUcmFjayogdHJhY2sgPSBtX3RleHRUcmFja3MtPml0ZW0oaSk7Ci0gICAgICAgICAg
ICAgICAgaWYgKHRyYWNrLT5tb2RlKCkgIT0gVGV4dFRyYWNrOjpESVNBQkxFRCkKKyAgICAgICAg
ICAgICAgICBpZiAodHJhY2stPm1vZGUoKSAhPSBUZXh0VHJhY2s6OmRpc2FibGVkS2V5d29yZCgp
KQogICAgICAgICAgICAgICAgICAgICBtX3RleHRUcmFja3NXaGVuUmVzb3VyY2VTZWxlY3Rpb25C
ZWdhbi5hcHBlbmQodHJhY2spOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0xMjk1LDcg
KzEyOTUsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnRleHRUcmFja01vZGVDaGFuZ2VkKFRl
eHRUcmFjayogdHJhY2spCiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIE1hcmsgdGhpcyB0
cmFjayBhcyAiY29uZmlndXJlZCIgc28gY29uZmlndXJlTmV3VGV4dFRyYWNrcyB3b24ndCBjaGFu
Z2UgdGhlIG1vZGUgYWdhaW4uCiAgICAgICAgICAgICB0cmFja0VsZW1lbnQtPnNldEhhc0JlZW5D
b25maWd1cmVkKHRydWUpOwotICAgICAgICAgICAgaWYgKHRyYWNrLT5tb2RlKCkgIT0gVGV4dFRy
YWNrOjpESVNBQkxFRCkgeworICAgICAgICAgICAgaWYgKHRyYWNrLT5tb2RlKCkgIT0gVGV4dFRy
YWNrOjpkaXNhYmxlZEtleXdvcmQoKSkgewogICAgICAgICAgICAgICAgIGlmICh0cmFja0VsZW1l
bnQtPnJlYWR5U3RhdGUoKSA9PSBIVE1MVHJhY2tFbGVtZW50OjpMT0FERUQpCiAgICAgICAgICAg
ICAgICAgICAgIHRleHRUcmFja0FkZEN1ZXModHJhY2ssIHRyYWNrLT5jdWVzKCkpOwogICAgICAg
ICAgICAgICAgIGVsc2UgaWYgKHRyYWNrRWxlbWVudC0+cmVhZHlTdGF0ZSgpID09IEhUTUxUcmFj
a0VsZW1lbnQ6Ok5PTkUpCkBAIC0xMzE0LDggKzEzMTQsOCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OnRleHRUcmFja01vZGVDaGFuZ2VkKFRleHRUcmFjayogdHJhY2spCiAKIHZvaWQgSFRNTE1l
ZGlhRWxlbWVudDo6dGV4dFRyYWNrS2luZENoYW5nZWQoVGV4dFRyYWNrKiB0cmFjaykKIHsKLSAg
ICBpZiAodHJhY2stPmtpbmQoKSAhPSBUZXh0VHJhY2s6OmNhcHRpb25zS2V5d29yZCgpICYmIHRy
YWNrLT5raW5kKCkgIT0gVGV4dFRyYWNrOjpzdWJ0aXRsZXNLZXl3b3JkKCkgJiYgdHJhY2stPm1v
ZGUoKSA9PSBUZXh0VHJhY2s6OlNIT1dJTkcpCi0gICAgICAgIHRyYWNrLT5zZXRNb2RlKFRleHRU
cmFjazo6SElEREVOLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAgICBpZiAodHJhY2stPmtpbmQo
KSAhPSBUZXh0VHJhY2s6OmNhcHRpb25zS2V5d29yZCgpICYmIHRyYWNrLT5raW5kKCkgIT0gVGV4
dFRyYWNrOjpzdWJ0aXRsZXNLZXl3b3JkKCkgJiYgdHJhY2stPm1vZGUoKSA9PSBUZXh0VHJhY2s6
OnNob3dpbmdLZXl3b3JkKCkpCisgICAgICAgIHRyYWNrLT5zZXRNb2RlKFRleHRUcmFjazo6aGlk
ZGVuS2V5d29yZCgpKTsKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0ZXh0VHJhY2tBZGRD
dWVzKFRleHRUcmFjayosIGNvbnN0IFRleHRUcmFja0N1ZUxpc3QqIGN1ZXMpIApAQCAtMjY4OCw3
ICsyNjg4LDcgQEAgUGFzc1JlZlB0cjxUZXh0VHJhY2s+IEhUTUxNZWRpYUVsZW1lbnQ6OmFkZFRl
eHRUcmFjayhjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFMKICAgICB0ZXh0VHJhY2stPnNldFJl
YWRpbmVzc1N0YXRlKFRleHRUcmFjazo6TG9hZGVkKTsKIAogICAgIC8vIC4uLiBpdHMgdGV4dCB0
cmFjayBtb2RlIHRvIHRoZSB0ZXh0IHRyYWNrIGhpZGRlbiBtb2RlLCBhbmQgaXRzIHRleHQgdHJh
Y2sgbGlzdCBvZiBjdWVzIHRvIGFuIGVtcHR5IGxpc3QgLi4uCi0gICAgdGV4dFRyYWNrLT5zZXRN
b2RlKFRleHRUcmFjazo6SElEREVOLCBlYyk7CisgICAgdGV4dFRyYWNrLT5zZXRNb2RlKFRleHRU
cmFjazo6aGlkZGVuS2V5d29yZCgpKTsKIAogICAgIHJldHVybiB0ZXh0VHJhY2sucmVsZWFzZSgp
OwogfQpAQCAtMjcxMyw3ICsyNzEzLDcgQEAgSFRNTFRyYWNrRWxlbWVudCogSFRNTE1lZGlhRWxl
bWVudDo6c2hvd2luZ1RyYWNrV2l0aFNhbWVLaW5kKEhUTUxUcmFja0VsZW1lbnQqIHQKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIEhUTUxUcmFja0VsZW1lbnQqIHNob3dpbmdUcmFj
ayA9IHN0YXRpY19jYXN0PEhUTUxUcmFja0VsZW1lbnQqPihub2RlKTsKLSAgICAgICAgaWYgKHNo
b3dpbmdUcmFjay0+a2luZCgpID09IHRyYWNrRWxlbWVudC0+a2luZCgpICYmIHNob3dpbmdUcmFj
ay0+dHJhY2soKS0+bW9kZSgpID09IFRleHRUcmFjazo6U0hPV0lORykKKyAgICAgICAgaWYgKHNo
b3dpbmdUcmFjay0+a2luZCgpID09IHRyYWNrRWxlbWVudC0+a2luZCgpICYmIHNob3dpbmdUcmFj
ay0+dHJhY2soKS0+bW9kZSgpID09IFRleHRUcmFjazo6c2hvd2luZ0tleXdvcmQoKSkKICAgICAg
ICAgICAgIHJldHVybiBzaG93aW5nVHJhY2s7CiAgICAgfQogICAgIApAQCAtMjg2NCwxMCArMjg2
NCw5IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJlVGV4dFRyYWNrR3JvdXAoY29u
c3QgVHJhY2tHcm91cCYgZ3JvdXApIGNvbnN0CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBn
cm91cC50cmFja3Muc2l6ZSgpOyArK2kpIHsKICAgICAgICAgSFRNTFRyYWNrRWxlbWVudCogdHJh
Y2tFbGVtZW50ID0gZ3JvdXAudHJhY2tzW2ldOwogICAgICAgICBSZWZQdHI8VGV4dFRyYWNrPiB0
ZXh0VHJhY2sgPSB0cmFja0VsZW1lbnQtPnRyYWNrKCk7Ci0gICAgICAgIEV4Y2VwdGlvbkNvZGUg
dW51c2VkRXhjZXB0aW9uOwogICAgICAgICAKICAgICAgICAgaWYgKHRyYWNrRWxlbWVudFRvRW5h
YmxlID09IHRyYWNrRWxlbWVudCkgewotICAgICAgICAgICAgdGV4dFRyYWNrLT5zZXRNb2RlKFRl
eHRUcmFjazo6U0hPV0lORywgdW51c2VkRXhjZXB0aW9uKTsKKyAgICAgICAgICAgIHRleHRUcmFj
ay0+c2V0TW9kZShUZXh0VHJhY2s6OnNob3dpbmdLZXl3b3JkKCkpOwogICAgICAgICAgICAgaWYg
KGRlZmF1bHRUcmFjayA9PSB0cmFja0VsZW1lbnQpCiAgICAgICAgICAgICAgICAgdGV4dFRyYWNr
LT5zZXRTaG93aW5nQnlEZWZhdWx0KHRydWUpOwogICAgICAgICB9IGVsc2UgewpAQCAtMjg3Niwx
OCArMjg3NSwxNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0dy
b3VwKGNvbnN0IFRyYWNrR3JvdXAmIGdyb3VwKSBjb25zdAogICAgICAgICAgICAgICAgIC8vIG1v
ZGUgaXMgc2hvd2luZyBieSBkZWZhdWx0LCB0aGUgdXNlciBhZ2VudCBtdXN0IGZ1cnRoZXJtb3Jl
IGNoYW5nZSB0aGF0IHRleHQgdHJhY2sncwogICAgICAgICAgICAgICAgIC8vIHRleHQgdHJhY2sg
bW9kZSB0byBoaWRkZW4uCiAgICAgICAgICAgICAgICAgdGV4dFRyYWNrLT5zZXRTaG93aW5nQnlE
ZWZhdWx0KGZhbHNlKTsKLSAgICAgICAgICAgICAgICB0ZXh0VHJhY2stPnNldE1vZGUoVGV4dFRy
YWNrOjpISURERU4sIHVudXNlZEV4Y2VwdGlvbik7CisgICAgICAgICAgICAgICAgdGV4dFRyYWNr
LT5zZXRNb2RlKFRleHRUcmFjazo6aGlkZGVuS2V5d29yZCgpKTsKICAgICAgICAgICAgIH0gZWxz
ZQotICAgICAgICAgICAgICAgIHRleHRUcmFjay0+c2V0TW9kZShUZXh0VHJhY2s6OkRJU0FCTEVE
LCB1bnVzZWRFeGNlcHRpb24pOworICAgICAgICAgICAgICAgIHRleHRUcmFjay0+c2V0TW9kZShU
ZXh0VHJhY2s6OmRpc2FibGVkS2V5d29yZCgpKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIGlm
ICh0cmFja0VsZW1lbnRUb0VuYWJsZSAmJiBncm91cC5kZWZhdWx0VHJhY2sgJiYgZ3JvdXAuZGVm
YXVsdFRyYWNrICE9IHRyYWNrRWxlbWVudFRvRW5hYmxlKSB7CiAgICAgICAgIFJlZlB0cjxUZXh0
VHJhY2s+IHRleHRUcmFjayA9IGdyb3VwLmRlZmF1bHRUcmFjay0+dHJhY2soKTsKICAgICAgICAg
aWYgKHRleHRUcmFjayAmJiB0ZXh0VHJhY2stPnNob3dpbmdCeURlZmF1bHQoKSkgewotICAgICAg
ICAgICAgRXhjZXB0aW9uQ29kZSB1bnVzZWRFeGNlcHRpb247CiAgICAgICAgICAgICB0ZXh0VHJh
Y2stPnNldFNob3dpbmdCeURlZmF1bHQoZmFsc2UpOwotICAgICAgICAgICAgdGV4dFRyYWNrLT5z
ZXRNb2RlKFRleHRUcmFjazo6SElEREVOLCB1bnVzZWRFeGNlcHRpb24pOworICAgICAgICAgICAg
dGV4dFRyYWNrLT5zZXRNb2RlKFRleHRUcmFjazo6aGlkZGVuS2V5d29yZCgpKTsKICAgICAgICAg
fQogICAgIH0KIH0KQEAgLTI5MjIsNyArMjkyMCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
Y29uZmlndXJlTmV3VGV4dFRyYWNrcygpCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGN1cnJl
bnRHcm91cCA9ICZvdGhlclRyYWNrczsKIAotICAgICAgICBpZiAoIWN1cnJlbnRHcm91cC0+dmlz
aWJsZVRyYWNrICYmIHRleHRUcmFjay0+bW9kZSgpID09IFRleHRUcmFjazo6U0hPV0lORykKKyAg
ICAgICAgaWYgKCFjdXJyZW50R3JvdXAtPnZpc2libGVUcmFjayAmJiB0ZXh0VHJhY2stPm1vZGUo
KSA9PSBUZXh0VHJhY2s6OnNob3dpbmdLZXl3b3JkKCkpCiAgICAgICAgICAgICBjdXJyZW50R3Jv
dXAtPnZpc2libGVUcmFjayA9IHRyYWNrRWxlbWVudDsKICAgICAgICAgaWYgKCFjdXJyZW50R3Jv
dXAtPmRlZmF1bHRUcmFjayAmJiB0cmFja0VsZW1lbnQtPmlzRGVmYXVsdCgpKQogICAgICAgICAg
ICAgY3VycmVudEdyb3VwLT5kZWZhdWx0VHJhY2sgPSB0cmFja0VsZW1lbnQ7CkBAIC00MDkzLDcg
KzQwOTEsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0Rpc3Bs
YXkoKQogCiAgICAgYm9vbCBoYXZlVmlzaWJsZVRleHRUcmFjayA9IGZhbHNlOwogICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBtX3RleHRUcmFja3MtPmxlbmd0aCgpOyArK2kpIHsKLSAgICAg
ICAgaWYgKG1fdGV4dFRyYWNrcy0+aXRlbShpKS0+bW9kZSgpID09IFRleHRUcmFjazo6U0hPV0lO
RykgeworICAgICAgICBpZiAobV90ZXh0VHJhY2tzLT5pdGVtKGkpLT5tb2RlKCkgPT0gVGV4dFRy
YWNrOjpzaG93aW5nS2V5d29yZCgpKSB7CiAgICAgICAgICAgICBoYXZlVmlzaWJsZVRleHRUcmFj
ayA9IHRydWU7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9UZXh0VHJhY2suY3BwCmluZGV4IGFkZGM4NzUyNzQ3ZmZjOGMyYmExN2M3ZDBmZDU1
N2I0ZjlhMTgzZDkuLmMzYjgxYmNhOWMzN2M1ODM3ZDU2YzcwZjZhMDE2OGUxNmIxZGNmZDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5jcHAKQEAgLTgyLDcgKzgyLDcgQEAg
VGV4dFRyYWNrOjpUZXh0VHJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgVGV4
dFRyYWNrQ2xpZW50KiBjbGllbnQsIGMKICAgICAsIG1fbWVkaWFFbGVtZW50KDApCiAgICAgLCBt
X2xhYmVsKGxhYmVsKQogICAgICwgbV9sYW5ndWFnZShsYW5ndWFnZSkKLSAgICAsIG1fbW9kZShU
ZXh0VHJhY2s6OkRJU0FCTEVEKQorICAgICwgbV9tb2RlKGRpc2FibGVkS2V5d29yZCgpKQogICAg
ICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV90cmFja1R5cGUodHlwZSkKICAgICAsIG1fcmVh
ZGluZXNzU3RhdGUoTm90TG9hZGVkKQpAQCAtMTI4LDQxICsxMjgsMzkgQEAgdm9pZCBUZXh0VHJh
Y2s6OnNldEtpbmQoY29uc3QgU3RyaW5nJiBraW5kKQogICAgICAgICBtX2NsaWVudC0+dGV4dFRy
YWNrS2luZENoYW5nZWQodGhpcyk7CiB9CiAKLXZvaWQgVGV4dFRyYWNrOjpzZXRNb2RlKHVuc2ln
bmVkIHNob3J0IG1vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQordm9pZCBUZXh0VHJhY2s6OnNldE1v
ZGUoY29uc3QgU3RyaW5nJiBtb2RlKQogewotICAgIC8vIDQuOC4xMC4xMi41IE9uIHNldHRpbmcg
dGhlIG1vZGUsIGlmIHRoZSBuZXcgdmFsdWUgaXMgbm90IGVpdGhlciAwLCAxLCBvciAyLAotICAg
IC8vIHRoZSB1c2VyIGFnZW50IG11c3QgdGhyb3cgYW4gSU5WQUxJRF9BQ0NFU1NfRVJSIGV4Y2Vw
dGlvbi4KLSAgICBpZiAobW9kZSA+IFRleHRUcmFjazo6U0hPV0lORykgewotICAgICAgICBlYyA9
IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAvLyBPbiBzZXR0aW5nLCBpZiB0aGUgbmV3IHZhbHVl
IGlzbid0IGVxdWFsIHRvIHdoYXQgdGhlIGF0dHJpYnV0ZSB3b3VsZCBjdXJyZW50bHkKKyAgICAv
LyByZXR1cm4sIHRoZSBuZXcgdmFsdWUgbXVzdCBiZSBwcm9jZXNzZWQgYXMgZm9sbG93cyAuLi4K
KyAgICBpZiAobW9kZSAhPSBkaXNhYmxlZEtleXdvcmQoKSAmJiBtb2RlICE9IGhpZGRlbktleXdv
cmQoKSAmJiBtb2RlICE9IHNob3dpbmdLZXl3b3JkKCkpCiAgICAgICAgIHJldHVybjsKLSAgICB9
CiAKLSAgICBpZiAobV9tb2RlID09IHN0YXRpY19jYXN0PE1vZGU+KG1vZGUpKQorICAgIGlmICht
X21vZGUgPT0gbW9kZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gSWYgbW9kZSBjaGFuZ2Vz
IHRvIGRpc2FibGVkLCByZW1vdmUgdGhpcyB0cmFjaydzIGN1ZXMgZnJvbSB0aGUgY2xpZW50CiAg
ICAgLy8gYmVjYXVzZSB0aGV5IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2Vzc2libGUgZnJvbSB0aGUg
Y3VlcygpIGZ1bmN0aW9uLgotICAgIGlmIChtb2RlID09IFRleHRUcmFjazo6RElTQUJMRUQgJiYg
bV9jbGllbnQgJiYgbV9jdWVzKQorICAgIGlmIChtb2RlID09IGRpc2FibGVkS2V5d29yZCgpICYm
IG1fY2xpZW50ICYmIG1fY3VlcykKICAgICAgICAgbV9jbGllbnQtPnRleHRUcmFja1JlbW92ZUN1
ZXModGhpcywgbV9jdWVzLmdldCgpKTsKICAgICAgICAgIAotICAgIGlmIChtb2RlICE9IFRleHRU
cmFjazo6U0hPV0lORyAmJiBtX2N1ZXMpCisgICAgaWYgKG1vZGUgIT0gc2hvd2luZ0tleXdvcmQo
KSAmJiBtX2N1ZXMpCiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jdWVzLT5sZW5n
dGgoKTsgKytpKQogICAgICAgICAgICAgbV9jdWVzLT5pdGVtKGkpLT5yZW1vdmVEaXNwbGF5VHJl
ZSgpOwogCiAgICAgLy8gIC4uLiBOb3RlOiBJZiB0aGUgbW9kZSBoYWQgYmVlbiBzaG93aW5nIGJ5
IGRlZmF1bHQsIHRoaXMgd2lsbCBjaGFuZ2UgaXQgdG8gc2hvd2luZywgCiAgICAgLy8gZXZlbiB0
aG91Z2ggdGhlIHZhbHVlIG9mIG1vZGUgd291bGQgYXBwZWFyIG5vdCB0byBjaGFuZ2UuCi0gICAg
bV9tb2RlID0gc3RhdGljX2Nhc3Q8TW9kZT4obW9kZSk7CisgICAgbV9tb2RlID0gbW9kZTsKICAg
ICBzZXRTaG93aW5nQnlEZWZhdWx0KGZhbHNlKTsKIAogICAgIGlmIChtX2NsaWVudCkKICAgICAg
ICAgbV9jbGllbnQtPnRleHRUcmFja01vZGVDaGFuZ2VkKHRoaXMpOwogfQogCi1UZXh0VHJhY2s6
Ok1vZGUgVGV4dFRyYWNrOjptb2RlKCkgY29uc3QKK1N0cmluZyBUZXh0VHJhY2s6Om1vZGUoKSBj
b25zdAogewotICAgIC8vIFRoZSB0ZXh0IHRyYWNrICJzaG93aW5nIiBhbmQgInNob3dpbmcgYnkg
ZGVmYXVsdCIgbW9kZXMgcmV0dXJuIFNIT1dJTkcgKG51bWVyaWMgdmFsdWUgMikKKyAgICAvLyBU
aGUgdGV4dCB0cmFjayAic2hvd2luZyIgYW5kICJzaG93aW5nIGJ5IGRlZmF1bHQiIG1vZGVzIHJl
dHVybiB0aGUgc3RyaW5nICJzaG93aW5nIi4KICAgICBpZiAobV9zaG93aW5nQnlEZWZhdWx0KQot
ICAgICAgICByZXR1cm4gU0hPV0lORzsKKyAgICAgICAgcmV0dXJuIHNob3dpbmdLZXl3b3JkKCk7
CiAgICAgcmV0dXJuIG1fbW9kZTsKIH0KIApAQCAtMTczLDcgKzE3MSw3IEBAIFRleHRUcmFja0N1
ZUxpc3QqIFRleHRUcmFjazo6Y3VlcygpCiAgICAgLy8gT3RoZXJ3aXNlLCBpdCBtdXN0IHJldHVy
biBudWxsLiBXaGVuIGFuIG9iamVjdCBpcyByZXR1cm5lZCwgdGhlCiAgICAgLy8gc2FtZSBvYmpl
Y3QgbXVzdCBiZSByZXR1cm5lZCBlYWNoIHRpbWUuCiAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cu
b3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jZG9tLXRleHR0cmFjay1jdWVzCi0gICAg
aWYgKG1fbW9kZSAhPSBUZXh0VHJhY2s6OkRJU0FCTEVEKQorICAgIGlmIChtX21vZGUgIT0gZGlz
YWJsZWRLZXl3b3JkKCkpCiAgICAgICAgIHJldHVybiBlbnN1cmVUZXh0VHJhY2tDdWVMaXN0KCk7
CiAgICAgcmV0dXJuIDA7CiB9CkBAIC0xODYsNyArMTg0LDcgQEAgVGV4dFRyYWNrQ3VlTGlzdCog
VGV4dFRyYWNrOjphY3RpdmVDdWVzKCkgY29uc3QKICAgICAvLyBvcmRlci4gT3RoZXJ3aXNlLCBp
dCBtdXN0IHJldHVybiBudWxsLiBXaGVuIGFuIG9iamVjdCBpcyByZXR1cm5lZCwgdGhlCiAgICAg
Ly8gc2FtZSBvYmplY3QgbXVzdCBiZSByZXR1cm5lZCBlYWNoIHRpbWUuCiAgICAgLy8gaHR0cDov
L3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jZG9tLXRleHR0cmFj
ay1hY3RpdmVjdWVzCi0gICAgaWYgKG1fY3VlcyAmJiBtX21vZGUgIT0gVGV4dFRyYWNrOjpESVNB
QkxFRCkKKyAgICBpZiAobV9jdWVzICYmIG1fbW9kZSAhPSBkaXNhYmxlZEtleXdvcmQoKSkKICAg
ICAgICAgcmV0dXJuIG1fY3Vlcy0+YWN0aXZlQ3VlcygpOwogICAgIHJldHVybiAwOwogfQpAQCAt
Mjk5LDcgKzI5Nyw3IEBAIGJvb2wgVGV4dFRyYWNrOjppc1JlbmRlcmVkKCkKICAgICBpZiAobV9r
aW5kICE9IGNhcHRpb25zS2V5d29yZCgpICYmIG1fa2luZCAhPSBzdWJ0aXRsZXNLZXl3b3JkKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChtX21vZGUgIT0gU0hPV0lORyAmJiAh
bV9zaG93aW5nQnlEZWZhdWx0KQorICAgIGlmIChtX21vZGUgIT0gc2hvd2luZ0tleXdvcmQoKSAm
JiAhbV9zaG93aW5nQnlEZWZhdWx0KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1
cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNr
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oCmluZGV4IDk1N2JjY2E2
MDY3MGVkMWQxNjEzMDJjZDQzMjc1MDQ4ODU5OWRiYTIuLjdlM2Y3YTdkY2E5NWZhMzZlZGQ5MjNj
ZmQyNjg3YmEyMTE5ZWNjNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2sv
VGV4dFRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaApA
QCAtNTQsNiArNTQsMjQgQEAgcHVibGljOgogCiBjbGFzcyBUZXh0VHJhY2sgOiBwdWJsaWMgVHJh
Y2tCYXNlIHsKIHB1YmxpYzoKKyAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBkaXNhYmxlZEtleXdv
cmQoKQorICAgIHsKKyAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIG9w
ZW4sICgiZGlzYWJsZWQiKSk7CisgICAgICAgIHJldHVybiBvcGVuOworICAgIH0KKworICAgIHN0
YXRpYyBjb25zdCBTdHJpbmcmIGhpZGRlbktleXdvcmQoKQorICAgIHsKKyAgICAgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIGNsb3NlZCwgKCJoaWRkZW4iKSk7CisgICAgICAg
IHJldHVybiBjbG9zZWQ7CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0IFN0cmluZyYgc2hvd2lu
Z0tleXdvcmQoKQorICAgIHsKKyAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJp
bmcsIGVuZGVkLCAoInNob3dpbmciKSk7CisgICAgICAgIHJldHVybiBlbmRlZDsKKyAgICB9CisK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0VHJhY2s+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBUZXh0VHJhY2tDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiBr
aW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUZXh0VHJhY2soY29udGV4dCwgY2xpZW50LCBr
aW5kLCBsYWJlbCwgbGFuZ3VhZ2UsIEFkZFRyYWNrKSk7CkBAIC03OSw5ICs5Nyw4IEBAIHB1Ymxp
YzoKICAgICBTdHJpbmcgbGFuZ3VhZ2UoKSBjb25zdCB7IHJldHVybiBtX2xhbmd1YWdlOyB9CiAg
ICAgdm9pZCBzZXRMYW5ndWFnZShjb25zdCBTdHJpbmcmIGxhbmd1YWdlKSB7IG1fbGFuZ3VhZ2Ug
PSBsYW5ndWFnZTsgfQogCi0gICAgZW51bSBNb2RlIHsgRElTQUJMRUQgPSAwLCBISURERU4gPSAx
LCBTSE9XSU5HID0gMiB9OwotICAgIE1vZGUgbW9kZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0TW9k
ZSh1bnNpZ25lZCBzaG9ydCwgRXhjZXB0aW9uQ29kZSYpOworICAgIFN0cmluZyBtb2RlKCkgY29u
c3Q7CisgICAgdm9pZCBzZXRNb2RlKGNvbnN0IFN0cmluZyYpOwogCiAgICAgYm9vbCBzaG93aW5n
QnlEZWZhdWx0KCkgY29uc3QgeyByZXR1cm4gbV9zaG93aW5nQnlEZWZhdWx0OyB9CiAgICAgdm9p
ZCBzZXRTaG93aW5nQnlEZWZhdWx0KGJvb2wgc2hvd2luZykgeyBtX3Nob3dpbmdCeURlZmF1bHQg
PSBzaG93aW5nOyB9CkBAIC0xMjMsNyArMTQwLDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9r
aW5kOwogICAgIFN0cmluZyBtX2xhYmVsOwogICAgIFN0cmluZyBtX2xhbmd1YWdlOwotICAgIE1v
ZGUgbV9tb2RlOworICAgIFN0cmluZyBtX21vZGU7CiAgICAgVGV4dFRyYWNrQ2xpZW50KiBtX2Ns
aWVudDsKICAgICBUZXh0VHJhY2tUeXBlIG1fdHJhY2tUeXBlOwogICAgIFJlYWRpbmVzc1N0YXRl
IG1fcmVhZGluZXNzU3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNr
L1RleHRUcmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5pZGwK
aW5kZXggODQ1YTgwYzAxOTRiYmI1MDU1OGRhODIyOTNlNDY5YjFkZTI1YWU1YS4uOTgzNmYwMmNl
OTZmZDdkOWUzYjgzN2UzODM3YTk2Nzg4YzVhMzg3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9UZXh0VHJhY2suaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svVGV4dFRyYWNrLmlkbApAQCAtMzYsMTEgKzM2LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhYmVsOwogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGxhbmd1YWdlOwogCi0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IERJU0FCTEVEID0gMDsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSElEREVOID0g
MTsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU0hPV0lORyA9IDI7Ci0gICAgICAgIGF0
dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBtb2RlCi0gICAgICAgICAgICBzZXR0ZXIgcmFpc2VzIChE
T01FeGNlcHRpb24pOworICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1vZGU7CiAKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFRleHRUcmFja0N1ZUxpc3QgY3VlczsKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFRleHRUcmFja0N1ZUxpc3QgYWN0aXZlQ3VlczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmNwcAppbmRleCBlNjdhZThiOTMwMzliZWYyNjRk
MzMyZDhiYmI4ZmUyZjVjOWVmNzdiLi42ODYxZjcxMGE0ZWEwZTI1ZjU5ODI5Mjg2YzU1ZDgwODQ1
OTRiNTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuY3BwCkBA
IC00OTAsNyArNDkwLDcgQEAgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBUZXh0VHJhY2tD
dWU6OmdldEN1ZUFzSFRNTCgpCiBib29sIFRleHRUcmFja0N1ZTo6ZGlzcGF0Y2hFdmVudChQYXNz
UmVmUHRyPEV2ZW50PiBldmVudCkKIHsKICAgICAvLyBXaGVuIGEgVGV4dFRyYWNrJ3MgbW9kZSBp
cyBkaXNhYmxlZDogbm8gY3VlcyBhcmUgYWN0aXZlLCBubyBldmVudHMgZmlyZWQuCi0gICAgaWYg
KCF0cmFjaygpIHx8IHRyYWNrKCktPm1vZGUoKSA9PSBUZXh0VHJhY2s6OkRJU0FCTEVEKQorICAg
IGlmICghdHJhY2soKSB8fCB0cmFjaygpLT5tb2RlKCkgPT0gVGV4dFRyYWNrOjpkaXNhYmxlZEtl
eXdvcmQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIEV2ZW50VGFyZ2V0
OjpkaXNwYXRjaEV2ZW50KGV2ZW50KTsKQEAgLTUwMyw3ICs1MDMsNyBAQCBib29sIFRleHRUcmFj
a0N1ZTo6ZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgRXhjZXB0aW9uQ29k
ZSAmZWMpCiAKIGJvb2wgVGV4dFRyYWNrQ3VlOjppc0FjdGl2ZSgpCiB7Ci0gICAgcmV0dXJuIG1f
aXNBY3RpdmUgJiYgdHJhY2soKSAmJiB0cmFjaygpLT5tb2RlKCkgIT0gVGV4dFRyYWNrOjpESVNB
QkxFRDsKKyAgICByZXR1cm4gbV9pc0FjdGl2ZSAmJiB0cmFjaygpICYmIHRyYWNrKCktPm1vZGUo
KSAhPSBUZXh0VHJhY2s6OmRpc2FibGVkS2V5d29yZCgpOwogfQogCiB2b2lkIFRleHRUcmFja0N1
ZTo6c2V0SXNBY3RpdmUoYm9vbCBhY3RpdmUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDQ1YjU1NDA5NzgwYTMxZTQ1ZDgy
NzcwYjZmMThlOGNlY2Y3MDNiOS4uMzY0YTQ1MjliZDdmZTY0ZTMwYzM4YzA4OWVlNGU4Njg3YWZh
NjlhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA4LTI0ICBBbm5hIENhdmVuZGVyICA8
YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2sgbW9kZXMgYXJlIHN0cmlu
Z3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MDUw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHNw
ZWMgcmVjZW50bHkgY2hhbmdlZCBhd2F5IGZyb20gZW51bWVyYXRpb24gdG8gc3RyaW5nIGZvciB0
aGUgdHlwZQorICAgICAgICBvZiBUZXh0VHJhY2sgbW9kZS4KKyAgICAgICAgaHR0cDovL2Rldi53
My5vcmcvaHRtbDUvc3BlYy9tZWRpYS1lbGVtZW50cy5odG1sI3RleHR0cmFja21vZGUKKworICAg
ICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWNvbnN0YW50cy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogbWVkaWEvdHJhY2svdHJhY2stY29uc3RhbnRzLmh0bWw6CisgICAgICAgICogbWVkaWEvdHJh
Y2svdHJhY2stZGVsZXRlLWR1cmluZy1zZXR1cC1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVk
aWEvdHJhY2svdHJhY2stZGVsZXRlLWR1cmluZy1zZXR1cC5odG1sOgorICAgICAgICAqIG1lZGlh
L3RyYWNrL3RyYWNrLWVsZW1lbnQtZG9tLWNoYW5nZS1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogbWVkaWEvdHJhY2svdHJhY2stZWxlbWVudC1kb20tY2hhbmdlLWNyYXNoLmh0bWw6Cisg
ICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWw6
CisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stbW9kZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogbWVkaWEvdHJhY2svdHJhY2stbW9kZS1ub3QtY2hhbmdlZC1ieS1uZXctdHJhY2stZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLW1vZGUtbm90LWNoYW5nZWQtYnkt
bmV3LXRyYWNrLmh0bWw6CisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stbW9kZS10cmlnZ2Vy
cy1sb2FkaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1tb2Rl
LXRyaWdnZXJzLWxvYWRpbmcuaHRtbDoKKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1tb2Rl
Lmh0bWw6CisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stdGV4dHRyYWNrcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stdGV4dHRyYWNrcy5odG1sOgorICAgICAg
ICAqIG1lZGlhL3ZpZGVvLXRlc3QuanM6CisgICAgICAgIChlbmFibGVBbGxUZXh0VHJhY2tzKToK
KwogMjAxMi0wOC0yNCAgQW5pc2ggQmhheWFuaSAgPGFuaXNoLmJoYXlhbmlAZ21haWwuY29tPgog
CiAgICAgICAgIHdlYmtpdC1pbWFnZS1zZXQoKSBmdW5jdGlvbiBub3Qgc2hvd2luZyB1cCB3aGVu
IGNvbXB1dGluZyBiYWNrZ3JvdW5kIHByb3BlcnR5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9t
ZWRpYS90cmFjay90cmFjay1jb25zdGFudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVk
aWEvdHJhY2svdHJhY2stY29uc3RhbnRzLWV4cGVjdGVkLnR4dAppbmRleCA4M2FjNTQ0YzUyOThj
YjhjOGYyYjcxYzEwY2ExNTUxZTdjODZmYjdkLi5lNWIwOTQwYmI1Y2E2ZDQ0MDllNDAwMDlhYWRh
YmI1ZTRiMmY2MzRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1j
b25zdGFudHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNr
LWNvbnN0YW50cy1leHBlY3RlZC50eHQKQEAgLTQsOSArNCw1IEBAIEVYUEVDVEVEIChIVE1MVHJh
Y2tFbGVtZW50Lk5PTkUgPT0gJzAnKSBPSwogRVhQRUNURUQgKEhUTUxUcmFja0VsZW1lbnQuTE9B
RElORyA9PSAnMScpIE9LCiBFWFBFQ1RFRCAoSFRNTFRyYWNrRWxlbWVudC5MT0FERUQgPT0gJzIn
KSBPSwogRVhQRUNURUQgKEhUTUxUcmFja0VsZW1lbnQuRVJST1IgPT0gJzMnKSBPSwotCi1FWFBF
Q1RFRCAoVGV4dFRyYWNrLkRJU0FCTEVEID09ICcwJykgT0sKLUVYUEVDVEVEIChUZXh0VHJhY2su
SElEREVOID09ICcxJykgT0sKLUVYUEVDVEVEIChUZXh0VHJhY2suU0hPV0lORyA9PSAnMicpIE9L
CiBFTkQgT0YgVEVTVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFj
ay1jb25zdGFudHMuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWNvbnN0YW50
cy5odG1sCmluZGV4IDQyMzA1Y2ZiMGEzODg0OTk1YjI2Njc1NGZmZDlhYWM5ZTQ2ODMxZDkuLmU1
NWUyZjg4OTBlYjFjMDdlN2QxOTBlZjJmMDIzZjlhZTk1MGIxMDYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWNvbnN0YW50cy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L21lZGlhL3RyYWNrL3RyYWNrLWNvbnN0YW50cy5odG1sCkBAIC05LDExICs5LDYgQEAKICAgICAg
ICAgICAgIHRlc3RFeHBlY3RlZCgiSFRNTFRyYWNrRWxlbWVudC5MT0FESU5HIiwgMSk7CiAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoIkhUTUxUcmFja0VsZW1lbnQuTE9BREVEIiwgMik7CiAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoIkhUTUxUcmFja0VsZW1lbnQuRVJST1IiLCAzKTsKLSAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiIik7Ci0KLSAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiVGV4
dFRyYWNrLkRJU0FCTEVEIiwgMCk7Ci0gICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIlRleHRUcmFj
ay5ISURERU4iLCAxKTsKLSAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiVGV4dFRyYWNrLlNIT1dJ
TkciLCAyKTsKICAgICAgICAgCiAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWRlbGV0ZS1kdXJpbmctc2V0
dXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stZGVsZXRlLWR1
cmluZy1zZXR1cC1leHBlY3RlZC50eHQKaW5kZXggNjg1OTEzNzY4ZGI1YThkZmI5MTQ1NzYxYzQ0
ZmI4ZDEyNjIxYWVlMS4uNzVmMzUzYzA4ZDhmYWQzNGQzZmQ0Njc3ODczMzk4NzU1ODU2NWIyOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stZGVsZXRlLWR1cmluZy1z
ZXR1cC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stZGVs
ZXRlLWR1cmluZy1zZXR1cC1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiA+CiAKIEVYUEVD
VEVEICh0cmFjazEucmVhZHlTdGF0ZSA9PSAnMCcpIE9LCi1FWFBFQ1RFRCAodHJhY2sxLnRyYWNr
Lm1vZGUgPT0gJzAnKSBPSworRVhQRUNURUQgKHRyYWNrMS50cmFjay5tb2RlID09ICdkaXNhYmxl
ZCcpIE9LCiAKIEVORCBPRiBURVNUCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3Ry
YWNrL3RyYWNrLWRlbGV0ZS1kdXJpbmctc2V0dXAuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3Ry
YWNrL3RyYWNrLWRlbGV0ZS1kdXJpbmctc2V0dXAuaHRtbAppbmRleCBiN2E3NTI3NDRkNGVmODhl
MGRlMjc0YmYwOWI0N2JlYmI2NTNiZjcwLi5jMjQ5YmJmYzU1ODBiOTc1Y2JlNDViYWI3OGExY2My
ZjQ1MTE2NDcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1kZWxl
dGUtZHVyaW5nLXNldHVwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2st
ZGVsZXRlLWR1cmluZy1zZXR1cC5odG1sCkBAIC0xOSw3ICsxOSw3IEBACiAKICAgICAgICAgICAg
IGZ1bmN0aW9uIGNhbnBsYXl0aHJvdWdoKCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICB0cmFjazEudHJhY2subW9kZSA9IFRleHRUcmFjay5ISURERU47CisgICAgICAgICAgICAgICAg
dHJhY2sxLnRyYWNrLm1vZGUgPSAiaGlkZGVuIjsKICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0
KCJlbmRUZXN0KCkiLCAxMDApOwogICAgICAgICAgICAgfQogCkBAIC0zMCw3ICszMCw3IEBACiAK
ICAgICAgICAgICAgICAgICB0cmFjazEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0cmFj
aycpWzBdOyAKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrMS5yZWFkeVN0YXRl
IiwgSFRNTFRyYWNrRWxlbWVudC5OT05FKTsKLSAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InRyYWNrMS50cmFjay5tb2RlIiwgVGV4dFRyYWNrLkRJU0FCTEVEKTsKKyAgICAgICAgICAgICAg
ICB0ZXN0RXhwZWN0ZWQoInRyYWNrMS50cmFjay5tb2RlIiwgImRpc2FibGVkIik7CiAKICAgICAg
ICAgICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICIuLi9jb250ZW50
L3Rlc3QiKTsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stZWxlbWVudC1kb20tY2hhbmdlLWNyYXNoLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWVsZW1lbnQtZG9tLWNo
YW5nZS1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggY2I0ZDMwNWNlYTViNDk5ODI5YmQ4YzBiNjFh
OGM1MTI0Y2Y3NWJiYi4uNDUxNTZjNzAyMzVjNjA2ZjU1YmJlYjgyOTcwOTEyMDZkODhmYjIxZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stZWxlbWVudC1kb20tY2hh
bmdlLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFj
ay1lbGVtZW50LWRvbS1jaGFuZ2UtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0yLDcgKzIsNyBAQCBU
ZXN0cyB0aGF0IHRoZSBicm93c2VyIGhhbmRsZXMgcHJvcGVybHkgc2ltcGxlIERPTSBtdXRhdGlv
bnMuCiAKICoqIENyZWF0ZSB2aWRlbyBhbmQgdGV4dCB0cmFjayBlbGVtZW50ICoqCiAqKiBBcHBl
bmQgdGhlIHRyYWNrIGVsZW1lbnQgdG8gdGhlIHZpZGVvIGVsZW1lbnQgKioKLSoqIFNldCB0aGUg
bW9kZSBvZiB0aGUgdGV4dCB0cmFjayB0byBTSE9XSU5HICoqCisqKiBTZXQgdGhlIG1vZGUgb2Yg
dGhlIHRleHQgdHJhY2sgdG8gInNob3dpbmciICoqCiAKIE5vIGNyYXNoLiBQQVNTLgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1lbGVtZW50LWRvbS1jaGFuZ2Ut
Y3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWVsZW1lbnQtZG9tLWNo
YW5nZS1jcmFzaC5odG1sCmluZGV4IGRkNmU1MThiM2RhZWQyY2EzMTBiY2NhMWVlZmMxZGM1ZTI3
NTczYTkuLmQzODcxMWNkMDQ0YzJjNDhhNDg1NjgyNjMwMGNmZGM3Y2Q0ZTY2NmEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWVsZW1lbnQtZG9tLWNoYW5nZS1jcmFz
aC5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWVsZW1lbnQtZG9tLWNo
YW5nZS1jcmFzaC5odG1sCkBAIC0xNSw4ICsxNSw4IEBACiAgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCIqKiBBcHBlbmQgdGhlIHRyYWNrIGVsZW1lbnQgdG8gdGhlIHZpZGVvIGVsZW1lbnQg
KioiKTsKICAgICAgICAgICAgICAgICB2aWRlby5hcHBlbmRDaGlsZCh0cmFjayk7CiAKLSAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIioqIFNldCB0aGUgbW9kZSBvZiB0aGUgdGV4dCB0cmFj
ayB0byBTSE9XSU5HICoqIik7Ci0gICAgICAgICAgICAgICAgdHJhY2sudHJhY2subW9kZSA9IDI7
CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIqKiBTZXQgdGhlIG1vZGUgb2YgdGhlIHRl
eHQgdHJhY2sgdG8gXCJzaG93aW5nXCIgKioiKTsKKyAgICAgICAgICAgICAgICB0cmFjay50cmFj
ay5tb2RlID0gInNob3dpbmciOwogCiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsK
ICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIk5vIGNyYXNoLiBQQVNTLiIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0
YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJl
YWR5U3RhdGUuaHRtbAppbmRleCA1Y2M0YTA2MjcwNzEwMGRiODk0ZDRjNzg0YWM3ZGM3NTU2OTZi
ZjdhLi5lMmQ5MDg2NmEwNTk5M2QzZjdmOGQ5NDk4YmM4M2YwNmQ0MDRkN2IzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJlYWR5U3RhdGUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1sb2FkLWZyb20tc3JjLXJl
YWR5U3RhdGUuaHRtbApAQCAtMjQsNyArMjQsNyBAQAogICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCJ0cmFjay5yZWFkeVN0YXRlIiwgSFRNTFRyYWNrRWxlbWVudC5OT05FKTsKICAgICAgICAgICAg
IHRyYWNrLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbiAoKSB7IHRyYWNrTG9hZGVk
KCk7IH0sIHRydWUpOwogICAgICAgICAgICAgdHJhY2suc3JjID0gImNhcHRpb25zLXdlYnZ0dC90
YzAwNC13ZWJ2dHQtZmlsZS52dHQiOyAgIAotICAgICAgICAgICAgdHJhY2subW9kZSA9IFRleHRU
cmFjay5ISURERU47CisgICAgICAgICAgICB0cmFjay5tb2RlID0gImhpZGRlbiI7CiAKICAgICAg
ICAgPC9zY3JpcHQ+CiAgICAgPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEv
dHJhY2svdHJhY2stbW9kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90
cmFjay1tb2RlLWV4cGVjdGVkLnR4dAppbmRleCBiNGQ1ZDkwYzBkNjZjYTUzMzk0NmNmOWJmNGZm
Njk5NTdlZjBhM2E4Li4xOWVkYzk2ODYyZTJlMzNhZGRhMzQ3MWM1YWI4NGUxOGUyNzNkYjA5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1tb2RlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1tb2RlLWV4cGVjdGVkLnR4dApA
QCAtMiwzNiArMiwzNiBAQCBUZXN0cyB0aGF0IHRoZSBUZXh0VHJhY2sgbW9kZSBhdHRyaWJ1dGUg
aXMgYXBwcm9wcmlhdGVseSBzZXQuCiAKIAogKysgVGVzdCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1
ZQotRVhQRUNURUQgKHRleHRUcmFjay5tb2RlID09ICcyJykgT0sKLUVYUEVDVEVEICh2aWRlby50
ZXh0VHJhY2tzWzBdLm1vZGUgPT0gJzInKSBPSworRVhQRUNURUQgKHRleHRUcmFjay5tb2RlID09
ICdzaG93aW5nJykgT0sKK0VYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUgPT0gJ3No
b3dpbmcnKSBPSwogCiAqKiogU2V0IHRvIGJvZ3VzIHZhbHVlLCBzaG91bGQgcmV0dXJuIGRlZmF1
bHQKLVRFU1QodGV4dFRyYWNrLm1vZGUgPSAnMzcnKSBUSFJPV1MoRE9NRXhjZXB0aW9uLklOVkFM
SURfQUNDRVNTX0VSUikgT0sKLUVYUEVDVEVEICh0ZXh0VHJhY2subW9kZSA9PSAnMicpIE9LCi1F
WFBFQ1RFRCAodmlkZW8udGV4dFRyYWNrc1swXS5tb2RlID09ICcyJykgT0sKK1JVTih0ZXh0VHJh
Y2subW9kZSA9ICdib2d1cycpCitFWFBFQ1RFRCAodGV4dFRyYWNrLm1vZGUgPT0gJ3Nob3dpbmcn
KSBPSworRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3NbMF0ubW9kZSA9PSAnc2hvd2luZycpIE9L
CiAKICoqKiBTZXQgdG8ga25vd24gdmFsdWVzCi0rKyAnVGV4dFRyYWNrLkRJU0FCTEVEJwotUlVO
KHRleHRUcmFjay5tb2RlID0gJzAnKQotRVhQRUNURUQgKHRleHRUcmFjay5tb2RlID09ICcwJykg
T0sKLUVYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUgPT0gJzAnKSBPSworKysgJ2Rp
c2FibGVkJworUlVOKHRleHRUcmFjay5tb2RlID0gJ2Rpc2FibGVkJykKK0VYUEVDVEVEICh0ZXh0
VHJhY2subW9kZSA9PSAnZGlzYWJsZWQnKSBPSworRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3Nb
MF0ubW9kZSA9PSAnZGlzYWJsZWQnKSBPSwogRVhQRUNURUQgKHRleHRUcmFjay5jdWVzID09ICdu
dWxsJykgT0sKIAotKysgMCBldmVudHMgZXhwZWN0ZWQgd2hpbGUgbW9kZSA9IFRleHRUcmFjay5E
SVNBQkxFRAorKysgMCBldmVudHMgZXhwZWN0ZWQgd2hpbGUgbW9kZSA9IGRpc2FibGVkCiAKLSsr
ICdUZXh0VHJhY2suSElEREVOJwotUlVOKHRleHRUcmFjay5tb2RlID0gJzEnKQotRVhQRUNURUQg
KHRleHRUcmFjay5tb2RlID09ICcxJykgT0sKLUVYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzBd
Lm1vZGUgPT0gJzEnKSBPSworKysgJ2hpZGRlbicKK1JVTih0ZXh0VHJhY2subW9kZSA9ICdoaWRk
ZW4nKQorRVhQRUNURUQgKHRleHRUcmFjay5tb2RlID09ICdoaWRkZW4nKSBPSworRVhQRUNURUQg
KHZpZGVvLnRleHRUcmFja3NbMF0ubW9kZSA9PSAnaGlkZGVuJykgT0sKIEVYUEVDVEVEICh0ZXh0
VHJhY2suY3Vlcy5sZW5ndGggPT0gJzMnKSBPSwogCi0rKyAnVGV4dFRyYWNrLlNIT1dJTkcnCi1S
VU4odGV4dFRyYWNrLm1vZGUgPSAnMicpCi1FWFBFQ1RFRCAodGV4dFRyYWNrLm1vZGUgPT0gJzIn
KSBPSwotRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3NbMF0ubW9kZSA9PSAnMicpIE9LCisrKyAn
c2hvd2luZycKK1JVTih0ZXh0VHJhY2subW9kZSA9ICdzaG93aW5nJykKK0VYUEVDVEVEICh0ZXh0
VHJhY2subW9kZSA9PSAnc2hvd2luZycpIE9LCitFWFBFQ1RFRCAodmlkZW8udGV4dFRyYWNrc1sw
XS5tb2RlID09ICdzaG93aW5nJykgT0sKIEVYUEVDVEVEICh0ZXh0VHJhY2suY3Vlcy5sZW5ndGgg
PT0gJzMnKSBPSwogCi0rKyBhdCBsZWFzdCAzIGV2ZW50cyBleHBlY3RlZCB3aGlsZSBtb2RlID0g
VGV4dFRyYWNrLlNIT1dJTkcKKysrIGF0IGxlYXN0IDMgZXZlbnRzIGV4cGVjdGVkIHdoaWxlIG1v
ZGUgPSBzaG93aW5nCiBFVkVOVChjdWVjaGFuZ2UpCiBFVkVOVChjdWVjaGFuZ2UpCiBFVkVOVChj
dWVjaGFuZ2UpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1tb2Rl
LW5vdC1jaGFuZ2VkLWJ5LW5ldy10cmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRp
YS90cmFjay90cmFjay1tb2RlLW5vdC1jaGFuZ2VkLWJ5LW5ldy10cmFjay1leHBlY3RlZC50eHQK
aW5kZXggODRjNDkyMjU1NzkwNDkyNjUxYTNiZTA3YmEyOWZhNTdmYmU2ZGZmYy4uNjZhM2Q2NjQw
OTE4YTY0MGIwOGJmZGQ0NTRlYWMxNzlkNDc1NmM3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
bWVkaWEvdHJhY2svdHJhY2stbW9kZS1ub3QtY2hhbmdlZC1ieS1uZXctdHJhY2stZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUtbm90LWNoYW5nZWQt
YnktbmV3LXRyYWNrLWV4cGVjdGVkLnR4dApAQCAtMywxOSArMywxOSBAQCBUZXN0cyB0aGF0IGEg
dHJhY2sgYXBwZW5kZWQgYWZ0ZXIgdGhlIGluaXRpYWwgdHJhY2sgY29uZmlndXJhdGlvbiBkb2Vz
IG5vdCBjaGFuZwogCiBFVkVOVChsb2FkKSAtLSA8Ym9keT4KIEVYUEVDVEVEICh0cmFjazEucmVh
ZHlTdGF0ZSA9PSAnMCcpIE9LCi1FWFBFQ1RFRCAodHJhY2sxLnRyYWNrLm1vZGUgPT0gJzAnKSBP
SworRVhQRUNURUQgKHRyYWNrMS50cmFjay5tb2RlID09ICdkaXNhYmxlZCcpIE9LCiAKIEVWRU5U
KGNhbnBsYXl0aHJvdWdoKSAtLSA8dmlkZW8+CiAqKmNoZWNrIGluaXRpYWwgbWV0YWRhdGEgdHJh
Y2sgc3RhdGUKIEVYUEVDVEVEICh0cmFjazEucmVhZHlTdGF0ZSA9PSAnMCcpIE9LCi1FWFBFQ1RF
RCAodHJhY2sxLnRyYWNrLm1vZGUgPT0gJzAnKSBPSworRVhQRUNURUQgKHRyYWNrMS50cmFjay5t
b2RlID09ICdkaXNhYmxlZCcpIE9LCiBFWFBFQ1RFRCAodHJhY2sxLnRyYWNrLmN1ZXMgPT0gJ251
bGwnKSBPSwotUlVOKHRyYWNrMS50cmFjay5tb2RlID0gVGV4dFRyYWNrLkhJRERFTikKK1JVTih0
cmFjazEudHJhY2subW9kZSA9ICdoaWRkZW4nKQogCiBFVkVOVChsb2FkKSAtLSA8dHJhY2sga2lu
ZD0nbWV0YWRhdGEnID4KICoqY2hlY2sgbWV0YWRhdGEgdHJhY2sgc3RhdGUKIEVYUEVDVEVEICh0
cmFjazEucmVhZHlTdGF0ZSA9PSAnMicpIE9LCi1FWFBFQ1RFRCAodHJhY2sxLnRyYWNrLm1vZGUg
PT0gJzEnKSBPSworRVhQRUNURUQgKHRyYWNrMS50cmFjay5tb2RlID09ICdoaWRkZW4nKSBPSwog
RVhQRUNURUQgKHRyYWNrMS50cmFjay5jdWVzLmxlbmd0aCA9PSAnMTInKSBPSwogRVhQRUNURUQg
KHRyYWNrMS50cmFjay5jdWVzWzExXS5zdGFydFRpbWUgPT0gJzIyJykgT0sKICoqYWRkIGEgY2Fw
dGlvbiB0cmFjaywgY29uZmlndXJlZCB0byBsb2FkIGF1dG9tYXRpY2FsbHkKQEAgLTI5LDEwICsy
OSwxMCBAQCBSVU4odmlkZW8uYXBwZW5kQ2hpbGQodHJhY2syKSkKIEVWRU5UKGxvYWQpIC0tIDx0
cmFjayBraW5kPSdjYXB0aW9ucycgPgogKipjaGVjayB0aGF0IG1ldGFkYXRhIHRyYWNrIHN0YXRl
IGhhcyBub3QgY2hhbmdlZAogRVhQRUNURUQgKHRyYWNrMS5yZWFkeVN0YXRlID09ICcyJykgT0sK
LUVYUEVDVEVEICh0cmFjazEudHJhY2subW9kZSA9PSAnMScpIE9LCitFWFBFQ1RFRCAodHJhY2sx
LnRyYWNrLm1vZGUgPT0gJ2hpZGRlbicpIE9LCiAqKmFuZCB0aGF0IHRoZSBjYXB0aW9ucyB0cmFj
ayBzdGF0ZSBpcyBjb3JyZWN0CiBFWFBFQ1RFRCAodHJhY2syLnJlYWR5U3RhdGUgPT0gJzInKSBP
SwotRVhQRUNURUQgKHRyYWNrMi50cmFjay5tb2RlID09ICcyJykgT0sKK0VYUEVDVEVEICh0cmFj
azIudHJhY2subW9kZSA9PSAnc2hvd2luZycpIE9LCiAKIEVORCBPRiBURVNUCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUtbm90LWNoYW5nZWQtYnktbmV3
LXRyYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1tb2RlLW5vdC1jaGFu
Z2VkLWJ5LW5ldy10cmFjay5odG1sCmluZGV4IDQwZTliYjg1ZDNjMDY0OGQxMGZkMjVlY2VmNjI4
OGFkZmE4NmFkN2YuLjZiN2Q4YThmZjhjNTkxOGQ1NGM5YmE2OTIyNmFkYmY1NjI2MDBjODMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUtbm90LWNoYW5nZWQt
YnktbmV3LXRyYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbW9k
ZS1ub3QtY2hhbmdlZC1ieS1uZXctdHJhY2suaHRtbApAQCAtMTIsMTAgKzEyLDEwIEBACiAgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVChsb2FkKSAtLSAmbHQ7dHJhY2sga2luZD0n
Y2FwdGlvbnMnICZndDsiKTsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxpPioqY2hl
Y2sgdGhhdCBtZXRhZGF0YSB0cmFjayBzdGF0ZSBoYXMgbm90IGNoYW5nZWQ8IiArICIvaT4iKTsK
ICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrMS5yZWFkeVN0YXRlIiwgSFRNTFRy
YWNrRWxlbWVudC5MT0FERUQpOwotICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2sx
LnRyYWNrLm1vZGUiLCBUZXh0VHJhY2suSElEREVOKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInRyYWNrMS50cmFjay5tb2RlIiwgImhpZGRlbiIpOwogICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiPGk+KiphbmQgdGhhdCB0aGUgY2FwdGlvbnMgdHJhY2sgc3RhdGUgaXMgY29y
cmVjdDwiICsgIi9pPiIpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2syLnJl
YWR5U3RhdGUiLCBIVE1MVHJhY2tFbGVtZW50LkxPQURFRCk7Ci0gICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJ0cmFjazIudHJhY2subW9kZSIsIFRleHRUcmFjay5TSE9XSU5HKTsKKyAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrMi50cmFjay5tb2RlIiwgInNob3dpbmciKTsK
ICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwogICAgICAgICAgICAgICAgIGVuZFRl
c3QoKTsKICAgICAgICAgICAgIH0KQEAgLTI1LDcgKzI1LDcgQEAKICAgICAgICAgICAgICAgICBj
b25zb2xlV3JpdGUoIkVWRU5UKGxvYWQpIC0tICZsdDt0cmFjayBraW5kPSdtZXRhZGF0YScgJmd0
OyIpOwogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGk+KipjaGVjayBtZXRhZGF0YSB0
cmFjayBzdGF0ZTwiICsgIi9pPiIpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJh
Y2sxLnJlYWR5U3RhdGUiLCBIVE1MVHJhY2tFbGVtZW50LkxPQURFRCk7Ci0gICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJ0cmFjazEudHJhY2subW9kZSIsIFRleHRUcmFjay5ISURERU4pOwor
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2sxLnRyYWNrLm1vZGUiLCAiaGlkZGVu
Iik7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjazEudHJhY2suY3Vlcy5sZW5n
dGgiLCAxMik7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjazEudHJhY2suY3Vl
c1sxMV0uc3RhcnRUaW1lIiwgMjIpOwogCkBAIC00NSw5ICs0NSw5IEBACiAgICAgICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCJFVkVOVChjYW5wbGF5dGhyb3VnaCkgLS0gJmx0O3ZpZGVvJmd0OyIp
OwogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGk+KipjaGVjayBpbml0aWFsIG1ldGFk
YXRhIHRyYWNrIHN0YXRlPCIgKyAiL2k+Iik7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCJ0cmFjazEucmVhZHlTdGF0ZSIsIEhUTUxUcmFja0VsZW1lbnQuTk9ORSk7Ci0gICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjazEudHJhY2subW9kZSIsIFRleHRUcmFjay5ESVNBQkxF
RCk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjazEudHJhY2subW9kZSIsICJk
aXNhYmxlZCIpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2sxLnRyYWNrLmN1
ZXMiLCBudWxsKTsKLSAgICAgICAgICAgICAgICBydW4oInRyYWNrMS50cmFjay5tb2RlID0gVGV4
dFRyYWNrLkhJRERFTiIpOworICAgICAgICAgICAgICAgIHJ1bigidHJhY2sxLnRyYWNrLm1vZGUg
PSAnaGlkZGVuJyIpOwogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CiAgICAgICAg
ICAgICB9CiAKQEAgLTU4LDcgKzU4LDcgQEAKIAogICAgICAgICAgICAgICAgIHRyYWNrMSA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RyYWNrJylbMF07IAogICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgidHJhY2sxLnJlYWR5U3RhdGUiLCBIVE1MVHJhY2tFbGVtZW50Lk5PTkUpOwot
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2sxLnRyYWNrLm1vZGUiLCBUZXh0VHJh
Y2suRElTQUJMRUQpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2sxLnRyYWNr
Lm1vZGUiLCAiZGlzYWJsZWQiKTsKIAogICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRN
ZWRpYUZpbGUoInZpZGVvIiwgIi4uL2NvbnRlbnQvdGVzdCIpOwogICAgICAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFj
ay1tb2RlLXRyaWdnZXJzLWxvYWRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEv
dHJhY2svdHJhY2stbW9kZS10cmlnZ2Vycy1sb2FkaW5nLWV4cGVjdGVkLnR4dAppbmRleCAxOTVm
OTQ2YjMyZWY2NWFkNmEwODY1YjQ5OGYzNjQ2MGQwMWZlOTU0Li4wM2EwZWIzZjIwMzkyNjJhODcy
Yzc1MzkzZDczMGQ4NzM3MWU2ZjcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay90cmFjay1tb2RlLXRyaWdnZXJzLWxvYWRpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUtdHJpZ2dlcnMtbG9hZGluZy1leHBlY3RlZC50eHQK
QEAgLTQsMTkgKzQsMTkgQEAgVGVzdHMgdGhhdCBhICdtZXRhZGF0YScgdHJhY2sgZG9lcyBub3Qg
bG9hZCBhdXRvbWF0aWNhbGx5LCBidXQgZG9lcyBsb2FkIHdoZW4gdGgKIEVWRU5UKGxvYWQpIC0t
IDxib2R5PgogKipjaGVjayBpbml0aWFsIG1ldGFkYXRhIHRyYWNrIHN0YXRlCiBFWFBFQ1RFRCAo
dHJhY2sucmVhZHlTdGF0ZSA9PSAnMCcpIE9LCi1FWFBFQ1RFRCAodmlkZW8udGV4dFRyYWNrc1sw
XS5tb2RlID09ICcwJykgT0sKK0VYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUgPT0g
J2Rpc2FibGVkJykgT0sKIAogRVZFTlQoY2FucGxheXRocm91Z2gpIC0tIDx2aWRlbz4KICoqY2hh
bmdlIG1ldGFkYXRhIHRyYWNrIG1vZGUgc28gaXQgbG9hZHMKIEVYUEVDVEVEICh0cmFjay5yZWFk
eVN0YXRlID09ICcwJykgT0sKLUVYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUgPT0g
JzAnKSBPSworRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3NbMF0ubW9kZSA9PSAnZGlzYWJsZWQn
KSBPSwogRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3NbMF0uY3VlcyA9PSAnbnVsbCcpIE9LCi1S
VU4odmlkZW8udGV4dFRyYWNrc1swXS5tb2RlID0gVGV4dFRyYWNrLkhJRERFTikKK1JVTih2aWRl
by50ZXh0VHJhY2tzWzBdLm1vZGUgPSAnaGlkZGVuJykKIAogRVZFTlQobG9hZCkgLS0gPHRyYWNr
PgogKipjaGVjayBtZXRhZGF0YSB0cmFjayBzdGF0ZQogRVhQRUNURUQgKHRyYWNrLnJlYWR5U3Rh
dGUgPT0gJzInKSBPSwotRVhQRUNURUQgKHRyYWNrLnRyYWNrLm1vZGUgPT0gJzEnKSBPSworRVhQ
RUNURUQgKHRyYWNrLnRyYWNrLm1vZGUgPT0gJ2hpZGRlbicpIE9LCiBFWFBFQ1RFRCAodmlkZW8u
dGV4dFRyYWNrc1swXS5jdWVzLmxlbmd0aCA9PSAnMTInKSBPSwogRVhQRUNURUQgKHZpZGVvLnRl
eHRUcmFja3NbMF0uY3Vlc1sxMV0uc3RhcnRUaW1lID09ICcyMicpIE9LCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUtdHJpZ2dlcnMtbG9hZGluZy5odG1s
IGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbW9kZS10cmlnZ2Vycy1sb2FkaW5nLmh0
bWwKaW5kZXggOTRlMTE2YzllNzJlODM0OTY3YWFmNDAzNWM1YjgyNWJjNDU3MzMzZi4uNjRlNjhm
M2I5Yzg0NTk5NDBhYjE0M2I2MDM5NjFiZjgxNmYxNzJlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvbWVkaWEvdHJhY2svdHJhY2stbW9kZS10cmlnZ2Vycy1sb2FkaW5nLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbW9kZS10cmlnZ2Vycy1sb2FkaW5nLmh0bWwKQEAg
LTEyLDcgKzEyLDcgQEAKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIkVWRU5UKGxvYWQp
IC0tICZsdDt0cmFjayZndDsiKTsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxpPioq
Y2hlY2sgbWV0YWRhdGEgdHJhY2sgc3RhdGU8IiArICIvaT4iKTsKICAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoInRyYWNrLnJlYWR5U3RhdGUiLCBIVE1MVHJhY2tFbGVtZW50LkxPQURFRCk7
Ci0gICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjay50cmFjay5tb2RlIiwgVGV4dFRy
YWNrLkhJRERFTik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjay50cmFjay5t
b2RlIiwgImhpZGRlbiIpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udGV4
dFRyYWNrc1swXS5jdWVzLmxlbmd0aCIsIDEyKTsKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoInZpZGVvLnRleHRUcmFja3NbMF0uY3Vlc1sxMV0uc3RhcnRUaW1lIiwgMjIpOwogICAgICAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CkBAIC0yNCw5ICsyNCw5IEBACiAgICAgICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCJFVkVOVChjYW5wbGF5dGhyb3VnaCkgLS0gJmx0O3ZpZGVvJmd0
OyIpOwogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGk+KipjaGFuZ2UgbWV0YWRhdGEg
dHJhY2sgbW9kZSBzbyBpdCBsb2FkczwiICsgIi9pPiIpOwogICAgICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgidHJhY2sucmVhZHlTdGF0ZSIsIEhUTUxUcmFja0VsZW1lbnQuTk9ORSk7Ci0gICAg
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUiLCBUZXh0
VHJhY2suRElTQUJMRUQpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udGV4
dFRyYWNrc1swXS5tb2RlIiwgImRpc2FibGVkIik7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCJ2aWRlby50ZXh0VHJhY2tzWzBdLmN1ZXMiLCBudWxsKTsKLSAgICAgICAgICAgICAgICBy
dW4oInZpZGVvLnRleHRUcmFja3NbMF0ubW9kZSA9IFRleHRUcmFjay5ISURERU4iKTsKKyAgICAg
ICAgICAgICAgICBydW4oInZpZGVvLnRleHRUcmFja3NbMF0ubW9kZSA9ICdoaWRkZW4nIik7CiAg
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKICAgICAgICAgICAgIH0KIApAQCAtMzgs
NyArMzgsNyBAQAogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGk+KipjaGVjayBpbml0
aWFsIG1ldGFkYXRhIHRyYWNrIHN0YXRlPCIgKyAiL2k+Iik7CiAgICAgICAgICAgICAgICAgdHJh
Y2sgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0cmFjaycpWzBdOyAKICAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrLnJlYWR5U3RhdGUiLCBIVE1MVHJhY2tFbGVtZW50Lk5P
TkUpOwotICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udGV4dFRyYWNrc1swXS5t
b2RlIiwgVGV4dFRyYWNrLkRJU0FCTEVEKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InZpZGVvLnRleHRUcmFja3NbMF0ubW9kZSIsICJkaXNhYmxlZCIpOwogCiAgICAgICAgICAgICAg
ICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiLi4vY29udGVudC90ZXN0Iik7
CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNr
L3RyYWNrLW1vZGUuaHRtbAppbmRleCA4NDY3YjA0MDAxNDc0YzZmNDc2ODJkYWVjM2M1NDU5NmNl
N2M2ZDA2Li44MmUzNWJkY2NkNTFjNDdjYzZiMzIyYjE0NWU0MzA1ZDdmMDZmOWJhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1tb2RlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbW9kZS5odG1sCkBAIC0xNCw3ICsxNCw3IEBACiAgICAg
ICAgICAgICAgICAgcnVuKCJ0ZXh0VHJhY2subW9kZSA9ICciICsgdmFsdWUgKyAiJyIpOwogICAg
ICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidGV4dFRyYWNrLm1vZGUiLCB2YWx1ZSk7CiAgICAg
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUiLCB2YWx1
ZSk7Ci0gICAgICAgICAgICAgICAgaWYgKHZhbHVlID09IFRleHRUcmFjay5ESVNBQkxFRCkKKyAg
ICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gImRpc2FibGVkIikKICAgICAgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJ0ZXh0VHJhY2suY3VlcyIsIG51bGwpOwogICAgICAgICAgICAgICAg
IGVsc2UKICAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0ZXh0VHJhY2suY3Vlcy5s
ZW5ndGgiLCB0ZXh0VHJhY2suY3Vlcy5sZW5ndGgpOwpAQCAtMzAsMzggKzMwLDM4IEBACiAgICAg
ICAgICAgICAgICAgdGV4dFRyYWNrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RyYWNrXzEn
KS50cmFjazsKIAogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGI+KysgVGVzdCBkZWZh
dWx0IGF0dHJpYnV0ZSB2YWx1ZTwvYj4iKTsKLSAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InRleHRUcmFjay5tb2RlIiwgVGV4dFRyYWNrLlNIT1dJTkcpOwotICAgICAgICAgICAgICAgIHRl
c3RFeHBlY3RlZCgidmlkZW8udGV4dFRyYWNrc1swXS5tb2RlIiwgVGV4dFRyYWNrLlNIT1dJTkcp
OworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidGV4dFRyYWNrLm1vZGUiLCAic2hvd2lu
ZyIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udGV4dFRyYWNrc1swXS5t
b2RlIiwgInNob3dpbmciKTsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwogCiAg
ICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8Yj4qKiogU2V0IHRvIGJvZ3VzIHZhbHVlLCBz
aG91bGQgcmV0dXJuIGRlZmF1bHQ8L2I+Iik7Ci0gICAgICAgICAgICAgICAgdmFyIHZhbHVlID0g
Mzc7Ci0gICAgICAgICAgICAgICAgdGVzdEV4Y2VwdGlvbigidGV4dFRyYWNrLm1vZGUgPSAnIiAr
IHZhbHVlICsgIiciLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUiIpOwotICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgidGV4dFRyYWNrLm1vZGUiLCBUZXh0VHJhY2suU0hPV0lO
Ryk7Ci0gICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby50ZXh0VHJhY2tzWzBdLm1v
ZGUiLCBUZXh0VHJhY2suU0hPV0lORyk7CisgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gImJv
Z3VzIjsKKyAgICAgICAgICAgICAgICBydW4oInRleHRUcmFjay5tb2RlID0gJyIgKyB2YWx1ZSAr
ICInIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0ZXh0VHJhY2subW9kZSIsICJz
aG93aW5nIik7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby50ZXh0VHJhY2tz
WzBdLm1vZGUiLCAic2hvd2luZyIpOwogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7
CiAKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxiPioqKiBTZXQgdG8ga25vd24gdmFs
dWVzPC9iPiIpOwotICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGI+KysgJ1RleHRUcmFj
ay5ESVNBQkxFRCc8L2I+Iik7Ci0gICAgICAgICAgICAgICAgc2V0TW9kZShUZXh0VHJhY2suRElT
QUJMRUQpOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGI+KysgJ2Rpc2FibGVkJzwv
Yj4iKTsKKyAgICAgICAgICAgICAgICBzZXRNb2RlKCJkaXNhYmxlZCIpOwogCiAgICAgICAgICAg
ICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiLi4vY29udGVudC90ZXN0
Iik7CiAgICAgICAgICAgICAgICAgdmlkZW8ucGxheSgpOwogICAgICAgICAgICAgICAgIC8vIFdh
aXQgZm9yIGVuZCBvZiBmaXJzdCBjdWUgKG5vIGV2ZW50cyBzaG91bGQgZmlyZSB3aGlsZSB0cmFj
ayBpcyBkaXNhYmxlZCkuCiAgICAgICAgICAgICAgICAgc2V0VGltZW91dCh0ZXN0SGlkZGVuQW5k
U2hvd2luZywgNDAwKTsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIisrIDAgZXZlbnRz
IGV4cGVjdGVkIHdoaWxlIG1vZGUgPSBUZXh0VHJhY2suRElTQUJMRUQiKTsKKyAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIisrIDAgZXZlbnRzIGV4cGVjdGVkIHdoaWxlIG1vZGUgPSBkaXNh
YmxlZCIpOwogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RIaWRkZW5BbmRTaG93aW5n
KCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxiPisrICdU
ZXh0VHJhY2suSElEREVOJzwvYj4iKTsKLSAgICAgICAgICAgICAgICBzZXRNb2RlKFRleHRUcmFj
ay5ISURERU4pOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGI+KysgJ2hpZGRlbic8
L2I+Iik7CisgICAgICAgICAgICAgICAgc2V0TW9kZSgiaGlkZGVuIik7CiAKLSAgICAgICAgICAg
ICAgICBjb25zb2xlV3JpdGUoIjxiPisrICdUZXh0VHJhY2suU0hPV0lORyc8L2I+Iik7Ci0gICAg
ICAgICAgICAgICAgc2V0TW9kZShUZXh0VHJhY2suU0hPV0lORyk7CisgICAgICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCI8Yj4rKyAnc2hvd2luZyc8L2I+Iik7CisgICAgICAgICAgICAgICAgc2V0
TW9kZSgic2hvd2luZyIpOwogCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIrKyBhdCBs
ZWFzdCAiICsgdGV4dFRyYWNrLmN1ZXMubGVuZ3RoICsgIiBldmVudHMgZXhwZWN0ZWQgd2hpbGUg
bW9kZSA9IFRleHRUcmFjay5TSE9XSU5HIik7CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCIrKyBhdCBsZWFzdCAiICsgdGV4dFRyYWNrLmN1ZXMubGVuZ3RoICsgIiBldmVudHMgZXhwZWN0
ZWQgd2hpbGUgbW9kZSA9IHNob3dpbmciKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAog
ICAgICAgICAgICAgd2FpdEZvckV2ZW50KCdjdWVjaGFuZ2UnLApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stdGV4dHRyYWNrcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9tZWRpYS90cmFjay90cmFjay10ZXh0dHJhY2tzLWV4cGVjdGVkLnR4dAppbmRleCBhYzVl
NGQxZTZmM2VmZmI0YzE1MTA1MjU2MjI1Zjg5YWRiZTIxYmI4Li40ZGQ2MWU2NmEwNDJhNWQ3ZmYy
YzRkNjQ4ZWFlNzliMjA3YWExNDAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay90cmFjay10ZXh0dHJhY2tzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90
cmFjay90cmFjay10ZXh0dHJhY2tzLWV4cGVjdGVkLnR4dApAQCAtMTUsNyArMTUsNyBAQCBFWFBF
Q1RFRCAodmlkZW8udGV4dFRyYWNrc1sxXS5raW5kID09ICdjaGFwdGVycycpIE9LCiBFWFBFQ1RF
RCAodmlkZW8udGV4dFRyYWNrc1syXS5raW5kID09ICdkZXNjcmlwdGlvbnMnKSBPSwogCiAqKiBW
ZXJpZnkgdGhlIGRlZmF1bHQgcGFyYW1ldGVycyBvZiB0aGUgdGV4dCB0cmFjayBvYmplY3QgcmV0
dXJuZWQgYnkgYWRkVGV4dFRyYWNrKCkuICoqCi1FWFBFQ1RFRCAodmlkZW8udGV4dFRyYWNrc1sy
XS5tb2RlID09IFRleHRUcmFjay5ISURERU4gPT0gJ3RydWUnKSBPSworRVhQRUNURUQgKHZpZGVv
LnRleHRUcmFja3NbMl0ubW9kZSA9PSAnaGlkZGVuJyA9PSAndHJ1ZScpIE9LCiBFWFBFQ1RFRCAo
dmlkZW8udGV4dFRyYWNrc1syXS5jdWVzICE9IG51bGwgPT0gJ3RydWUnKSBPSwogRVhQRUNURUQg
KHZpZGVvLnRleHRUcmFja3NbMl0uY3Vlcy5sZW5ndGggPT0gMCA9PSAndHJ1ZScpIE9LCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXRleHR0cmFja3MuaHRtbCBi
L0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXRleHR0cmFja3MuaHRtbAppbmRleCA1Y2Y0
MDM2M2U0YzYxOWFlNWZkYWUwNjM2MWY4MWZhMjAxYjQxZTA1Li5mMjU3MTg1NjBlNWNiOWYyYjFm
MWM2ODZmNTZmMGJjNWI2YzQ5ZGVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFj
ay90cmFjay10ZXh0dHJhY2tzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJh
Y2stdGV4dHRyYWNrcy5odG1sCkBAIC0yOCw3ICsyOCw3IEBACiAgICAgICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCJ2aWRlby50ZXh0VHJhY2tzWzJdLmtpbmQiLCAiZGVzY3JpcHRpb25zIik7CiAK
ICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxicj4qKiBWZXJpZnkgdGhlIGRlZmF1bHQg
cGFyYW1ldGVycyBvZiB0aGUgdGV4dCB0cmFjayBvYmplY3QgcmV0dXJuZWQgYnkgYWRkVGV4dFRy
YWNrKCkuICoqIik7Ci0gICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby50ZXh0VHJh
Y2tzWzJdLm1vZGUgPT0gVGV4dFRyYWNrLkhJRERFTiIsIHRydWUpOworICAgICAgICAgICAgICAg
IHRlc3RFeHBlY3RlZCgidmlkZW8udGV4dFRyYWNrc1syXS5tb2RlID09ICdoaWRkZW4nIiwgdHJ1
ZSk7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ2aWRlby50ZXh0VHJhY2tzWzJdLmN1
ZXMgIT0gbnVsbCIsIHRydWUpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8u
dGV4dFRyYWNrc1syXS5jdWVzLmxlbmd0aCA9PSAwIiwgdHJ1ZSk7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL21lZGlhL3ZpZGVvLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby10
ZXN0LmpzCmluZGV4IGVkZmRkYmIzNmEyODEzNDNiY2I5NjBiNjliMGMzYzc0MzhlOGRlOTIuLjBm
Mjg0ODYyYWFjOWQzOTk1M2U4M2Q1NDkxODdlMGM4OGUzMzBiNjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL21lZGlhL3ZpZGVvLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8t
dGVzdC5qcwpAQCAtMzE0LDggKzMxNCw4IEBAIGZ1bmN0aW9uIGVuYWJsZUFsbFRleHRUcmFja3Mo
KQogewogICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZp
ZGVvLnRleHRUcmFja3MubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgaWYgKHZpZGVvLnRleHRUcmFj
a3NbaV0ubW9kZSA9PSBUZXh0VHJhY2suRElTQUJMRUQpCi0gICAgICAgICAgICB2aWRlby50ZXh0
VHJhY2tzW2ldLm1vZGUgPSBUZXh0VHJhY2suSElEREVOOworICAgICAgICBpZiAodmlkZW8udGV4
dFRyYWNrc1tpXS5tb2RlID09ICJkaXNhYmxlZCIpCisgICAgICAgICAgICB2aWRlby50ZXh0VHJh
Y2tzW2ldLm1vZGUgPSAiaGlkZGVuIjsKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160752</attachid>
            <date>2012-08-27 11:19:48 -0700</date>
            <delta_ts>2012-08-27 13:12:18 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-85050-20120827111940.patch</filename>
            <type>text/plain</type>
            <size>39892</size>
            <attacher name="Anna Cavender">annacc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2Nzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWYxZjU2MzUwMTBhMzlj
Y2VjODhmNjRhZTFiYzdkZjY4Y2QzMTM1Ny4uZmY5MGI5ZWViYzFiZDA2YTZkNzg3OWM0YTQxYjM5
NmI4MWEyNDc1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEyLTA4LTI3ICBBbm5h
IENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0VHJhY2sgbW9k
ZXMgYXJlIHN0cmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg1MDUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAg
ICAgIFRoZSBzcGVjIHJlY2VudGx5IGNoYW5nZWQgYXdheSBmcm9tIGVudW1lcmF0aW9uIHRvIHN0
cmluZyBmb3IgdGhlIHR5cGUKKyAgICAgICAgb2YgVGV4dFRyYWNrIG1vZGUuCisgICAgICAgIGh0
dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvbWVkaWEtZWxlbWVudHMuaHRtbCN0ZXh0dHJhY2tt
b2RlCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBVcGRhdGVzIHRvIGV4aXN0aW5nIHRlc3RzLgor
CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKworICAgICAgICBVc2UgdGhl
IG5ldyBzdHJpbmcgbW9kZSByYXRoZXIgdGhhbiB0aGUgb2xkIGVudW0uICBBbHNvLCBUZXh0VHJh
Y2s6OnNldE1vZGUoKQorICAgICAgICBubyBsb25nZXIgcmVxdWlyZXMgYW4gRXhjZXB0aW9uQ29k
ZToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRJbnRlcm5hbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0ZXh0VHJhY2tNb2RlQ2hhbmdlZCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0ZXh0VHJhY2tLaW5kQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjphZGRUZXh0VHJhY2spOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2hvd2luZ1RyYWNrV2l0aFNhbWVL
aW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRU
cmFja0dyb3VwKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3Vy
ZU5ld1RleHRUcmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y29u
ZmlndXJlVGV4dFRyYWNrRGlzcGxheSk6CisKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFj
ay5jcHA6CisKKyAgICAgICAgVXBkYXRlIHRoZXNlIG1ldGhvZHMgdG8gdXNlIENvbnN0cnVjdEZy
b21MaXRlcmFsIGZvciBlZmZpY2llbmN5OgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrOjpz
dWJ0aXRsZXNLZXl3b3JkKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFjazo6Y2FwdGlvbnNL
ZXl3b3JkKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFjazo6ZGVzY3JpcHRpb25zS2V5d29y
ZCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6OmNoYXB0ZXJzS2V5d29yZCk6CisgICAg
ICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6Om1ldGFkYXRhS2V5d29yZCk6CisKKyAgICAgICAgTmV3
IG1ldGhvZHMgdG8gdXNlIGZvciB0aGUgbW9kZSBzdHJpbmcgKHJlcGxhY2luZyB0aGUgZW51bSk6
CisgICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2s6OmRpc2FibGVkS2V5d29yZCk6CisgICAgICAg
IChXZWJDb3JlOjpUZXh0VHJhY2s6OmhpZGRlbktleXdvcmQpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dFRyYWNrOjpzaG93aW5nS2V5d29yZCk6CisKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFj
azo6VGV4dFRyYWNrKTogSW5pdGlhbGl6ZSBtb2RlIHRvIGRpc2FibGVkLgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dFRyYWNrOjpzZXRNb2RlKTogUmVtb3ZlIEV4Y2VwdGlvbkNvZGUgYW5kIG5vIGxv
bmdlciB0aHJvdyBhbgorICAgICAgICBJTlZBTElEX0FDQ0VTU19FUlIuCisgICAgICAgIChXZWJD
b3JlOjpUZXh0VHJhY2s6Om1vZGUpOiBSZXR1cm4gYSBrZXl3b3JkIHN0cmluZyBpbnN0ZWFkIG9m
IGFuIGVudW0uCisKKyAgICAgICAgVXNlIHRoZSBuZXcgc3RyaW5nIG1vZGUgcmF0aGVyIHRoYW4g
dGhlIG9sZCBlbnVtOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrOjpjdWVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRUcmFjazo6YWN0aXZlQ3Vlcyk6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0VHJhY2s6OmlzUmVuZGVyZWQpOgorCisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJhY2su
aDogUmVtb3ZlIG9sZCBlbnVtLCBhZGQgbmV3IHN0cmluZyBrZXl3b3JkIG1ldGhvZHMsCisgICAg
ICAgIGFuZCB1cGRhdGUgbW9kZSgpIGFuZCBzZXRNb2RlKCkgYWNjb3JkaW5nbHkuCisKKyAgICAg
ICAgKiBodG1sL3RyYWNrL1RleHRUcmFjay5pZGw6IFJlbW92ZSBvbGQgZW51bSBhbmQgbWFrZSBt
b2RlIGF0dHJpYnV0ZSBiZSBhIHN0cmluZy4KKworICAgICAgICBVc2UgdGhlIG5ldyBzdHJpbmcg
bW9kZSByYXRoZXIgdGhhbiB0aGUgb2xkIGVudW06CisgICAgICAgICogaHRtbC90cmFjay9UZXh0
VHJhY2tDdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrQ3VlOjpkaXNwYXRjaEV2
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1ZTo6aXNBY3RpdmUpOgorCiAyMDEy
LTA4LTI3ICBWaWN0b3IgQ2FyYnVuZSAgPHZpY3RvckByb3NlZHUub3JnPgogCiAgICAgICAgIENy
YXNoIHdoZW4gdHJ5aW5nIHRvIHJlbmRlciBlbXB0eSBjdWVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAwMmE1NjQ1YzVmNDViM2FmYjU2NjFkOGJjZDQ2Zjkz
ZGYzZGViMmQxLi5kNDYwM2ZkYjUzMTNiODZmNWRlNzZjYmY2NzQ1YWY1NDFlMTE4NWM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTc3Nyw3ICs3NzcsNyBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmxvYWRJbnRlcm5hbCgpCiAgICAgICAgIGlmIChtX3Rl
eHRUcmFja3MpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3RleHRU
cmFja3MtPmxlbmd0aCgpOyArK2kpIHsKICAgICAgICAgICAgICAgICBUZXh0VHJhY2sqIHRyYWNr
ID0gbV90ZXh0VHJhY2tzLT5pdGVtKGkpOwotICAgICAgICAgICAgICAgIGlmICh0cmFjay0+bW9k
ZSgpICE9IFRleHRUcmFjazo6RElTQUJMRUQpCisgICAgICAgICAgICAgICAgaWYgKHRyYWNrLT5t
b2RlKCkgIT0gVGV4dFRyYWNrOjpkaXNhYmxlZEtleXdvcmQoKSkKICAgICAgICAgICAgICAgICAg
ICAgbV90ZXh0VHJhY2tzV2hlblJlc291cmNlU2VsZWN0aW9uQmVnYW4uYXBwZW5kKHRyYWNrKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMTI5NSw3ICsxMjk1LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojp0ZXh0VHJhY2tNb2RlQ2hhbmdlZChUZXh0VHJhY2sqIHRyYWNrKQogICAg
ICAgICAgICAgCiAgICAgICAgICAgICAvLyBNYXJrIHRoaXMgdHJhY2sgYXMgImNvbmZpZ3VyZWQi
IHNvIGNvbmZpZ3VyZU5ld1RleHRUcmFja3Mgd29uJ3QgY2hhbmdlIHRoZSBtb2RlIGFnYWluLgog
ICAgICAgICAgICAgdHJhY2tFbGVtZW50LT5zZXRIYXNCZWVuQ29uZmlndXJlZCh0cnVlKTsKLSAg
ICAgICAgICAgIGlmICh0cmFjay0+bW9kZSgpICE9IFRleHRUcmFjazo6RElTQUJMRUQpIHsKKyAg
ICAgICAgICAgIGlmICh0cmFjay0+bW9kZSgpICE9IFRleHRUcmFjazo6ZGlzYWJsZWRLZXl3b3Jk
KCkpIHsKICAgICAgICAgICAgICAgICBpZiAodHJhY2tFbGVtZW50LT5yZWFkeVN0YXRlKCkgPT0g
SFRNTFRyYWNrRWxlbWVudDo6TE9BREVEKQogICAgICAgICAgICAgICAgICAgICB0ZXh0VHJhY2tB
ZGRDdWVzKHRyYWNrLCB0cmFjay0+Y3VlcygpKTsKICAgICAgICAgICAgICAgICBlbHNlIGlmICh0
cmFja0VsZW1lbnQtPnJlYWR5U3RhdGUoKSA9PSBIVE1MVHJhY2tFbGVtZW50OjpOT05FKQpAQCAt
MTMxNCw4ICsxMzE0LDggQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0ZXh0VHJhY2tNb2RlQ2hh
bmdlZChUZXh0VHJhY2sqIHRyYWNrKQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnRleHRUcmFj
a0tpbmRDaGFuZ2VkKFRleHRUcmFjayogdHJhY2spCiB7Ci0gICAgaWYgKHRyYWNrLT5raW5kKCkg
IT0gVGV4dFRyYWNrOjpjYXB0aW9uc0tleXdvcmQoKSAmJiB0cmFjay0+a2luZCgpICE9IFRleHRU
cmFjazo6c3VidGl0bGVzS2V5d29yZCgpICYmIHRyYWNrLT5tb2RlKCkgPT0gVGV4dFRyYWNrOjpT
SE9XSU5HKQotICAgICAgICB0cmFjay0+c2V0TW9kZShUZXh0VHJhY2s6OkhJRERFTiwgQVNTRVJU
X05PX0VYQ0VQVElPTik7CisgICAgaWYgKHRyYWNrLT5raW5kKCkgIT0gVGV4dFRyYWNrOjpjYXB0
aW9uc0tleXdvcmQoKSAmJiB0cmFjay0+a2luZCgpICE9IFRleHRUcmFjazo6c3VidGl0bGVzS2V5
d29yZCgpICYmIHRyYWNrLT5tb2RlKCkgPT0gVGV4dFRyYWNrOjpzaG93aW5nS2V5d29yZCgpKQor
ICAgICAgICB0cmFjay0+c2V0TW9kZShUZXh0VHJhY2s6OmhpZGRlbktleXdvcmQoKSk7CiB9CiAK
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dGV4dFRyYWNrQWRkQ3VlcyhUZXh0VHJhY2sqLCBjb25z
dCBUZXh0VHJhY2tDdWVMaXN0KiBjdWVzKSAKQEAgLTI2ODgsNyArMjY4OCw3IEBAIFBhc3NSZWZQ
dHI8VGV4dFRyYWNrPiBIVE1MTWVkaWFFbGVtZW50OjphZGRUZXh0VHJhY2soY29uc3QgU3RyaW5n
JiBraW5kLCBjb25zdCBTCiAgICAgdGV4dFRyYWNrLT5zZXRSZWFkaW5lc3NTdGF0ZShUZXh0VHJh
Y2s6OkxvYWRlZCk7CiAKICAgICAvLyAuLi4gaXRzIHRleHQgdHJhY2sgbW9kZSB0byB0aGUgdGV4
dCB0cmFjayBoaWRkZW4gbW9kZSwgYW5kIGl0cyB0ZXh0IHRyYWNrIGxpc3Qgb2YgY3VlcyB0byBh
biBlbXB0eSBsaXN0IC4uLgotICAgIHRleHRUcmFjay0+c2V0TW9kZShUZXh0VHJhY2s6OkhJRERF
TiwgZWMpOworICAgIHRleHRUcmFjay0+c2V0TW9kZShUZXh0VHJhY2s6OmhpZGRlbktleXdvcmQo
KSk7CiAKICAgICByZXR1cm4gdGV4dFRyYWNrLnJlbGVhc2UoKTsKIH0KQEAgLTI3MTMsNyArMjcx
Myw3IEBAIEhUTUxUcmFja0VsZW1lbnQqIEhUTUxNZWRpYUVsZW1lbnQ6OnNob3dpbmdUcmFja1dp
dGhTYW1lS2luZChIVE1MVHJhY2tFbGVtZW50KiB0CiAgICAgICAgICAgICBjb250aW51ZTsKIAog
ICAgICAgICBIVE1MVHJhY2tFbGVtZW50KiBzaG93aW5nVHJhY2sgPSBzdGF0aWNfY2FzdDxIVE1M
VHJhY2tFbGVtZW50Kj4obm9kZSk7Ci0gICAgICAgIGlmIChzaG93aW5nVHJhY2stPmtpbmQoKSA9
PSB0cmFja0VsZW1lbnQtPmtpbmQoKSAmJiBzaG93aW5nVHJhY2stPnRyYWNrKCktPm1vZGUoKSA9
PSBUZXh0VHJhY2s6OlNIT1dJTkcpCisgICAgICAgIGlmIChzaG93aW5nVHJhY2stPmtpbmQoKSA9
PSB0cmFja0VsZW1lbnQtPmtpbmQoKSAmJiBzaG93aW5nVHJhY2stPnRyYWNrKCktPm1vZGUoKSA9
PSBUZXh0VHJhY2s6OnNob3dpbmdLZXl3b3JkKCkpCiAgICAgICAgICAgICByZXR1cm4gc2hvd2lu
Z1RyYWNrOwogICAgIH0KICAgICAKQEAgLTI4NjQsMTAgKzI4NjQsOSBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0dyb3VwKGNvbnN0IFRyYWNrR3JvdXAmIGdyb3Vw
KSBjb25zdAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZ3JvdXAudHJhY2tzLnNpemUoKTsg
KytpKSB7CiAgICAgICAgIEhUTUxUcmFja0VsZW1lbnQqIHRyYWNrRWxlbWVudCA9IGdyb3VwLnRy
YWNrc1tpXTsKICAgICAgICAgUmVmUHRyPFRleHRUcmFjaz4gdGV4dFRyYWNrID0gdHJhY2tFbGVt
ZW50LT50cmFjaygpOwotICAgICAgICBFeGNlcHRpb25Db2RlIHVudXNlZEV4Y2VwdGlvbjsKICAg
ICAgICAgCiAgICAgICAgIGlmICh0cmFja0VsZW1lbnRUb0VuYWJsZSA9PSB0cmFja0VsZW1lbnQp
IHsKLSAgICAgICAgICAgIHRleHRUcmFjay0+c2V0TW9kZShUZXh0VHJhY2s6OlNIT1dJTkcsIHVu
dXNlZEV4Y2VwdGlvbik7CisgICAgICAgICAgICB0ZXh0VHJhY2stPnNldE1vZGUoVGV4dFRyYWNr
OjpzaG93aW5nS2V5d29yZCgpKTsKICAgICAgICAgICAgIGlmIChkZWZhdWx0VHJhY2sgPT0gdHJh
Y2tFbGVtZW50KQogICAgICAgICAgICAgICAgIHRleHRUcmFjay0+c2V0U2hvd2luZ0J5RGVmYXVs
dCh0cnVlKTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTI4NzYsMTggKzI4NzUsMTcgQEAgdm9pZCBI
VE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhY2tHcm91cChjb25zdCBUcmFja0dyb3Vw
JiBncm91cCkgY29uc3QKICAgICAgICAgICAgICAgICAvLyBtb2RlIGlzIHNob3dpbmcgYnkgZGVm
YXVsdCwgdGhlIHVzZXIgYWdlbnQgbXVzdCBmdXJ0aGVybW9yZSBjaGFuZ2UgdGhhdCB0ZXh0IHRy
YWNrJ3MKICAgICAgICAgICAgICAgICAvLyB0ZXh0IHRyYWNrIG1vZGUgdG8gaGlkZGVuLgogICAg
ICAgICAgICAgICAgIHRleHRUcmFjay0+c2V0U2hvd2luZ0J5RGVmYXVsdChmYWxzZSk7Ci0gICAg
ICAgICAgICAgICAgdGV4dFRyYWNrLT5zZXRNb2RlKFRleHRUcmFjazo6SElEREVOLCB1bnVzZWRF
eGNlcHRpb24pOworICAgICAgICAgICAgICAgIHRleHRUcmFjay0+c2V0TW9kZShUZXh0VHJhY2s6
OmhpZGRlbktleXdvcmQoKSk7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICB0
ZXh0VHJhY2stPnNldE1vZGUoVGV4dFRyYWNrOjpESVNBQkxFRCwgdW51c2VkRXhjZXB0aW9uKTsK
KyAgICAgICAgICAgICAgICB0ZXh0VHJhY2stPnNldE1vZGUoVGV4dFRyYWNrOjpkaXNhYmxlZEtl
eXdvcmQoKSk7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAodHJhY2tFbGVtZW50VG9FbmFi
bGUgJiYgZ3JvdXAuZGVmYXVsdFRyYWNrICYmIGdyb3VwLmRlZmF1bHRUcmFjayAhPSB0cmFja0Vs
ZW1lbnRUb0VuYWJsZSkgewogICAgICAgICBSZWZQdHI8VGV4dFRyYWNrPiB0ZXh0VHJhY2sgPSBn
cm91cC5kZWZhdWx0VHJhY2stPnRyYWNrKCk7CiAgICAgICAgIGlmICh0ZXh0VHJhY2sgJiYgdGV4
dFRyYWNrLT5zaG93aW5nQnlEZWZhdWx0KCkpIHsKLSAgICAgICAgICAgIEV4Y2VwdGlvbkNvZGUg
dW51c2VkRXhjZXB0aW9uOwogICAgICAgICAgICAgdGV4dFRyYWNrLT5zZXRTaG93aW5nQnlEZWZh
dWx0KGZhbHNlKTsKLSAgICAgICAgICAgIHRleHRUcmFjay0+c2V0TW9kZShUZXh0VHJhY2s6OkhJ
RERFTiwgdW51c2VkRXhjZXB0aW9uKTsKKyAgICAgICAgICAgIHRleHRUcmFjay0+c2V0TW9kZShU
ZXh0VHJhY2s6OmhpZGRlbktleXdvcmQoKSk7CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC0yOTIy
LDcgKzI5MjAsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZU5ld1RleHRUcmFj
a3MoKQogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjdXJyZW50R3JvdXAgPSAmb3RoZXJUcmFj
a3M7CiAKLSAgICAgICAgaWYgKCFjdXJyZW50R3JvdXAtPnZpc2libGVUcmFjayAmJiB0ZXh0VHJh
Y2stPm1vZGUoKSA9PSBUZXh0VHJhY2s6OlNIT1dJTkcpCisgICAgICAgIGlmICghY3VycmVudEdy
b3VwLT52aXNpYmxlVHJhY2sgJiYgdGV4dFRyYWNrLT5tb2RlKCkgPT0gVGV4dFRyYWNrOjpzaG93
aW5nS2V5d29yZCgpKQogICAgICAgICAgICAgY3VycmVudEdyb3VwLT52aXNpYmxlVHJhY2sgPSB0
cmFja0VsZW1lbnQ7CiAgICAgICAgIGlmICghY3VycmVudEdyb3VwLT5kZWZhdWx0VHJhY2sgJiYg
dHJhY2tFbGVtZW50LT5pc0RlZmF1bHQoKSkKICAgICAgICAgICAgIGN1cnJlbnRHcm91cC0+ZGVm
YXVsdFRyYWNrID0gdHJhY2tFbGVtZW50OwpAQCAtNDA5Myw3ICs0MDkxLDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhY2tEaXNwbGF5KCkKIAogICAgIGJvb2wgaGF2
ZVZpc2libGVUZXh0VHJhY2sgPSBmYWxzZTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
bV90ZXh0VHJhY2tzLT5sZW5ndGgoKTsgKytpKSB7Ci0gICAgICAgIGlmIChtX3RleHRUcmFja3Mt
Pml0ZW0oaSktPm1vZGUoKSA9PSBUZXh0VHJhY2s6OlNIT1dJTkcpIHsKKyAgICAgICAgaWYgKG1f
dGV4dFRyYWNrcy0+aXRlbShpKS0+bW9kZSgpID09IFRleHRUcmFjazo6c2hvd2luZ0tleXdvcmQo
KSkgewogICAgICAgICAgICAgaGF2ZVZpc2libGVUZXh0VHJhY2sgPSB0cnVlOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svVGV4dFRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmNw
cAppbmRleCBhZGRjODc1Mjc0N2ZmYzhjMmJhMTdjN2QwZmQ1NTdiNGY5YTE4M2Q5Li42YWJjYWNj
ZDg3NjBmYTVlMTQ1YWQwY2E4MWVlYWRiYTA5OGFhN2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UZXh0VHJhY2suY3BwCkBAIC00OCw0MSArNDgsNTkgQEAgc3RhdGljIGNvbnN0IGludCBp
bnZhbGlkVHJhY2tJbmRleCA9IC0xOwogCiBjb25zdCBBdG9taWNTdHJpbmcmIFRleHRUcmFjazo6
c3VidGl0bGVzS2V5d29yZCgpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9t
aWNTdHJpbmcsIHN1YnRpdGxlcywgKCJzdWJ0aXRsZXMiKSk7CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChjb25zdCBBdG9taWNTdHJpbmcsIHN1YnRpdGxlcywgKCJzdWJ0aXRsZXMiLCBBdG9taWNT
dHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7CiAgICAgcmV0dXJuIHN1YnRpdGxlczsKIH0K
IAogY29uc3QgQXRvbWljU3RyaW5nJiBUZXh0VHJhY2s6OmNhcHRpb25zS2V5d29yZCgpCiB7Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIGNhcHRpb25zLCAoImNh
cHRpb25zIikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBj
YXB0aW9ucywgKCJjYXB0aW9ucyIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwp
KTsKICAgICByZXR1cm4gY2FwdGlvbnM7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgVGV4dFRy
YWNrOjpkZXNjcmlwdGlvbnNLZXl3b3JkKCkKIHsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNv
bnN0IEF0b21pY1N0cmluZywgZGVzY3JpcHRpb25zLCAoImRlc2NyaXB0aW9ucyIpKTsKKyAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21pY1N0cmluZywgZGVzY3JpcHRpb25zLCAoImRl
c2NyaXB0aW9ucyIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKICAgICBy
ZXR1cm4gZGVzY3JpcHRpb25zOwogfQogCiBjb25zdCBBdG9taWNTdHJpbmcmIFRleHRUcmFjazo6
Y2hhcHRlcnNLZXl3b3JkKCkKIHsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IEF0b21p
Y1N0cmluZywgY2hhcHRlcnMsICgiY2hhcHRlcnMiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChjb25zdCBBdG9taWNTdHJpbmcsIGNoYXB0ZXJzLCAoImNoYXB0ZXJzIiwgQXRvbWljU3RyaW5n
OjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwogICAgIHJldHVybiBjaGFwdGVyczsKIH0KIAogY29u
c3QgQXRvbWljU3RyaW5nJiBUZXh0VHJhY2s6Om1ldGFkYXRhS2V5d29yZCgpCiB7Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNTdHJpbmcsIG1ldGFkYXRhLCAoIm1ldGFkYXRh
IikpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWljU3RyaW5nLCBtZXRhZGF0
YSwgKCJtZXRhZGF0YSIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpKTsKICAg
ICByZXR1cm4gbWV0YWRhdGE7CiB9CiAKK2NvbnN0IEF0b21pY1N0cmluZyYgVGV4dFRyYWNrOjpk
aXNhYmxlZEtleXdvcmQoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQXRvbWlj
U3RyaW5nLCBvcGVuLCAoImRpc2FibGVkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0
ZXJhbCkpOworICAgIHJldHVybiBvcGVuOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFRleHRU
cmFjazo6aGlkZGVuS2V5d29yZCgpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBB
dG9taWNTdHJpbmcsIGNsb3NlZCwgKCJoaWRkZW4iLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKSk7CisgICAgcmV0dXJuIGNsb3NlZDsKK30KKworY29uc3QgQXRvbWljU3RyaW5n
JiBUZXh0VHJhY2s6OnNob3dpbmdLZXl3b3JkKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KGNvbnN0IEF0b21pY1N0cmluZywgZW5kZWQsICgic2hvd2luZyIsIEF0b21pY1N0cmluZzo6Q29u
c3RydWN0RnJvbUxpdGVyYWwpKTsKKyAgICByZXR1cm4gZW5kZWQ7Cit9CisKIFRleHRUcmFjazo6
VGV4dFRyYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFRleHRUcmFja0NsaWVu
dCogY2xpZW50LCBjb25zdCBTdHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYgbGFiZWwsIGNvbnN0
IFN0cmluZyYgbGFuZ3VhZ2UsIFRleHRUcmFja1R5cGUgdHlwZSkKICAgICA6IFRyYWNrQmFzZShj
b250ZXh0LCBUcmFja0Jhc2U6OlRleHRUcmFjaykKICAgICAsIG1fY3VlcygwKQogICAgICwgbV9t
ZWRpYUVsZW1lbnQoMCkKICAgICAsIG1fbGFiZWwobGFiZWwpCiAgICAgLCBtX2xhbmd1YWdlKGxh
bmd1YWdlKQotICAgICwgbV9tb2RlKFRleHRUcmFjazo6RElTQUJMRUQpCisgICAgLCBtX21vZGUo
ZGlzYWJsZWRLZXl3b3JkKCkpCiAgICAgLCBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX3RyYWNr
VHlwZSh0eXBlKQogICAgICwgbV9yZWFkaW5lc3NTdGF0ZShOb3RMb2FkZWQpCkBAIC0xMjgsNDEg
KzE0NiwzOSBAQCB2b2lkIFRleHRUcmFjazo6c2V0S2luZChjb25zdCBTdHJpbmcmIGtpbmQpCiAg
ICAgICAgIG1fY2xpZW50LT50ZXh0VHJhY2tLaW5kQ2hhbmdlZCh0aGlzKTsKIH0KIAotdm9pZCBU
ZXh0VHJhY2s6OnNldE1vZGUodW5zaWduZWQgc2hvcnQgbW9kZSwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit2b2lkIFRleHRUcmFjazo6c2V0TW9kZShjb25zdCBTdHJpbmcmIG1vZGUpCiB7Ci0gICAgLy8g
NC44LjEwLjEyLjUgT24gc2V0dGluZyB0aGUgbW9kZSwgaWYgdGhlIG5ldyB2YWx1ZSBpcyBub3Qg
ZWl0aGVyIDAsIDEsIG9yIDIsCi0gICAgLy8gdGhlIHVzZXIgYWdlbnQgbXVzdCB0aHJvdyBhbiBJ
TlZBTElEX0FDQ0VTU19FUlIgZXhjZXB0aW9uLgotICAgIGlmIChtb2RlID4gVGV4dFRyYWNrOjpT
SE9XSU5HKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgIC8vIE9uIHNl
dHRpbmcsIGlmIHRoZSBuZXcgdmFsdWUgaXNuJ3QgZXF1YWwgdG8gd2hhdCB0aGUgYXR0cmlidXRl
IHdvdWxkIGN1cnJlbnRseQorICAgIC8vIHJldHVybiwgdGhlIG5ldyB2YWx1ZSBtdXN0IGJlIHBy
b2Nlc3NlZCBhcyBmb2xsb3dzIC4uLgorICAgIGlmIChtb2RlICE9IGRpc2FibGVkS2V5d29yZCgp
ICYmIG1vZGUgIT0gaGlkZGVuS2V5d29yZCgpICYmIG1vZGUgIT0gc2hvd2luZ0tleXdvcmQoKSkK
ICAgICAgICAgcmV0dXJuOwotICAgIH0KIAotICAgIGlmIChtX21vZGUgPT0gc3RhdGljX2Nhc3Q8
TW9kZT4obW9kZSkpCisgICAgaWYgKG1fbW9kZSA9PSBtb2RlKQogICAgICAgICByZXR1cm47CiAK
ICAgICAvLyBJZiBtb2RlIGNoYW5nZXMgdG8gZGlzYWJsZWQsIHJlbW92ZSB0aGlzIHRyYWNrJ3Mg
Y3VlcyBmcm9tIHRoZSBjbGllbnQKICAgICAvLyBiZWNhdXNlIHRoZXkgd2lsbCBubyBsb25nZXIg
YmUgYWNjZXNzaWJsZSBmcm9tIHRoZSBjdWVzKCkgZnVuY3Rpb24uCi0gICAgaWYgKG1vZGUgPT0g
VGV4dFRyYWNrOjpESVNBQkxFRCAmJiBtX2NsaWVudCAmJiBtX2N1ZXMpCisgICAgaWYgKG1vZGUg
PT0gZGlzYWJsZWRLZXl3b3JkKCkgJiYgbV9jbGllbnQgJiYgbV9jdWVzKQogICAgICAgICBtX2Ns
aWVudC0+dGV4dFRyYWNrUmVtb3ZlQ3Vlcyh0aGlzLCBtX2N1ZXMuZ2V0KCkpOwogICAgICAgICAg
Ci0gICAgaWYgKG1vZGUgIT0gVGV4dFRyYWNrOjpTSE9XSU5HICYmIG1fY3VlcykKKyAgICBpZiAo
bW9kZSAhPSBzaG93aW5nS2V5d29yZCgpICYmIG1fY3VlcykKICAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBtX2N1ZXMtPmxlbmd0aCgpOyArK2kpCiAgICAgICAgICAgICBtX2N1ZXMtPml0
ZW0oaSktPnJlbW92ZURpc3BsYXlUcmVlKCk7CiAKICAgICAvLyAgLi4uIE5vdGU6IElmIHRoZSBt
b2RlIGhhZCBiZWVuIHNob3dpbmcgYnkgZGVmYXVsdCwgdGhpcyB3aWxsIGNoYW5nZSBpdCB0byBz
aG93aW5nLCAKICAgICAvLyBldmVuIHRob3VnaCB0aGUgdmFsdWUgb2YgbW9kZSB3b3VsZCBhcHBl
YXIgbm90IHRvIGNoYW5nZS4KLSAgICBtX21vZGUgPSBzdGF0aWNfY2FzdDxNb2RlPihtb2RlKTsK
KyAgICBtX21vZGUgPSBtb2RlOwogICAgIHNldFNob3dpbmdCeURlZmF1bHQoZmFsc2UpOwogCiAg
ICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVudC0+dGV4dFRyYWNrTW9kZUNoYW5nZWQo
dGhpcyk7CiB9CiAKLVRleHRUcmFjazo6TW9kZSBUZXh0VHJhY2s6Om1vZGUoKSBjb25zdAorU3Ry
aW5nIFRleHRUcmFjazo6bW9kZSgpIGNvbnN0CiB7Ci0gICAgLy8gVGhlIHRleHQgdHJhY2sgInNo
b3dpbmciIGFuZCAic2hvd2luZyBieSBkZWZhdWx0IiBtb2RlcyByZXR1cm4gU0hPV0lORyAobnVt
ZXJpYyB2YWx1ZSAyKQorICAgIC8vIFRoZSB0ZXh0IHRyYWNrICJzaG93aW5nIiBhbmQgInNob3dp
bmcgYnkgZGVmYXVsdCIgbW9kZXMgcmV0dXJuIHRoZSBzdHJpbmcgInNob3dpbmciLgogICAgIGlm
IChtX3Nob3dpbmdCeURlZmF1bHQpCi0gICAgICAgIHJldHVybiBTSE9XSU5HOworICAgICAgICBy
ZXR1cm4gc2hvd2luZ0tleXdvcmQoKTsKICAgICByZXR1cm4gbV9tb2RlOwogfQogCkBAIC0xNzMs
NyArMTg5LDcgQEAgVGV4dFRyYWNrQ3VlTGlzdCogVGV4dFRyYWNrOjpjdWVzKCkKICAgICAvLyBP
dGhlcndpc2UsIGl0IG11c3QgcmV0dXJuIG51bGwuIFdoZW4gYW4gb2JqZWN0IGlzIHJldHVybmVk
LCB0aGUKICAgICAvLyBzYW1lIG9iamVjdCBtdXN0IGJlIHJldHVybmVkIGVhY2ggdGltZS4KICAg
ICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNk
b20tdGV4dHRyYWNrLWN1ZXMKLSAgICBpZiAobV9tb2RlICE9IFRleHRUcmFjazo6RElTQUJMRUQp
CisgICAgaWYgKG1fbW9kZSAhPSBkaXNhYmxlZEtleXdvcmQoKSkKICAgICAgICAgcmV0dXJuIGVu
c3VyZVRleHRUcmFja0N1ZUxpc3QoKTsKICAgICByZXR1cm4gMDsKIH0KQEAgLTE4Niw3ICsyMDIs
NyBAQCBUZXh0VHJhY2tDdWVMaXN0KiBUZXh0VHJhY2s6OmFjdGl2ZUN1ZXMoKSBjb25zdAogICAg
IC8vIG9yZGVyLiBPdGhlcndpc2UsIGl0IG11c3QgcmV0dXJuIG51bGwuIFdoZW4gYW4gb2JqZWN0
IGlzIHJldHVybmVkLCB0aGUKICAgICAvLyBzYW1lIG9iamVjdCBtdXN0IGJlIHJldHVybmVkIGVh
Y2ggdGltZS4KICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3Vy
cmVudC13b3JrLyNkb20tdGV4dHRyYWNrLWFjdGl2ZWN1ZXMKLSAgICBpZiAobV9jdWVzICYmIG1f
bW9kZSAhPSBUZXh0VHJhY2s6OkRJU0FCTEVEKQorICAgIGlmIChtX2N1ZXMgJiYgbV9tb2RlICE9
IGRpc2FibGVkS2V5d29yZCgpKQogICAgICAgICByZXR1cm4gbV9jdWVzLT5hY3RpdmVDdWVzKCk7
CiAgICAgcmV0dXJuIDA7CiB9CkBAIC0yOTksNyArMzE1LDcgQEAgYm9vbCBUZXh0VHJhY2s6Omlz
UmVuZGVyZWQoKQogICAgIGlmIChtX2tpbmQgIT0gY2FwdGlvbnNLZXl3b3JkKCkgJiYgbV9raW5k
ICE9IHN1YnRpdGxlc0tleXdvcmQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYg
KG1fbW9kZSAhPSBTSE9XSU5HICYmICFtX3Nob3dpbmdCeURlZmF1bHQpCisgICAgaWYgKG1fbW9k
ZSAhPSBzaG93aW5nS2V5d29yZCgpICYmICFtX3Nob3dpbmdCeURlZmF1bHQpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9UZXh0VHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4
dFRyYWNrLmgKaW5kZXggOTU3YmNjYTYwNjcwZWQxZDE2MTMwMmNkNDMyNzUwNDg4NTk5ZGJhMi4u
MmM3OTllZDA0NzBmNThmNjQzYTJiYzc5YzdjNjQxNGM3YzIxMmI2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL1RleHRUcmFjay5oCkBAIC03OSw5ICs3OSwxMiBAQCBwdWJsaWM6CiAgICAgU3Ry
aW5nIGxhbmd1YWdlKCkgY29uc3QgeyByZXR1cm4gbV9sYW5ndWFnZTsgfQogICAgIHZvaWQgc2V0
TGFuZ3VhZ2UoY29uc3QgU3RyaW5nJiBsYW5ndWFnZSkgeyBtX2xhbmd1YWdlID0gbGFuZ3VhZ2U7
IH0KIAotICAgIGVudW0gTW9kZSB7IERJU0FCTEVEID0gMCwgSElEREVOID0gMSwgU0hPV0lORyA9
IDIgfTsKLSAgICBNb2RlIG1vZGUoKSBjb25zdDsKLSAgICB2b2lkIHNldE1vZGUodW5zaWduZWQg
c2hvcnQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBk
aXNhYmxlZEtleXdvcmQoKTsKKyAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBoaWRkZW5L
ZXl3b3JkKCk7CisgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgc2hvd2luZ0tleXdvcmQo
KTsKKworICAgIFN0cmluZyBtb2RlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRNb2RlKGNvbnN0IFN0
cmluZyYpOwogCiAgICAgYm9vbCBzaG93aW5nQnlEZWZhdWx0KCkgY29uc3QgeyByZXR1cm4gbV9z
aG93aW5nQnlEZWZhdWx0OyB9CiAgICAgdm9pZCBzZXRTaG93aW5nQnlEZWZhdWx0KGJvb2wgc2hv
d2luZykgeyBtX3Nob3dpbmdCeURlZmF1bHQgPSBzaG93aW5nOyB9CkBAIC0xMjMsNyArMTI2LDcg
QEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9raW5kOwogICAgIFN0cmluZyBtX2xhYmVsOwogICAg
IFN0cmluZyBtX2xhbmd1YWdlOwotICAgIE1vZGUgbV9tb2RlOworICAgIFN0cmluZyBtX21vZGU7
CiAgICAgVGV4dFRyYWNrQ2xpZW50KiBtX2NsaWVudDsKICAgICBUZXh0VHJhY2tUeXBlIG1fdHJh
Y2tUeXBlOwogICAgIFJlYWRpbmVzc1N0YXRlIG1fcmVhZGluZXNzU3RhdGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1RleHRUcmFjay5pZGwKaW5kZXggODQ1YTgwYzAxOTRiYmI1MDU1OGRhODIy
OTNlNDY5YjFkZTI1YWU1YS4uOTgzNmYwMmNlOTZmZDdkOWUzYjgzN2UzODM3YTk2Nzg4YzVhMzg3
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmlkbApAQCAtMzYsMTEgKzM2
LDcgQEAgbW9kdWxlIGh0bWwgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGxhYmVsOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhbmd1YWdlOwog
Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IERJU0FCTEVEID0gMDsKLSAgICAgICAgY29u
c3QgdW5zaWduZWQgc2hvcnQgSElEREVOID0gMTsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgU0hPV0lORyA9IDI7Ci0gICAgICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBtb2RlCi0g
ICAgICAgICAgICBzZXR0ZXIgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgICAgICBhdHRyaWJ1
dGUgRE9NU3RyaW5nIG1vZGU7CiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRleHRUcmFj
a0N1ZUxpc3QgY3VlczsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRleHRUcmFja0N1ZUxp
c3QgYWN0aXZlQ3VlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4
dFRyYWNrQ3VlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmNw
cAppbmRleCA2ZTUzOTUzZTM4MjE0OGZiNTJjMmM1NzIyMWIzOTc5ZTQzZmMzNDczLi5lNzljZDFk
ZjliOGYyYmM2NTBiYTRlMTdmYjAzZjIyYzQ4MWVlN2VhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9UZXh0VHJhY2tDdWUuY3BwCkBAIC00OTMsNyArNDkzLDcgQEAgUGFzc1JlZlB0cjxE
b2N1bWVudEZyYWdtZW50PiBUZXh0VHJhY2tDdWU6OmdldEN1ZUFzSFRNTCgpCiBib29sIFRleHRU
cmFja0N1ZTo6ZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBldmVudCkKIHsKICAgICAv
LyBXaGVuIGEgVGV4dFRyYWNrJ3MgbW9kZSBpcyBkaXNhYmxlZDogbm8gY3VlcyBhcmUgYWN0aXZl
LCBubyBldmVudHMgZmlyZWQuCi0gICAgaWYgKCF0cmFjaygpIHx8IHRyYWNrKCktPm1vZGUoKSA9
PSBUZXh0VHJhY2s6OkRJU0FCTEVEKQorICAgIGlmICghdHJhY2soKSB8fCB0cmFjaygpLT5tb2Rl
KCkgPT0gVGV4dFRyYWNrOjpkaXNhYmxlZEtleXdvcmQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgcmV0dXJuIEV2ZW50VGFyZ2V0OjpkaXNwYXRjaEV2ZW50KGV2ZW50KTsKQEAgLTUw
Niw3ICs1MDYsNyBAQCBib29sIFRleHRUcmFja0N1ZTo6ZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRy
PEV2ZW50PiBldmVudCwgRXhjZXB0aW9uQ29kZSAmZWMpCiAKIGJvb2wgVGV4dFRyYWNrQ3VlOjpp
c0FjdGl2ZSgpCiB7Ci0gICAgcmV0dXJuIG1faXNBY3RpdmUgJiYgdHJhY2soKSAmJiB0cmFjaygp
LT5tb2RlKCkgIT0gVGV4dFRyYWNrOjpESVNBQkxFRDsKKyAgICByZXR1cm4gbV9pc0FjdGl2ZSAm
JiB0cmFjaygpICYmIHRyYWNrKCktPm1vZGUoKSAhPSBUZXh0VHJhY2s6OmRpc2FibGVkS2V5d29y
ZCgpOwogfQogCiB2b2lkIFRleHRUcmFja0N1ZTo6c2V0SXNBY3RpdmUoYm9vbCBhY3RpdmUpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggOGM4MzE4OTY4NWY2OGMyNjZhNDUyMDc4NGEwZDg5YzBmODQ5MGUwMC4uYjFmZjhjZTQw
YmVjOGY4NDU5YTg0MDE4NGUzY2E2ZGNiYTcyZTIwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisy
MDEyLTA4LTI3ICBBbm5hIENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBUZXh0VHJhY2sgbW9kZXMgYXJlIHN0cmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg1MDUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBD
YXJsc29uLgorCisgICAgICAgIFRoZSBzcGVjIHJlY2VudGx5IGNoYW5nZWQgYXdheSBmcm9tIGVu
dW1lcmF0aW9uIHRvIHN0cmluZyBmb3IgdGhlIHR5cGUKKyAgICAgICAgb2YgVGV4dFRyYWNrIG1v
ZGUuCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvbWVkaWEtZWxlbWVudHMu
aHRtbCN0ZXh0dHJhY2ttb2RlCisKKyAgICAgICAgUmVtb3ZlIGNoZWNrIGZvciBtb2RlIGNvbnN0
YW50cyBhcyB3ZSBhcmUgbm8gbG9uZ2VyIHVzaW5nIGFuIGVudW06CisgICAgICAgICogbWVkaWEv
dHJhY2svdHJhY2stY29uc3RhbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS90cmFj
ay90cmFjay1jb25zdGFudHMuaHRtbDoKKworICAgICAgICBVcGRhdGUgdGVzdHMgdG8gdXNlIHRo
ZSBuZXcgc3RyaW5ncyByYXRoZXIgdGhhbiB0aGUgZW51bXM6CisgICAgICAgICogbWVkaWEvdHJh
Y2svdHJhY2stZGVsZXRlLWR1cmluZy1zZXR1cC1leHBlY3RlZC50eHQ6CisgICAgICAgICogbWVk
aWEvdHJhY2svdHJhY2stZGVsZXRlLWR1cmluZy1zZXR1cC5odG1sOgorICAgICAgICAqIG1lZGlh
L3RyYWNrL3RyYWNrLWVsZW1lbnQtZG9tLWNoYW5nZS1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogbWVkaWEvdHJhY2svdHJhY2stZWxlbWVudC1kb20tY2hhbmdlLWNyYXNoLmh0bWw6Cisg
ICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWw6
CisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stbW9kZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogbWVkaWEvdHJhY2svdHJhY2stbW9kZS1ub3QtY2hhbmdlZC1ieS1uZXctdHJhY2stZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLW1vZGUtbm90LWNoYW5nZWQtYnkt
bmV3LXRyYWNrLmh0bWw6CisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stbW9kZS10cmlnZ2Vy
cy1sb2FkaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1tb2Rl
LXRyaWdnZXJzLWxvYWRpbmcuaHRtbDoKKyAgICAgICAgKiBtZWRpYS90cmFjay90cmFjay1tb2Rl
Lmh0bWw6CisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stdGV4dHRyYWNrcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stdGV4dHRyYWNrcy5odG1sOgorICAgICAg
ICAqIG1lZGlhL3ZpZGVvLXRlc3QuanM6CisgICAgICAgIChlbmFibGVBbGxUZXh0VHJhY2tzKToK
KwogMjAxMi0wOC0yNyAgVmljdG9yIENhcmJ1bmUgIDx2aWN0b3JAcm9zZWR1Lm9yZz4KIAogICAg
ICAgICBDcmFzaCB3aGVuIHRyeWluZyB0byByZW5kZXIgZW1wdHkgY3VlcwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stY29uc3RhbnRzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWNvbnN0YW50cy1leHBlY3RlZC50eHQKaW5kZXgg
ODNhYzU0NGM1Mjk4Y2I4YzhmMmI3MWMxMGNhMTU1MWU3Yzg2ZmI3ZC4uZTViMDk0MGJiNWNhNmQ0
NDA5ZTQwMDA5YWFkYWJiNWU0YjJmNjM0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEv
dHJhY2svdHJhY2stY29uc3RhbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRp
YS90cmFjay90cmFjay1jb25zdGFudHMtZXhwZWN0ZWQudHh0CkBAIC00LDkgKzQsNSBAQCBFWFBF
Q1RFRCAoSFRNTFRyYWNrRWxlbWVudC5OT05FID09ICcwJykgT0sKIEVYUEVDVEVEIChIVE1MVHJh
Y2tFbGVtZW50LkxPQURJTkcgPT0gJzEnKSBPSwogRVhQRUNURUQgKEhUTUxUcmFja0VsZW1lbnQu
TE9BREVEID09ICcyJykgT0sKIEVYUEVDVEVEIChIVE1MVHJhY2tFbGVtZW50LkVSUk9SID09ICcz
JykgT0sKLQotRVhQRUNURUQgKFRleHRUcmFjay5ESVNBQkxFRCA9PSAnMCcpIE9LCi1FWFBFQ1RF
RCAoVGV4dFRyYWNrLkhJRERFTiA9PSAnMScpIE9LCi1FWFBFQ1RFRCAoVGV4dFRyYWNrLlNIT1dJ
TkcgPT0gJzInKSBPSwogRU5EIE9GIFRFU1QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVk
aWEvdHJhY2svdHJhY2stY29uc3RhbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90
cmFjay1jb25zdGFudHMuaHRtbAppbmRleCA0MjMwNWNmYjBhMzg4NDk5NWIyNjY3NTRmZmQ5YWFj
OWU0NjgzMWQ5Li5lNTVlMmY4ODkwZWIxYzA3ZTdkMTkwZWYyZjAyM2Y5YWU5NTBiMTA2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1jb25zdGFudHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1jb25zdGFudHMuaHRtbApAQCAtOSwxMSAr
OSw2IEBACiAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIkhUTUxUcmFja0VsZW1lbnQuTE9BRElO
RyIsIDEpOwogICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJIVE1MVHJhY2tFbGVtZW50LkxPQURF
RCIsIDIpOwogICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJIVE1MVHJhY2tFbGVtZW50LkVSUk9S
IiwgMyk7Ci0gICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwotCi0gICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoIlRleHRUcmFjay5ESVNBQkxFRCIsIDApOwotICAgICAgICAgICAgdGVzdEV4cGVj
dGVkKCJUZXh0VHJhY2suSElEREVOIiwgMSk7Ci0gICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoIlRl
eHRUcmFjay5TSE9XSU5HIiwgMik7CiAgICAgICAgIAogICAgICAgICAgICAgZW5kVGVzdCgpOwog
ICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1kZWxl
dGUtZHVyaW5nLXNldHVwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3Ry
YWNrLWRlbGV0ZS1kdXJpbmctc2V0dXAtZXhwZWN0ZWQudHh0CmluZGV4IDY4NTkxMzc2OGRiNWE4
ZGZiOTE0NTc2MWM0NGZiOGQxMjYyMWFlZTEuLjc1ZjM1M2MwOGQ4ZmFkMzRkM2ZkNDY3Nzg3MzM5
ODc1NTg1NjViMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWRl
bGV0ZS1kdXJpbmctc2V0dXAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL21lZGlhL3Ry
YWNrL3RyYWNrLWRlbGV0ZS1kdXJpbmctc2V0dXAtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBA
QAogPgogCiBFWFBFQ1RFRCAodHJhY2sxLnJlYWR5U3RhdGUgPT0gJzAnKSBPSwotRVhQRUNURUQg
KHRyYWNrMS50cmFjay5tb2RlID09ICcwJykgT0sKK0VYUEVDVEVEICh0cmFjazEudHJhY2subW9k
ZSA9PSAnZGlzYWJsZWQnKSBPSwogCiBFTkQgT0YgVEVTVAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9tZWRpYS90cmFjay90cmFjay1kZWxldGUtZHVyaW5nLXNldHVwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9tZWRpYS90cmFjay90cmFjay1kZWxldGUtZHVyaW5nLXNldHVwLmh0bWwKaW5kZXggYjdh
NzUyNzQ0ZDRlZjg4ZTBkZTI3NGJmMDliNDdiZWJiNjUzYmY3MC4uYzI0OWJiZmM1NTgwYjk3NWNi
ZTQ1YmFiNzhhMWNjMmY0NTExNjQ3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJh
Y2svdHJhY2stZGVsZXRlLWR1cmluZy1zZXR1cC5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlh
L3RyYWNrL3RyYWNrLWRlbGV0ZS1kdXJpbmctc2V0dXAuaHRtbApAQCAtMTksNyArMTksNyBAQAog
CiAgICAgICAgICAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3VnaCgpCiAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgdHJhY2sxLnRyYWNrLm1vZGUgPSBUZXh0VHJhY2suSElEREVOOworICAg
ICAgICAgICAgICAgIHRyYWNrMS50cmFjay5tb2RlID0gImhpZGRlbiI7CiAgICAgICAgICAgICAg
ICAgc2V0VGltZW91dCgiZW5kVGVzdCgpIiwgMTAwKTsKICAgICAgICAgICAgIH0KIApAQCAtMzAs
NyArMzAsNyBAQAogCiAgICAgICAgICAgICAgICAgdHJhY2sxID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvckFsbCgndHJhY2snKVswXTsgCiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFj
azEucmVhZHlTdGF0ZSIsIEhUTUxUcmFja0VsZW1lbnQuTk9ORSk7Ci0gICAgICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJ0cmFjazEudHJhY2subW9kZSIsIFRleHRUcmFjay5ESVNBQkxFRCk7Cisg
ICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjazEudHJhY2subW9kZSIsICJkaXNhYmxl
ZCIpOwogCiAgICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8i
LCAiLi4vY29udGVudC90ZXN0Iik7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWVsZW1lbnQtZG9tLWNo
YW5nZS1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1l
bGVtZW50LWRvbS1jaGFuZ2UtY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IGNiNGQzMDVjZWE1YjQ5
OTgyOWJkOGMwYjYxYThjNTEyNGNmNzViYmIuLjQ1MTU2YzcwMjM1YzYwNmY1NWJiZWI4Mjk3MDkx
MjA2ZDg4ZmIyMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWVs
ZW1lbnQtZG9tLWNoYW5nZS1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVk
aWEvdHJhY2svdHJhY2stZWxlbWVudC1kb20tY2hhbmdlLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAt
Miw3ICsyLDcgQEAgVGVzdHMgdGhhdCB0aGUgYnJvd3NlciBoYW5kbGVzIHByb3Blcmx5IHNpbXBs
ZSBET00gbXV0YXRpb25zLgogCiAqKiBDcmVhdGUgdmlkZW8gYW5kIHRleHQgdHJhY2sgZWxlbWVu
dCAqKgogKiogQXBwZW5kIHRoZSB0cmFjayBlbGVtZW50IHRvIHRoZSB2aWRlbyBlbGVtZW50ICoq
Ci0qKiBTZXQgdGhlIG1vZGUgb2YgdGhlIHRleHQgdHJhY2sgdG8gU0hPV0lORyAqKgorKiogU2V0
IHRoZSBtb2RlIG9mIHRoZSB0ZXh0IHRyYWNrIHRvICJzaG93aW5nIiAqKgogCiBObyBjcmFzaC4g
UEFTUy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stZWxlbWVu
dC1kb20tY2hhbmdlLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1l
bGVtZW50LWRvbS1jaGFuZ2UtY3Jhc2guaHRtbAppbmRleCBkZDZlNTE4YjNkYWVkMmNhMzEwYmNj
YTFlZWZjMWRjNWUyNzU3M2E5Li5kMzg3MTFjZDA0NGMyYzQ4YTQ4NTY4MjYzMDBjZmRjN2NkNGU2
NjZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1lbGVtZW50LWRv
bS1jaGFuZ2UtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1l
bGVtZW50LWRvbS1jaGFuZ2UtY3Jhc2guaHRtbApAQCAtMTUsOCArMTUsOCBAQAogICAgICAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgiKiogQXBwZW5kIHRoZSB0cmFjayBlbGVtZW50IHRvIHRoZSB2
aWRlbyBlbGVtZW50ICoqIik7CiAgICAgICAgICAgICAgICAgdmlkZW8uYXBwZW5kQ2hpbGQodHJh
Y2spOwogCi0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIqKiBTZXQgdGhlIG1vZGUgb2Yg
dGhlIHRleHQgdHJhY2sgdG8gU0hPV0lORyAqKiIpOwotICAgICAgICAgICAgICAgIHRyYWNrLnRy
YWNrLm1vZGUgPSAyOworICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiKiogU2V0IHRoZSBt
b2RlIG9mIHRoZSB0ZXh0IHRyYWNrIHRvIFwic2hvd2luZ1wiICoqIik7CisgICAgICAgICAgICAg
ICAgdHJhY2sudHJhY2subW9kZSA9ICJzaG93aW5nIjsKIAogICAgICAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgiIik7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCJObyBjcmFzaC4gUEFT
Uy4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLWxvYWQtZnJv
bS1zcmMtcmVhZHlTdGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9h
ZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwKaW5kZXggNWNjNGEwNjI3MDcxMDBkYjg5NGQ0Yzc4
NGFjN2RjNzU1Njk2YmY3YS4uZTJkOTA4NjZhMDU5OTNkM2Y3ZjhkOTQ5OGJjODNmMDZkNDA0ZDdi
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9hZC1mcm9tLXNy
Yy1yZWFkeVN0YXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbG9h
ZC1mcm9tLXNyYy1yZWFkeVN0YXRlLmh0bWwKQEAgLTI0LDcgKzI0LDcgQEAKICAgICAgICAgICAg
IHRlc3RFeHBlY3RlZCgidHJhY2sucmVhZHlTdGF0ZSIsIEhUTUxUcmFja0VsZW1lbnQuTk9ORSk7
CiAgICAgICAgICAgICB0cmFjay5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24gKCkg
eyB0cmFja0xvYWRlZCgpOyB9LCB0cnVlKTsKICAgICAgICAgICAgIHRyYWNrLnNyYyA9ICJjYXB0
aW9ucy13ZWJ2dHQvdGMwMDQtd2VidnR0LWZpbGUudnR0IjsgICAKLSAgICAgICAgICAgIHRyYWNr
Lm1vZGUgPSBUZXh0VHJhY2suSElEREVOOworICAgICAgICAgICAgdHJhY2subW9kZSA9ICJoaWRk
ZW4iOwogCiAgICAgICAgIDwvc2NyaXB0PgogICAgIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
bWVkaWEvdHJhY2svdHJhY2stbW9kZS1leHBlY3RlZC50eHQKaW5kZXggYjRkNWQ5MGMwZDY2Y2E1
MzM5NDZjZjliZjRmZjY5OTU3ZWYwYTNhOC4uMTllZGM5Njg2MmUyZTMzYWRkYTM0NzFjNWFiODRl
MThlMjczZGIwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbW9k
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbW9kZS1l
eHBlY3RlZC50eHQKQEAgLTIsMzYgKzIsMzYgQEAgVGVzdHMgdGhhdCB0aGUgVGV4dFRyYWNrIG1v
ZGUgYXR0cmlidXRlIGlzIGFwcHJvcHJpYXRlbHkgc2V0LgogCiAKICsrIFRlc3QgZGVmYXVsdCBh
dHRyaWJ1dGUgdmFsdWUKLUVYUEVDVEVEICh0ZXh0VHJhY2subW9kZSA9PSAnMicpIE9LCi1FWFBF
Q1RFRCAodmlkZW8udGV4dFRyYWNrc1swXS5tb2RlID09ICcyJykgT0sKK0VYUEVDVEVEICh0ZXh0
VHJhY2subW9kZSA9PSAnc2hvd2luZycpIE9LCitFWFBFQ1RFRCAodmlkZW8udGV4dFRyYWNrc1sw
XS5tb2RlID09ICdzaG93aW5nJykgT0sKIAogKioqIFNldCB0byBib2d1cyB2YWx1ZSwgc2hvdWxk
IHJldHVybiBkZWZhdWx0Ci1URVNUKHRleHRUcmFjay5tb2RlID0gJzM3JykgVEhST1dTKERPTUV4
Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIpIE9LCi1FWFBFQ1RFRCAodGV4dFRyYWNrLm1vZGUg
PT0gJzInKSBPSwotRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3NbMF0ubW9kZSA9PSAnMicpIE9L
CitSVU4odGV4dFRyYWNrLm1vZGUgPSAnYm9ndXMnKQorRVhQRUNURUQgKHRleHRUcmFjay5tb2Rl
ID09ICdzaG93aW5nJykgT0sKK0VYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUgPT0g
J3Nob3dpbmcnKSBPSwogCiAqKiogU2V0IHRvIGtub3duIHZhbHVlcwotKysgJ1RleHRUcmFjay5E
SVNBQkxFRCcKLVJVTih0ZXh0VHJhY2subW9kZSA9ICcwJykKLUVYUEVDVEVEICh0ZXh0VHJhY2su
bW9kZSA9PSAnMCcpIE9LCi1FWFBFQ1RFRCAodmlkZW8udGV4dFRyYWNrc1swXS5tb2RlID09ICcw
JykgT0sKKysrICdkaXNhYmxlZCcKK1JVTih0ZXh0VHJhY2subW9kZSA9ICdkaXNhYmxlZCcpCitF
WFBFQ1RFRCAodGV4dFRyYWNrLm1vZGUgPT0gJ2Rpc2FibGVkJykgT0sKK0VYUEVDVEVEICh2aWRl
by50ZXh0VHJhY2tzWzBdLm1vZGUgPT0gJ2Rpc2FibGVkJykgT0sKIEVYUEVDVEVEICh0ZXh0VHJh
Y2suY3VlcyA9PSAnbnVsbCcpIE9LCiAKLSsrIDAgZXZlbnRzIGV4cGVjdGVkIHdoaWxlIG1vZGUg
PSBUZXh0VHJhY2suRElTQUJMRUQKKysrIDAgZXZlbnRzIGV4cGVjdGVkIHdoaWxlIG1vZGUgPSBk
aXNhYmxlZAogCi0rKyAnVGV4dFRyYWNrLkhJRERFTicKLVJVTih0ZXh0VHJhY2subW9kZSA9ICcx
JykKLUVYUEVDVEVEICh0ZXh0VHJhY2subW9kZSA9PSAnMScpIE9LCi1FWFBFQ1RFRCAodmlkZW8u
dGV4dFRyYWNrc1swXS5tb2RlID09ICcxJykgT0sKKysrICdoaWRkZW4nCitSVU4odGV4dFRyYWNr
Lm1vZGUgPSAnaGlkZGVuJykKK0VYUEVDVEVEICh0ZXh0VHJhY2subW9kZSA9PSAnaGlkZGVuJykg
T0sKK0VYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUgPT0gJ2hpZGRlbicpIE9LCiBF
WFBFQ1RFRCAodGV4dFRyYWNrLmN1ZXMubGVuZ3RoID09ICczJykgT0sKIAotKysgJ1RleHRUcmFj
ay5TSE9XSU5HJwotUlVOKHRleHRUcmFjay5tb2RlID0gJzInKQotRVhQRUNURUQgKHRleHRUcmFj
ay5tb2RlID09ICcyJykgT0sKLUVYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUgPT0g
JzInKSBPSworKysgJ3Nob3dpbmcnCitSVU4odGV4dFRyYWNrLm1vZGUgPSAnc2hvd2luZycpCitF
WFBFQ1RFRCAodGV4dFRyYWNrLm1vZGUgPT0gJ3Nob3dpbmcnKSBPSworRVhQRUNURUQgKHZpZGVv
LnRleHRUcmFja3NbMF0ubW9kZSA9PSAnc2hvd2luZycpIE9LCiBFWFBFQ1RFRCAodGV4dFRyYWNr
LmN1ZXMubGVuZ3RoID09ICczJykgT0sKIAotKysgYXQgbGVhc3QgMyBldmVudHMgZXhwZWN0ZWQg
d2hpbGUgbW9kZSA9IFRleHRUcmFjay5TSE9XSU5HCisrKyBhdCBsZWFzdCAzIGV2ZW50cyBleHBl
Y3RlZCB3aGlsZSBtb2RlID0gc2hvd2luZwogRVZFTlQoY3VlY2hhbmdlKQogRVZFTlQoY3VlY2hh
bmdlKQogRVZFTlQoY3VlY2hhbmdlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJh
Y2svdHJhY2stbW9kZS1ub3QtY2hhbmdlZC1ieS1uZXctdHJhY2stZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbW9kZS1ub3QtY2hhbmdlZC1ieS1uZXctdHJhY2st
ZXhwZWN0ZWQudHh0CmluZGV4IDg0YzQ5MjI1NTc5MDQ5MjY1MWEzYmUwN2JhMjlmYTU3ZmJlNmRm
ZmMuLjY2YTNkNjY0MDkxOGE2NDBiMDhiZmRkNDU0ZWFjMTc5ZDQ3NTZjN2QgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUtbm90LWNoYW5nZWQtYnktbmV3LXRy
YWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1tb2Rl
LW5vdC1jaGFuZ2VkLWJ5LW5ldy10cmFjay1leHBlY3RlZC50eHQKQEAgLTMsMTkgKzMsMTkgQEAg
VGVzdHMgdGhhdCBhIHRyYWNrIGFwcGVuZGVkIGFmdGVyIHRoZSBpbml0aWFsIHRyYWNrIGNvbmZp
Z3VyYXRpb24gZG9lcyBub3QgY2hhbmcKIAogRVZFTlQobG9hZCkgLS0gPGJvZHk+CiBFWFBFQ1RF
RCAodHJhY2sxLnJlYWR5U3RhdGUgPT0gJzAnKSBPSwotRVhQRUNURUQgKHRyYWNrMS50cmFjay5t
b2RlID09ICcwJykgT0sKK0VYUEVDVEVEICh0cmFjazEudHJhY2subW9kZSA9PSAnZGlzYWJsZWQn
KSBPSwogCiBFVkVOVChjYW5wbGF5dGhyb3VnaCkgLS0gPHZpZGVvPgogKipjaGVjayBpbml0aWFs
IG1ldGFkYXRhIHRyYWNrIHN0YXRlCiBFWFBFQ1RFRCAodHJhY2sxLnJlYWR5U3RhdGUgPT0gJzAn
KSBPSwotRVhQRUNURUQgKHRyYWNrMS50cmFjay5tb2RlID09ICcwJykgT0sKK0VYUEVDVEVEICh0
cmFjazEudHJhY2subW9kZSA9PSAnZGlzYWJsZWQnKSBPSwogRVhQRUNURUQgKHRyYWNrMS50cmFj
ay5jdWVzID09ICdudWxsJykgT0sKLVJVTih0cmFjazEudHJhY2subW9kZSA9IFRleHRUcmFjay5I
SURERU4pCitSVU4odHJhY2sxLnRyYWNrLm1vZGUgPSAnaGlkZGVuJykKIAogRVZFTlQobG9hZCkg
LS0gPHRyYWNrIGtpbmQ9J21ldGFkYXRhJyA+CiAqKmNoZWNrIG1ldGFkYXRhIHRyYWNrIHN0YXRl
CiBFWFBFQ1RFRCAodHJhY2sxLnJlYWR5U3RhdGUgPT0gJzInKSBPSwotRVhQRUNURUQgKHRyYWNr
MS50cmFjay5tb2RlID09ICcxJykgT0sKK0VYUEVDVEVEICh0cmFjazEudHJhY2subW9kZSA9PSAn
aGlkZGVuJykgT0sKIEVYUEVDVEVEICh0cmFjazEudHJhY2suY3Vlcy5sZW5ndGggPT0gJzEyJykg
T0sKIEVYUEVDVEVEICh0cmFjazEudHJhY2suY3Vlc1sxMV0uc3RhcnRUaW1lID09ICcyMicpIE9L
CiAqKmFkZCBhIGNhcHRpb24gdHJhY2ssIGNvbmZpZ3VyZWQgdG8gbG9hZCBhdXRvbWF0aWNhbGx5
CkBAIC0yOSwxMCArMjksMTAgQEAgUlVOKHZpZGVvLmFwcGVuZENoaWxkKHRyYWNrMikpCiBFVkVO
VChsb2FkKSAtLSA8dHJhY2sga2luZD0nY2FwdGlvbnMnID4KICoqY2hlY2sgdGhhdCBtZXRhZGF0
YSB0cmFjayBzdGF0ZSBoYXMgbm90IGNoYW5nZWQKIEVYUEVDVEVEICh0cmFjazEucmVhZHlTdGF0
ZSA9PSAnMicpIE9LCi1FWFBFQ1RFRCAodHJhY2sxLnRyYWNrLm1vZGUgPT0gJzEnKSBPSworRVhQ
RUNURUQgKHRyYWNrMS50cmFjay5tb2RlID09ICdoaWRkZW4nKSBPSwogKiphbmQgdGhhdCB0aGUg
Y2FwdGlvbnMgdHJhY2sgc3RhdGUgaXMgY29ycmVjdAogRVhQRUNURUQgKHRyYWNrMi5yZWFkeVN0
YXRlID09ICcyJykgT0sKLUVYUEVDVEVEICh0cmFjazIudHJhY2subW9kZSA9PSAnMicpIE9LCitF
WFBFQ1RFRCAodHJhY2syLnRyYWNrLm1vZGUgPT0gJ3Nob3dpbmcnKSBPSwogCiBFTkQgT0YgVEVT
VAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1tb2RlLW5vdC1j
aGFuZ2VkLWJ5LW5ldy10cmFjay5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2st
bW9kZS1ub3QtY2hhbmdlZC1ieS1uZXctdHJhY2suaHRtbAppbmRleCA0MGU5YmI4NWQzYzA2NDhk
MTBmZDI1ZWNlZjYyODhhZGZhODZhZDdmLi42YjdkOGE4ZmY4YzU5MThkNTRjOWJhNjkyMjZhZGJm
NTYyNjAwYzgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1tb2Rl
LW5vdC1jaGFuZ2VkLWJ5LW5ldy10cmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3Ry
YWNrL3RyYWNrLW1vZGUtbm90LWNoYW5nZWQtYnktbmV3LXRyYWNrLmh0bWwKQEAgLTEyLDEwICsx
MiwxMCBAQAogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQobG9hZCkgLS0gJmx0
O3RyYWNrIGtpbmQ9J2NhcHRpb25zJyAmZ3Q7Iik7CiAgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCI8aT4qKmNoZWNrIHRoYXQgbWV0YWRhdGEgdHJhY2sgc3RhdGUgaGFzIG5vdCBjaGFuZ2Vk
PCIgKyAiL2k+Iik7CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjazEucmVhZHlT
dGF0ZSIsIEhUTUxUcmFja0VsZW1lbnQuTE9BREVEKTsKLSAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInRyYWNrMS50cmFjay5tb2RlIiwgVGV4dFRyYWNrLkhJRERFTik7CisgICAgICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjazEudHJhY2subW9kZSIsICJoaWRkZW4iKTsKICAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxpPioqYW5kIHRoYXQgdGhlIGNhcHRpb25zIHRyYWNr
IHN0YXRlIGlzIGNvcnJlY3Q8IiArICIvaT4iKTsKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoInRyYWNrMi5yZWFkeVN0YXRlIiwgSFRNTFRyYWNrRWxlbWVudC5MT0FERUQpOwotICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2syLnRyYWNrLm1vZGUiLCBUZXh0VHJhY2suU0hP
V0lORyk7CisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjazIudHJhY2subW9kZSIs
ICJzaG93aW5nIik7CiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIiKTsKICAgICAgICAg
ICAgICAgICBlbmRUZXN0KCk7CiAgICAgICAgICAgICB9CkBAIC0yNSw3ICsyNSw3IEBACiAgICAg
ICAgICAgICAgICAgY29uc29sZVdyaXRlKCJFVkVOVChsb2FkKSAtLSAmbHQ7dHJhY2sga2luZD0n
bWV0YWRhdGEnICZndDsiKTsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxpPioqY2hl
Y2sgbWV0YWRhdGEgdHJhY2sgc3RhdGU8IiArICIvaT4iKTsKICAgICAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoInRyYWNrMS5yZWFkeVN0YXRlIiwgSFRNTFRyYWNrRWxlbWVudC5MT0FERUQpOwot
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2sxLnRyYWNrLm1vZGUiLCBUZXh0VHJh
Y2suSElEREVOKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrMS50cmFjay5t
b2RlIiwgImhpZGRlbiIpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2sxLnRy
YWNrLmN1ZXMubGVuZ3RoIiwgMTIpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJh
Y2sxLnRyYWNrLmN1ZXNbMTFdLnN0YXJ0VGltZSIsIDIyKTsKIApAQCAtNDUsOSArNDUsOSBAQAog
ICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQoY2FucGxheXRocm91Z2gpIC0tICZs
dDt2aWRlbyZndDsiKTsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxpPioqY2hlY2sg
aW5pdGlhbCBtZXRhZGF0YSB0cmFjayBzdGF0ZTwiICsgIi9pPiIpOwogICAgICAgICAgICAgICAg
IHRlc3RFeHBlY3RlZCgidHJhY2sxLnJlYWR5U3RhdGUiLCBIVE1MVHJhY2tFbGVtZW50Lk5PTkUp
OwotICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2sxLnRyYWNrLm1vZGUiLCBUZXh0
VHJhY2suRElTQUJMRUQpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2sxLnRy
YWNrLm1vZGUiLCAiZGlzYWJsZWQiKTsKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRy
YWNrMS50cmFjay5jdWVzIiwgbnVsbCk7Ci0gICAgICAgICAgICAgICAgcnVuKCJ0cmFjazEudHJh
Y2subW9kZSA9IFRleHRUcmFjay5ISURERU4iKTsKKyAgICAgICAgICAgICAgICBydW4oInRyYWNr
MS50cmFjay5tb2RlID0gJ2hpZGRlbiciKTsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUo
IiIpOwogICAgICAgICAgICAgfQogCkBAIC01OCw3ICs1OCw3IEBACiAKICAgICAgICAgICAgICAg
ICB0cmFjazEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0cmFjaycpWzBdOyAKICAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrMS5yZWFkeVN0YXRlIiwgSFRNTFRyYWNrRWxl
bWVudC5OT05FKTsKLSAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrMS50cmFjay5t
b2RlIiwgVGV4dFRyYWNrLkRJU0FCTEVEKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQo
InRyYWNrMS50cmFjay5tb2RlIiwgImRpc2FibGVkIik7CiAKICAgICAgICAgICAgICAgICB2aWRl
by5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICIuLi9jb250ZW50L3Rlc3QiKTsKICAgICAg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVk
aWEvdHJhY2svdHJhY2stbW9kZS10cmlnZ2Vycy1sb2FkaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUtdHJpZ2dlcnMtbG9hZGluZy1leHBlY3RlZC50
eHQKaW5kZXggMTk1Zjk0NmIzMmVmNjVhZDZhMDg2NWI0OThmMzY0NjBkMDFmZTk1NC4uMDNhMGVi
M2YyMDM5MjYyYTg3MmM3NTM5M2Q3MzBkODczNzFlNmY3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvbWVkaWEvdHJhY2svdHJhY2stbW9kZS10cmlnZ2Vycy1sb2FkaW5nLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1tb2RlLXRyaWdnZXJzLWxvYWRpbmct
ZXhwZWN0ZWQudHh0CkBAIC00LDE5ICs0LDE5IEBAIFRlc3RzIHRoYXQgYSAnbWV0YWRhdGEnIHRy
YWNrIGRvZXMgbm90IGxvYWQgYXV0b21hdGljYWxseSwgYnV0IGRvZXMgbG9hZCB3aGVuIHRoCiBF
VkVOVChsb2FkKSAtLSA8Ym9keT4KICoqY2hlY2sgaW5pdGlhbCBtZXRhZGF0YSB0cmFjayBzdGF0
ZQogRVhQRUNURUQgKHRyYWNrLnJlYWR5U3RhdGUgPT0gJzAnKSBPSwotRVhQRUNURUQgKHZpZGVv
LnRleHRUcmFja3NbMF0ubW9kZSA9PSAnMCcpIE9LCitFWFBFQ1RFRCAodmlkZW8udGV4dFRyYWNr
c1swXS5tb2RlID09ICdkaXNhYmxlZCcpIE9LCiAKIEVWRU5UKGNhbnBsYXl0aHJvdWdoKSAtLSA8
dmlkZW8+CiAqKmNoYW5nZSBtZXRhZGF0YSB0cmFjayBtb2RlIHNvIGl0IGxvYWRzCiBFWFBFQ1RF
RCAodHJhY2sucmVhZHlTdGF0ZSA9PSAnMCcpIE9LCi1FWFBFQ1RFRCAodmlkZW8udGV4dFRyYWNr
c1swXS5tb2RlID09ICcwJykgT0sKK0VYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUg
PT0gJ2Rpc2FibGVkJykgT0sKIEVYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzBdLmN1ZXMgPT0g
J251bGwnKSBPSwotUlVOKHZpZGVvLnRleHRUcmFja3NbMF0ubW9kZSA9IFRleHRUcmFjay5ISURE
RU4pCitSVU4odmlkZW8udGV4dFRyYWNrc1swXS5tb2RlID0gJ2hpZGRlbicpCiAKIEVWRU5UKGxv
YWQpIC0tIDx0cmFjaz4KICoqY2hlY2sgbWV0YWRhdGEgdHJhY2sgc3RhdGUKIEVYUEVDVEVEICh0
cmFjay5yZWFkeVN0YXRlID09ICcyJykgT0sKLUVYUEVDVEVEICh0cmFjay50cmFjay5tb2RlID09
ICcxJykgT0sKK0VYUEVDVEVEICh0cmFjay50cmFjay5tb2RlID09ICdoaWRkZW4nKSBPSwogRVhQ
RUNURUQgKHZpZGVvLnRleHRUcmFja3NbMF0uY3Vlcy5sZW5ndGggPT0gJzEyJykgT0sKIEVYUEVD
VEVEICh2aWRlby50ZXh0VHJhY2tzWzBdLmN1ZXNbMTFdLnN0YXJ0VGltZSA9PSAnMjInKSBPSwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1tb2RlLXRyaWdnZXJz
LWxvYWRpbmcuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUtdHJpZ2dl
cnMtbG9hZGluZy5odG1sCmluZGV4IDk0ZTExNmM5ZTcyZTgzNDk2N2FhZjQwMzVjNWI4MjViYzQ1
NzMzM2YuLjY0ZTY4ZjNiOWM4NDU5OTQwYWIxNDNiNjAzOTYxYmY4MTZmMTcyZWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUtdHJpZ2dlcnMtbG9hZGluZy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUtdHJpZ2dlcnMtbG9h
ZGluZy5odG1sCkBAIC0xMiw3ICsxMiw3IEBACiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCJFVkVOVChsb2FkKSAtLSAmbHQ7dHJhY2smZ3Q7Iik7CiAgICAgICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCI8aT4qKmNoZWNrIG1ldGFkYXRhIHRyYWNrIHN0YXRlPCIgKyAiL2k+Iik7CiAgICAg
ICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjay5yZWFkeVN0YXRlIiwgSFRNTFRyYWNrRWxl
bWVudC5MT0FERUQpOwotICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidHJhY2sudHJhY2su
bW9kZSIsIFRleHRUcmFjay5ISURERU4pOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
dHJhY2sudHJhY2subW9kZSIsICJoaWRkZW4iKTsKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoInZpZGVvLnRleHRUcmFja3NbMF0uY3Vlcy5sZW5ndGgiLCAxMik7CiAgICAgICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCJ2aWRlby50ZXh0VHJhY2tzWzBdLmN1ZXNbMTFdLnN0YXJ0VGltZSIs
IDIyKTsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwpAQCAtMjQsOSArMjQsOSBA
QAogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiRVZFTlQoY2FucGxheXRocm91Z2gpIC0t
ICZsdDt2aWRlbyZndDsiKTsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxpPioqY2hh
bmdlIG1ldGFkYXRhIHRyYWNrIG1vZGUgc28gaXQgbG9hZHM8IiArICIvaT4iKTsKICAgICAgICAg
ICAgICAgICB0ZXN0RXhwZWN0ZWQoInRyYWNrLnJlYWR5U3RhdGUiLCBIVE1MVHJhY2tFbGVtZW50
Lk5PTkUpOwotICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udGV4dFRyYWNrc1sw
XS5tb2RlIiwgVGV4dFRyYWNrLkRJU0FCTEVEKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoInZpZGVvLnRleHRUcmFja3NbMF0ubW9kZSIsICJkaXNhYmxlZCIpOwogICAgICAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udGV4dFRyYWNrc1swXS5jdWVzIiwgbnVsbCk7Ci0gICAg
ICAgICAgICAgICAgcnVuKCJ2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUgPSBUZXh0VHJhY2suSElE
REVOIik7CisgICAgICAgICAgICAgICAgcnVuKCJ2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUgPSAn
aGlkZGVuJyIpOwogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CiAgICAgICAgICAg
ICB9CiAKQEAgLTM4LDcgKzM4LDcgQEAKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxp
PioqY2hlY2sgaW5pdGlhbCBtZXRhZGF0YSB0cmFjayBzdGF0ZTwiICsgIi9pPiIpOwogICAgICAg
ICAgICAgICAgIHRyYWNrID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgndHJhY2snKVswXTsg
CiAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0cmFjay5yZWFkeVN0YXRlIiwgSFRNTFRy
YWNrRWxlbWVudC5OT05FKTsKLSAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnRl
eHRUcmFja3NbMF0ubW9kZSIsIFRleHRUcmFjay5ESVNBQkxFRCk7CisgICAgICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJ2aWRlby50ZXh0VHJhY2tzWzBdLm1vZGUiLCAiZGlzYWJsZWQiKTsKIAog
ICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgIi4uL2Nv
bnRlbnQvdGVzdCIpOwogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay1tb2RlLmh0bWwgYi9MYXlvdXRUZXN0
cy9tZWRpYS90cmFjay90cmFjay1tb2RlLmh0bWwKaW5kZXggODQ2N2IwNDAwMTQ3NGM2ZjQ3Njgy
ZGFlYzNjNTQ1OTZjZTdjNmQwNi4uODJlMzViZGNjZDUxYzQ3Y2M2YjMyMmIxNDVlNDMwNWQ3ZjA2
ZjliYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stbW9kZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLW1vZGUuaHRtbApAQCAtMTQsNyAr
MTQsNyBAQAogICAgICAgICAgICAgICAgIHJ1bigidGV4dFRyYWNrLm1vZGUgPSAnIiArIHZhbHVl
ICsgIiciKTsKICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRleHRUcmFjay5tb2RlIiwg
dmFsdWUpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udGV4dFRyYWNrc1sw
XS5tb2RlIiwgdmFsdWUpOwotICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBUZXh0VHJhY2su
RElTQUJMRUQpCisgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09ICJkaXNhYmxlZCIpCiAgICAg
ICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidGV4dFRyYWNrLmN1ZXMiLCBudWxsKTsKICAg
ICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidGV4
dFRyYWNrLmN1ZXMubGVuZ3RoIiwgdGV4dFRyYWNrLmN1ZXMubGVuZ3RoKTsKQEAgLTMwLDM4ICsz
MCwzOCBAQAogICAgICAgICAgICAgICAgIHRleHRUcmFjayA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0cmFja18xJykudHJhY2s7CiAKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxi
PisrIFRlc3QgZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWU8L2I+Iik7Ci0gICAgICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCJ0ZXh0VHJhY2subW9kZSIsIFRleHRUcmFjay5TSE9XSU5HKTsKLSAgICAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnRleHRUcmFja3NbMF0ubW9kZSIsIFRleHRU
cmFjay5TSE9XSU5HKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRleHRUcmFjay5t
b2RlIiwgInNob3dpbmciKTsKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnRl
eHRUcmFja3NbMF0ubW9kZSIsICJzaG93aW5nIik7CiAgICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCIiKTsKIAogICAgICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGI+KioqIFNldCB0byBi
b2d1cyB2YWx1ZSwgc2hvdWxkIHJldHVybiBkZWZhdWx0PC9iPiIpOwotICAgICAgICAgICAgICAg
IHZhciB2YWx1ZSA9IDM3OwotICAgICAgICAgICAgICAgIHRlc3RFeGNlcHRpb24oInRleHRUcmFj
ay5tb2RlID0gJyIgKyB2YWx1ZSArICInIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19F
UlIiKTsKLSAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRleHRUcmFjay5tb2RlIiwgVGV4
dFRyYWNrLlNIT1dJTkcpOwotICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udGV4
dFRyYWNrc1swXS5tb2RlIiwgVGV4dFRyYWNrLlNIT1dJTkcpOworICAgICAgICAgICAgICAgIHZh
ciB2YWx1ZSA9ICJib2d1cyI7CisgICAgICAgICAgICAgICAgcnVuKCJ0ZXh0VHJhY2subW9kZSA9
ICciICsgdmFsdWUgKyAiJyIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidGV4dFRy
YWNrLm1vZGUiLCAic2hvd2luZyIpOworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlk
ZW8udGV4dFRyYWNrc1swXS5tb2RlIiwgInNob3dpbmciKTsKICAgICAgICAgICAgICAgICBjb25z
b2xlV3JpdGUoIiIpOwogCiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8Yj4qKiogU2V0
IHRvIGtub3duIHZhbHVlczwvYj4iKTsKLSAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxi
PisrICdUZXh0VHJhY2suRElTQUJMRUQnPC9iPiIpOwotICAgICAgICAgICAgICAgIHNldE1vZGUo
VGV4dFRyYWNrLkRJU0FCTEVEKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxiPisr
ICdkaXNhYmxlZCc8L2I+Iik7CisgICAgICAgICAgICAgICAgc2V0TW9kZSgiZGlzYWJsZWQiKTsK
IAogICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgIi4u
L2NvbnRlbnQvdGVzdCIpOwogICAgICAgICAgICAgICAgIHZpZGVvLnBsYXkoKTsKICAgICAgICAg
ICAgICAgICAvLyBXYWl0IGZvciBlbmQgb2YgZmlyc3QgY3VlIChubyBldmVudHMgc2hvdWxkIGZp
cmUgd2hpbGUgdHJhY2sgaXMgZGlzYWJsZWQpLgogICAgICAgICAgICAgICAgIHNldFRpbWVvdXQo
dGVzdEhpZGRlbkFuZFNob3dpbmcsIDQwMCk7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRl
KCIrKyAwIGV2ZW50cyBleHBlY3RlZCB3aGlsZSBtb2RlID0gVGV4dFRyYWNrLkRJU0FCTEVEIik7
CisgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCIrKyAwIGV2ZW50cyBleHBlY3RlZCB3aGls
ZSBtb2RlID0gZGlzYWJsZWQiKTsKICAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIiIpOwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0SGlk
ZGVuQW5kU2hvd2luZygpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc29sZVdy
aXRlKCI8Yj4rKyAnVGV4dFRyYWNrLkhJRERFTic8L2I+Iik7Ci0gICAgICAgICAgICAgICAgc2V0
TW9kZShUZXh0VHJhY2suSElEREVOKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlV3JpdGUoIjxi
PisrICdoaWRkZW4nPC9iPiIpOworICAgICAgICAgICAgICAgIHNldE1vZGUoImhpZGRlbiIpOwog
Ci0gICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8Yj4rKyAnVGV4dFRyYWNrLlNIT1dJTkcn
PC9iPiIpOwotICAgICAgICAgICAgICAgIHNldE1vZGUoVGV4dFRyYWNrLlNIT1dJTkcpOworICAg
ICAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGI+KysgJ3Nob3dpbmcnPC9iPiIpOworICAgICAg
ICAgICAgICAgIHNldE1vZGUoInNob3dpbmciKTsKIAotICAgICAgICAgICAgICAgIGNvbnNvbGVX
cml0ZSgiKysgYXQgbGVhc3QgIiArIHRleHRUcmFjay5jdWVzLmxlbmd0aCArICIgZXZlbnRzIGV4
cGVjdGVkIHdoaWxlIG1vZGUgPSBUZXh0VHJhY2suU0hPV0lORyIpOworICAgICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiKysgYXQgbGVhc3QgIiArIHRleHRUcmFjay5jdWVzLmxlbmd0aCArICIg
ZXZlbnRzIGV4cGVjdGVkIHdoaWxlIG1vZGUgPSBzaG93aW5nIik7CiAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAKICAgICAgICAgICAgIHdhaXRGb3JFdmVudCgnY3VlY2hhbmdlJywKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL3RyYWNrLXRleHR0cmFja3MtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stdGV4dHRyYWNrcy1leHBlY3RlZC50
eHQKaW5kZXggYWM1ZTRkMWU2ZjNlZmZiNGMxNTEwNTI1NjIyNWY4OWFkYmUyMWJiOC4uNGRkNjFl
NjZhMDQyYTVkN2ZmMmM0ZDY0OGVhZTc5YjIwN2FhMTQwMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvbWVkaWEvdHJhY2svdHJhY2stdGV4dHRyYWNrcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvbWVkaWEvdHJhY2svdHJhY2stdGV4dHRyYWNrcy1leHBlY3RlZC50eHQKQEAgLTE1LDcg
KzE1LDcgQEAgRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3NbMV0ua2luZCA9PSAnY2hhcHRlcnMn
KSBPSwogRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3NbMl0ua2luZCA9PSAnZGVzY3JpcHRpb25z
JykgT0sKIAogKiogVmVyaWZ5IHRoZSBkZWZhdWx0IHBhcmFtZXRlcnMgb2YgdGhlIHRleHQgdHJh
Y2sgb2JqZWN0IHJldHVybmVkIGJ5IGFkZFRleHRUcmFjaygpLiAqKgotRVhQRUNURUQgKHZpZGVv
LnRleHRUcmFja3NbMl0ubW9kZSA9PSBUZXh0VHJhY2suSElEREVOID09ICd0cnVlJykgT0sKK0VY
UEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzJdLm1vZGUgPT0gJ2hpZGRlbicgPT0gJ3RydWUnKSBP
SwogRVhQRUNURUQgKHZpZGVvLnRleHRUcmFja3NbMl0uY3VlcyAhPSBudWxsID09ICd0cnVlJykg
T0sKIEVYUEVDVEVEICh2aWRlby50ZXh0VHJhY2tzWzJdLmN1ZXMubGVuZ3RoID09IDAgPT0gJ3Ry
dWUnKSBPSwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay10ZXh0
dHJhY2tzLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS90cmFjay90cmFjay10ZXh0dHJhY2tzLmh0
bWwKaW5kZXggNWNmNDAzNjNlNGM2MTlhZTVmZGFlMDYzNjFmODFmYTIwMWI0MWUwNS4uZjI1NzE4
NTYwZTVjYjlmMmIxZjFjNjg2ZjU2ZjBiYzViNmM0OWRlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvbWVkaWEvdHJhY2svdHJhY2stdGV4dHRyYWNrcy5odG1sCisrKyBiL0xheW91dFRlc3RzL21l
ZGlhL3RyYWNrL3RyYWNrLXRleHR0cmFja3MuaHRtbApAQCAtMjgsNyArMjgsNyBAQAogICAgICAg
ICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udGV4dFRyYWNrc1syXS5raW5kIiwgImRlc2Ny
aXB0aW9ucyIpOwogCiAgICAgICAgICAgICAgICAgY29uc29sZVdyaXRlKCI8YnI+KiogVmVyaWZ5
IHRoZSBkZWZhdWx0IHBhcmFtZXRlcnMgb2YgdGhlIHRleHQgdHJhY2sgb2JqZWN0IHJldHVybmVk
IGJ5IGFkZFRleHRUcmFjaygpLiAqKiIpOwotICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgi
dmlkZW8udGV4dFRyYWNrc1syXS5tb2RlID09IFRleHRUcmFjay5ISURERU4iLCB0cnVlKTsKKyAg
ICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLnRleHRUcmFja3NbMl0ubW9kZSA9PSAn
aGlkZGVuJyIsIHRydWUpOwogICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8udGV4
dFRyYWNrc1syXS5jdWVzICE9IG51bGwiLCB0cnVlKTsKICAgICAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInZpZGVvLnRleHRUcmFja3NbMl0uY3Vlcy5sZW5ndGggPT0gMCIsIHRydWUpOwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby10ZXN0LmpzIGIvTGF5b3V0VGVzdHMv
bWVkaWEvdmlkZW8tdGVzdC5qcwppbmRleCBlZGZkZGJiMzZhMjgxMzQzYmNiOTYwYjY5YjBjM2M3
NDM4ZThkZTkyLi4wZjI4NDg2MmFhYzlkMzk5NTNlODNkNTQ5MTg3ZTBjODhlMzMwYjY5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby10ZXN0LmpzCisrKyBiL0xheW91dFRlc3Rz
L21lZGlhL3ZpZGVvLXRlc3QuanMKQEAgLTMxNCw4ICszMTQsOCBAQCBmdW5jdGlvbiBlbmFibGVB
bGxUZXh0VHJhY2tzKCkKIHsKICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CiAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCB2aWRlby50ZXh0VHJhY2tzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIGlmICh2
aWRlby50ZXh0VHJhY2tzW2ldLm1vZGUgPT0gVGV4dFRyYWNrLkRJU0FCTEVEKQotICAgICAgICAg
ICAgdmlkZW8udGV4dFRyYWNrc1tpXS5tb2RlID0gVGV4dFRyYWNrLkhJRERFTjsKKyAgICAgICAg
aWYgKHZpZGVvLnRleHRUcmFja3NbaV0ubW9kZSA9PSAiZGlzYWJsZWQiKQorICAgICAgICAgICAg
dmlkZW8udGV4dFRyYWNrc1tpXS5tb2RlID0gImhpZGRlbiI7CiAgICAgfQogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>