<?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>60793</bug_id>
          
          <creation_ts>2011-05-13 13:12:59 -0700</creation_ts>
          <short_desc>Application cache status indicator gets stuck at DOWNLOADING after a failure</short_desc>
          <delta_ts>2011-11-11 10:29:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>joepeck</cc>
    
    <cc>michaeln</cc>
    
    <cc>pfeldman</cc>
    
    <cc>vsevik</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>403783</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-13 13:12:59 -0700</bug_when>
    <thetext>Steps to reproduce:
1) Open &lt;http://nypop.com/~ap/webkit/indicator/test.html&gt; with Web Inspector being open.
2) In Resources-&gt;Application Cache pane, observe that cache status remains DOWNLOADING.

This is wrong, because the cache fails to update, and the status is actually UNCACHED.

The reason for this is that Inspector is notified about status changes by ApplicationCacheGroup, but ApplicationCacheGroup is not an authority here. ApplicationCacheHost is the class that decides what the current status is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403787</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-13 13:17:47 -0700</bug_when>
    <thetext>From another point of view, the display is just conceptually incorrect.

The Resources pane displays a single  (most recent) application cache, but these are not statuses of an application cache. These are statuses of DOMApplicationCache, calculated from cache group update status and DocumentLoader cache association.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403843</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-13 14:07:37 -0700</bug_when>
    <thetext>The status indicator has been hidden in bug 60799 to avoid confusing developers. 

I couldn&apos;t verify that online indicator also lies, because the underlying functionality is also broken (see bug 32327), but it&apos;s likely to share the same problem. It got disabled, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404604</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2011-05-16 11:07:24 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; From another point of view, the display is just conceptually incorrect.
&gt; 
&gt; The Resources pane displays a single  (most recent) application cache, but these are not statuses of an application cache. These are statuses of DOMApplicationCache, calculated from cache group update status and DocumentLoader cache association.

&gt; conceptually incorrect

There was some discussion about how appCaches should be represented in the Resources pane. The patch that got committed was not representative of the direction that discussion was headed. Putting one appCache node on the left-hand-side per frame using an appCache within the tab being inspected seemed to be the way to go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500665</commentid>
    <comment_count>4</comment_count>
      <attachid>114668</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-11-11 04:32:16 -0800</bug_when>
    <thetext>Created attachment 114668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500895</commentid>
    <comment_count>5</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-11-11 10:29:05 -0800</bug_when>
    <thetext>Committed r99988: &lt;http://trac.webkit.org/changeset/99988&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114668</attachid>
            <date>2011-11-11 04:32:16 -0800</date>
            <delta_ts>2011-11-11 06:52:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60793-20111111163214.patch</filename>
            <type>text/plain</type>
            <size>50405</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk4ODkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlMjE5NjUzNTM0MzMwOTBk
ZGJhZWU2MTkyNDkwOWQ5NWY1ZmZhMjdlLi41YTQ1MGYwNmJmZjBlMjRhYmNhNGE1NDEyMjRkODQy
YWViYjViODIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTEtMTEgIFZzZXZv
bG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQXBwbGljYXRpb24g
Y2FjaGUgc3RhdHVzIGluZGljYXRvciBnZXRzIHN0dWNrIGF0IERPV05MT0FESU5HIGFmdGVyIGEg
ZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjA3OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0OiBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL2FwcGNhY2hlLW1hbmlmZXN0
LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6Okluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6OnJlc3Rv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50Ojpl
bmFibGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdl
bnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OnJlc3RvcmVJbnNwZWN0b3JT
dGF0ZUZyb21Db29raWUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQXBwbGljYXRp
b25DYWNoZUl0ZW1zVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNh
Y2hlSXRlbXNWaWV3KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlSXRl
bXNWaWV3LnByb3RvdHlwZS51cGRhdGVTdGF0dXMpOgorCiAyMDExLTExLTEwICBYaWFvbWVpIEpp
ICA8eGppQGNocm9taXVtLm9yZz4KIAogICAgICAgICAtLXdlYmtpdC12aXN1YWwtd29yZCBjcmFz
aCB3aGVuIGNyZWF0ZSBsZWdhY3kgcG9zaXRpb24gZm9yIHNoYWRvd1Jvb3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVB
Z2VudC5jcHAKaW5kZXggMzVhNTFlMGEyZWY5Njg3MWRlZTUzZDdhY2QwMzVlNGUzNWY2YTE3Yi4u
ZjE5ZmEwNDdkYTdlZDQ0MjdlODkwNGM1MjIyZWQ2ZjI3Y2JjM2FkNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVB
Z2VudC5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JBZ2VudC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFn
ZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yU3RhdGUuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JW
YWx1ZXMuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiTmV0
d29ya1N0YXRlTm90aWZpZXIuaCIKQEAgLTQzLDEwICs0NCwxNSBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLUluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDo6SW5zcGVjdG9yQXBwbGlj
YXRpb25DYWNoZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMs
IEluc3BlY3RvclBhZ2VBZ2VudCogcGFnZUFnZW50KQorbmFtZXNwYWNlIEFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudFN0YXRlIHsKK3N0YXRpYyBjb25zdCBjaGFyIGFwcGxpY2F0aW9uQ2FjaGVBZ2VudEVu
YWJsZWRbXSA9ICJhcHBsaWNhdGlvbkNhY2hlQWdlbnRFbmFibGVkIjsKK30KKworSW5zcGVjdG9y
QXBwbGljYXRpb25DYWNoZUFnZW50OjpJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yUGFnZUFnZW50
KiBwYWdlQWdlbnQsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSkKICAgICA6IG1faW5zdHJ1bWVudGlu
Z0FnZW50cyhpbnN0cnVtZW50aW5nQWdlbnRzKQogICAgICwgbV9wYWdlQWdlbnQocGFnZUFnZW50
KQogICAgICwgbV9mcm9udGVuZCgwKQorICAgICwgbV9zdGF0ZShzdGF0ZSkKIHsKIH0KIApAQCAt
NjEsNiArNjcsMjAgQEAgdm9pZCBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6OmNsZWFy
RnJvbnRlbmQoKQogICAgIG1fZnJvbnRlbmQgPSAwOwogfQogCit2b2lkIEluc3BlY3RvckFwcGxp
Y2F0aW9uQ2FjaGVBZ2VudDo6cmVzdG9yZSgpCit7CisgICAgaWYgKG1fc3RhdGUtPmdldEJvb2xl
YW4oQXBwbGljYXRpb25DYWNoZUFnZW50U3RhdGU6OmFwcGxpY2F0aW9uQ2FjaGVBZ2VudEVuYWJs
ZWQpKSB7CisgICAgICAgIEVycm9yU3RyaW5nIGVycm9yOworICAgICAgICBlbmFibGUoJmVycm9y
KTsKKyAgICB9Cit9CisKK3ZvaWQgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50OjplbmFi
bGUoRXJyb3JTdHJpbmcqKQoreworICAgIG1fc3RhdGUtPnNldEJvb2xlYW4oQXBwbGljYXRpb25D
YWNoZUFnZW50U3RhdGU6OmFwcGxpY2F0aW9uQ2FjaGVBZ2VudEVuYWJsZWQsIHRydWUpOworICAg
IG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50
KHRoaXMpOworfQorCiB2b2lkIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudDo6dXBkYXRl
QXBwbGljYXRpb25DYWNoZVN0YXR1cyhGcmFtZSogZnJhbWUpCiB7CiAgICAgRG9jdW1lbnRMb2Fk
ZXIqIGRvY3VtZW50TG9hZGVyID0gZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpOwpA
QCAtODEsMTEgKzEwMSw2IEBAIHZvaWQgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50Ojpu
ZXR3b3JrU3RhdGVDaGFuZ2VkKCkKICAgICBtX2Zyb250ZW5kLT5uZXR3b3JrU3RhdGVVcGRhdGVk
KGlzTm93T25saW5lKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ6
OmVuYWJsZShFcnJvclN0cmluZyopCi17Ci0gICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJ
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQodGhpcyk7Ci19Ci0KIHZvaWQgSW5zcGVjdG9y
QXBwbGljYXRpb25DYWNoZUFnZW50OjpnZXRGcmFtZXNXaXRoTWFuaWZlc3RzKEVycm9yU3RyaW5n
KiwgUmVmUHRyPEluc3BlY3RvckFycmF5PiogcmVzdWx0KQogewogICAgICpyZXN1bHQgPSBJbnNw
ZWN0b3JBcnJheTo6Y3JlYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKaW5kZXggOGRkNGVmMjk2MWI0
NTljZTNmZjk0ZTgzOGIxMWZiZjhlYjA3MzZiNy4uYzg5OWU2N2FmZDRhZWJiNDMxNjRkZjI0NjQ3
NjIzNmUyNzhjMzlmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaApAQCAtNDEsNiArNDEsNyBAQCBjbGFz
cyBJbnNwZWN0b3JGcm9udGVuZDsKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3Bl
Y3RvclBhZ2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOworY2xhc3MgSW5zcGVjdG9yU3Rh
dGU7CiBjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwogY2xhc3MgUGFnZTsKIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CkBAIC01MCwxMiArNTEsMTMgQEAgdHlwZWRlZiBTdHJpbmcgRXJyb3JTdHJp
bmc7CiBjbGFzcyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQgewogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yUGFnZUFnZW50Kik7CisgICAgSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JQ
YWdlQWdlbnQqLCBJbnNwZWN0b3JTdGF0ZSopOwogICAgIH5JbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQoKSB7IH0KIAogICAgIC8vIEluc3BlY3RvciBDb250cm9sbGVyIEFQSQogICAgIHZv
aWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqKTsKICAgICB2b2lkIGNsZWFyRnJvbnRl
bmQoKTsKKyAgICB2b2lkIHJlc3RvcmUoKTsKIAogICAgIC8vIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbiBBUEkKICAgICB2b2lkIHVwZGF0ZUFwcGxpY2F0aW9uQ2FjaGVTdGF0dXMoRnJhbWUqKTsK
QEAgLTc3LDYgKzc5LDcgQEAgcHJpdmF0ZToKICAgICBJbnN0cnVtZW50aW5nQWdlbnRzKiBtX2lu
c3RydW1lbnRpbmdBZ2VudHM7CiAgICAgSW5zcGVjdG9yUGFnZUFnZW50KiBtX3BhZ2VBZ2VudDsK
ICAgICBJbnNwZWN0b3JGcm9udGVuZDo6QXBwbGljYXRpb25DYWNoZSogbV9mcm9udGVuZDsKKyAg
ICBJbnNwZWN0b3JTdGF0ZSogbV9zdGF0ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApp
bmRleCA5ZmEyNWUxMDgxZGU0ZTg4MWYyMDFkMGQ0NWRmNGZiZDM4Y2EyMGEzLi4xNGEyYWY5MjAw
NWJjMjlhNGU4NTBkZjRhNWUzMDlhMGJiOWI4ZGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAgSW5z
cGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0
b3JDbGllbnQqIGluc3BlY3RvckMKICNlbmRpZgogICAgICwgbV9kb21TdG9yYWdlQWdlbnQoSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgp
LCBtX3N0YXRlLmdldCgpKSkKICAgICAsIG1fdGltZWxpbmVBZ2VudChJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgp
KSkKLSAgICAsIG1fYXBwbGljYXRpb25DYWNoZUFnZW50KGFkb3B0UHRyKG5ldyBJbnNwZWN0b3JB
cHBsaWNhdGlvbkNhY2hlQWdlbnQobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3BhZ2VB
Z2VudC5nZXQoKSkpKQorICAgICwgbV9hcHBsaWNhdGlvbkNhY2hlQWdlbnQoYWRvcHRQdHIobmV3
IEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0
KCksIG1fcGFnZUFnZW50LmdldCgpLCBtX3N0YXRlLmdldCgpKSkpCiAgICAgLCBtX3Jlc291cmNl
QWdlbnQoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50
cy5nZXQoKSwgbV9wYWdlQWdlbnQuZ2V0KCksIGluc3BlY3RvckNsaWVudCwgbV9zdGF0ZS5nZXQo
KSkpCiAgICAgLCBtX3J1bnRpbWVBZ2VudChhZG9wdFB0cihuZXcgUGFnZVJ1bnRpbWVBZ2VudCht
X2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgp
LCBwYWdlLCBtX3BhZ2VBZ2VudC5nZXQoKSkpKQogICAgICwgbV9jb25zb2xlQWdlbnQoYWRvcHRQ
dHIobmV3IEluc3BlY3RvckNvbnNvbGVBZ2VudChtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCks
IG1faW5zcGVjdG9yQWdlbnQuZ2V0KCksIG1fc3RhdGUuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyLmdldCgpLCBtX2RvbUFnZW50LmdldCgpKSkpCkBAIC0zMjksNiArMzI5LDcgQEAgdm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpyZXN0b3JlSW5zcGVjdG9yU3RhdGVGcm9tQ29va2llKGNv
bnN0IFN0cmluZyYgaW5zcGVjdG8KICAgICBtX3Jlc291cmNlQWdlbnQtPnJlc3RvcmUoKTsKICAg
ICBtX3RpbWVsaW5lQWdlbnQtPnJlc3RvcmUoKTsKICAgICBtX2NvbnNvbGVBZ2VudC0+cmVzdG9y
ZSgpOworICAgIG1fYXBwbGljYXRpb25DYWNoZUFnZW50LT5yZXN0b3JlKCk7CiAjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKICAgICBtX2RhdGFiYXNlQWdlbnQtPnJlc3RvcmUoKTsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BcHBsaWNhdGlv
bkNhY2hlSXRlbXNWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9B
cHBsaWNhdGlvbkNhY2hlSXRlbXNWaWV3LmpzCmluZGV4IGQ0ZWUxODIyOTUzMjQ4MzQ2Y2I5MThh
YTQ3NDZkMDVhNjg0NjQyZGEuLjkzYjljM2M1OWIxMjIwMWNlMWIzYmIyYTRkZDNjN2Q3MmUzZTVj
NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXBwbGlj
YXRpb25DYWNoZUl0ZW1zVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0FwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcuanMKQEAgLTgyLDkgKzgyLDYgQEAgV2Vi
SW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcgPSBmdW5jdGlvbihtb2RlbCwgZnJh
bWVJZCwgc3RhdHVzKQogICAgICAgICB0aGlzLmNvbm5lY3Rpdml0eU1lc3NhZ2Uuc3R5bGUuZGlz
cGxheSA9ICJub25lIjsKICAgICB9CiAgICAgdGhpcy5kaXZpZGVyLnN0eWxlLmRpc3BsYXkgPSAi
bm9uZSI7Ci0gICAgdGhpcy5zdGF0dXNJY29uLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7Ci0gICAg
dGhpcy5zdGF0dXNNZXNzYWdlLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7Ci0KIH0KIAogV2ViSW5z
cGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcucHJvdG90eXBlID0gewpAQCAtMTIxLDE4
ICsxMTgsMTUgQEAgV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcucHJvdG90
eXBlID0gewogICAgIHVwZGF0ZVN0YXR1czogZnVuY3Rpb24oc3RhdHVzKQogICAgIHsKICAgICAg
ICAgdmFyIHN0YXR1c0luZm9ybWF0aW9uID0ge307Ci0gICAgICAgIHN0YXR1c0luZm9ybWF0aW9u
W2FwcGxpY2F0aW9uQ2FjaGUuVU5DQUNIRURdICAgID0geyBzcmM6ICJJbWFnZXMvd2FybmluZ09y
YW5nZURvdC5wbmciLCB0ZXh0OiAiVU5DQUNIRUQiICAgIH07Ci0gICAgICAgIHN0YXR1c0luZm9y
bWF0aW9uW2FwcGxpY2F0aW9uQ2FjaGUuSURMRV0gICAgICAgID0geyBzcmM6ICJJbWFnZXMvd2Fy
bmluZ09yYW5nZURvdC5wbmciLCB0ZXh0OiAiSURMRSIgICAgICAgIH07Ci0gICAgICAgIHN0YXR1
c0luZm9ybWF0aW9uW2FwcGxpY2F0aW9uQ2FjaGUuQ0hFQ0tJTkddICAgID0geyBzcmM6ICJJbWFn
ZXMvc3VjY2Vzc0dyZWVuRG90LnBuZyIsICB0ZXh0OiAiQ0hFQ0tJTkciICAgIH07Ci0gICAgICAg
IHN0YXR1c0luZm9ybWF0aW9uW2FwcGxpY2F0aW9uQ2FjaGUuRE9XTkxPQURJTkddID0geyBzcmM6
ICJJbWFnZXMvc3VjY2Vzc0dyZWVuRG90LnBuZyIsICB0ZXh0OiAiRE9XTkxPQURJTkciIH07Cisg
ICAgICAgIC8vIFdlIHNob3VsZCBuZXZlciBoYXZlIFVOQ0FDSEVEIHN0YXR1cywgc2luY2Ugd2Ug
cmVtb3ZlIGZyYW1lcyB3aXRoIFVOQ0FDSEVEIGFwcGxpY2F0aW9uIGNhY2hlIHN0YXR1cyBmcm9t
IHRoZSB0cmVlLiAKKyAgICAgICAgc3RhdHVzSW5mb3JtYXRpb25bYXBwbGljYXRpb25DYWNoZS5V
TkNBQ0hFRF0gICAgPSB7IHNyYzogIkltYWdlcy9lcnJvclJlZERvdC5wbmciLCB0ZXh0OiAiVU5D
QUNIRUQiIH07CisgICAgICAgIHN0YXR1c0luZm9ybWF0aW9uW2FwcGxpY2F0aW9uQ2FjaGUuSURM
RV0gICAgICAgID0geyBzcmM6ICJJbWFnZXMvc3VjY2Vzc0dyZWVuRG90LnBuZyIsIHRleHQ6ICJJ
RExFIiB9OworICAgICAgICBzdGF0dXNJbmZvcm1hdGlvblthcHBsaWNhdGlvbkNhY2hlLkNIRUNL
SU5HXSAgICA9IHsgc3JjOiAiSW1hZ2VzL3dhcm5pbmdPcmFuZ2VEb3QucG5nIiwgIHRleHQ6ICJD
SEVDS0lORyIgfTsKKyAgICAgICAgc3RhdHVzSW5mb3JtYXRpb25bYXBwbGljYXRpb25DYWNoZS5E
T1dOTE9BRElOR10gPSB7IHNyYzogIkltYWdlcy93YXJuaW5nT3JhbmdlRG90LnBuZyIsICB0ZXh0
OiAiRE9XTkxPQURJTkciIH07CiAgICAgICAgIHN0YXR1c0luZm9ybWF0aW9uW2FwcGxpY2F0aW9u
Q2FjaGUuVVBEQVRFUkVBRFldID0geyBzcmM6ICJJbWFnZXMvc3VjY2Vzc0dyZWVuRG90LnBuZyIs
ICB0ZXh0OiAiVVBEQVRFUkVBRFkiIH07Ci0gICAgICAgIHN0YXR1c0luZm9ybWF0aW9uW2FwcGxp
Y2F0aW9uQ2FjaGUuT0JTT0xFVEVdICAgID0geyBzcmM6ICJJbWFnZXMvZXJyb3JSZWREb3QucG5n
IiwgICAgICB0ZXh0OiAiT0JTT0xFVEUiICAgIH07CisgICAgICAgIHN0YXR1c0luZm9ybWF0aW9u
W2FwcGxpY2F0aW9uQ2FjaGUuT0JTT0xFVEVdICAgID0geyBzcmM6ICJJbWFnZXMvZXJyb3JSZWRE
b3QucG5nIiwgICAgICB0ZXh0OiAiT0JTT0xFVEUiIH07CiAKLSAgICAgICAgdmFyIGluZm8gPSBz
dGF0dXNJbmZvcm1hdGlvbltzdGF0dXNdOwotICAgICAgICBpZiAoIWluZm8pIHsKLSAgICAgICAg
ICAgIGNvbnNvbGUuZXJyb3IoIlVua25vd24gQXBwbGljYXRpb24gQ2FjaGUgU3RhdHVzIHdhcyBO
b3QgSGFuZGxlZDogJWQiLCBzdGF0dXMpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
CisgICAgICAgIHZhciBpbmZvID0gc3RhdHVzSW5mb3JtYXRpb25bc3RhdHVzXSB8fCBzdGF0dXNJ
bmZvcm1hdGlvblthcHBsaWNhdGlvbkNhY2hlLlVOQ0FDSEVEXTsKIAogICAgICAgICB0aGlzLnN0
YXR1c0ljb24uc3JjID0gaW5mby5zcmM7CiAgICAgICAgIHRoaXMuc3RhdHVzTWVzc2FnZS50ZXh0
Q29udGVudCA9IGluZm8udGV4dDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1ZDFjZDY4Njk1MWYyMGYyZDk4MTk3Y2RhNjIw
NTQzNDdjOTA2YmFiLi44MjlkMGFjODc1MTdmYTg3OGUzYjQzMjc4NTA5Y2QzMDBkNGY3OWE2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTEtMTEgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZp
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQXBwbGljYXRpb24gY2FjaGUgc3RhdHVzIGluZGlj
YXRvciBnZXRzIHN0dWNrIGF0IERPV05MT0FESU5HIGFmdGVyIGEgZmFpbHVyZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA3OTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0cy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS1p
ZnJhbWUtbWFuaWZlc3RzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9hcHBjYWNoZS1tYW5pZmVzdC13aXRoLW5vbi1leGlzdGluZy1maWxlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9hcHBjYWNoZS1tYW5pZmVzdC13aXRoLW5vbi1leGlzdGluZy1maWxlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUt
dGVzdC5qczogQWRkZWQuCisgICAgICAgIChjcmVhdGVBbmROYXZpZ2F0ZUlGcmFtZSk6CisgICAg
ICAgIChyZW1vdmVJRnJhbWUpOgorICAgICAgICAobmF2aWdhdGVJRnJhbWUpOgorICAgICAgICAo
aW5pdGlhbGl6ZV9BcHBsaWNhdGlvbkNhY2hlVGVzdC5JbnNwZWN0b3JUZXN0LmNyZWF0ZUFuZE5h
dmlnYXRlSUZyYW1lLmZyYW1lTmF2aWdhdGVkKToKKyAgICAgICAgKGluaXRpYWxpemVfQXBwbGlj
YXRpb25DYWNoZVRlc3QuSW5zcGVjdG9yVGVzdC5jcmVhdGVBbmROYXZpZ2F0ZUlGcmFtZSk6Cisg
ICAgICAgIChpbml0aWFsaXplX0FwcGxpY2F0aW9uQ2FjaGVUZXN0Lkluc3BlY3RvclRlc3QubmF2
aWdhdGVJRnJhbWUuZnJhbWVOYXZpZ2F0ZWQpOgorICAgICAgICAoaW5pdGlhbGl6ZV9BcHBsaWNh
dGlvbkNhY2hlVGVzdC5JbnNwZWN0b3JUZXN0Lm5hdmlnYXRlSUZyYW1lKToKKyAgICAgICAgKGlu
aXRpYWxpemVfQXBwbGljYXRpb25DYWNoZVRlc3QuSW5zcGVjdG9yVGVzdC5yZW1vdmVJRnJhbWUu
ZnJhbWVEZXRhY2hlZCk6CisgICAgICAgIChpbml0aWFsaXplX0FwcGxpY2F0aW9uQ2FjaGVUZXN0
Lkluc3BlY3RvclRlc3QucmVtb3ZlSUZyYW1lKToKKyAgICAgICAgKGluaXRpYWxpemVfQXBwbGlj
YXRpb25DYWNoZVRlc3QuSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSk6CisgICAg
ICAgIChpbml0aWFsaXplX0FwcGxpY2F0aW9uQ2FjaGVUZXN0Lkluc3BlY3RvclRlc3QuZHVtcEFw
cGxpY2F0aW9uQ2FjaGVUcmVlKToKKyAgICAgICAgKGluaXRpYWxpemVfQXBwbGljYXRpb25DYWNo
ZVRlc3QuSW5zcGVjdG9yVGVzdC5mcmFtZUlkVG9TdHJpbmcpOgorICAgICAgICAoaW5pdGlhbGl6
ZV9BcHBsaWNhdGlvbkNhY2hlVGVzdC5JbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0
dXNUb1N0cmluZyk6CisgICAgICAgIChpbml0aWFsaXplX0FwcGxpY2F0aW9uQ2FjaGVUZXN0Lklu
c3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGVNb2RlbC5jb21wYXJlRnVuYyk6CisgICAg
ICAgIChpbml0aWFsaXplX0FwcGxpY2F0aW9uQ2FjaGVUZXN0Lkluc3BlY3RvclRlc3QuZHVtcEFw
cGxpY2F0aW9uQ2FjaGVNb2RlbCk6CisgICAgICAgIChpbml0aWFsaXplX0FwcGxpY2F0aW9uQ2Fj
aGVUZXN0Lkluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMpOgor
ICAgICAgICAoaW5pdGlhbGl6ZV9BcHBsaWNhdGlvbkNhY2hlVGVzdC5JbnNwZWN0b3JUZXN0LnN0
YXJ0QXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkaW5nKToKKyAgICAgICAgKGluaXRpYWxp
emVfQXBwbGljYXRpb25DYWNoZVRlc3QuSW5zcGVjdG9yVGVzdC5lbnN1cmVGcmFtZU1hbmlmZXN0
U3RhdHVzRXZlbnRSZWNlaXZlZCk6CisgICAgICAgIChpbml0aWFsaXplX0FwcGxpY2F0aW9uQ2Fj
aGVUZXN0Lkluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHMu
Y29tcGFyZUZ1bmMpOgorICAgICAgICAoaW5pdGlhbGl6ZV9BcHBsaWNhdGlvbkNhY2hlVGVzdC5J
bnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlU3RhdHVzZXNSZWNvcmRzKToKKyAgICAg
ICAgKGluaXRpYWxpemVfQXBwbGljYXRpb25DYWNoZVRlc3QpOgorICAgICAgICAqIGh0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L2FwcGNhY2hlLWlmcmFtZS1tYW5pZmVzdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL2Fw
cGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKwogMjAxMS0xMS0xMCAgQW5kcmV3IFNjaGVya3VzICA8c2NoZXJrdXNAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFVwZGF0ZSBleHBlY3RhdGlvbnMgZm9yIG1lZGlhL3ZpZGVvLWZyYW1lLWFj
Y3VyYXRlLXNlZWsuaHRtbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0cy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL2FwcGNh
Y2hlLWlmcmFtZS1tYW5pZmVzdHMtZXhwZWN0ZWQudHh0CmluZGV4IDM4ZGI4NjdhMDI0ZTI5MmY1
NzExNjdkNmUwZGExMGMxMzg4OWRlOTEuLjk3OTMxMWY0ZDhkMDI0MzdhNGVjNTMxYjI2OTYxYzVl
MGQ0NzllM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0cy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS1p
ZnJhbWUtbWFuaWZlc3RzLWV4cGVjdGVkLnR4dApAQCAtMTAsMTMgKzEwLDM5IEBAIER1bXBpbmcg
YXBwbGljYXRpb24gY2FjaGUgdHJlZToKICAgICBNYW5pZmVzdCBVUkw6IGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21h
bmlmZXN0SWQ9MQogICAgICAgICBGcmFtZTogZnJhbWUxIChwYWdlLXdpdGgtbWFuaWZlc3QucGhw
KQogRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoKLSAgICBGcmFtZTogZnJhbWUxICho
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3Bh
Z2Utd2l0aC1tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xKSBoYXMgbWFuaWZlc3QgdXJsOiBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlm
ZXN0LnBocD9tYW5pZmVzdElkPTEKKyAgICBGcmFtZTogZnJhbWUxCisgICAgICAgIG1hbmlmZXN0
IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291
cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCisgICAgICAgIHN0YXR1czogICAgICAgSURM
RQorCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHN0YXR1c2VzIHJlY29yZHM6CisgICAgRnJh
bWU6IGZyYW1lMQorICAgICAgICBtYW5pZmVzdCB1cmw6IAorICAgICAgICBzdGF0dXM6ICAgICAg
IFVOQ0FDSEVECisgICAgICAgIG1hbmlmZXN0IHVybDogCisgICAgICAgIHN0YXR1czogICAgICAg
RE9XTkxPQURJTkcKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElk
PTEKKyAgICAgICAgc3RhdHVzOiAgICAgICBET1dOTE9BRElORworICAgICAgICBtYW5pZmVzdCB1
cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQorICAgICAgICBzdGF0dXM6ICAgICAgIElETEUK
IAogRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgogICAgIE1hbmlmZXN0IFVSTDogaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5p
ZmVzdC5waHA/bWFuaWZlc3RJZD0yCiAgICAgICAgIEZyYW1lOiBmcmFtZTEgKHBhZ2Utd2l0aC1t
YW5pZmVzdC5waHApCiBEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgotICAgIEZyYW1l
OiBmcmFtZTEgKGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIpIGhhcyBtYW5pZmVz
dCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MgorICAgIEZyYW1lOiBmcmFtZTEKKyAgICAg
ICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIKKyAgICAgICAgc3RhdHVz
OiAgICAgICBJRExFCisKK0R1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgc3RhdHVzZXMgcmVjb3Jk
czoKKyAgICBGcmFtZTogZnJhbWUxCisgICAgICAgIG1hbmlmZXN0IHVybDogCisgICAgICAgIHN0
YXR1czogICAgICAgVU5DQUNIRUQKKyAgICAgICAgbWFuaWZlc3QgdXJsOiAKKyAgICAgICAgc3Rh
dHVzOiAgICAgICBET1dOTE9BRElORworICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhw
P21hbmlmZXN0SWQ9MgorICAgICAgICBzdGF0dXM6ICAgICAgIERPV05MT0FESU5HCisgICAgICAg
IG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10
cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCisgICAgICAgIHN0YXR1czog
ICAgICAgSURMRQogCiBEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6CiAgICAgTWFuaWZl
c3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIKQEAgLTI0LDggKzUwLDE5IEBAIER1bXBp
bmcgYXBwbGljYXRpb24gY2FjaGUgdHJlZToKICAgICBNYW5pZmVzdCBVUkw6IGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhw
P21hbmlmZXN0SWQ9MQogICAgICAgICBGcmFtZTogZnJhbWUyIChwYWdlLXdpdGgtbWFuaWZlc3Qu
cGhwKQogRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoKLSAgICBGcmFtZTogZnJhbWUx
IChodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3BhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yKSBoYXMgbWFuaWZlc3QgdXJsOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21h
bmlmZXN0LnBocD9tYW5pZmVzdElkPTIKLSAgICBGcmFtZTogZnJhbWUyIChodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3BhZ2Utd2l0aC1tYW5p
ZmVzdC5waHA/bWFuaWZlc3RJZD0xKSBoYXMgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5p
ZmVzdElkPTEKKyAgICBGcmFtZTogZnJhbWUxCisgICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVz
dC5waHA/bWFuaWZlc3RJZD0yCisgICAgICAgIHN0YXR1czogICAgICAgSURMRQorICAgIEZyYW1l
OiBmcmFtZTIKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEK
KyAgICAgICAgc3RhdHVzOiAgICAgICBJRExFCisKK0R1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUg
c3RhdHVzZXMgcmVjb3JkczoKKyAgICBGcmFtZTogZnJhbWUyCisgICAgICAgIG1hbmlmZXN0IHVy
bDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCisgICAgICAgIHN0YXR1czogICAgICAgQ0hFQ0tJ
TkcKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEKKyAgICAg
ICAgc3RhdHVzOiAgICAgICBJRExFCiAKIER1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgdHJlZToK
ICAgICBNYW5pZmVzdCBVUkw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3Vy
Y2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MgpAQCAtMzQsOSArNzEs
MjIgQEAgRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgogICAgICAgICBGcmFtZTogZnJh
bWUyIChwYWdlLXdpdGgtbWFuaWZlc3QucGhwKQogICAgICAgICBGcmFtZTogZnJhbWUzIChwYWdl
LXdpdGgtbWFuaWZlc3QucGhwKQogRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoKLSAg
ICBGcmFtZTogZnJhbWUxIChodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNl
LXRyZWUvcmVzb3VyY2VzL3BhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yKSBoYXMg
bWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIKLSAgICBGcmFtZTogZnJhbWUy
IChodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L3BhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xKSBoYXMgbWFuaWZlc3QgdXJsOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21h
bmlmZXN0LnBocD9tYW5pZmVzdElkPTEKLSAgICBGcmFtZTogZnJhbWUzIChodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL3BhZ2Utd2l0aC1tYW5p
ZmVzdC5waHA/bWFuaWZlc3RJZD0xKSBoYXMgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5p
ZmVzdElkPTEKKyAgICBGcmFtZTogZnJhbWUxCisgICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDov
LzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVz
dC5waHA/bWFuaWZlc3RJZD0yCisgICAgICAgIHN0YXR1czogICAgICAgSURMRQorICAgIEZyYW1l
OiBmcmFtZTIKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEK
KyAgICAgICAgc3RhdHVzOiAgICAgICBJRExFCisgICAgRnJhbWU6IGZyYW1lMworICAgICAgICBt
YW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJl
ZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQorICAgICAgICBzdGF0dXM6ICAg
ICAgIElETEUKKworRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBzdGF0dXNlcyByZWNvcmRzOgor
ICAgIEZyYW1lOiBmcmFtZTMKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5p
ZmVzdElkPTEKKyAgICAgICAgc3RhdHVzOiAgICAgICBDSEVDS0lORworICAgICAgICBtYW5pZmVz
dCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNv
dXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQorICAgICAgICBzdGF0dXM6ICAgICAgIElE
TEUKIAogRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgogICAgIE1hbmlmZXN0IFVSTDog
aHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9t
YW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCkBAIC00NCwxOCArOTQsMzMgQEAgRHVtcGluZyBhcHBs
aWNhdGlvbiBjYWNoZSB0cmVlOgogICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4
MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZl
c3RJZD0xCiAgICAgICAgIEZyYW1lOiBmcmFtZTIgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCiBE
dW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOgotICAgIEZyYW1lOiBmcmFtZTEgKGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcGFnZS13
aXRoLW1hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIpIGhhcyBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3Qu
cGhwP21hbmlmZXN0SWQ9MgotICAgIEZyYW1lOiBmcmFtZTIgKGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBo
cD9tYW5pZmVzdElkPTEpIGhhcyBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9
MQorICAgIEZyYW1lOiBmcmFtZTEKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9t
YW5pZmVzdElkPTIKKyAgICAgICAgc3RhdHVzOiAgICAgICBJRExFCisgICAgRnJhbWU6IGZyYW1l
MgorICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQorICAgICAg
ICBzdGF0dXM6ICAgICAgIElETEUKKworRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBzdGF0dXNl
cyByZWNvcmRzOgorICAgIChlbXB0eSkKIAogRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVl
OgogICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCiAgICAgICAgIEZy
YW1lOiBmcmFtZTEgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCiBEdW1waW5nIGFwcGxpY2F0aW9u
IGNhY2hlIG1vZGVsOgotICAgIEZyYW1lOiBmcmFtZTEgKGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBocD9t
YW5pZmVzdElkPTIpIGhhcyBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9Mgor
ICAgIEZyYW1lOiBmcmFtZTEKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5p
ZmVzdElkPTIKKyAgICAgICAgc3RhdHVzOiAgICAgICBJRExFCisKK0R1bXBpbmcgYXBwbGljYXRp
b24gY2FjaGUgc3RhdHVzZXMgcmVjb3JkczoKKyAgICAoZW1wdHkpCiAKIER1bXBpbmcgYXBwbGlj
YXRpb24gY2FjaGUgdHJlZToKICAgICAoZW1wdHkpCiBEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hl
IG1vZGVsOgogICAgIChlbXB0eSkKIAorRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBzdGF0dXNl
cyByZWNvcmRzOgorICAgIChlbXB0eSkKKwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL2FwcGNhY2hlLWlmcmFtZS1tYW5pZmVzdHMu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvYXBw
Y2FjaGUtaWZyYW1lLW1hbmlmZXN0cy5odG1sCmluZGV4IDU2ODBjM2MyMzQwNjAwYmU1YWVhNjU4
NDEyODZmNWNjOTBkYmVlNzguLjJjODM5MzYxNjBlYWRmYzE3MWU2ZjY4OTlkMDRjZDk5NzJmODI0
NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNl
LXRyZWUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtaWZyYW1lLW1hbmlmZXN0
cy5odG1sCkBAIC0xLDIyMiArMSwxMDMgQEAKIDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0IHNyYz0i
Li4vaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImFwcGNhY2hlLXRl
c3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLXZhciBmcmFtZXNDb3VudCA9IDA7Ci0KLWZ1bmN0
aW9uIGNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKHVybCkKLXsKLSAgICBpZnJhbWUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKLSAgICBpZnJhbWUuc3JjID0gdXJsOwotICAgIGlm
cmFtZS5uYW1lID0gImZyYW1lIiArICsrZnJhbWVzQ291bnQ7Ci0gICAgaWZyYW1lLmlkID0gaWZy
YW1lLm5hbWU7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwotfQotCi1m
dW5jdGlvbiByZW1vdmVJRnJhbWUobmFtZSkKLXsKLSAgICBpZnJhbWUgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCIjIiArIG5hbWUpOwotICAgIGlmcmFtZS5wYXJlbnRFbGVtZW50LnJlbW92ZUNo
aWxkKGlmcmFtZSk7Ci19Ci0KLWZ1bmN0aW9uIG5hdmlnYXRlSUZyYW1lKG5hbWUsIHVybCkKLXsK
LSAgICBpZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIiArIG5hbWUpOwotICAgIGlm
cmFtZS5zcmMgPSB1cmw7Ci19Ci0KIGZ1bmN0aW9uIHRlc3QoKQogewotICAgIGZ1bmN0aW9uIGNy
ZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKHVybCwgY2FsbGJhY2spCi0gICAgewotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3Rv
dHlwZSwgIl9mcmFtZU5hdmlnYXRlZCIsIGZyYW1lTmF2aWdhdGVkKTsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiY3JlYXRlQW5kTmF2aWdhdGVJRnJhbWUodW5lc2NhcGUo
JyIgKyBlc2NhcGUodXJsKSArICInKSkiKTsKLQotICAgICAgICBmdW5jdGlvbiBmcmFtZU5hdmln
YXRlZChmcmFtZSkKLSAgICAgICAgewotICAgICAgICAgICAgY2FsbGJhY2soZnJhbWUuaWQpOwot
ICAgICAgICB9Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gbmF2aWdhdGVJRnJhbWUoZnJhbWVJZCwg
dXJsLCBjYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIHZhciBmcmFtZSA9IFdlYkluc3BlY3Rvci5y
ZXNvdXJjZVRyZWVNb2RlbC5mcmFtZUZvcklkKGZyYW1lSWQpCi0gICAgICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoIm5hdmlnYXRlSUZyYW1lKHVuZXNjYXBlKCciICsgZXNjYXBlKGZy
YW1lLm5hbWUpICsiJyksIHVuZXNjYXBlKCciICsgZXNjYXBlKHVybCkgKyAiJykpIik7Ci0gICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9k
ZWwucHJvdG90eXBlLCAiX2ZyYW1lTmF2aWdhdGVkIiwgZnJhbWVOYXZpZ2F0ZWQpOwotCi0gICAg
ICAgIGZ1bmN0aW9uIGZyYW1lTmF2aWdhdGVkKGZyYW1lKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBjYWxsYmFjayhmcmFtZS5pZCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBy
ZW1vdmVJRnJhbWUoZnJhbWVJZCwgY2FsbGJhY2spCi0gICAgewotICAgICAgICB2YXIgZnJhbWUg
PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuZnJhbWVGb3JJZChmcmFtZUlkKQotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJyZW1vdmVJRnJhbWUodW5lc2NhcGUo
JyIgKyBlc2NhcGUoZnJhbWUubmFtZSkgKyInKSkiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5cGUsICJfZnJh
bWVEZXRhY2hlZCIsIGZyYW1lRGV0YWNoZWQpOwotCi0gICAgICAgIGZ1bmN0aW9uIGZyYW1lRGV0
YWNoZWQoZnJhbWUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNhbGxiYWNrKGZyYW1lLmlkKTsK
LSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIGR1bXBBcHBsaWNhdGlvbkNhY2hlKCkK
LSAgICB7Ci0gICAgICAgIGR1bXBBcHBsaWNhdGlvbkNhY2hlVHJlZSgpOwotICAgICAgICBkdW1w
QXBwbGljYXRpb25DYWNoZU1vZGVsKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCIiKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBkdW1wQXBwbGljYXRpb25DYWNoZVRyZWUoKQot
ICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkR1bXBpbmcgYXBwbGljYXRp
b24gY2FjaGUgdHJlZToiKTsKLSAgICAgICAgdmFyIGFwcGxpY2F0aW9uQ2FjaGVUcmVlRWxlbWVu
dCA9IFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLmFwcGxpY2F0aW9uQ2FjaGVMaXN0VHJl
ZUVsZW1lbnQ7Ci0gICAgICAgIGlmICghYXBwbGljYXRpb25DYWNoZVRyZWVFbGVtZW50LmNoaWxk
cmVuLmxlbmd0aCkgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAo
ZW1wdHkpIik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBhcHBsaWNhdGlvbkNhY2hlVHJlZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3Ro
OyArK2kpIHsKLSAgICAgICAgICAgIHZhciBtYW5pZmVzdFRyZWVFbGVtZW50ID0gYXBwbGljYXRp
b25DYWNoZVRyZWVFbGVtZW50LmNoaWxkcmVuW2ldOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIiAgICBNYW5pZmVzdCBVUkw6ICIgKyBtYW5pZmVzdFRyZWVFbGVtZW50Lm1h
bmlmZXN0VVJMKTsKLSAgICAgICAgICAgIGlmICghbWFuaWZlc3RUcmVlRWxlbWVudC5jaGlsZHJl
bi5sZW5ndGgpIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAg
IChubyBmcmFtZXMpIik7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IG1hbmlmZXN0VHJlZUVsZW1lbnQuY2hp
bGRyZW4ubGVuZ3RoOyArK2opIHsKLSAgICAgICAgICAgICAgICB2YXIgZnJhbWVUcmVlRWxlbWVu
dCA9IG1hbmlmZXN0VHJlZUVsZW1lbnQuY2hpbGRyZW5bal07Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAgICAgRnJhbWU6ICIgKyBmcmFtZVRyZWVFbGVtZW50
LmRpc3BsYXlOYW1lKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1
bmN0aW9uIGR1bXBBcHBsaWNhdGlvbkNhY2hlTW9kZWwoKQotICAgIHsKLSAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIkR1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6Iik7Ci0g
ICAgICAgIHZhciBtb2RlbCA9IFdlYkluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLl9hcHBsaWNh
dGlvbkNhY2hlTW9kZWw7Ci0KLSAgICAgICAgdmFyIGZyYW1lSWRzID0gW107Ci0gICAgICAgIGZv
ciAodmFyIGZyYW1lSWQgaW4gbW9kZWwuX21hbmlmZXN0VVJMc0J5RnJhbWUpIHsKLSAgICAgICAg
ICAgIGZyYW1lSWRzLnB1c2goZnJhbWVJZCk7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlv
biBjb21wYXJlRnVuYyhhLCBiKSB7Ci0gICAgICAgICAgICB2YXIgYUZyYW1lID0gV2ViSW5zcGVj
dG9yLnJlc291cmNlVHJlZU1vZGVsLmZyYW1lRm9ySWQoYSk7Ci0gICAgICAgICAgICB2YXIgYkZy
YW1lID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmZyYW1lRm9ySWQoYik7Ci0gICAg
ICAgICAgICByZXR1cm4gYUZyYW1lLm5hbWUubG9jYWxlQ29tcGFyZShiRnJhbWUubmFtZSk7Ci0g
ICAgICAgIH0KLSAgICAgICAgZnJhbWVJZHMuc29ydChjb21wYXJlRnVuYyk7Ci0KLSAgICAgICAg
aWYgKCFmcmFtZUlkcy5sZW5ndGgpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCIgICAgKGVtcHR5KSIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZnJhbWVJZHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAg
ICAgIHZhciBmcmFtZUlkID0gZnJhbWVJZHNbaV07Ci0gICAgICAgICAgICB2YXIgZnJhbWUgPSBX
ZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuZnJhbWVGb3JJZChmcmFtZUlkKTsKLSAgICAg
ICAgICAgIHZhciBtYW5pZmVzdFVSTCA9IG1vZGVsLl9tYW5pZmVzdFVSTHNCeUZyYW1lW2ZyYW1l
SWRdOwotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBGcmFtZTogIiAr
IGZyYW1lLm5hbWUgKyAiICgiICsgZnJhbWUudXJsICsgIikgaGFzIG1hbmlmZXN0IHVybDogIiAr
IG1hbmlmZXN0VVJMKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGZ1bmN0aW9uIHdhaXRGb3JG
cmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzKGZyYW1lSWQsIG1hbmlmZXN0VVJMLCBzdGF0dXMsIGNh
bGxiYWNrKQotICAgIHsKLSAgICAgICAgdmFyIGZyYW1lTWFuaWZlc3RTdGF0dXMgPSBXZWJJbnNw
ZWN0b3IucGFuZWxzLnJlc291cmNlcy5fYXBwbGljYXRpb25DYWNoZU1vZGVsLmZyYW1lTWFuaWZl
c3RTdGF0dXMoZnJhbWVJZCk7Ci0gICAgICAgIHZhciBmcmFtZU1hbmlmZXN0VVJMID0gV2ViSW5z
cGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuX2FwcGxpY2F0aW9uQ2FjaGVNb2RlbC5mcmFtZU1hbmlm
ZXN0VVJMKGZyYW1lSWQpOwotICAgICAgICBpZiAoZnJhbWVNYW5pZmVzdFN0YXR1cyA9PT0gc3Rh
dHVzICYmIGZyYW1lTWFuaWZlc3RVUkwuaW5kZXhPZihtYW5pZmVzdFVSTCkgIT09IC0xKSB7Ci0g
ICAgICAgICAgICBjYWxsYmFjaygpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0K
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlv
bkNhY2hlTW9kZWwucHJvdG90eXBlLCAiX2ZyYW1lTWFuaWZlc3RVcGRhdGVkIiwgd2FpdEZvckZy
YW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMuYmluZCh0aGlzLCBmcmFtZUlkLCBtYW5pZmVzdFVSTCwg
c3RhdHVzLCBjYWxsYmFjaykpOwotICAgIH0KLQogICAgIHZhciBmcmFtZUlkMTsKICAgICB2YXIg
ZnJhbWVJZDI7CiAgICAgdmFyIGZyYW1lSWQzOwogCiAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5l
bCgicmVzb3VyY2VzIik7Ci0gICAgZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICBjcmVhdGVB
bmROYXZpZ2F0ZUlGcmFtZSgicmVzb3VyY2VzL3BhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFuaWZl
c3RJZD0xIiwgc3RlcDEpOworICAgIEluc3BlY3RvclRlc3Quc3RhcnRBcHBsaWNhdGlvbkNhY2hl
U3RhdHVzZXNSZWNvcmRpbmcoKTsKKyAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNh
Y2hlKCk7CisgICAgSW5zcGVjdG9yVGVzdC5jcmVhdGVBbmROYXZpZ2F0ZUlGcmFtZSgicmVzb3Vy
Y2VzL3BhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xIiwgc3RlcDEpOwogCiAgICAg
ZnVuY3Rpb24gc3RlcDEoZnJhbWVJZCkKICAgICB7CiAgICAgICAgIGZyYW1lSWQxID0gZnJhbWVJ
ZDsKLSAgICAgICAgd2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJhbWVJZDEsICJt
YW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xIiwgYXBwbGljYXRpb25DYWNoZS5JRExFLCBzdGVwMik7
CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMo
ZnJhbWVJZDEsICJtYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xIiwgYXBwbGljYXRpb25DYWNoZS5J
RExFLCBzdGVwMik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gc3RlcDIoKQogICAgIHsKLSAgICAg
ICAgZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKLSAgICAgICAgbmF2aWdhdGVJRnJhbWUoZnJhbWVJ
ZDEsICJyZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIiLCBzdGVw
Myk7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkcygpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0Lm5hdmlnYXRlSUZyYW1lKGZyYW1lSWQxLCAicmVzb3VyY2Vz
L3BhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yIiwgc3RlcDMpOwogICAgIH0KIAog
ICAgIGZ1bmN0aW9uIHN0ZXAzKGZyYW1lSWQpCiAgICAgewotICAgICAgICB3YWl0Rm9yRnJhbWVN
YW5pZmVzdFVSTEFuZFN0YXR1cyhmcmFtZUlkMSwgIm1hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIi
LCBhcHBsaWNhdGlvbkNhY2hlLklETEUsIHN0ZXA0KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53
YWl0Rm9yRnJhbWVNYW5pZmVzdFVSTEFuZFN0YXR1cyhmcmFtZUlkMSwgIm1hbmlmZXN0LnBocD9t
YW5pZmVzdElkPTIiLCBhcHBsaWNhdGlvbkNhY2hlLklETEUsIHN0ZXA0KTsKICAgICB9CiAKICAg
ICBmdW5jdGlvbiBzdGVwNCgpCiAgICAgewotICAgICAgICBkdW1wQXBwbGljYXRpb25DYWNoZSgp
OwotICAgICAgICBjcmVhdGVBbmROYXZpZ2F0ZUlGcmFtZSgicmVzb3VyY2VzL3BhZ2Utd2l0aC1t
YW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xIiwgc3RlcDUpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmR1bXBBcHBsaWNhdGlvbkNhY2hlKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxp
Y2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHMoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jcmVh
dGVBbmROYXZpZ2F0ZUlGcmFtZSgicmVzb3VyY2VzL3BhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFu
aWZlc3RJZD0xIiwgc3RlcDUpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0ZXA1KGZyYW1lSWQp
CiAgICAgewogICAgICAgICBmcmFtZUlkMiA9IGZyYW1lSWQ7Ci0gICAgICAgIHdhaXRGb3JGcmFt
ZU1hbmlmZXN0VVJMQW5kU3RhdHVzKGZyYW1lSWQyLCAibWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9
MSIsIGFwcGxpY2F0aW9uQ2FjaGUuSURMRSwgc3RlcDYpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LndhaXRGb3JGcmFtZU1hbmlmZXN0VVJMQW5kU3RhdHVzKGZyYW1lSWQyLCAibWFuaWZlc3QucGhw
P21hbmlmZXN0SWQ9MSIsIGFwcGxpY2F0aW9uQ2FjaGUuSURMRSwgc3RlcDYpOwogICAgIH0KIAog
ICAgIGZ1bmN0aW9uIHN0ZXA2KCkKICAgICB7Ci0gICAgICAgIGR1bXBBcHBsaWNhdGlvbkNhY2hl
KCk7Ci0gICAgICAgIGNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKCJyZXNvdXJjZXMvcGFnZS13aXRo
LW1hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEiLCBzdGVwNyk7CisgICAgICAgIEluc3BlY3RvclRl
c3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBw
bGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkcygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmNy
ZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKCJyZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBocD9t
YW5pZmVzdElkPTEiLCBzdGVwNyk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gc3RlcDcoZnJhbWVJ
ZCkKICAgICB7CiAgICAgICAgIGZyYW1lSWQzID0gZnJhbWVJZDsKLSAgICAgICAgd2FpdEZvckZy
YW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJhbWVJZDMsICJtYW5pZmVzdC5waHA/bWFuaWZlc3RJ
ZD0xIiwgYXBwbGljYXRpb25DYWNoZS5JRExFLCBzdGVwOCk7CisgICAgICAgIEluc3BlY3RvclRl
c3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJhbWVJZDMsICJtYW5pZmVzdC5w
aHA/bWFuaWZlc3RJZD0xIiwgYXBwbGljYXRpb25DYWNoZS5JRExFLCBzdGVwOCk7CiAgICAgfQog
CiAgICAgZnVuY3Rpb24gc3RlcDgoKQogICAgIHsKLSAgICAgICAgZHVtcEFwcGxpY2F0aW9uQ2Fj
aGUoKTsKLSAgICAgICAgcmVtb3ZlSUZyYW1lKGZyYW1lSWQzLCBzdGVwOSk7CisgICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5kdW1wQXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkcygpOworICAgICAgICBJbnNwZWN0
b3JUZXN0LnJlbW92ZUlGcmFtZShmcmFtZUlkMywgc3RlcDkpOwogICAgIH0KIAogICAgIGZ1bmN0
aW9uIHN0ZXA5KGZyYW1lSWQpCiAgICAgewotICAgICAgICB3YWl0Rm9yRnJhbWVNYW5pZmVzdFVS
TEFuZFN0YXR1cyhmcmFtZUlkMywgIiIsIGFwcGxpY2F0aW9uQ2FjaGUuVU5DQUNIRUQsIHN0ZXAx
MCk7CisgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0
dXMoZnJhbWVJZDMsICIiLCBhcHBsaWNhdGlvbkNhY2hlLlVOQ0FDSEVELCBzdGVwMTApOwogICAg
IH0KIAogICAgIGZ1bmN0aW9uIHN0ZXAxMCgpCiAgICAgewotICAgICAgICBkdW1wQXBwbGljYXRp
b25DYWNoZSgpOwotICAgICAgICByZW1vdmVJRnJhbWUoZnJhbWVJZDIsIHN0ZXAxMSk7CisgICAg
ICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkcygpOworICAgICAgICBJ
bnNwZWN0b3JUZXN0LnJlbW92ZUlGcmFtZShmcmFtZUlkMiwgc3RlcDExKTsKICAgICB9CiAKICAg
ICBmdW5jdGlvbiBzdGVwMTEoZnJhbWVJZCkKICAgICB7Ci0gICAgICAgIHdhaXRGb3JGcmFtZU1h
bmlmZXN0VVJMQW5kU3RhdHVzKGZyYW1lSWQyLCAiIiwgYXBwbGljYXRpb25DYWNoZS5VTkNBQ0hF
RCwgc3RlcDEyKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0Rm9yRnJhbWVNYW5pZmVzdFVS
TEFuZFN0YXR1cyhmcmFtZUlkMiwgIiIsIGFwcGxpY2F0aW9uQ2FjaGUuVU5DQUNIRUQsIHN0ZXAx
Mik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gc3RlcDEyKCkKICAgICB7Ci0gICAgICAgIGR1bXBB
cHBsaWNhdGlvbkNhY2hlKCk7Ci0gICAgICAgIHJlbW92ZUlGcmFtZShmcmFtZUlkMSwgc3RlcDEz
KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZSgpOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlU3RhdHVzZXNSZWNvcmRzKCk7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QucmVtb3ZlSUZyYW1lKGZyYW1lSWQxLCBzdGVwMTMpOwogICAg
IH0KIAogICAgIGZ1bmN0aW9uIHN0ZXAxMyhmcmFtZUlkKQogICAgIHsKLSAgICAgICAgd2FpdEZv
ckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJhbWVJZDEsICIiLCBhcHBsaWNhdGlvbkNhY2hl
LlVOQ0FDSEVELCBzdGVwMTQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LndhaXRGb3JGcmFtZU1h
bmlmZXN0VVJMQW5kU3RhdHVzKGZyYW1lSWQxLCAiIiwgYXBwbGljYXRpb25DYWNoZS5VTkNBQ0hF
RCwgc3RlcDE0KTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBzdGVwMTQoKQogICAgIHsKLSAgICAg
ICAgZHVtcEFwcGxpY2F0aW9uQ2FjaGUoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBw
bGljYXRpb25DYWNoZSgpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNh
Y2hlU3RhdHVzZXNSZWNvcmRzKCk7CiAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS1tYW5pZmVzdC13aXRoLW5vbi1leGlzdGluZy1maWxl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNl
LXRyZWUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmlsZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTdiMDU4MDBhODEyZWMxMDE2MzBhMDQyZGNmOWYzNjM3ZDZkZWU0ZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmlsZS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwyMiBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDA6IEFwcGxpY2F0
aW9uIENhY2hlIHVwZGF0ZSBmYWlsZWQsIGJlY2F1c2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9ub24tZXhpc3RpbmctZmlsZSBjb3VsZCBu
b3QgYmUgZmV0Y2hlZC4KK1Rlc3RzIHRoYXQgYXBwbGljYXRpb24gY2FjaGUgbW9kZWwga2VlcHMg
dHJhY2sgb2YgbWFuaWZlc3QgdXJscyBhbmQgc3RhdHVzZXMgY29ycmVjdGx5IHdoZW4gdGhlcmUg
aXMgYSBub24gZXhpc3RpbmcgZmlsZSBsaXN0ZWQgaW4gbWFuaWZlc3QuCisKK0J1ZyA2NDU4MQor
RHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgorICAgIChlbXB0eSkKK0R1bXBpbmcgYXBw
bGljYXRpb24gY2FjaGUgbW9kZWw6CisgICAgKGVtcHR5KQorCitEdW1waW5nIGFwcGxpY2F0aW9u
IGNhY2hlIHRyZWU6CisgICAgKGVtcHR5KQorRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2Rl
bDoKKyAgICAoZW1wdHkpCisKK0R1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgc3RhdHVzZXMgcmVj
b3JkczoKKyAgICBGcmFtZTogZnJhbWUxCisgICAgICAgIG1hbmlmZXN0IHVybDogCisgICAgICAg
IHN0YXR1czogICAgICAgVU5DQUNIRUQKKyAgICAgICAgbWFuaWZlc3QgdXJsOiAKKyAgICAgICAg
c3RhdHVzOiAgICAgICBET1dOTE9BRElORworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1u
b24tZXhpc3RpbmctZmlsZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2UtdHJlZS9hcHBjYWNoZS1tYW5pZmVzdC13aXRoLW5vbi1leGlzdGluZy1maWxlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTZkYmUyMjlmMDQ3NWZiZGVlZjEwMzhlZmE5NGJhNTkyNmY0NDYyNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291
cmNlLXRyZWUvYXBwY2FjaGUtbWFuaWZlc3Qtd2l0aC1ub24tZXhpc3RpbmctZmlsZS5odG1sCkBA
IC0wLDAgKzEsNDMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaW5zcGVjdG9y
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImFwcGNhY2hlLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciBmcmFtZUlkMTsKKyAg
ICB2YXIgZnJhbWVJZDI7CisgICAgdmFyIGZyYW1lSWQzOworCisgICAgV2ViSW5zcGVjdG9yLnNo
b3dQYW5lbCgicmVzb3VyY2VzIik7CisgICAgSW5zcGVjdG9yVGVzdC5zdGFydEFwcGxpY2F0aW9u
Q2FjaGVTdGF0dXNlc1JlY29yZGluZygpOworICAgIEluc3BlY3RvclRlc3QuZHVtcEFwcGxpY2F0
aW9uQ2FjaGUoKTsKKyAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKCJy
ZXNvdXJjZXMvcGFnZS13aXRoLW1hbmlmZXN0LnBocD9tYW5pZmVzdElkPXdpdGgtbm9uLWV4aXN0
aW5nLWZpbGUiLCBzdGVwMSk7CisKKyAgICBmdW5jdGlvbiBzdGVwMShmcmFtZUlkKQorICAgIHsK
KyAgICAgICAgZnJhbWVJZDEgPSBmcmFtZUlkOworICAgICAgICAvLyBXZSBhcmUgd2FpdGluZyBm
b3IgRE9XTkxPQURJTkcgZXZlbnQgaGVyZSwgYmVjYXVzZSBpdCBpcyB0aGUgb25lIHRoYXQKKyAg
ICAgICAgLy8gaXMgc2VudCBib3RoIGluIGNocm9taXVtIGFuZCB3ZWJjb3JlIGFwcGxpY2F0aW9u
IGNhY2hlIGltcGxlbWVudGF0aW9uLgorICAgICAgICBJbnNwZWN0b3JUZXN0LmVuc3VyZUZyYW1l
TWFuaWZlc3RTdGF0dXNFdmVudFJlY2VpdmVkKGZyYW1lSWQsIGFwcGxpY2F0aW9uQ2FjaGUuRE9X
TkxPQURJTkcsIHN0ZXAyKQorICAgIH0KKworICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7Cisg
ICAgICAgIEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMoZnJh
bWVJZDEsICIiLCBhcHBsaWNhdGlvbkNhY2hlLlVOQ0FDSEVELCBzdGVwMyk7CisgICAgfQorCisg
ICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBw
bGljYXRpb25DYWNoZSgpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNh
Y2hlU3RhdHVzZXNSZWNvcmRzKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0
KCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Cis8cD5UZXN0cyB0aGF0IGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsIGtlZXBzIHRyYWNrIG9m
IG1hbmlmZXN0IHVybHMgYW5kIHN0YXR1c2VzIGNvcnJlY3RseSB3aGVuIHRoZXJlIGlzIGEgbm9u
IGV4aXN0aW5nIGZpbGUgbGlzdGVkIGluIG1hbmlmZXN0LjwvcD4KKzxhIGhyZWY9Imh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDU4MSI+QnVnIDY0NTgxPC9hPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9hcHBjYWNoZS10ZXN0LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdh
N2I1ZTNiYjg2ZjU3MjY2MTFmNjExNDg1ZTViOGI5MDUzYzQxYzcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL2FwcGNhY2hl
LXRlc3QuanMKQEAgLTAsMCArMSwyMzAgQEAKK3ZhciBmcmFtZXNDb3VudCA9IDA7CisKK2Z1bmN0
aW9uIGNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKHVybCkKK3sKKyAgICBpZnJhbWUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICBpZnJhbWUuc3JjID0gdXJsOworICAgIGlm
cmFtZS5uYW1lID0gImZyYW1lIiArICsrZnJhbWVzQ291bnQ7CisgICAgaWZyYW1lLmlkID0gaWZy
YW1lLm5hbWU7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworfQorCitm
dW5jdGlvbiByZW1vdmVJRnJhbWUobmFtZSkKK3sKKyAgICBpZnJhbWUgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCIjIiArIG5hbWUpOworICAgIGlmcmFtZS5wYXJlbnRFbGVtZW50LnJlbW92ZUNo
aWxkKGlmcmFtZSk7Cit9CisKK2Z1bmN0aW9uIG5hdmlnYXRlSUZyYW1lKG5hbWUsIHVybCkKK3sK
KyAgICBpZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIiArIG5hbWUpOworICAgIGlm
cmFtZS5zcmMgPSB1cmw7Cit9CisKK3ZhciBpbml0aWFsaXplX0FwcGxpY2F0aW9uQ2FjaGVUZXN0
ID0gZnVuY3Rpb24oKSB7CisKK0luc3BlY3RvclRlc3QuY3JlYXRlQW5kTmF2aWdhdGVJRnJhbWUg
PSBmdW5jdGlvbih1cmwsIGNhbGxiYWNrKQoreworICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZl
cihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLCAiX2ZyYW1lTmF2aWdh
dGVkIiwgZnJhbWVOYXZpZ2F0ZWQpOworICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
ImNyZWF0ZUFuZE5hdmlnYXRlSUZyYW1lKHVuZXNjYXBlKCciICsgZXNjYXBlKHVybCkgKyAiJykp
Iik7CisKKyAgICBmdW5jdGlvbiBmcmFtZU5hdmlnYXRlZChmcmFtZSkKKyAgICB7CisgICAgICAg
IGNhbGxiYWNrKGZyYW1lLmlkKTsKKyAgICB9Cit9CisKK0luc3BlY3RvclRlc3QubmF2aWdhdGVJ
RnJhbWUgPSBmdW5jdGlvbihmcmFtZUlkLCB1cmwsIGNhbGxiYWNrKQoreworICAgIHZhciBmcmFt
ZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5mcmFtZUZvcklkKGZyYW1lSWQpCisg
ICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgibmF2aWdhdGVJRnJhbWUodW5lc2NhcGUo
JyIgKyBlc2NhcGUoZnJhbWUubmFtZSkgKyInKSwgdW5lc2NhcGUoJyIgKyBlc2NhcGUodXJsKSAr
ICInKSkiKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLlJlc291
cmNlVHJlZU1vZGVsLnByb3RvdHlwZSwgIl9mcmFtZU5hdmlnYXRlZCIsIGZyYW1lTmF2aWdhdGVk
KTsKKworICAgIGZ1bmN0aW9uIGZyYW1lTmF2aWdhdGVkKGZyYW1lKQorICAgIHsKKyAgICAgICAg
Y2FsbGJhY2soZnJhbWUuaWQpOworICAgIH0KK30KKworSW5zcGVjdG9yVGVzdC5yZW1vdmVJRnJh
bWUgPSBmdW5jdGlvbihmcmFtZUlkLCBjYWxsYmFjaykKK3sKKyAgICB2YXIgZnJhbWUgPSBXZWJJ
bnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuZnJhbWVGb3JJZChmcmFtZUlkKQorICAgIEluc3Bl
Y3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInJlbW92ZUlGcmFtZSh1bmVzY2FwZSgnIiArIGVzY2Fw
ZShmcmFtZS5uYW1lKSArIicpKSIpOworICAgIEluc3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJ
bnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLCAiX2ZyYW1lRGV0YWNoZWQiLCBm
cmFtZURldGFjaGVkKTsKKworICAgIGZ1bmN0aW9uIGZyYW1lRGV0YWNoZWQoZnJhbWUpCisgICAg
eworICAgICAgICBjYWxsYmFjayhmcmFtZS5pZCk7CisgICAgfQorfQorCitJbnNwZWN0b3JUZXN0
LmR1bXBBcHBsaWNhdGlvbkNhY2hlID0gZnVuY3Rpb24oKQoreworICAgIEluc3BlY3RvclRlc3Qu
ZHVtcEFwcGxpY2F0aW9uQ2FjaGVUcmVlKCk7CisgICAgSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGlj
YXRpb25DYWNoZU1vZGVsKCk7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworfQor
CitJbnNwZWN0b3JUZXN0LmR1bXBBcHBsaWNhdGlvbkNhY2hlVHJlZSA9IGZ1bmN0aW9uKCkKK3sK
KyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0
cmVlOiIpOworICAgIHZhciBhcHBsaWNhdGlvbkNhY2hlVHJlZUVsZW1lbnQgPSBXZWJJbnNwZWN0
b3IucGFuZWxzLnJlc291cmNlcy5hcHBsaWNhdGlvbkNhY2hlTGlzdFRyZWVFbGVtZW50OworICAg
IGlmICghYXBwbGljYXRpb25DYWNoZVRyZWVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCkgeworICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgIChlbXB0eSkiKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFwcGxpY2F0aW9uQ2FjaGVUcmVl
RWxlbWVudC5jaGlsZHJlbi5sZW5ndGg7ICsraSkgeworICAgICAgICB2YXIgbWFuaWZlc3RUcmVl
RWxlbWVudCA9IGFwcGxpY2F0aW9uQ2FjaGVUcmVlRWxlbWVudC5jaGlsZHJlbltpXTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBNYW5pZmVzdCBVUkw6ICIgKyBtYW5pZmVz
dFRyZWVFbGVtZW50Lm1hbmlmZXN0VVJMKTsKKyAgICAgICAgaWYgKCFtYW5pZmVzdFRyZWVFbGVt
ZW50LmNoaWxkcmVuLmxlbmd0aCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIiAgICAobm8gZnJhbWVzKSIpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0K
KyAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBtYW5pZmVzdFRyZWVFbGVtZW50LmNoaWxkcmVu
Lmxlbmd0aDsgKytqKSB7CisgICAgICAgICAgICB2YXIgZnJhbWVUcmVlRWxlbWVudCA9IG1hbmlm
ZXN0VHJlZUVsZW1lbnQuY2hpbGRyZW5bal07CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiICAgICAgICBGcmFtZTogIiArIGZyYW1lVHJlZUVsZW1lbnQuZGlzcGxheU5hbWUp
OworICAgICAgICB9CisgICAgfQorfQorCitJbnNwZWN0b3JUZXN0LmZyYW1lSWRUb1N0cmluZyA9
IGZ1bmN0aW9uKGZyYW1lSWQpCit7CisgICAgaWYgKCFJbnNwZWN0b3JUZXN0LmZyYW1lc0J5RnJh
bWVJZCkKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5mcmFtZXNCeUZyYW1lSWQgPSB7fTsKKyAgICB2
YXIgZnJhbWUgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuZnJhbWVGb3JJZChmcmFt
ZUlkKTsKKyAgICBpZiAoIWZyYW1lKQorICAgICAgICBmcmFtZSA9IEluc3BlY3RvclRlc3QuZnJh
bWVzQnlGcmFtZUlkW2ZyYW1lSWRdOworICAgIEluc3BlY3RvclRlc3QuZnJhbWVzQnlGcmFtZUlk
W2ZyYW1lSWRdID0gZnJhbWU7CisKKyAgICByZXR1cm4gZnJhbWUubmFtZTsKK30KKworSW5zcGVj
dG9yVGVzdC5hcHBsaWNhdGlvbkNhY2hlU3RhdHVzVG9TdHJpbmcgPSBmdW5jdGlvbihzdGF0dXMp
Cit7CisgICAgdmFyIHN0YXR1c0luZm9ybWF0aW9uID0ge307CisgICAgc3RhdHVzSW5mb3JtYXRp
b25bYXBwbGljYXRpb25DYWNoZS5VTkNBQ0hFRF0gICAgPSAiVU5DQUNIRUQiOworICAgIHN0YXR1
c0luZm9ybWF0aW9uW2FwcGxpY2F0aW9uQ2FjaGUuSURMRV0gICAgICAgID0gIklETEUiOworICAg
IHN0YXR1c0luZm9ybWF0aW9uW2FwcGxpY2F0aW9uQ2FjaGUuQ0hFQ0tJTkddICAgID0gIkNIRUNL
SU5HIjsKKyAgICBzdGF0dXNJbmZvcm1hdGlvblthcHBsaWNhdGlvbkNhY2hlLkRPV05MT0FESU5H
XSA9ICJET1dOTE9BRElORyI7CisgICAgc3RhdHVzSW5mb3JtYXRpb25bYXBwbGljYXRpb25DYWNo
ZS5VUERBVEVSRUFEWV0gPSAiVVBEQVRFUkVBRFkiOworICAgIHN0YXR1c0luZm9ybWF0aW9uW2Fw
cGxpY2F0aW9uQ2FjaGUuT0JTT0xFVEVdICAgID0gIk9CU09MRVRFIjsKKyAgICByZXR1cm4gc3Rh
dHVzSW5mb3JtYXRpb25bc3RhdHVzXSB8fCBzdGF0dXNJbmZvcm1hdGlvblthcHBsaWNhdGlvbkNh
Y2hlLlVOQ0FDSEVEXTsKK30KKworSW5zcGVjdG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZU1v
ZGVsID0gZnVuY3Rpb24oKQoreworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJEdW1waW5n
IGFwcGxpY2F0aW9uIGNhY2hlIG1vZGVsOiIpOworICAgIHZhciBtb2RlbCA9IFdlYkluc3BlY3Rv
ci5wYW5lbHMucmVzb3VyY2VzLl9hcHBsaWNhdGlvbkNhY2hlTW9kZWw7CisKKyAgICB2YXIgZnJh
bWVJZHMgPSBbXTsKKyAgICBmb3IgKHZhciBmcmFtZUlkIGluIG1vZGVsLl9tYW5pZmVzdFVSTHNC
eUZyYW1lKSB7CisgICAgICAgIGZyYW1lSWRzLnB1c2goZnJhbWVJZCk7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gY29tcGFyZUZ1bmMoYSwgYikgeworICAgICAgICByZXR1cm4gSW5zcGVjdG9yVGVz
dC5mcmFtZUlkVG9TdHJpbmcoZnJhbWVJZCkubG9jYWxlQ29tcGFyZShJbnNwZWN0b3JUZXN0LmZy
YW1lSWRUb1N0cmluZyhmcmFtZUlkKSk7CisgICAgfQorICAgIGZyYW1lSWRzLnNvcnQoY29tcGFy
ZUZ1bmMpOworCisgICAgaWYgKCFmcmFtZUlkcy5sZW5ndGgpIHsKKyAgICAgICAgSW5zcGVjdG9y
VGVzdC5hZGRSZXN1bHQoIiAgICAoZW1wdHkpIik7CisgICAgICAgIHJldHVybjsKKyAgICB9Cisg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmcmFtZUlkcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2
YXIgZnJhbWVJZCA9IGZyYW1lSWRzW2ldOworICAgICAgICB2YXIgbWFuaWZlc3RVUkwgPSBtb2Rl
bC5mcmFtZU1hbmlmZXN0VVJMKGZyYW1lSWQpOworICAgICAgICB2YXIgc3RhdHVzID0gbW9kZWwu
ZnJhbWVNYW5pZmVzdFN0YXR1cyhmcmFtZUlkKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIiAgICBGcmFtZTogIiArIEluc3BlY3RvclRlc3QuZnJhbWVJZFRvU3RyaW5nKGZyYW1l
SWQpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAgICAgbWFuaWZlc3Qg
dXJsOiAiICsgbWFuaWZlc3RVUkwpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgi
ICAgICAgICBzdGF0dXM6ICAgICAgICIgKyBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVT
dGF0dXNUb1N0cmluZyhzdGF0dXMpKTsKKyAgICB9Cit9CisKK0luc3BlY3RvclRlc3Qud2FpdEZv
ckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMgPSBmdW5jdGlvbihmcmFtZUlkLCBtYW5pZmVzdFVS
TCwgc3RhdHVzLCBjYWxsYmFjaykKK3sKKyAgICB2YXIgZnJhbWVNYW5pZmVzdFN0YXR1cyA9IFdl
Ykluc3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLl9hcHBsaWNhdGlvbkNhY2hlTW9kZWwuZnJhbWVN
YW5pZmVzdFN0YXR1cyhmcmFtZUlkKTsKKyAgICB2YXIgZnJhbWVNYW5pZmVzdFVSTCA9IFdlYklu
c3BlY3Rvci5wYW5lbHMucmVzb3VyY2VzLl9hcHBsaWNhdGlvbkNhY2hlTW9kZWwuZnJhbWVNYW5p
ZmVzdFVSTChmcmFtZUlkKTsKKyAgICBpZiAoZnJhbWVNYW5pZmVzdFN0YXR1cyA9PT0gc3RhdHVz
ICYmIGZyYW1lTWFuaWZlc3RVUkwuaW5kZXhPZihtYW5pZmVzdFVSTCkgIT09IC0xKSB7CisgICAg
ICAgIGNhbGxiYWNrKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB2YXIgaGFuZGxl
ciA9IEluc3BlY3RvclRlc3Qud2FpdEZvckZyYW1lTWFuaWZlc3RVUkxBbmRTdGF0dXMuYmluZCh0
aGlzLCBmcmFtZUlkLCBtYW5pZmVzdFVSTCwgc3RhdHVzLCBjYWxsYmFjayk7CisgICAgSW5zcGVj
dG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTW9kZWwucHJv
dG90eXBlLCAiX2ZyYW1lTWFuaWZlc3RVcGRhdGVkIiwgaGFuZGxlcik7Cit9CisKK0luc3BlY3Rv
clRlc3Quc3RhcnRBcHBsaWNhdGlvbkNhY2hlU3RhdHVzZXNSZWNvcmRpbmcgPSBmdW5jdGlvbigp
Cit7CisgICAgaWYgKEluc3BlY3RvclRlc3QuYXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3Jk
cykgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29y
ZHMgPSB7fTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QuYXBw
bGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkcyA9IHt9OworICAgIGZ1bmN0aW9uIGFkZFJlY29y
ZChmcmFtZUlkLCBtYW5pZmVzdFVSTCwgc3RhdHVzKSB7CisgICAgICAgIHZhciByZWNvcmQgPSB7
fTsKKyAgICAgICAgcmVjb3JkLm1hbmlmZXN0VVJMID0gbWFuaWZlc3RVUkw7CisgICAgICAgIHJl
Y29yZC5zdGF0dXMgPSBzdGF0dXM7CisgICAgICAgIGlmICghSW5zcGVjdG9yVGVzdC5hcHBsaWNh
dGlvbkNhY2hlU3RhdHVzZXNSZWNvcmRzW2ZyYW1lSWRdKQorICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5hcHBsaWNhdGlvbkNhY2hlU3RhdHVzZXNSZWNvcmRzW2ZyYW1lSWRdID0gW107CisgICAg
ICAgIEluc3BlY3RvclRlc3QuYXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3Jkc1tmcmFtZUlk
XS5wdXNoKHJlY29yZCk7CisgICAgICAgIGlmIChJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZU1h
bmlmZXN0U3RhdHVzZXMgJiYgSW5zcGVjdG9yVGVzdC5hd2FpdGVkRnJhbWVNYW5pZmVzdFN0YXR1
c2VzW2ZyYW1lSWRdLnN0YXR1cyA9PT0gc3RhdHVzKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hd2FpdGVkRnJhbWVNYW5pZmVzdFN0YXR1c2VzW2ZyYW1lSWRdLmNhbGxiYWNrKCk7CisgICAg
fQorCisgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVyKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlv
bkNhY2hlTW9kZWwucHJvdG90eXBlLCAiX2ZyYW1lTWFuaWZlc3RVcGRhdGVkIiwgYWRkUmVjb3Jk
LCB0cnVlKTsKK30KKworSW5zcGVjdG9yVGVzdC5lbnN1cmVGcmFtZU1hbmlmZXN0U3RhdHVzRXZl
bnRSZWNlaXZlZCA9IGZ1bmN0aW9uKGZyYW1lSWQsIHN0YXR1cywgY2FsbGJhY2spCit7CisgICAg
dmFyIHJlY29yZHMgPSBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29y
ZHNbZnJhbWVJZF0gfHwgW107CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZWNvcmRzLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGlmIChyZWNvcmRzW2ldLnN0YXR1cyA9PT0gc3RhdHVzKSB7Cisg
ICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgfQorICAgIGlmICghSW5zcGVjdG9yVGVzdC5hd2FpdGVkRnJhbWVNYW5pZmVzdFN0YXR1c2Vz
KQorICAgICAgICBJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZU1hbmlmZXN0U3RhdHVzZXMgPSB7
fTsKKyAgICBJbnNwZWN0b3JUZXN0LmF3YWl0ZWRGcmFtZU1hbmlmZXN0U3RhdHVzZXNbZnJhbWVJ
ZF0gPSB7IHN0YXR1czogc3RhdHVzLCBjYWxsYmFjazogY2FsbGJhY2sgfTsKK30KKworSW5zcGVj
dG9yVGVzdC5kdW1wQXBwbGljYXRpb25DYWNoZVN0YXR1c2VzUmVjb3JkcyA9IGZ1bmN0aW9uKCkK
K3sKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNo
ZSBzdGF0dXNlcyByZWNvcmRzOiIpOworICAgIHZhciBmcmFtZUlkcyA9IFtdOworICAgIGZvciAo
dmFyIGZyYW1lSWQgaW4gSW5zcGVjdG9yVGVzdC5hcHBsaWNhdGlvbkNhY2hlU3RhdHVzZXNSZWNv
cmRzKSB7CisgICAgICAgIGZyYW1lSWRzLnB1c2goZnJhbWVJZCk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gY29tcGFyZUZ1bmMoYSwgYikgeworICAgICAgICByZXR1cm4gSW5zcGVjdG9yVGVzdC5m
cmFtZUlkVG9TdHJpbmcoZnJhbWVJZCkubG9jYWxlQ29tcGFyZShJbnNwZWN0b3JUZXN0LmZyYW1l
SWRUb1N0cmluZyhmcmFtZUlkKSk7CisgICAgfQorICAgIGZyYW1lSWRzLnNvcnQoY29tcGFyZUZ1
bmMpOworCisgICAgaWYgKCFmcmFtZUlkcy5sZW5ndGgpIHsKKyAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIiAgICAoZW1wdHkpIik7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZnJh
bWVJZHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFyIGZyYW1lSWQgPSBmcmFtZUlkc1tpXTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICBGcmFtZTogIiArIEluc3BlY3Rv
clRlc3QuZnJhbWVJZFRvU3RyaW5nKGZyYW1lSWQpKTsKKyAgICAgICAgdmFyIHJlY29yZHMgPSBJ
bnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHNbZnJhbWVJZF07CisK
KyAgICAgICAgaWYgKCFyZWNvcmRzLmxlbmd0aCkgeworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIiAgICAoZW1wdHkpIik7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgfQorICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHJlY29yZHMubGVuZ3RoOyArK2opIHsK
KyAgICAgICAgICAgIHZhciBtYW5pZmVzdFVSTCA9IHJlY29yZHNbal0ubWFuaWZlc3RVUkw7Cisg
ICAgICAgICAgICB2YXIgc3RhdHVzID0gcmVjb3Jkc1tqXS5zdGF0dXM7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgICAgICBtYW5pZmVzdCB1cmw6ICIgKyBtYW5pZmVz
dFVSTCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgICAgICBzdGF0
dXM6ICAgICAgICIgKyBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0aW9uQ2FjaGVTdGF0dXNUb1N0cmlu
ZyhzdGF0dXMpKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBJbnNwZWN0b3JUZXN0LmFwcGxpY2F0
aW9uQ2FjaGVTdGF0dXNlc1JlY29yZHMgPSB7fTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiIik7Cit9CisKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHAgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHAK
aW5kZXggNjdhNWQxMjA2ZGM1MzZiNGU5NjUzMDE2MDhkOTIyNjIxZDVmY2E2Ni4uMGI5ZjhlZGI3
ZTBlZjQ5ZGRmMmJjMDY5ZDUzODZhM2FhNGNmODQ5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhw
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL21hbmlmZXN0LnBocApAQCAtOCw1ICs4LDggQEAKIAogICAgIGVjaG8oIkNBQ0hFIE1B
TklGRVNUXG4iKTsKICAgICBlY2hvKCIjICIgLiAkbWFuaWZlc3RJZCAuICJcbiIpOwotICAgIGVj
aG8oInBhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0iIC4gJG1hbmlmZXN0SWQpOwor
ICAgIGVjaG8oInBhZ2Utd2l0aC1tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0iIC4gJG1hbmlmZXN0
SWQgLiAiXG4iKTsKKworICAgIGlmICgkbWFuaWZlc3RJZCA9PSAid2l0aC1ub24tZXhpc3Rpbmct
ZmlsZSIpCisgICAgICAgIGVjaG8oIm5vbi1leGlzdGluZy1maWxlXG4iKTsKID8+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL2FwcGNhY2hlLWlmcmFtZS1tYW5pZmVzdHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9hcHBjYWNoZS1pZnJhbWUtbWFuaWZlc3RzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
OWE5N2U0YzJkZDM3MmQ0MWMyNzA1YmE0NTc2OTc3NjJkN2NmYWQ0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9hcHBjYWNoZS1pZnJhbWUtbWFuaWZlc3RzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEyNyBAQAorVGVzdHMgdGhhdCBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbCBrZWVwcyB0cmFj
ayBvZiBtYW5pZmVzdCB1cmxzIGFuZCBzdGF0dXNlcyBjb3JyZWN0bHkuCisKK0J1ZyA2NDU4MQor
RHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgorICAgIChlbXB0eSkKK0R1bXBpbmcgYXBw
bGljYXRpb24gY2FjaGUgbW9kZWw6CisgICAgKGVtcHR5KQorCitEdW1waW5nIGFwcGxpY2F0aW9u
IGNhY2hlIHRyZWU6CisgICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5z
cGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEK
KyAgICAgICAgRnJhbWU6IGZyYW1lMSAocGFnZS13aXRoLW1hbmlmZXN0LnBocCkKK0R1bXBpbmcg
YXBwbGljYXRpb24gY2FjaGUgbW9kZWw6CisgICAgRnJhbWU6IGZyYW1lMQorICAgICAgICBtYW5p
ZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9y
ZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQorICAgICAgICBzdGF0dXM6ICAgICAg
IElETEUKKworRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBzdGF0dXNlcyByZWNvcmRzOgorICAg
IEZyYW1lOiBmcmFtZTEKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVz
dElkPTEKKyAgICAgICAgc3RhdHVzOiAgICAgICBDSEVDS0lORworICAgICAgICBtYW5pZmVzdCB1
cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJj
ZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQorICAgICAgICBzdGF0dXM6ICAgICAgIERPV05M
T0FESU5HCisgICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCisg
ICAgICAgIHN0YXR1czogICAgICAgSURMRQorCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRy
ZWU6CisgICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jl
c291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIKKyAgICAgICAg
RnJhbWU6IGZyYW1lMSAocGFnZS13aXRoLW1hbmlmZXN0LnBocCkKK0R1bXBpbmcgYXBwbGljYXRp
b24gY2FjaGUgbW9kZWw6CisgICAgRnJhbWU6IGZyYW1lMQorICAgICAgICBtYW5pZmVzdCB1cmw6
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMv
bWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MgorICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKKwor
RHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBzdGF0dXNlcyByZWNvcmRzOgorICAgIEZyYW1lOiBm
cmFtZTEKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVj
dG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIKKyAg
ICAgICAgc3RhdHVzOiAgICAgICBDSEVDS0lORworICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZl
c3QucGhwP21hbmlmZXN0SWQ9MgorICAgICAgICBzdGF0dXM6ICAgICAgIERPV05MT0FESU5HCisg
ICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNv
dXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCisgICAgICAgIHN0
YXR1czogICAgICAgSURMRQorCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6CisgICAg
TWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRy
ZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTIKKyAgICAgICAgRnJhbWU6IGZy
YW1lMSAocGFnZS13aXRoLW1hbmlmZXN0LnBocCkKKyAgICBNYW5pZmVzdCBVUkw6IGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3Qu
cGhwP21hbmlmZXN0SWQ9MQorICAgICAgICBGcmFtZTogZnJhbWUyIChwYWdlLXdpdGgtbWFuaWZl
c3QucGhwKQorRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSBtb2RlbDoKKyAgICBGcmFtZTogZnJh
bWUxCisgICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rv
ci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCisgICAg
ICAgIHN0YXR1czogICAgICAgSURMRQorICAgIEZyYW1lOiBmcmFtZTIKKyAgICAgICAgbWFuaWZl
c3QgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVz
b3VyY2VzL21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEKKyAgICAgICAgc3RhdHVzOiAgICAgICBJ
RExFCisKK0R1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgc3RhdHVzZXMgcmVjb3JkczoKKyAgICBG
cmFtZTogZnJhbWUyCisgICAgICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJ
ZD0xCisgICAgICAgIHN0YXR1czogICAgICAgQ0hFQ0tJTkcKKyAgICAgICAgbWFuaWZlc3QgdXJs
OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2Vz
L21hbmlmZXN0LnBocD9tYW5pZmVzdElkPTEKKyAgICAgICAgc3RhdHVzOiAgICAgICBJRExFCisK
K0R1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgdHJlZToKKyAgICBNYW5pZmVzdCBVUkw6IGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZl
c3QucGhwP21hbmlmZXN0SWQ9MgorICAgICAgICBGcmFtZTogZnJhbWUxIChwYWdlLXdpdGgtbWFu
aWZlc3QucGhwKQorICAgIE1hbmlmZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCisg
ICAgICAgIEZyYW1lOiBmcmFtZTIgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCisgICAgICAgIEZy
YW1lOiBmcmFtZTMgKHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCitEdW1waW5nIGFwcGxpY2F0aW9u
IGNhY2hlIG1vZGVsOgorICAgIEZyYW1lOiBmcmFtZTEKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21h
bmlmZXN0LnBocD9tYW5pZmVzdElkPTIKKyAgICAgICAgc3RhdHVzOiAgICAgICBJRExFCisgICAg
RnJhbWU6IGZyYW1lMgorICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0
SWQ9MQorICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKKyAgICBGcmFtZTogZnJhbWUzCisgICAg
ICAgIG1hbmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZS10cmVlL3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCisgICAgICAgIHN0YXR1
czogICAgICAgSURMRQorCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHN0YXR1c2VzIHJlY29y
ZHM6CisgICAgRnJhbWU6IGZyYW1lMgorICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhw
P21hbmlmZXN0SWQ9MQorICAgICAgICBzdGF0dXM6ICAgICAgIENIRUNLSU5HCisgICAgICAgIG1h
bmlmZXN0IHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVl
L3Jlc291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCisgICAgICAgIHN0YXR1czogICAg
ICAgSURMRQorICAgIEZyYW1lOiBmcmFtZTMKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0
LnBocD9tYW5pZmVzdElkPTEKKyAgICAgICAgc3RhdHVzOiAgICAgICBDSEVDS0lORworICAgICAg
ICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2Ut
dHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MQorICAgICAgICBzdGF0dXM6
ICAgICAgIElETEUKKworRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgorICAgIE1hbmlm
ZXN0IFVSTDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jl
c291cmNlcy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0yCisgICAgICAgIEZyYW1lOiBmcmFtZTEg
KHBhZ2Utd2l0aC1tYW5pZmVzdC5waHApCisgICAgTWFuaWZlc3QgVVJMOiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBocD9t
YW5pZmVzdElkPTEKKyAgICAgICAgRnJhbWU6IGZyYW1lMiAocGFnZS13aXRoLW1hbmlmZXN0LnBo
cCkKK0R1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6CisgICAgRnJhbWU6IGZyYW1lMQor
ICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9MgorICAgICAgICBz
dGF0dXM6ICAgICAgIElETEUKKyAgICBGcmFtZTogZnJhbWUyCisgICAgICAgIG1hbmlmZXN0IHVy
bDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD0xCisgICAgICAgIHN0YXR1czogICAgICAgSURMRQor
CitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHN0YXR1c2VzIHJlY29yZHM6CisgICAgKGVtcHR5
KQorCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6CisgICAgTWFuaWZlc3QgVVJMOiBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21h
bmlmZXN0LnBocD9tYW5pZmVzdElkPTIKKyAgICAgICAgRnJhbWU6IGZyYW1lMSAocGFnZS13aXRo
LW1hbmlmZXN0LnBocCkKK0R1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6CisgICAgRnJh
bWU6IGZyYW1lMQorICAgICAgICBtYW5pZmVzdCB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtdHJlZS9yZXNvdXJjZXMvbWFuaWZlc3QucGhwP21hbmlmZXN0SWQ9
MgorICAgICAgICBzdGF0dXM6ICAgICAgIElETEUKKworRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNo
ZSBzdGF0dXNlcyByZWNvcmRzOgorICAgIChlbXB0eSkKKworRHVtcGluZyBhcHBsaWNhdGlvbiBj
YWNoZSB0cmVlOgorICAgIChlbXB0eSkKK0R1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6
CisgICAgKGVtcHR5KQorCitEdW1waW5nIGFwcGxpY2F0aW9uIGNhY2hlIHN0YXR1c2VzIHJlY29y
ZHM6CisgICAgKGVtcHR5KQorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvYXBwY2FjaGUtbWFuaWZl
c3Qtd2l0aC1ub24tZXhpc3RpbmctZmlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL2FwcGNhY2hl
LW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjFjYzI0MzNmNmUzNjFiZTA3MmM5ZGJkMjE2ZjU4MTI5NjY1MmI2YWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS10cmVlL2FwcGNhY2hlLW1hbmlmZXN0LXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK1Rlc3RzIHRoYXQgYXBwbGljYXRpb24gY2FjaGUg
bW9kZWwga2VlcHMgdHJhY2sgb2YgbWFuaWZlc3QgdXJscyBhbmQgc3RhdHVzZXMgY29ycmVjdGx5
IHdoZW4gdGhlcmUgaXMgYSBub24gZXhpc3RpbmcgZmlsZSBsaXN0ZWQgaW4gbWFuaWZlc3QuCisK
K0J1ZyA2NDU4MQorRHVtcGluZyBhcHBsaWNhdGlvbiBjYWNoZSB0cmVlOgorICAgIChlbXB0eSkK
K0R1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUgbW9kZWw6CisgICAgKGVtcHR5KQorCitEdW1waW5n
IGFwcGxpY2F0aW9uIGNhY2hlIHRyZWU6CisgICAgKGVtcHR5KQorRHVtcGluZyBhcHBsaWNhdGlv
biBjYWNoZSBtb2RlbDoKKyAgICAoZW1wdHkpCisKK0R1bXBpbmcgYXBwbGljYXRpb24gY2FjaGUg
c3RhdHVzZXMgcmVjb3JkczoKKyAgICBGcmFtZTogZnJhbWUxCisgICAgICAgIG1hbmlmZXN0IHVy
bDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS10cmVlL3Jlc291cmNl
cy9tYW5pZmVzdC5waHA/bWFuaWZlc3RJZD13aXRoLW5vbi1leGlzdGluZy1maWxlCisgICAgICAg
IHN0YXR1czogICAgICAgQ0hFQ0tJTkcKKyAgICAgICAgbWFuaWZlc3QgdXJsOiBodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLXRyZWUvcmVzb3VyY2VzL21hbmlmZXN0LnBo
cD9tYW5pZmVzdElkPXdpdGgtbm9uLWV4aXN0aW5nLWZpbGUKKyAgICAgICAgc3RhdHVzOiAgICAg
ICBET1dOTE9BRElORworICAgICAgICBtYW5pZmVzdCB1cmw6IAorICAgICAgICBzdGF0dXM6ICAg
ICAgIFVOQ0FDSEVECisKKwo=
</data>
<flag name="review"
          id="113375"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>