<?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>132886</bug_id>
          
          <creation_ts>2014-05-13 14:59:47 -0700</creation_ts>
          <short_desc>Crash in WebDocumentLoader::navigationID() running fast/dom/HTMLObjectElement/object-as-frame.html (after r168668?)</short_desc>
          <delta_ts>2014-05-14 18:47:16 -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>WebKit Misc.</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="Jon Honeycutt">jhoneycutt</reporter>
          <assigned_to name="Jon Honeycutt">jhoneycutt</assigned_to>
          <cc>ap</cc>
    
    <cc>clopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1009091</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2014-05-13 14:59:47 -0700</bug_when>
    <thetext>fast/dom/HTMLObjectElement/object-as-frame.html is flaky on on Mac WK2 debug, crashing with this backtrace:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebKit                  0x0000000106f169ec WebKit::WebDocumentLoader::navigationID() const + 12 (WebDocumentLoader.h:40)
1   com.apple.WebKit                  0x0000000106f114fb WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad(WebCore::ResourceError const&amp;) + 203 (WebFrameLoaderClient.cpp:469)
2   com.apple.WebCore                 0x000000010961ca28 WebCore::FrameLoader::checkLoadCompleteForThisFrame() + 584 (FrameLoader.cpp:2210)
3   com.apple.WebCore                 0x00000001096157b4 WebCore::FrameLoader::checkLoadComplete() + 324 (FrameLoader.cpp:2442)
4   com.apple.WebCore                 0x000000010961eac8 WebCore::FrameLoader::receivedMainResourceError(WebCore::ResourceError const&amp;) + 408 (FrameLoader.cpp:2731)
5   com.apple.WebCore                 0x000000010931edd4 WebCore::DocumentLoader::mainReceivedError(WebCore::ResourceError const&amp;) + 324 (DocumentLoader.cpp:266)
6   com.apple.WebCore                 0x000000010931f82e WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource*) + 398 (DocumentLoader.cpp:383)
7   com.apple.WebCore                 0x0000000108f5f7ad WebCore::CachedResource::checkNotify() + 109 (CachedResource.cpp:332)
8   com.apple.WebCore                 0x0000000108f5f981 WebCore::CachedResource::error(WebCore::CachedResource::Status) + 145 (CachedResource.cpp:359)
9   com.apple.WebCore                 0x000000010a9fea99 WebCore::SubresourceLoader::didFail(WebCore::ResourceError const&amp;) + 377 (SubresourceLoader.cpp:339)
10  com.apple.WebCore                 0x000000010a773525 WebCore::ResourceLoader::didFail(WebCore::ResourceHandle*, WebCore::ResourceError const&amp;) + 101 (ResourceLoader.cpp:517)
11  com.apple.WebCore                 0x000000010ac6a9f3 -[WebCoreResourceHandleAsDelegate connection:didFailWithError:] + 259 (WebCoreResourceHandleAsDelegate.mm:310)
12  com.apple.Foundation              0x00007fff991b6d88 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 28



This may have started after r168668: &lt;https://bugs.webkit.org/show_bug.cgi?id=132621&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009095</commentid>
    <comment_count>1</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2014-05-13 15:00:37 -0700</bug_when>
    <thetext>&lt;http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=fast%2Fdom%2FHTMLObjectElement%2Fobject-as-frame.html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009145</commentid>
    <comment_count>2</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2014-05-13 17:18:01 -0700</bug_when>
    <thetext>I can&apos;t reproduce this crash. I can&apos;t work on this in the short term because I&apos;m headed out of town, so I&apos;m preparing a roll out patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009151</commentid>
    <comment_count>3</comment_count>
      <attachid>231424</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2014-05-13 17:37:11 -0700</bug_when>
    <thetext>Created attachment 231424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009282</commentid>
    <comment_count>4</comment_count>
      <attachid>231424</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-14 10:20:46 -0700</bug_when>
    <thetext>Comment on attachment 231424
Patch

rs=me, but the patch doesn&apos;t apply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009287</commentid>
    <comment_count>5</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2014-05-14 10:25:34 -0700</bug_when>
    <thetext>Committed r168843: &lt;http://trac.webkit.org/changeset/168843&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009388</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-05-14 18:47:16 -0700</bug_when>
    <thetext>r168668 also caused crashes on the GTK port for the test fast/dom/HTMLObjectElement/object-as-frame.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231424</attachid>
            <date>2014-05-13 17:37:11 -0700</date>
            <delta_ts>2014-05-14 10:20:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132886-20140513173647.patch</filename>
            <type>text/plain</type>
            <size>43365</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4NzQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQ5MmYyZGMyMDlkM2Zi
Nzc3YzQ4YTY3MWU1ODMzY2I3YWQyYjZkOC4uODk1NDM4YmU4YjdiNTVmMDhkYWFkY2M1NjZiYWNj
MzE1MmU4YWMzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE0LTA1LTEzICBKb24g
SG9uZXljdXR0ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2ZXJ0ICJEb24n
dCBkaXNwYXRjaCAnYmVmb3JlbG9hZCcgZXZlbnQgaW5zaWRlIEZyYW1lVmlldzo6bGF5b3V0KCki
LAorICAgICAgICBjb21taXQgODRmZThjZjZmYmU4YjVkZTlhMDYzMDBjYTNlZjZkMGZmYzk2OTQ4
YywgYW5kIGFzc29jaWF0ZWQKKyAgICAgICAgZm9sbG93LXVwIGZpeGVzOgorCisgICAgICAgICAg
ICAicGxhdGZvcm0vbWFjL3BsdWdpbnMvdGVzdHBsdWdpbi1vbm5ldy1vbnBhaW50Lmh0bWwgZmFp
bGluZyBhZnRlcgorICAgICAgICAgICAgICAgIHIxNjg2NjgiLCBjb21taXQgYzE3YmUzYmY1MTI3
YmFmOTQzMTBhZjRiNGI5YmY1YTU3ZDI5YWFmNAorICAgICAgICAgICAgIltXaW5dIFVucmV2aWV3
ZWQgYnVpbGQgZml4IGFmdGVyIHIxNjg2NjguIiwgY29tbWl0CisgICAgICAgICAgICAgICAgNGZh
NDcwYWQxMmMzOGVlN2Q0YzExNDU0MWI2ZGQzMjExODFhOGJjOQorCisgICAgICAgIFRoZSBvcmln
aW5hbCBtZXJnZWQgcGF0Y2ggYXBwZWFycyB0byBoYXZlIGNhdXNlZCBhIHJlZ3Jlc3Npb24gaW4K
KyAgICAgICAgZmFzdC9kb20vSFRNTE9iamVjdEVsZW1lbnQvb2JqZWN0LWFzLWZyYW1lLmh0bWwu
CisKKyAgICAgICAgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI4
ODY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyk6Cisg
ICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MQXBwbGV0RWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVudDo6cmVuZGVyV2lkZ2V0
Rm9ySlNCaW5kaW5ncyk6CisgICAgICAgICogaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxFbWJlZEVsZW1lbnQ6OnJlbmRlcldpZGdldEZvckpTQmluZGlu
Z3MpOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE9iamVjdEVsZW1lbnQ6OnJlbmRlcldpZGdldEZvckpTQmluZGluZ3MpOgorICAg
ICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
RnJhbWVWaWV3KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVzZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpmbHVzaEFueVBlbmRpbmdQb3N0TGF5b3V0VGFza3MpOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91dFRhc2tzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXBkYXRlRW1iZWRkZWRPYmplY3RzVGltZXJGaXJl
ZCk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OnVwZGF0ZUxh
eW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcyk6IERlbGV0
ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0lu
dGVybmFscy5pZGw6CisKIDIwMTQtMDUtMTMgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIEZvbGxvd3VwIHRvOiBVcGRhdGUgcG9zaXRpb25pbmcvZHJhd2luZyBv
ZiB0aGUgaW1hZ2UgY29udHJvbHMgYnV0dG9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2ZWY0YjU2M2E2YjBlOTY1
ZjFjNGQ3YzYyMjUzN2IzOGUzYjViN2E3Li5lYTBmNDNjOTQ1MjU3NmM2NGJmNjBmMTJmOTNiNTMy
ZGQ5MGIyMWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE0LTA1LTEzICBKb24gSG9u
ZXljdXR0ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2ZXJ0ICJEb24ndCBk
aXNwYXRjaCAnYmVmb3JlbG9hZCcgZXZlbnQgaW5zaWRlIEZyYW1lVmlldzo6bGF5b3V0KCkiLAor
ICAgICAgICBjb21taXQgODRmZThjZjZmYmU4YjVkZTlhMDYzMDBjYTNlZjZkMGZmYzk2OTQ4Yywg
YW5kIGFzc29jaWF0ZWQKKyAgICAgICAgZm9sbG93LXVwIGZpeGVzOgorCisgICAgICAgICAgICAi
cGxhdGZvcm0vbWFjL3BsdWdpbnMvdGVzdHBsdWdpbi1vbm5ldy1vbnBhaW50Lmh0bWwgZmFpbGlu
ZyBhZnRlcgorICAgICAgICAgICAgICAgIHIxNjg2NjgiLCBjb21taXQgYzE3YmUzYmY1MTI3YmFm
OTQzMTBhZjRiNGI5YmY1YTU3ZDI5YWFmNAorICAgICAgICAgICAgIltXaW5dIFVucmV2aWV3ZWQg
YnVpbGQgZml4IGFmdGVyIHIxNjg2NjguIiwgY29tbWl0CisgICAgICAgICAgICAgICAgNGZhNDcw
YWQxMmMzOGVlN2Q0YzExNDU0MWI2ZGQzMjExODFhOGJjOQorCisgICAgICAgIFRoZSBvcmlnaW5h
bCBtZXJnZWQgcGF0Y2ggYXBwZWFycyB0byBoYXZlIGNhdXNlZCBhIHJlZ3Jlc3Npb24gaW4KKyAg
ICAgICAgZmFzdC9kb20vSFRNTE9iamVjdEVsZW1lbnQvb2JqZWN0LWFzLWZyYW1lLmh0bWwuCisK
KyAgICAgICAgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI4ODY+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJL
aXQudmN4cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW46CisK
IDIwMTQtMDUtMTIgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgW1dpbl0gVW5yZXZpZXdlZCBidWlsZCBmaXggYWZ0ZXIgcjE2ODY2OC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KaW5kZXggYTE0MDk1MjQwNTUzYzNiNzM1NjE2YjY4YWE3MjkxMjQwZmNhNWM1Ni4uMGIz
M2UzYmE3Zjk4MmE0ZDJkZjU5ZmEwMDlhMzM1OWEyOGZmMTZiMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KQEAgLTEyNTYsNyArMTI1Niw3IEBAIF9fWk43V2ViQ29yZThEb2N1bWVudDI1c2NoZWR1bGVG
b3JjZWRTdHlsZVJlY2FsY0V2CiBfX1pON1dlYkNvcmU4RG9jdW1lbnQyNmRpZFJlbW92ZVdoZWVs
RXZlbnRIYW5kbGVyRXYKIF9fWk43V2ViQ29yZThEb2N1bWVudDI2cGFnZVNpemVBbmRNYXJnaW5z
SW5QaXhlbHNFaVJOU183SW50U2l6ZUVSaVMzX1MzX1MzXwogX19aTjdXZWJDb3JlOERvY3VtZW50
MjdyZW1vdmVNZWRpYUNhblN0YXJ0TGlzdGVuZXJFUE5TXzIxTWVkaWFDYW5TdGFydExpc3RlbmVy
RQotX19aTjdXZWJDb3JlOERvY3VtZW50MzZ1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHNFTlMwXzE4UnVuUG9zdExheW91dFRhc2tzRQorX19aTjdXZWJDb3JlOERvY3VtZW50MzZ1
cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNFdgogX19aTjdXZWJDb3JlOERvY3Vt
ZW50NGhlYWRFdgogX19aTjdXZWJDb3JlOERvY3VtZW50OGljb25VUkxzRWkKIF9fWk43V2ViQ29y
ZThGb3JtRGF0YTZjcmVhdGVFUEt2bQpAQCAtMTc3Myw3ICsxNzczLDYgQEAgX19aTks3V2ViQ29y
ZTIwVHJhbnNmb3JtYXRpb25NYXRyaXhjdjEzQ0FUcmFuc2Zvcm0zREV2CiBfX1pOSzdXZWJDb3Jl
MjFCYWNrRm9yd2FyZENvbnRyb2xsZXIxMmZvcndhcmRDb3VudEV2CiBfX1pOSzdXZWJDb3JlMjFC
YWNrRm9yd2FyZENvbnRyb2xsZXIxOGNhbkdvQmFja09yRm9yd2FyZEVpCiBfX1pOSzdXZWJDb3Jl
MjFCYWNrRm9yd2FyZENvbnRyb2xsZXI5YmFja0NvdW50RXYKLV9fWk5LN1dlYkNvcmUyMUhUTUxG
cmFtZU93bmVyRWxlbWVudDE1Y29udGVudERvY3VtZW50RXYKIF9fWk5LN1dlYkNvcmUyMU5ldHdv
cmtTdG9yYWdlU2Vzc2lvbjEzY29va2llU3RvcmFnZUV2CiBfX1pOSzdXZWJDb3JlMjFSZW5kZXJM
YXllckNvbXBvc2l0b3IxMXNjcm9sbExheWVyRXYKIF9fWk5LN1dlYkNvcmUyMVJlbmRlckxheWVy
Q29tcG9zaXRvcjE1cm9vdFJlbmRlckxheWVyRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IGQ3MWI2ZjM4Y2FjMTk1MGZjYzMzMTNiZTEyZWFkNGNjODFjZWI4ZTAuLjk2YzQwNTI5Njc4YWRk
YTYzY2ZiZTI1MzYzMzk0OTk5MmRjMjMzOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
MTgzMSwxMCArMTgzMSwxMCBAQCB2b2lkIERvY3VtZW50Ojp1cGRhdGVMYXlvdXQoKQogLy8gc3R5
bGVzaGVldHMgYXJlIGxvYWRlZC4gRG9pbmcgYSBsYXlvdXQgaWdub3JpbmcgdGhlIHBlbmRpbmcg
c3R5bGVzaGVldHMKIC8vIGxldHMgdXMgZ2V0IHJlYXNvbmFibGUgYW5zd2Vycy4gVGhlIGxvbmcg
dGVybSBzb2x1dGlvbiB0byB0aGlzIHByb2JsZW0gaXMKIC8vIHRvIGluc3RlYWQgc3VzcGVuZCBK
YXZhU2NyaXB0IGV4ZWN1dGlvbi4KLXZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6UnVuUG9zdExheW91dFRhc2tzIHJ1blBvc3RMYXlv
dXRUYXNrcykKK3ZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNo
ZWV0cygpCiB7CiAgICAgYm9vbCBvbGRJZ25vcmUgPSBtX2lnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
czsKLQorICAgIAogICAgIGlmICghaGF2ZVN0eWxlc2hlZXRzTG9hZGVkKCkpIHsKICAgICAgICAg
bV9pZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMgPSB0cnVlOwogICAgICAgICAvLyBGSVhNRTogV2Ug
YXJlIHdpbGxpbmcgdG8gYXR0ZW1wdCB0byBzdXBwcmVzcyBwYWludGluZyB3aXRoIG91dGRhdGVk
IHN0eWxlIGluZm8gb25seSBvbmNlLiAgT3VyIGFzc3VtcHRpb24gaXMgdGhhdCBpdCB3b3VsZCBi
ZQpAQCAtMTg1Niw5ICsxODU2LDYgQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0SWdub3Jl
UGVuZGluZ1N0eWxlc2hlZXRzKERvY3VtZW50OjpSdW5Qb3N0TGF5b3V0VGFza3MKIAogICAgIHVw
ZGF0ZUxheW91dCgpOwogCi0gICAgaWYgKHJ1blBvc3RMYXlvdXRUYXNrcyA9PSBSdW5Qb3N0TGF5
b3V0VGFza3NTeW5jaHJvbm91c2x5ICYmIHZpZXcoKSkKLSAgICAgICAgdmlldygpLT5mbHVzaEFu
eVBlbmRpbmdQb3N0TGF5b3V0VGFza3MoKTsKLQogICAgIG1faWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzID0gb2xkSWdub3JlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDU0ZWY5YzAzZWVm
OWI0YmRlYWIxYTZkNjZkNDM2MWI5ZmJiYzA3ZDMuLjM3NDIyNTEwYjU5NjU4ZjdiNWI4ZGRlYjgx
MTMxZDlkMTEzZmY2M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC01ODcsMTEgKzU4Nyw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKICAgICBib29sIHVwZGF0
ZVN0eWxlSWZOZWVkZWRGb3JOb2RlKGNvbnN0IE5vZGUmKTsKICAgICB2b2lkIHVwZGF0ZUxheW91
dCgpOwotICAgIGVudW0gUnVuUG9zdExheW91dFRhc2tzIHsKLSAgICAgICAgUnVuUG9zdExheW91
dFRhc2tzQXN5aG5jaHJvbm91c2x5LAotICAgICAgICBSdW5Qb3N0TGF5b3V0VGFza3NTeW5jaHJv
bm91c2x5LAotICAgIH07Ci0gICAgdm9pZCB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoUnVuUG9zdExheW91dFRhc2tzID0gUnVuUG9zdExheW91dFRhc2tzQXN5aG5jaHJvbm91
c2x5KTsKKyAgICB2b2lkIHVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwog
ICAgIFBhc3NSZWY8UmVuZGVyU3R5bGU+IHN0eWxlRm9yRWxlbWVudElnbm9yaW5nUGVuZGluZ1N0
eWxlc2hlZXRzKEVsZW1lbnQqKTsKIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBwYWdlIGJveCAo
bWFyZ2luIGJveGVzIGFuZCBwYWdlIGJvcmRlcnMpIGlzIHZpc2libGUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcHBsZXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwCmluZGV4IDkzNGUzNWJlNGE2YWQ3OGM3YWUyNTEy
ODNiYTI4ZjBlZjYzY2Y0OTguLjdhZmFiZDRmZGI5MGU1ZmIzNTAyNjhlYmZhZTM1NmMwZTFkN2I3
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuY3BwCkBAIC04OCwx
MCArODgsNyBAQCBSZW5kZXJXaWRnZXQqIEhUTUxBcHBsZXRFbGVtZW50OjpyZW5kZXJXaWRnZXRG
b3JKU0JpbmRpbmdzKCkgY29uc3QKICAgICBpZiAoIWNhbkVtYmVkSmF2YSgpKQogICAgICAgICBy
ZXR1cm4gMDsKIAotICAgIC8vIE5lZWRzIHRvIGxvYWQgdGhlIHBsdWdpbiBpbW1lZGlhdGVkbHkg
YmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZAotICAgIC8vIHdoZW4gSmF2YVNjcmlwdCBj
b2RlIGFjY2Vzc2VzIHRoZSBwbHVnaW4uCi0gICAgLy8gRklYTUU6IDxyZGFyOi8vMTY4OTM3MDg+
IENoZWNrIGlmIGRpc3BhdGNoaW5nIGV2ZW50cyBoZXJlIGlzIHNhZmUuCi0gICAgZG9jdW1lbnQo
KS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RM
YXlvdXRUYXNrc1N5bmNocm9ub3VzbHkpOworICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAgICAgcmV0dXJuIHJlbmRlcldpZGdldCgpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJlZEVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmNwcAppbmRleCAwNDUxNTVkMmYy
YTNmYjEyOTdjNGFlYzhiNjU1NWI0MDAxMTYzNGYzLi42N2I5NjZlOTc4MTM0ZWY0Y2U4NTE5YTQ0
MzRhMDNjMDgxNmEwN2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbWJl
ZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5j
cHAKQEAgLTcxLDEyICs3MSw4IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyV2lkZ2V0KiBmaW5kV2lk
Z2V0UmVuZGVyZXIoY29uc3QgTm9kZSogbikKIFJlbmRlcldpZGdldCogSFRNTEVtYmVkRWxlbWVu
dDo6cmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncygpIGNvbnN0CiB7CiAgICAgRnJhbWVWaWV3KiB2
aWV3ID0gZG9jdW1lbnQoKS52aWV3KCk7Ci0gICAgaWYgKCF2aWV3IHx8ICghdmlldy0+aXNJbkxh
eW91dCgpICYmICF2aWV3LT5pc1BhaW50aW5nKCkpKSB7Ci0gICAgICAgIC8vIE5lZWRzIHRvIGxv
YWQgdGhlIHBsdWdpbiBpbW1lZGlhdGVkbHkgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxl
ZAotICAgICAgICAvLyB3aGVuIEphdmFTY3JpcHQgY29kZSBhY2Nlc3NlcyB0aGUgcGx1Z2luLgot
ICAgICAgICAvLyBGSVhNRTogPHJkYXI6Ly8xNjg5MzcwOD4gQ2hlY2sgaWYgZGlzcGF0Y2hpbmcg
ZXZlbnRzIGhlcmUgaXMgc2FmZS4KLSAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25v
cmVQZW5kaW5nU3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrc1N5bmNocm9u
b3VzbHkpOwotICAgIH0KKyAgICBpZiAoIXZpZXcgfHwgKCF2aWV3LT5pc0luTGF5b3V0KCkgJiYg
IXZpZXctPmlzUGFpbnRpbmcoKSkpCisgICAgICAgIGRvY3VtZW50KCkudXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAgICAgcmV0dXJuIGZpbmRXaWRnZXRSZW5kZXJlcih0
aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcAppbmRl
eCBhYjkxYmJjODRiOGU4MGVlNWY3ODdjNDQ3ZjRhZjJmZWQ0NTc3OTgyLi5hM2E5OTk2ZDQ3MzQw
ZTI5NGU3ZjNjMDJhMGIwZjcxYmI3MGRkMDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxP
YmplY3RFbGVtZW50LmNwcApAQCAtODMsMTAgKzgzLDcgQEAgUGFzc1JlZlB0cjxIVE1MT2JqZWN0
RWxlbWVudD4gSFRNTE9iamVjdEVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWcKIAogUmVuZGVyV2lkZ2V0KiBIVE1MT2JqZWN0RWxlbWVudDo6cmVuZGVyV2lkZ2V0Rm9ySlNC
aW5kaW5ncygpIGNvbnN0CiB7Ci0gICAgLy8gTmVlZHMgdG8gbG9hZCB0aGUgcGx1Z2luIGltbWVk
aWF0ZWRseSBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkCi0gICAgLy8gd2hlbiBKYXZh
U2NyaXB0IGNvZGUgYWNjZXNzZXMgdGhlIHBsdWdpbi4KLSAgICAvLyBGSVhNRTogPHJkYXI6Ly8x
Njg5MzcwOD4gQ2hlY2sgaWYgZGlzcGF0Y2hpbmcgZXZlbnRzIGhlcmUgaXMgc2FmZS4KLSAgICBk
b2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cyhEb2N1bWVudDo6
UnVuUG9zdExheW91dFRhc2tzU3luY2hyb25vdXNseSk7CisgICAgZG9jdW1lbnQoKS51cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKICAgICByZXR1cm4gcmVuZGVyV2lkZ2V0
KCk7IC8vIFRoaXMgd2lsbCByZXR1cm4gMCBpZiB0aGUgcmVuZGVyZXIgaXMgbm90IGEgUmVuZGVy
V2lkZ2V0LgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZTNiYTYyNmQ1N2Uy
YmI5MGI5YTIzMDU2NjFiYmNhZGUzODU2ZmY4MS4uM2NkYTQzYTYzZDI4NjIxMmJjODFiN2JiN2Fm
NDc1YWRkNGIyYjkyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTYwLDcgKzE2
MCw2IEBAIEZyYW1lVmlldzo6RnJhbWVWaWV3KEZyYW1lJiBmcmFtZSkKICAgICAsIG1fbGF5b3V0
UGhhc2UoT3V0c2lkZUxheW91dCkKICAgICAsIG1faW5TeW5jaHJvbm91c1Bvc3RMYXlvdXQoZmFs
c2UpCiAgICAgLCBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyKHRoaXMsICZGcmFtZVZpZXc6OnBvc3RM
YXlvdXRUaW1lckZpcmVkKQotICAgICwgbV91cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lcih0aGlz
LCAmRnJhbWVWaWV3Ojp1cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lckZpcmVkKQogICAgICwgbV9p
c1RyYW5zcGFyZW50KGZhbHNlKQogICAgICwgbV9iYXNlQmFja2dyb3VuZENvbG9yKENvbG9yOjp3
aGl0ZSkKICAgICAsIG1fbWVkaWFUeXBlKCJzY3JlZW4iKQpAQCAtMjUxLDcgKzI1MCw2IEBAIHZv
aWQgRnJhbWVWaWV3OjpyZXNldCgpCiAgICAgbV9sYXlvdXRDb3VudCA9IDA7CiAgICAgbV9uZXN0
ZWRMYXlvdXRDb3VudCA9IDA7CiAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdG9wKCk7Ci0g
ICAgbV91cGRhdGVFbWJlZGRlZE9iamVjdHNUaW1lci5zdG9wKCk7CiAgICAgbV9maXJzdExheW91
dCA9IHRydWU7CiAgICAgbV9maXJzdExheW91dENhbGxiYWNrUGVuZGluZyA9IGZhbHNlOwogICAg
IG1fd2FzU2Nyb2xsZWRCeVVzZXIgPSBmYWxzZTsKQEAgLTI3NDQsMjggKzI3NDIsMTYgQEAgYm9v
bCBGcmFtZVZpZXc6OnVwZGF0ZUVtYmVkZGVkT2JqZWN0cygpCiAgICAgcmV0dXJuIG1fZW1iZWRk
ZWRPYmplY3RzVG9VcGRhdGUtPmlzRW1wdHkoKTsKIH0KIAotdm9pZCBGcmFtZVZpZXc6OnVwZGF0
ZUVtYmVkZGVkT2JqZWN0c1RpbWVyRmlyZWQoVGltZXI8RnJhbWVWaWV3PiopCi17Ci0gICAgUmVm
UHRyPEZyYW1lVmlldz4gcHJvdGVjdCh0aGlzKTsKLSAgICBtX3VwZGF0ZUVtYmVkZGVkT2JqZWN0
c1RpbWVyLnN0b3AoKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbWF4VXBkYXRlRW1i
ZWRkZWRPYmplY3RzSXRlcmF0aW9uczsgaSsrKSB7Ci0gICAgICAgIGlmICh1cGRhdGVFbWJlZGRl
ZE9iamVjdHMoKSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLX0KLQogdm9pZCBGcmFtZVZp
ZXc6OmZsdXNoQW55UGVuZGluZ1Bvc3RMYXlvdXRUYXNrcygpCiB7Ci0gICAgaWYgKG1fcG9zdExh
eW91dFRhc2tzVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgcGVyZm9ybVBvc3RMYXlvdXRUYXNr
cygpOwotICAgIGlmIChtX3VwZGF0ZUVtYmVkZGVkT2JqZWN0c1RpbWVyLmlzQWN0aXZlKCkpCi0g
ICAgICAgIHVwZGF0ZUVtYmVkZGVkT2JqZWN0c1RpbWVyRmlyZWQobnVsbHB0cik7CisgICAgaWYg
KCFtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIHBlcmZvcm1Qb3N0TGF5b3V0VGFza3MoKTsKIH0KIAogdm9pZCBGcmFtZVZpZXc6OnBlcmZv
cm1Qb3N0TGF5b3V0VGFza3MoKQogewotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbm90IHJ1biBh
bnkgSmF2YVNjcmlwdCBjb2RlIGluIHRoaXMgZnVuY3Rpb24uCi0KICAgICBtX3Bvc3RMYXlvdXRU
YXNrc1RpbWVyLnN0b3AoKTsKIAogICAgIGZyYW1lKCkuc2VsZWN0aW9uKCkubGF5b3V0RGlkQ2hh
bmdlKCk7CkBAIC0yNzk2LDcgKzI3ODIsMTAgQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1Qb3N0
TGF5b3V0VGFza3MoKQogICAgIC8vIGlzIGNhbGxlZCB0aHJvdWdoIHRoZSBwb3N0IGxheW91dCB0
aW1lci4KICAgICBSZWY8RnJhbWVWaWV3PiBwcm90ZWN0KCp0aGlzKTsKIAotICAgIG1fdXBkYXRl
RW1iZWRkZWRPYmplY3RzVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBtYXhVcGRhdGVFbWJlZGRlZE9iamVjdHNJdGVyYXRpb25zOyBpKyspIHsKKyAg
ICAgICAgaWYgKHVwZGF0ZUVtYmVkZGVkT2JqZWN0cygpKQorICAgICAgICAgICAgYnJlYWs7Cisg
ICAgfQogCiAgICAgaWYgKGF1dG8qIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkgewogICAgICAgICBp
ZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlLT5zY3JvbGxpbmdDb29yZGluYXRv
cigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggOWQ4ZTVkZDc3MGUyNzY3YTc5MGU3ZTQz
OGJiNTVkMzdjZWRhNWYyNi4uMjg0YTFlZjFhNmE3ODBkMDA3MzE0NTFjN2EzNGFlNWI3OWQ4YzAx
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC01OTEsNyArNTkxLDYgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGVuYWJsZVNwZWN1bGF0aXZlVGlsaW5nSWZOZWVkZWQoKTsKICAgICB2b2lkIHNw
ZWN1bGF0aXZlVGlsaW5nRW5hYmxlVGltZXJGaXJlZChUaW1lcjxGcmFtZVZpZXc+Jik7CiAKLSAg
ICB2b2lkIHVwZGF0ZUVtYmVkZGVkT2JqZWN0c1RpbWVyRmlyZWQoVGltZXI8RnJhbWVWaWV3Piop
OwogICAgIGJvb2wgdXBkYXRlRW1iZWRkZWRPYmplY3RzKCk7CiAgICAgdm9pZCB1cGRhdGVFbWJl
ZGRlZE9iamVjdChSZW5kZXJFbWJlZGRlZE9iamVjdCYpOwogICAgIHZvaWQgc2Nyb2xsVG9BbmNo
b3IoKTsKQEAgLTY0Niw3ICs2NDUsNiBAQCBwcml2YXRlOgogICAgIGludCBtX2xheW91dENvdW50
OwogICAgIHVuc2lnbmVkIG1fbmVzdGVkTGF5b3V0Q291bnQ7CiAgICAgVGltZXI8RnJhbWVWaWV3
PiBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyOwotICAgIFRpbWVyPEZyYW1lVmlldz4gbV91cGRhdGVF
bWJlZGRlZE9iamVjdHNUaW1lcjsKICAgICBib29sIG1fZmlyc3RMYXlvdXRDYWxsYmFja1BlbmRp
bmc7CiAKICAgICBib29sIG1fZmlyc3RMYXlvdXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKaW5kZXggMjJlYjMwMGFlZDVlNjJjODcwYjU4YmUxZDgyMTZkZDhhZGI4MTgwYy4uZTBi
ZTA5Y2RhMTUzYjRhMTgyM2IzY2FkMjYyZGZmNjIyNTU0ZDMwZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcApAQCAtNTAsNyArNTAsNiBAQAogI2luY2x1ZGUgIkZvcm1Db250cm9s
bGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIK
LSNpbmNsdWRlICJIVE1MSUZyYW1lRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGx1Z0luRWxlbWVu
dC5oIgpAQCAtMTg5NiwyOCArMTg5NSw2IEBAIHZvaWQgSW50ZXJuYWxzOjpzdG9wVHJhY2tpbmdS
ZXBhaW50cyhFeGNlcHRpb25Db2RlJiBlYykKICAgICBmcmFtZVZpZXctPnNldFRyYWNrc1JlcGFp
bnRzKGZhbHNlKTsKIH0KIAotdm9pZCBJbnRlcm5hbHM6OnVwZGF0ZUxheW91dElnbm9yZVBlbmRp
bmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcyhFeGNlcHRpb25Db2RlJiBlYykKLXsK
LSAgICB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0
VGFza3MobnVsbHB0ciwgZWMpOwotfQotCi12b2lkIEludGVybmFsczo6dXBkYXRlTGF5b3V0SWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExheW91dFRhc2tzKE5vZGUqIG5vZGUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIERvY3VtZW50KiBkb2N1bWVudDsKLSAgICBpZiAoIW5v
ZGUpCi0gICAgICAgIGRvY3VtZW50ID0gY29udGV4dERvY3VtZW50KCk7Ci0gICAgZWxzZSBpZiAo
bm9kZS0+aXNEb2N1bWVudE5vZGUoKSkKLSAgICAgICAgZG9jdW1lbnQgPSB0b0RvY3VtZW50KG5v
ZGUpOwotICAgIGVsc2UgaWYgKG5vZGUtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjppZnJhbWVUYWcp
KQotICAgICAgICBkb2N1bWVudCA9IHRvSFRNTElGcmFtZUVsZW1lbnQobm9kZSktPmNvbnRlbnRE
b2N1bWVudCgpOwotICAgIGVsc2UgewotICAgICAgICBlYyA9IFR5cGVFcnJvcjsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIGRvY3VtZW50LT51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5n
U3R5bGVzaGVldHMoRG9jdW1lbnQ6OlJ1blBvc3RMYXlvdXRUYXNrc1N5bmNocm9ub3VzbHkpOwot
fQotCiAjaWYgIVBMQVRGT1JNKElPUykKIHN0YXRpYyBjb25zdCBjaGFyKiBjdXJzb3JUeXBlVG9T
dHJpbmcoQ3Vyc29yOjpUeXBlIGN1cnNvclR5cGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaAppbmRleCA1ZjRlYTg4N2U4NTEzYmM0MWU1M2JjODk5MjllZjE4N2Q4MDkyNjE0Li4yNTVj
NGExZjVhNzUzZGI0MDljMTg5NWM0YmY0ZTEyYmJmYjgyMzkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmgKQEAgLTI3MCw4ICsyNzAsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHN0YXJ0
VHJhY2tpbmdSZXBhaW50cyhFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzdG9wVHJhY2tpbmdS
ZXBhaW50cyhFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCB1cGRhdGVMYXlvdXRJZ25vcmVQZW5k
aW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0VGFza3MoRXhjZXB0aW9uQ29kZSYpOwotICAg
IHZvaWQgdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExheW91
dFRhc2tzKE5vZGUqLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBQYXNzUmVmUHRyPEFycmF5QnVm
ZmVyPiBzZXJpYWxpemVPYmplY3QoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KSBj
b25zdDsKICAgICBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGVzZXJpYWxpemVC
dWZmZXIoUGFzc1JlZlB0cjxBcnJheUJ1ZmZlcj4pIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCmluZGV4IDcyMDJiNTc3NjYzZTViZTNlYzI5YmIwMTU3MzE0ODg2MmI2MDk5
YWEuLjk1NjJhNmRkNGNkMjJiNDNjNWFlYzBmZmY0ODljMzBmY2ZhZmEyNDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTIzMSwxMSArMjMxLDYgQEAKICAgICBbUmFpc2Vz
RXhjZXB0aW9uXSB2b2lkIHN0YXJ0VHJhY2tpbmdSZXBhaW50cygpOwogICAgIFtSYWlzZXNFeGNl
cHRpb25dIHZvaWQgc3RvcFRyYWNraW5nUmVwYWludHMoKTsKIAotICAgIC8vIHxub2RlfCBzaG91
bGQgYmUgRG9jdW1lbnQsIEhUTUxJRnJhbWVFbGVtZW50LCBvciB1bnNwZWNpZmllZC4KLSAgICAv
LyBJZiB8bm9kZXwgaXMgYW4gSFRNTElGcmFtZUVsZW1lbnQsIGl0IGFzc3VtZXMgbm9kZS5jb250
ZW50RG9jdW1lbnQgaXMKLSAgICAvLyBzcGVjaWZpZWQgd2l0aG91dCBzZWN1cml0eSBjaGVja3Mu
IFVuc3BlY2lmaWVkIG1lYW5zIHRoaXMgZG9jdW1lbnQuCi0gICAgW1JhaXNlc0V4Y2VwdGlvbl0g
dm9pZCB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0
VGFza3Mob3B0aW9uYWwgTm9kZSBub2RlKTsKLQogICAgIC8vIFJldHVybnMgYSBzdHJpbmcgd2l0
aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbW91c2UgY3Vyc29yIHVzZWQgYXQgdGhlIHNwZWNpZmll
ZCBjbGllbnQgbG9jYXRpb24uCiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gRE9NU3RyaW5nIGdldEN1
cnJlbnRDdXJzb3JJbmZvKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0LnZj
eHByb2ovV2ViS2l0RXhwb3J0R2VuZXJhdG9yL1dlYktpdEV4cG9ydHMuZGVmLmluIGIvU291cmNl
L1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0RXhwb3J0
cy5kZWYuaW4KaW5kZXggOTJiZDBlMTFjMTRjZWYxYTE5ZTZiNWU4ZTJiNzJkYzdjMTE2YzFjMy4u
OGNlMTU4NThkNjU3ZDAyMjFjMjM2OTYzOWM0NmJiYjdlZTZlOGE1ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0RXhw
b3J0cy5kZWYuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXRFeHBv
cnRHZW5lcmF0b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW4KQEAgLTE3NSw3ICsxNzUsNiBAQCBFWFBP
UlRTCiAgICAgICAgIHN5bWJvbFdpdGhQb2ludGVyKD9jaGlsZEl0ZW1XaXRoVGFyZ2V0QEhpc3Rv
cnlJdGVtQFdlYkNvcmVAQFFCRVBBVjEyQEFCVlN0cmluZ0BXVEZAQEBaLCA/Y2hpbGRJdGVtV2l0
aFRhcmdldEBIaXN0b3J5SXRlbUBXZWJDb3JlQEBRRUJBUEVBVjEyQEFFQlZTdHJpbmdAV1RGQEBA
WikKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2NyZWF0ZUBSYW5nZUBXZWJDb3JlQEBTQT9B
Vj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAQUFWRG9jdW1lbnRAMkBWPyRQYXNz
UmVmUHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBaLCA/Y3JlYXRlQFJhbmdlQFdlYkNvcmVAQFNB
P0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBBRUFWRG9jdW1lbnRAMkBWPyRQ
YXNzUmVmUHRyQFZOb2RlQFdlYkNvcmVAQEA0QEgxSEBaKQogICAgICAgICBzeW1ib2xXaXRoUG9p
bnRlcig/Y29tbW9uVk1ASlNET01XaW5kb3dCYXNlQFdlYkNvcmVAQFNBQUFWVk1ASlNDQEBYWiwg
P2NvbW1vblZNQEpTRE9NV2luZG93QmFzZUBXZWJDb3JlQEBTQUFFQVZWTUBKU0NAQFhaKQotCQlz
eW1ib2xXaXRoUG9pbnRlcig/Y29udGVudERvY3VtZW50QEhUTUxGcmFtZU93bmVyRWxlbWVudEBX
ZWJDb3JlQEBRQkVQQVZEb2N1bWVudEAyQFhaLCA/Y29udGVudERvY3VtZW50QEhUTUxGcmFtZU93
bmVyRWxlbWVudEBXZWJDb3JlQEBRRUJBUEVBVkRvY3VtZW50QDJAWFopCiAgICAgICAgIHN5bWJv
bFdpdGhQb2ludGVyKD9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FW
PyRQYXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAQUJWU3Ry
aW5nQDRAQFosID9jcmVhdGVAU2VyaWFsaXplZFNjcmlwdFZhbHVlQFdlYkNvcmVAQFNBP0FWPyRQ
YXNzUmVmUHRyQFZTZXJpYWxpemVkU2NyaXB0VmFsdWVAV2ViQ29yZUBAQFdURkBAQUVCVlN0cmlu
Z0A0QEBaKQogI2lmIFVTRShDRikKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2NyZWF0ZUNG
U3RyaW5nQFN0cmluZ0BXVEZAQFFCRT9BVj8kUmV0YWluUHRyQFBCVV9fQ0ZTdHJpbmdAQEAyQFha
LCA/Y3JlYXRlQ0ZTdHJpbmdAU3RyaW5nQFdURkBAUUVCQT9BVj8kUmV0YWluUHRyQFBFQlVfX0NG
U3RyaW5nQEBAMkBYWikKQEAgLTIwNCw3ICsyMDMsNiBAQCBFWFBPUlRTCiAJCXN5bWJvbFdpdGhQ
b2ludGVyKD9nZXRPdXRPZkxpbmVDYWNoZWRXcmFwcGVyQFdlYkNvcmVAQFlBUEFWSlNPYmplY3RA
SlNDQEBQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVk5vZGVAMUBAWiwgP2dldE91dE9mTGluZUNh
Y2hlZFdyYXBwZXJAV2ViQ29yZUBAWUFQRUFWSlNPYmplY3RASlNDQEBQRUFWSlNET01HbG9iYWxP
YmplY3RAMUBQRUFWTm9kZUAxQEBaKQogICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/aGl0VGVz
dEBSZW5kZXJWaWV3QFdlYkNvcmVAQFFBRV9OQUJWSGl0VGVzdFJlcXVlc3RAMkBBQVZIaXRUZXN0
UmVzdWx0QDJAQFosID9oaXRUZXN0QFJlbmRlclZpZXdAV2ViQ29yZUBAUUVBQV9OQUVCVkhpdFRl
c3RSZXF1ZXN0QDJAQUVBVkhpdFRlc3RSZXN1bHRAMkBAWikKICAgICAgICAgP2lucHV0VGFnQEhU
TUxOYW1lc0BXZWJDb3JlQEAzVkhUTUxRdWFsaWZpZWROYW1lQDJAQgotCQlzeW1ib2xXaXRoUG9p
bnRlcig/aWZyYW1lVGFnQEhUTUxOYW1lc0BXZWJDb3JlQEAzVkhUTUxRdWFsaWZpZWROYW1lQDJA
Qiw/aWZyYW1lVGFnQEhUTUxOYW1lc0BXZWJDb3JlQEAzVkhUTUxRdWFsaWZpZWROYW1lQDJAQikK
ICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2ludGVyc2VjdHNASW50UmVjdEBXZWJDb3JlQEBR
QkVfTkFCVjEyQEBaLCA/aW50ZXJzZWN0c0BJbnRSZWN0QFdlYkNvcmVAQFFFQkFfTkFFQlYxMkBA
WikKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2l0ZW1AU3RhdGljTm9kZUxpc3RAV2ViQ29y
ZUBAVUJFUEFWTm9kZUAyQElAWiwgP2l0ZW1AU3RhdGljTm9kZUxpc3RAV2ViQ29yZUBAVUVCQVBF
QVZOb2RlQDJASUBaKQogICAgICAgICA/c2VsZWN0VGFnQEhUTUxOYW1lc0BXZWJDb3JlQEAzVkhU
TUxRdWFsaWZpZWROYW1lQDJAQgpAQCAtMzI1LDcgKzMyMyw3IEBAIEVYUE9SVFMKICAgICAgICAg
c3ltYm9sV2l0aFBvaW50ZXIoP3RvUmFuZ2VAV2ViQ29yZUBAWUFQQVZSYW5nZUAxQFZKU1ZhbHVl
QEpTQ0BAQFosID90b1JhbmdlQFdlYkNvcmVAQFlBUEVBVlJhbmdlQDFAVkpTVmFsdWVASlNDQEBA
WikKICAgICAgICAgc3ltYm9sV2l0aFBvaW50ZXIoP2lzVHJlZVNjb3BlQE5vZGVAV2ViQ29yZUBA
UUJFX05YWiwgP2lzVHJlZVNjb3BlQE5vZGVAV2ViQ29yZUBAUUVCQV9OWFopCiAgICAgICAgIHN5
bWJvbFdpdGhQb2ludGVyKD91cGRhdGVFZGl0b3JVSU5vd0lmU2NoZWR1bGVkQEVkaXRvckBXZWJD
b3JlQEBRQUVYWFosID91cGRhdGVFZGl0b3JVSU5vd0lmU2NoZWR1bGVkQEVkaXRvckBXZWJDb3Jl
QEBRRUFBWFhaKQotICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/dXBkYXRlTGF5b3V0SWdub3Jl
UGVuZGluZ1N0eWxlc2hlZXRzQERvY3VtZW50QFdlYkNvcmVAQFFBRVhXNFJ1blBvc3RMYXlvdXRU
YXNrc0AxMkBAWiwgP3VwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0BEb2N1bWVu
dEBXZWJDb3JlQEBRRUFBWFc0UnVuUG9zdExheW91dFRhc2tzQDEyQEBaKQorICAgICAgICBzeW1i
b2xXaXRoUG9pbnRlcig/dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQERvY3Vt
ZW50QFdlYkNvcmVAQFFBRVhYWiwgP3VwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0
c0BEb2N1bWVudEBXZWJDb3JlQEBRRUFBWFhaKQogICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/
dXBkYXRlU3R5bGVJZk5lZWRlZEBEb2N1bWVudEBXZWJDb3JlQEBRQUVYWFosID91cGRhdGVTdHls
ZUlmTmVlZGVkQERvY3VtZW50QFdlYkNvcmVAQFFFQUFYWFopCiAgICAgICAgIHN5bWJvbFdpdGhQ
b2ludGVyKD92aWV3QERvY3VtZW50QFdlYkNvcmVAQFFCRVBBVkZyYW1lVmlld0AyQFhaLCA/dmll
d0BEb2N1bWVudEBXZWJDb3JlQEBRRUJBUEVBVkZyYW1lVmlld0AyQFhaKQogICAgICAgICBzeW1i
b2xXaXRoUG9pbnRlcig/PzFDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlckBXZWJDb3JlQEBNQUVA
WFosID8/MUNvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyQFdlYkNvcmVAQE1FQUFAWFopCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNzY0MDM5YzAyMjk3NzlhNGRhOWM5YWU3YTVjOTQxODEyYTZkNDMwOC4uYTY0ZGZjNDFjY2Qz
NDViMWU3OWMzMWM5NThmMzgwMzVmZjg3OTIzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUyIEBACiAyMDE0
LTA1LTEzICBKb24gSG9uZXljdXR0ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CiAKKyAgICAgICAg
UmV2ZXJ0ICJEb24ndCBkaXNwYXRjaCAnYmVmb3JlbG9hZCcgZXZlbnQgaW5zaWRlIEZyYW1lVmll
dzo6bGF5b3V0KCkiLAorICAgICAgICBjb21taXQgODRmZThjZjZmYmU4YjVkZTlhMDYzMDBjYTNl
ZjZkMGZmYzk2OTQ4YywgYW5kIGFzc29jaWF0ZWQKKyAgICAgICAgZm9sbG93LXVwIGZpeGVzOgor
CisgICAgICAgICAgICAicGxhdGZvcm0vbWFjL3BsdWdpbnMvdGVzdHBsdWdpbi1vbm5ldy1vbnBh
aW50Lmh0bWwgZmFpbGluZyBhZnRlcgorICAgICAgICAgICAgICAgIHIxNjg2NjgiLCBjb21taXQg
YzE3YmUzYmY1MTI3YmFmOTQzMTBhZjRiNGI5YmY1YTU3ZDI5YWFmNAorICAgICAgICAgICAgIltX
aW5dIFVucmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHIxNjg2NjguIiwgY29tbWl0CisgICAgICAg
ICAgICAgICAgNGZhNDcwYWQxMmMzOGVlN2Q0YzExNDU0MWI2ZGQzMjExODFhOGJjOQorCisgICAg
ICAgIFRoZSBvcmlnaW5hbCBtZXJnZWQgcGF0Y2ggYXBwZWFycyB0byBoYXZlIGNhdXNlZCBhIHJl
Z3Jlc3Npb24gaW4KKyAgICAgICAgZmFzdC9kb20vSFRNTE9iamVjdEVsZW1lbnQvb2JqZWN0LWFz
LWZyYW1lLmh0bWwuCisKKyAgICAgICAgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzI4ODY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBjb21wb3NpdGluZy9wbHVnaW5zL2NvbXBvc2l0ZWQtcGx1Z2luLmh0bWw6Cisg
ICAgICAgICogY29tcG9zaXRpbmcvcGx1Z2lucy9uby1iYWNraW5nLXN0b3JlLmh0bWw6CisgICAg
ICAgICogZmFzdC9kb20vYmVmb3JlbG9hZC9mbGFzaC1iZWZvcmUtbG9hZC5odG1sOgorICAgICAg
ICAqIGZhc3QvZXZlbnRzL2JlZm9yZWxvYWQtYXNzZXJ0aW9uLWV4cGVjdGVkLnR4dDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9iZWZvcmVsb2FkLWFzc2VydGlvbi5odG1sOiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2JlZm9yZWxvYWQtaWZyYW1lLWNyYXNoLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9iZWZvcmVsb2FkLWlmcmFt
ZS1jcmFzaC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2JlZm9yZWxvYWQt
aW5wdXQtdGltZS1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9l
dmVudHMvYmVmb3JlbG9hZC1pbnB1dC10aW1lLWNyYXNoLmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3BsdWdpbnR5
cGVzLW5vdHlwZS1kYXRhLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3BsdWdpbnR5cGVzLW5vdXJsLWJsb2NrZWQuaHRtbDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qt
c3JjLW5vLXVybC1hbGxvd2VkLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy1uby11cmwtYmxvY2tlZC5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1z
cmMtbm9uZS1hbGxvd2VkLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy1ub25lLWJsb2NrZWQuaHRtbDoKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvbXVs
dGlwbGUtaWZyYW1lLXBsdWdpbi10ZXN0LmpzOgorICAgICAgICAodGVzdEltcGwuaWZyYW1lLm9u
bG9hZCk6CisgICAgICAgICh0ZXN0SW1wbCk6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9taXhlZENvbnRlbnQvaW5zZWN1cmUtcGx1Z2luLWluLWlmcmFtZS5odG1sOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9wbHVnaW5zL3N1cHBvcnRzLWNhcmJvbi1ldmVudC1tb2RlbC5odG1sOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9wbHVnaW5zL3Rlc3RwbHVnaW4tb25uZXctb25wYWludC5o
dG1sOgorICAgICAgICAqIHBsdWdpbnMvZ2V0LXVzZXItYWdlbnQtd2l0aC1udWxsLW5wcC1mcm9t
LW5wcC1uZXcuaHRtbDoKKyAgICAgICAgKiBwbHVnaW5zL21vdXNlLWNsaWNrLXBsdWdpbi1jbGVh
cnMtc2VsZWN0aW9uLmh0bWw6CisgICAgICAgICogcGx1Z2lucy9uZXRzY2FwZS1wbHVnaW4tbWFw
LWRhdGEtdG8tc3JjLmh0bWw6CisgICAgICAgICogcGx1Z2lucy9uby1taW1lLXdpdGgtdmFsaWQt
ZXh0ZW5zaW9uLmh0bWw6CisgICAgICAgICogcGx1Z2lucy9wbHVnaW4taW5pdGlhdGUtcG9wdXAt
d2luZG93Lmh0bWw6CisgICAgICAgICogcGx1Z2lucy93aW5kb3dsZXNzX3BsdWdpbl9wYWludF90
ZXN0Lmh0bWw6CisgICAgICAgICogcmVzb3VyY2VzL3BsdWdpbi5qczogUmVtb3ZlZC4KKworMjAx
NC0wNS0xMyAgSm9uIEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgorCiAgICAgICAg
IHBsYXRmb3JtL21hYy9wbHVnaW5zL3Rlc3RwbHVnaW4tb25uZXctb25wYWludC5odG1sIGZhaWxp
bmcgYWZ0ZXIgcjE2ODY2OAogICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzMjg3Nz4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cGx1Z2lucy9jb21wb3NpdGVkLXBsdWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cGx1Z2lucy9jb21wb3NpdGVkLXBsdWdpbi5odG1sCmluZGV4IGViMDE5NTM3MzJlNjE3M2JkZjNj
MDdmMWIwYmJiZTI1NjQ1YjQ1NjMuLmU5MDk5ZWUwOWRjMWEwYmQwOTczMDMyMWVjODhlYzJmMzQ3
ZjY2N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3BsdWdpbnMvY29tcG9z
aXRlZC1wbHVnaW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9wbHVnaW5zL2Nv
bXBvc2l0ZWQtcGx1Z2luLmh0bWwKQEAgLTEsOCArMSw2IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxo
dG1sPgogPGJvZHk+Ci0gIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvcGx1Z2luLmpzIj48
L3NjcmlwdD4KLSAgPHNjcmlwdD5ydW5BZnRlclBsdWdpbkxvYWQobnVsbCwgTm90aWZ5RG9uZSk7
PC9zY3JpcHQ+CiAgIDxlbWJlZCB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNj
YXBlIiBkcmF3aW5nbW9kZWw9ImNvcmVhbmltYXRpb24iPgogPC9ib2R5PgogPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcGx1Z2lucy9uby1iYWNraW5nLXN0b3Jl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9wbHVnaW5zL25vLWJhY2tpbmctc3RvcmUu
aHRtbAppbmRleCA5ZDU4ZTc0MDM2MzJkYTljYjQ0ZGE3ZDYzYTgyMjg0YWYxODAwYWVhLi44Mjgw
ZmNjODQzMGM4N2FkZTdiM2UxNWNiZDJkMGM5MmY2OWQyMDI4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9wbHVnaW5zL25vLWJhY2tpbmctc3RvcmUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9wbHVnaW5zL25vLWJhY2tpbmctc3RvcmUuaHRtbApAQCAtNiwx
MiArNiwxMSBAQAogICAgICAgbWFyZ2luOiAxMHB4OwogICAgIH0KICAgPC9zdHlsZT4KLSAgPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9wbHVnaW4uanMiPjwvc2NyaXB0PgogICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgotICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7Ci0KLSAgICBydW5BZnRlclBsdWdpbkxvYWQoZG9UZXN0LCBEb05v
dE5vdGlmeURvbmUpOworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9
CiAKICAgICBmdW5jdGlvbiBkb1Rlc3QoKQogICAgIHsKQEAgLTIzLDYgKzIyLDcgQEAKICAgICAg
ICAgICAgIH0KICAgICAgICAgfSwgMCkKICAgICB9CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNlKTsKICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2JlZm9yZWxvYWQvZmxhc2gtYmVmb3Jl
LWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2JlZm9yZWxvYWQvZmxhc2gtYmVmb3Jl
LWxvYWQuaHRtbAppbmRleCBmZTEwN2I1MGI1OWFhZmM0MjkxNWEyNWU0YTUxZTQ4NDQ4MWE3Y2U0
Li4wZjRiYTMwMzYxYWQxMjhkYTY0ZDc5MjdkODI3NTdiNDk1ZWQ1NmZjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9iZWZvcmVsb2FkL2ZsYXNoLWJlZm9yZS1sb2FkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vYmVmb3JlbG9hZC9mbGFzaC1iZWZvcmUtbG9hZC5odG1s
CkBAIC00LDEyICs0LDkgQEAKIDwvaGVhZD4KIDxib2R5PgogPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3BsdWdpbi5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci0KLSAgICBydW5BZnRlclBsdWdpbkxvYWQobnVsbCwgTm90aWZ5RG9u
ZSk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CiA8L3NjcmlwdD4KIAogPG9iamVjdCBpZD0icGx1Z2luIiBvbmJlZm9yZWxvYWQ9InJldHVybiBm
YWxzZSIgdHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIGRhdGE9Ii4uLy4uLy4u
L3BsdWdpbnMvcmVzb3VyY2VzL3NpbXBsZV9ibGFuay5zd2YiCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9iZWZvcmVsb2FkLWFzc2VydGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9iZWZvcmVsb2FkLWFzc2VydGlvbi1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1Zjg2OWIxMDRmNmFjOWYyODg2ZDYwZjk0Mzky
Nzk5OGIzOGUzMzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlbG9hZC1hc3NlcnRpb24tZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi0KLVBBU1MgaWYgbm8gYXNzZXJ0aW9u
IGZhaWx1cmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iZWZvcmVsb2Fk
LWFzc2VydGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlbG9hZC1hc3Nl
cnRpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZThjZWJmMTY5MTRlMTg4
Y2Q5ZGIwNzU5NDY4NzdkOWQ4Mjg4ZGVjOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9iZWZvcmVsb2FkLWFzc2Vy
dGlvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGRpdiBpZD0iZDEiPjwv
ZGl2PgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZWxvYWQnLCBmdW5j
dGlvbihldmVudCkgewotICAgIGQxLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2J1dHRvbicpKTsKLSAgICBkMS5vZmZzZXRMZWZ0OwotICAgIGQxLnJlbW92ZSgpOwotfSwgdHJ1
ZSk7Ci08L3NjcmlwdD4KLTxlbWJlZCBzcmM9ImRhdGE6aW1hZ2UvcG5nLCI+PC9lbWJlZD4KLTxw
PlBBU1MgaWYgbm8gYXNzZXJ0aW9uIGZhaWx1cmUuPC9wPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JlZm9yZWxvYWQtaWZy
YW1lLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JlZm9yZWxv
YWQtaWZyYW1lLWNyYXNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZmJmZWVkOTJjNmUwY2JhOGQ3MjQ5YjZjODgzNGEzMDc5NTA0MDQxMS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9iZWZvcmVsb2FkLWlmcmFtZS1jcmFzaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSArMCwwIEBACi1QQVNTIGlmIG5vdCBjcmFzaGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvYmVmb3JlbG9hZC1pZnJhbWUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL2JlZm9yZWxvYWQtaWZyYW1lLWNyYXNoLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGE0ZGM3ZTY3ZmViOWNlYzAwMWI5OWUzNDNhMTkzMDcwODZjMTVlZGQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvYmVmb3JlbG9hZC1pZnJhbWUtY3Jhc2guaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDE5ICswLDAgQEAKLTxpZnJhbWU+PC9pZnJhbWU+PG9iamVjdCBvbmJlZm9yZWxvYWQ9ImNy
YXNoKCkiPgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi1m
dW5jdGlvbiBjcmFzaCgpIHsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZy
YW1lIilbMF0uY29udGVudFdpbmRvdy5zY3JvbGxYOwotICAgIGRvY3VtZW50Lm9wZW4oKTsKLX0K
LQotZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0Owotc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAg
ICBkb2N1bWVudC5jbG9zZSgpOwotICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gJ1BBU1Mg
aWYgbm90IGNyYXNoZWQuJzsKLSAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0sIDEpOwot
PC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlbG9hZC1pbnB1dC10aW1lLWNyYXNoLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JlZm9yZWxvYWQtaW5wdXQtdGltZS1jcmFzaC1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiZmVlZDkyYzZlMGNi
YThkNzI0OWI2Yzg4MzRhMzA3OTUwNDA0MTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYmVmb3JlbG9hZC1pbnB1
dC10aW1lLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLVBB
U1MgaWYgbm90IGNyYXNoZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9i
ZWZvcmVsb2FkLWlucHV0LXRpbWUtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2JlZm9yZWxvYWQtaW5wdXQtdGltZS1jcmFzaC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2Y2Q2ODU1NzQzNjI4OGY3Mjc5NTU0N2FlZmQ5MGNiMGQ1ZDc1NGIxLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2JlZm9yZWxvYWQtaW5wdXQtdGltZS1jcmFzaC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMTggKzAsMCBAQAotPGlucHV0IGlkPSJ0MSIgdHlwZT0idGltZSI+Ci08c2NyaXB0PgotdmFy
IHRpbWUxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3QxJyk7Ci1kb2N1bWVudC5hZGRFdmVu
dExpc3RlbmVyKCdiZWZvcmVsb2FkJywgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICB0aW1lMS52YWx1
ZSA9IHRpbWUxLnZhbHVlID8gJycgOiAnMjM6NTknOwotfSwgdHJ1ZSk7Ci0KLWlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwotfQotc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICBkb2N1
bWVudC5ib2R5LmlubmVySFRNTCA9ICdQQVNTIGlmIG5vdCBjcmFzaGVkLic7Ci0gICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Ci19LCAxMDApOwotdGltZTEuZm9jdXMoKTsKLTwvc2NyaXB0Pgot
PGVtYmVkIHNyYz0iZGF0YTp0ZXh0L2h0bWwsUEFTUyI+PC9lbWJlZD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvcGx1Z2ludHlwZXMtbm90eXBlLWRhdGEuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9wbHVnaW50eXBlcy1ub3R5cGUtZGF0YS5odG1sCmluZGV4IDk1NDJjNDdmNmJlYjlkYjJlOTk1
OGNkYWQwMjA3Y2Y2N2M2OGQ3OTYuLjFiNDFiMDE3ZmI0Nzc1MDk1YWM3ZDViZTNlYWVkMWJjYjg0
MWZiYjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5LzEuMS9wbHVnaW50eXBlcy1ub3R5cGUtZGF0YS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9w
bHVnaW50eXBlcy1ub3R5cGUtZGF0YS5odG1sCkBAIC0xLDE0ICsxLDExIEBACiA8IURPQ1RZUEUg
aHRtbD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvcGx1Z2luLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOwotICAgIH0KLQotICAgIHJ1bkFmdGVyUGx1Z2lu
TG9hZChudWxsLCBOb3RpZnlEb25lKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNU
ZXh0KCk7Cit9CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcGx1Z2lucy9yZXNvdXJjZXMvbW9j
ay1wbHVnaW4tbG9nZ2VyLmpzIj48L3NjcmlwdD4KIDxtZXRhIGh0dHAtZXF1aXY9IlgtV2ViS2l0
LUNTUCIgY29udGVudD0icGx1Z2luLXR5cGVzIGFwcGxpY2F0aW9uL3gtaW52YWxpZC10eXBlIj4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9wbHVnaW50eXBlcy1ub3VybC1ibG9ja2VkLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvcGx1Z2ludHlw
ZXMtbm91cmwtYmxvY2tlZC5odG1sCmluZGV4IGEwYjhmNWIyM2NkZDdiZTdkM2ZhOTFhYjliZmIz
OWY1M2I1M2ExYjcuLjE4ZGIyZDdmNjY1ZTEyZWVlOTNhNDVlYWRiMTRhOWYyOTk5OWU0NjUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9wbHVnaW50eXBlcy1ub3VybC1ibG9ja2VkLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3BsdWdpbnR5
cGVzLW5vdXJsLWJsb2NrZWQuaHRtbApAQCAtMSwxMiArMSw5IEBACiA8IURPQ1RZUEUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3BsdWdpbi5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0KLSAgICBydW5BZnRlclBsdWdpbkxvYWQobnVs
bCwgTm90aWZ5RG9uZSk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiA8L3NjcmlwdD4KIDxtZXRhIGh0dHAtZXF1aXY9IlgtV2ViS2l0LUNTUCIg
Y29udGVudD0icGx1Z2luLXR5cGVzIHRleHQvcGxhaW4iPgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2Jq
ZWN0LXNyYy1uby11cmwtYWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy1uby11cmwtYWxsb3dlZC5odG1s
CmluZGV4IDVhZTllM2NjMDJlNTc4Yzk5YjE4YTM5ZTZjZGQ0MDhlOTA5ZjYwYTMuLjJjMDZkMWZm
ZTMxNDRmNzc1MTUxNTQyZTY0ODY2M2RlNTk4NzdhY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtbm8t
dXJsLWFsbG93ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLW5vLXVybC1hbGxvd2VkLmh0bWwKQEAgLTEs
MTIgKzEsOSBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy9wbHVnaW4uanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLSAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
Ci0gICAgcnVuQWZ0ZXJQbHVnaW5Mb2FkKG51bGwsIE5vdGlmeURvbmUpOworaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIDwvc2NyaXB0PgogPG1ldGEg
aHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9Im9iamVjdC1zcmMg
J3NlbGYnIj4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtbm8tdXJsLWJsb2NrZWQuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L29iamVjdC1zcmMtbm8tdXJsLWJsb2NrZWQuaHRtbAppbmRleCBmYzU3ZTcyZTc5NDI3MmNjYjRj
ODE0ZjNkOWE5OWE3NTc0MDMyZTg4Li42MTM1OTE1MTdiZGRiODYzZWUwNmIzMDFmYzkwNmEyMDgy
ODBjYTA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLW5vLXVybC1ibG9ja2VkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0
LXNyYy1uby11cmwtYmxvY2tlZC5odG1sCkBAIC0xLDEyICsxLDkgQEAKIDwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvcGx1Z2lu
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLQotICAgIHJ1bkFmdGVyUGx1Z2luTG9hZChu
dWxsLCBOb3RpZnlEb25lKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CiA8L3NjcmlwdD4KIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU2VjdXJp
dHktUG9saWN5IiBjb250ZW50PSJvYmplY3Qtc3JjICdub25lJyI+CiA8L2hlYWQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9vYmplY3Qtc3JjLW5vbmUtYWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy1ub25lLWFsbG93ZWQuaHRt
bAppbmRleCA3MmY3Zjk1OWVkM2JmNTczNzA0YTgzNDIyNjM0N2U2OTkzZGQ0ZDBmLi43YWZiNDQ5
ZTk3ZTRkMjY4NzhmMzE5ZjZjMGJjNjc2OWE5ZjZmNzA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLW5v
bmUtYWxsb3dlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtbm9uZS1hbGxvd2VkLmh0bWwKQEAgLTEsMTcg
KzEsMTQgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvcGx1Z2luLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgIHRlc3RSdW5u
ZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
PgogICA8aWZyYW1lIHNyYz0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvZWNoby1vYmplY3QtZGF0YS5wbD9wbHVnaW49ZGF0YTph
cHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlLGxvZ2lmbG9hZGVkJmxvZz1QQVNTISZj
c3A9aW1nLXNyYyUyMCdub25lJyI+PC9pZnJhbWU+CiA8L2JvZHk+Ci08c2NyaXB0PgotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICB9Ci0KLSAg
ICBydW5BZnRlclBsdWdpbkxvYWQobnVsbCwgTm90aWZ5RG9uZSwgZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdKTsKLTwvc2NyaXB0PgogPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
b2JqZWN0LXNyYy1ub25lLWJsb2NrZWQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L29iamVjdC1zcmMtbm9uZS1ibG9ja2VkLmh0bWwK
aW5kZXggZWQ0M2UyMDZlNGY1NDdhZDhkOWEyOTMwMmRiZTgxMjNjNmQyMTMyOS4uYjQ5ZjNjMmVh
ZDJjNGE0ZDA2OWZiMmZlOGYzMjQ2YmU0Mjg3NmVjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvb2JqZWN0LXNyYy1ub25l
LWJsb2NrZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9vYmplY3Qtc3JjLW5vbmUtYmxvY2tlZC5odG1sCkBAIC0xLDE3ICsx
LDE0IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL3BsdWdpbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CisgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICB0ZXN0UnVubmVy
LmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4K
ICAgPGlmcmFtZSBzcmM9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvcmVzb3VyY2VzL2VjaG8tb2JqZWN0LWRhdGEucGw/cGx1Z2luPWRhdGE6YXBw
bGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSxsb2dpZmxvYWRlZCZsb2c9RkFJTCZjc3A9
b2JqZWN0LXNyYyUyMCdub25lJyI+PC9pZnJhbWU+CiA8L2JvZHk+Ci08c2NyaXB0PgotICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LSAgICAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKLSAgICB9Ci0KLSAg
ICBydW5BZnRlclBsdWdpbkxvYWQobnVsbCwgTm90aWZ5RG9uZSwgZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdKTsKLTwvc2NyaXB0PgogPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
cmVzb3VyY2VzL211bHRpcGxlLWlmcmFtZS1wbHVnaW4tdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9tdWx0aXBs
ZS1pZnJhbWUtcGx1Z2luLXRlc3QuanMKaW5kZXggOGNkNGFjZjg2ZThjZjIzOTRjNjNhOGNhMzEy
NjA1MTdkZDExODc3My4uMDQyMGIzZTBmMTMxNzE2ZmRmOTQzZmIyNzQ1NDI5OGY2MjQyYzAxOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvcmVzb3VyY2VzL211bHRpcGxlLWlmcmFtZS1wbHVnaW4tdGVzdC5qcworKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNv
dXJjZXMvbXVsdGlwbGUtaWZyYW1lLXBsdWdpbi10ZXN0LmpzCkBAIC0zOCwxMSArMzgsNyBAQCBm
dW5jdGlvbiB0ZXN0SW1wbChleHBlcmltZW50YWwpIHsKICAgICBlbHNlCiAgICAgICAgIGlmcmFt
ZS5zcmMgKz0gIiZ0eXBlPWFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiOwogCi0g
ICAgaWZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LmludGVy
bmFscykKLSAgICAgICAgICAgIGludGVybmFscy51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5
bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0VGFza3MoaWZyYW1lKTsKLSAgICAgICAgdGVzdEltcGwo
ZXhwZXJpbWVudGFsKTsKLSAgICB9OworICAgIGlmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsg
dGVzdEltcGwoZXhwZXJpbWVudGFsKTsgfTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGlmcmFtZSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLXBsdWdpbi1pbi1pZnJhbWUuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLXBsdWdpbi1pbi1p
ZnJhbWUuaHRtbAppbmRleCBmNzUyMGI2ZmU1YzgwN2M4NTk4YjU2YmVmNWI4MDU4YjFiNGU1OWFk
Li4wYTdiYjJjMTVlN2RmMWYxYWQ4Y2JiZTQ0M2YwMGM0MzJlMmMwYmE5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1wbHVn
aW4taW4taWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9t
aXhlZENvbnRlbnQvaW5zZWN1cmUtcGx1Z2luLWluLWlmcmFtZS5odG1sCkBAIC0zLDExICszLDYg
QEAKIDxzY3JpcHQ+CiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0KLW9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQotICAgICAgICBpbnRlcm5hbHMudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hl
ZXRzQW5kUnVuUG9zdExheW91dFRhc2tzKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScp
KTsKLX07CiA8L3NjcmlwdD4KIDxwPlRoaXMgdGVzdCBsb2FkcyBhIHNlY3VyZSBpZnJhbWUgdGhh
dCBsb2FkcyBhbiBpbnNlY3VyZSBwbHVnaW4uICBXZSBzaG91bGQKIGdldCBhIG1peGVkIGNvbnRl
bnQgY2FsbGJhY2sgYmVjYXVzZSB0aGUgaW5zZWN1cmUgcGx1Zy1pbiBjYW4gc2NyaXB0IHRoZSBz
ZWN1cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9wbHVnaW5zL3N1cHBv
cnRzLWNhcmJvbi1ldmVudC1tb2RlbC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Bs
dWdpbnMvc3VwcG9ydHMtY2FyYm9uLWV2ZW50LW1vZGVsLmh0bWwKaW5kZXggNTQ1NmFiMzM3OTQx
ODJiYzY3Nzc5NmYwN2E3ZDY3NTlmZjFmZWEyNC4uNmFiMDliZGMwY2VlNGE0YTRjMmM3YjU3YTI5
OWYyN2M4ZGU1ZTI3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3BsdWdp
bnMvc3VwcG9ydHMtY2FyYm9uLWV2ZW50LW1vZGVsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3BsdWdpbnMvc3VwcG9ydHMtY2FyYm9uLWV2ZW50LW1vZGVsLmh0bWwKQEAgLTEs
OSArMSw2IEBACi08c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3BsdWdpbi5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0KLSAgICBydW5BZnRlclBsdWdpbkxvYWQobnVsbCwgTm90
aWZ5RG9uZSk7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CiA8L3NjcmlwdD4KIAogPGVtYmVkIGlkPSJ0ZXN0UGx1Z2luIiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9wbHVnaW5zL3Rlc3RwbHVnaW4tb25uZXctb25wYWlu
dC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3BsdWdpbnMvdGVzdHBsdWdpbi1vbm5l
dy1vbnBhaW50Lmh0bWwKaW5kZXggZTA1OTA5Njg1NDc5ODg1NTUwYzQyZDQzYzhjYjJiNjAxNWJm
MWQxYS4uNzc3MWE3ZmNkYjdhMWU4NTkxOGZiOTZmNDhmZWU5ZDRiNjVlMWNjMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3BsdWdpbnMvdGVzdHBsdWdpbi1vbm5ldy1vbnBh
aW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3BsdWdpbnMvdGVzdHBsdWdp
bi1vbm5ldy1vbnBhaW50Lmh0bWwKQEAgLTIsNyArMiw2IEBACiAKIDxodG1sPgogPGhlYWQ+Ci0g
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9wbHVnaW4uanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CiAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwpAQCAtMjYsOCArMjUsNiBAQAogICAgICAgICAgICAgICAgIGRpZFBhaW50ID0gdHJ1
ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotCi0gICAgICAgIHJ1bkFmdGVyUGx1Z2luTG9h
ZChudWxsLCBOb3RpZnlEb25lKTsKICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9nZXQtdXNlci1hZ2VudC13aXRoLW51bGwtbnBw
LWZyb20tbnBwLW5ldy5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9nZXQtdXNlci1hZ2VudC13
aXRoLW51bGwtbnBwLWZyb20tbnBwLW5ldy5odG1sCmluZGV4IGU4N2Y1ZTRkYjUxYzdjYTQ0NGQ1
ODk2MmExMDE1Mjc2NWE5OTk0NDYuLjhjNDNmOGE1MTZlNjljMmNkZTA3Yjk2NTAxMDIzMWUxMjA0
ZDQwNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsdWdpbnMvZ2V0LXVzZXItYWdlbnQtd2l0
aC1udWxsLW5wcC1mcm9tLW5wcC1uZXcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL2dl
dC11c2VyLWFnZW50LXdpdGgtbnVsbC1ucHAtZnJvbS1ucHAtbmV3Lmh0bWwKQEAgLTEsMTEgKzEs
OSBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvcGx1Z2luLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0PgogICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLSAgICAgICAgcnVuQWZ0ZXJQbHVnaW5Mb2FkKG51bGwsIE5vdGlmeURvbmUpOwogICAgIDwv
c2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5z
L21vdXNlLWNsaWNrLXBsdWdpbi1jbGVhcnMtc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9w
bHVnaW5zL21vdXNlLWNsaWNrLXBsdWdpbi1jbGVhcnMtc2VsZWN0aW9uLmh0bWwKaW5kZXggZmZi
ZjUyNzAxNGE3OWMwZThjYTkwOTQzOWYwOGYxNjhlMzVlZWJiYS4uNTE2MDAxYjZlNWZlMDZlMzdk
OTUyM2E0OTU1ZjhmNDkyZTdmZWNkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9t
b3VzZS1jbGljay1wbHVnaW4tY2xlYXJzLXNlbGVjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3BsdWdpbnMvbW91c2UtY2xpY2stcGx1Z2luLWNsZWFycy1zZWxlY3Rpb24uaHRtbApAQCAtMSw5
ICsxLDggQEAKIDxodG1sPgogPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3BsdWdp
bi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCi1ydW5BZnRlclBsdWdpbkxvYWQoZnVuY3Rpb24o
KSB7CitmdW5jdGlvbiBydW5UZXN0KCkgewogICAgIGlucHV0RWxlbWVudCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdmcmFtZScpOwogICAgIGlucHV0RWxlbWVudC5mb2N1cygpOwogICAgIGlu
cHV0RWxlbWVudC5zZWxlY3QoKTsKQEAgLTE1LDEwICsxNCwxMCBAQCBydW5BZnRlclBsdWdpbkxv
YWQoZnVuY3Rpb24oKSB7CiAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwogICAgICAg
ICBldmVudFNlbmRlci5tb3VzZVVwKCk7CiAgICAgfQotfSwgTm90aWZ5RG9uZSk7Cit9CiA8L3Nj
cmlwdD4KIDwvaGVhZD4KLTxib2R5PgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KIDxlbWJl
ZCBpZD0icGxnIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiB3aWR0
aD0iMTAwIiBoZWlnaHQ9IjEwMCIgd2luZG93ZWRwbHVnaW49ImZhbHNlIj48L2VtYmVkPjxicj4K
IDxpbnB1dCBpZD0iZnJhbWUiIHZhbHVlPSJoZWxsbyIvPgogPGRpdiBpZD0ib3V0cHV0Ij48L2Rp
dj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtcGx1Z2luLW1hcC1k
YXRhLXRvLXNyYy5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1wbHVnaW4tbWFw
LWRhdGEtdG8tc3JjLmh0bWwKaW5kZXggN2Q5MWVjMDM4N2I2M2NlNzFkNjYzMmFjNDlhNGU0ZWM0
NmEzMzBjZC4uN2FkYWVlNWExNDVhNzViMDQ4ZTJkMjhkYjc1YzkzMjE2NmM4ODg0NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1wbHVnaW4tbWFwLWRhdGEtdG8tc3Jj
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1wbHVnaW4tbWFwLWRhdGEt
dG8tc3JjLmh0bWwKQEAgLTEsMTAgKzEsOCBAQAogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvcGx1Z2luLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICBy
dW5BZnRlclBsdWdpbkxvYWQobnVsbCwgTm90aWZ5RG9uZSk7CiA8L3NjcmlwdD4KIDxib2R5IHN0
eWxlPSJtYXJnaW46MHB4O292ZXJmbG93OmhpZGRlbiI+CiA8b2JqZWN0IG5hbWU9InRlc3RQbHVn
aW4iIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiIGxvZ1NyYz0idHJ1
ZSIgZGF0YT0iYmxhaCI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25vLW1pbWUt
d2l0aC12YWxpZC1leHRlbnNpb24uaHRtbCBiL0xheW91dFRlc3RzL3BsdWdpbnMvbm8tbWltZS13
aXRoLXZhbGlkLWV4dGVuc2lvbi5odG1sCmluZGV4IDAzMmViMjNkNjYzZTZhM2Y1OGQ1ZWZlZTNl
YjJlOTU3YzhkMzg1OTIuLjQ2ZmJjZTg2NmJkMzI3NDAzZGRjY2Y3YjdkODE0NjNhNDI0M2U5YmMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsdWdpbnMvbm8tbWltZS13aXRoLXZhbGlkLWV4dGVu
c2lvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvbm8tbWltZS13aXRoLXZhbGlkLWV4
dGVuc2lvbi5odG1sCkBAIC0xLDggKzEsOCBAQAotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9w
bHVnaW4uanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOwotICAgIHJ1bkFmdGVyUGx1Z2luTG9hZChudWxsLCBOb3RpZnlEb25lKTsKKyAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQogPC9zY3JpcHQ+CiA8cD4KIFRo
aXMgdGVzdCBjaGVja3MgdGhhdCA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTA2NTciPmJ1ZyA1MDU2ODwvYT4KQEAgLTEyLDQgKzEyLDggQEAgYW5kIG5v
dGhpbmcgd2lsbCBiZSBkaXNwbGF5ZWQgb24gc2NyZWVuLiBVcG9uIHN1Y2Nlc3MsIHRoaXMgdGVz
dCBzaG91bGQgZGlzcGxheQogYXR0cmlidXRlLgogPC9wPgogPCEtLSBFbWJlZCB0YWcgd2l0aCBt
aXNzaW5nIHR5cGU9IiIgcGFyYW1ldGVyIC0tPgotPGVtYmVkIGlkPSJwbHVnaW4iIG5hbWU9InBs
dWdpbiIgc3JjPSJyZXNvdXJjZXMvdGVzdC50ZXN0bmV0c2NhcGUiIGxvZ1NyYz0iMSI+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPGVtYmVkIGlkPSJwbHVnaW4iIG5hbWU9InBsdWdpbiIg
c3JjPSJyZXNvdXJjZXMvdGVzdC50ZXN0bmV0c2NhcGUiIGxvZ1NyYz0iMSI+Cis8c2NyaXB0Pgor
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvcGx1Z2luLWlu
aXRpYXRlLXBvcHVwLXdpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9wbHVnaW4taW5p
dGlhdGUtcG9wdXAtd2luZG93Lmh0bWwKaW5kZXggOWJlMGY5YjFiMGM3YjA5YmQxNWYwMmY1ZGUw
OGE4OWZkYWFlZmIzNS4uOGIyMmNhMTNkMDg0MjZlNTcxMjA5MDAzNTFhNzVlNGI5OGEwODcwNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9wbHVnaW4taW5pdGlhdGUtcG9wdXAtd2lu
ZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9wbHVnaW4taW5pdGlhdGUtcG9wdXAt
d2luZG93Lmh0bWwKQEAgLTY0LDcgKzY0LDcgQEAgZnVuY3Rpb24gZW5kX3Rlc3QoKSB7CiB9CiA8
L3NjcmlwdD4KIDwvaGVhZD4KLTxib2R5IG9ubG9hZD0iaW50ZXJuYWxzLnVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcygpOyB0ZXN0KCk7Ij4K
Kzxib2R5IG9ubG9hZD0id2luZG93LnNldFRpbWVvdXQodGVzdCwgMCk7Ij4KIDxlbWJlZCB0eXBl
PSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiB3aWR0aD0xMDAgaGVpZ2h0PTQw
IGV2YWx1YXRlc2NyaXB0PSJtb3VzZTo6cG9wdXBfYnlfbW91c2Vkb3duKCkiIHdpbmRvd2VkcGx1
Z2luPSJmYWxzZSI+PC9lbWJlZD48YnI+CiA8ZW1iZWQgdHlwZT0iYXBwbGljYXRpb24veC13ZWJr
aXQtdGVzdC1uZXRzY2FwZSIgd2lkdGg9MTAwIGhlaWdodD00MCBldmFsdWF0ZXNjcmlwdD0ia2V5
Ojpwb3B1cF9ieV9rZXlkb3duKCkiIHdpbmRvd2VkcGx1Z2luPSJmYWxzZSI+PC9lbWJlZD48YnI+
CiBTcGVjaWZ5IGEgc2NyaXB0IGFuZCBhIG1vdXNlL2tleWJvYXJkIGV2ZW50IHRvIHRoZSBwbHVn
aW4uIFRoZSBzcGVjaWZpZWQgc2NyaXB0IHdpbGwgYmUgZXZhbHVhdGVkIGluIHRoZSBicm93c2Vy
IHdoZW4gdGhlIHNwZWNpZmllZCBldmVudCBpcyByZWNlaXZlZCBieSB0aGUgcGx1Z2luLiBUaGUg
dGVzdCBpcyBmb3IgYnVnIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
MTI5Mi48YnI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL3dpbmRvd2xlc3NfcGx1
Z2luX3BhaW50X3Rlc3QuaHRtbCBiL0xheW91dFRlc3RzL3BsdWdpbnMvd2luZG93bGVzc19wbHVn
aW5fcGFpbnRfdGVzdC5odG1sCmluZGV4IGM4YTljNWI1YjQyYTA2MDE0N2Y3YzY2ODFmZTdiOTg1
ZWIxOTM4YmMuLmZjNjQzMmE1MWM5YWY0ZTQ4MDUyMGYxYjVlMWJlMjdkYzZhM2MzNWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsdWdpbnMvd2luZG93bGVzc19wbHVnaW5fcGFpbnRfdGVzdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvd2luZG93bGVzc19wbHVnaW5fcGFpbnRfdGVz
dC5odG1sCkBAIC0xNCw4ICsxNCw2IEBACiAgICAgICAgIHZhciBwbHVnaW5EaXYgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicGx1Z2luRGl2Iik7DQogICAgICAgICAvLyBDcmVhdGUgdGhlIHBs
dWdpbiBpbiB0aGUgbWlkZGxlIG9mIHRoZSBwYWdlLg0KICAgICAgICAgcGx1Z2luRGl2LmlubmVy
SFRNTCA9ICI8ZW1iZWQgaWQ9XCJ0ZXN0UGx1Z2luXCIgdHlwZT1cImFwcGxpY2F0aW9uL3gtd2Vi
a2l0LXRlc3QtbmV0c2NhcGVcIiB3aWR0aD1cIjIwMFwiIGhlaWdodD1cIjIwMFwiIG9ucGFpbnRl
dmVudD1cImRpZFBhaW50KClcIiB3aW5kb3dlZFBsdWdpbj1cImZhbHNlXCI+PC9lbWJlZD4iOw0K
LSAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpDQotICAgICAgICAgICAgaW50ZXJuYWxzLnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcygp
Ow0KICAgICAgICAgdGVzdFJ1bm5lci5kaXNwbGF5SW52YWxpZGF0ZWRSZWdpb24oKTsNCiAgICAg
ICB9DQogDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3BsdWdpbi5qcyBiL0xh
eW91dFRlc3RzL3Jlc291cmNlcy9wbHVnaW4uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDhhMDNlOGI5MzNmYTY1YzYzNTY0NDc2NGI0OTAyYTkzM2YzZjQ5YzcuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcmVzb3VyY2Vz
L3BsdWdpbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLS8vIFdhaXQgZm9yIHRo
ZSBsb2FkIGV2ZW50LCBydW4gcG9zdCBsYXlvdXQgdGFza3MsIHJ1biB0aGUgc3BlY2lmaWVkIGZ1
bmN0aW9uLAotLy8gYW5kIG5vdGlmeSB0aGUgdGVzdCBydW5uZXIgdGhhdCB0aGUgdGVzdCBpcyBk
b25lLgotCi12YXIgTm90aWZ5RG9uZSA9IHRydWU7Ci12YXIgRG9Ob3ROb3RpZnlEb25lID0gZmFs
c2U7Ci0KLWZ1bmN0aW9uIHJ1bkFmdGVyUGx1Z2luTG9hZChmdW5jLCBub3RpZnlEb25lLCBub2Rl
KSB7Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKLQotICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rp
b24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICAgICAgaW50ZXJu
YWxzLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRU
YXNrcyhub2RlKTsKLQotICAgICAgICBpZiAoZnVuYykKLSAgICAgICAgICAgIGZ1bmMoKTsKLQot
ICAgICAgICBpZiAobm90aWZ5RG9uZSAmJiB3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0sIGZhbHNlKTsKLX0K
</data>
<flag name="review"
          id="255870"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>